Programming Languages

Slides:



Advertisements
Similar presentations
基本概論 Basic concepts.
Advertisements

第 4 章 PHP 基本語法.
C语言程序设计 主讲教师 :张群燕 电话:
第一章 認識程式語言.
第一章 資料結構導論 1-1 資料結構簡介 1-2 認識程式設計 1-3 演算法效能分析 1-4 物件導向程式設計與Java.
第 2 章 初探 C++.
第一章 C语言概述 计算机公共教学部.
Performance Evaluation
14 JavaScript语言基础 JavaScript是一种轻量级、解释型的Web开发语言。所谓轻量级,就是语言的体系结构不是很庞杂,例如,没有C、Java等语言中的类、内存管理、系统管理等高深的知识范畴;所谓解释型,就是语言在浏览器或服务器等环境中直接被解释执行,不需要对源代码进行编译操作。
課程名稱:程式設計 授課老師:________
補充: Input from a text file
程設一.
新世代計算機概論 第14章 程式語言.
Operators and Expressions
Ch07 PHP程式基礎 網頁程式設計.
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
7 Intermediate Representation
Introduction to the C Programming Language
第一章 C语言概述.
課程名稱:程式設計 授課老師:________
Chapter 1 用VC++撰寫程式 Text book: Ivor Horton.
C++程序设计 第二讲 清华大学软件学院.
實作輔導 日期: 3/11 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
物件導向程式設計 目標 認識電腦運作的基本觀念。 了解程式設計的觀念與方法。 擁有利用電腦來解決計算的問題的能力。
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.
Transact-SQL 語言設計教學.
Introduction to the C Programming Language
Introduction to the C Programming Language
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
第一章 C語言概論 本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載.
Function.
C 語言簡介 - 2.
第三單元 Control Structure II
JavaScript 靜宜大學 資管系 楊子青.
第3章 變數、常數與資料型態 3-1 C語言的識別字 3-2 變數的宣告與初值 3-3 指定敘述 3-4 C語言的資料型態
條件判斷指令 -if 指令 -switch 指令 迴圈指令 - for 迴圈 - while迴圈 - break、continue 指令
第3章 變數、資料型別與運算子 3-1 變數與資料型別的基礎 3-2 變數的命名與宣告 3-3 資料型別 3-4 運算式與運算子
變數命名 保留字(Reserved Word)
C语言 程序设计基础与试验 刘新国、2012年秋.
重點 資料結構之選定會影響演算法 選擇對的資料結構讓您上天堂 程式.
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
谭浩强 编著 中国高等院校计算机基础教育课程体系规划教材 C++程序设计.
進階 WWW 程式設計 -- PHP 語言結構 靜宜大學資訊管理學系 蔡奇偉副教授 2003
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
第3章 Java語法的JSP程式 3-1 Java語言的基礎 3-2 JSP程式的基本架構 3-3 Java的變數與資料型態
C语言概述 第一章.
Chapter 2 & Chapter 3.
Speaker: Liu Yu-Jiun Date: 2009/4/29
C语言环境配置.
第一章 程序设计和C语言 主讲人:高晓娟 计算机学院.
C语言程序示例: 1.输入10个数,按从小到大的顺序排序。 2.汉诺塔问题。.
1.2 C语言程序的结构与书写规则 一、 C语言程序的总体结构
C程序设计.
Introduction to the C Programming Language
Instructor:Po-Yu Kuo 教師:郭柏佑
計算機概論 跨越講義 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 結構化VS物件導向程式設計
輸出與輸入(I/O).
第一章 C语言概述 教师:周芸.
Introduction to the C Programming Language
第三章 基本的輸出與輸入函數 (Basic Output & Input Function)
第 3 章 类的基础部分 陈哲 副教授 南京航空航天大学 计算机科学与技术学院.
Introduction to the C Programming Language
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
第6章 PHP基本語法介紹.
面向对象程序设计 C++教程 西安工业大学 于帆.
C语言基本语句 判断循环.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
Introduction to the C Programming Language
Presentation transcript:

Programming Languages Chapter 9 Programming Languages

OBJECTIVES After reading this chapter, the reader should be able to: Have a vision of computer language evolution. Distinguish between machine, assembly, and high-level languages. Understand the process of creating and running a program. Distinguish between the different categories of languages: procedural, object-oriented, functional, declarative, and special. Become familiar with elements of the procedural language C.

Contents 9.1 Evolution 9.2 Building a Program 9.3 Program Execution 9.4 Categories of Language 9.5 A procedural Language:C Summary

9.1 EVOLUTION

Programming language:程序设计语言。 evolution:演化 Computer language :计算机语言。根据预先定义的规则(语法syntax)而写出的预定语句的结合,这些语句组成程序。

Evolution of computer languages Figure 9-1 Evolution of computer languages

The only language understood by a computer is machine language. Note: The only language understood by a computer is machine language.

Program 9.1 Program in machine language 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 00000000 00000100 0000000000000000 01011110 00001100 11000010 0000000000000010 11101111 00010110 0000000000000101 11101111 10011110 0000000000001011 11111000 10101101 11011111 0000000000010010 01100010 11011111 0000000000010101 11101111 00000010 11111011 0000000000010111 11110100 10101101 11011111 0000000000011110 00000011 10100010 11011111 0000000000100001 11101111 00000010 11111011 0000000000100100 01111110 11110100 10101101 11111000 10101110 11000101 0000000000101011 00000110 10100010 11111011 0000000000110001 11101111 00000010 11111011 0000000000110100 00000100 0000000000111101

Symbolic language:符号语言。 assembler(汇编程序):将符号代码翻译为机器语言的特定程序。 Assembly language(汇编语言)

Program 9.2 Program in symbolic language 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Entry main, ^m<r2> subl2 #12,sp jsb C$MAIN_ARGS movab $CHAR_STRING_CON pushal -8(fp) pushal (r2) calls #2,read pushal -12(fp) pushal 3(r2) calls #2,read mull3 -8(fp),-12(fp),- pushal 6(r2) calls #2,print clrl r0 ret

High-level language:高级语言 compilation(编译):高级语言转化为机器语言的过程。 Basic、Pascal、C、C++、Java Natural language:自然语言。

Program 9.3 Program in C language #include <stdio.h> int result; /* This program reads two integer numbers from the keyboard and prints their product. */ #include <stdio.h> int main (void) {/*Local Declarations */ int number1, number2; int result; // Statements */ scanf(“%d,%d”,&number1,&number2); result = number1 * number2; printf(“The result is:%d”, result); return 0; }

9.2 BUILDING A PROGRAM

Key terms Building a program:构建程序。 Executable file (machine language):可执行文件。 (1)writing and editing the program :编写和编辑程序 (2)compiling the program :编译程序 (3)Linking the program with the required library modules:用所需的库模块链接程序

Key terms Source file:源文件 preprocessor:预处理程序 Translator:翻译程序 Object module:目标模块 Linker:链接器

Figure 9-2 Building a program

9.3 PROGRAM EXECUTION

Figure 9-3 Program execution 载入

9.4 CATEGORIES OF LANGUAGES

Key terms Categories of languages:语言的分类。 procedural:过程化语言 Object-Oriented :面向对象的语言 Functional :函数型语言 Declarative:说明型语言 Special:专用语言

Categories of languages Figure 9-4 Categories of languages

9.4 categories of Languages Procedural (imperative)languages Fortran、Cobol、Pascal、C、Ada Object-Oriented C++、Java Encapsulation:封装 Inheritance:继承 Polymorphism:多态

Function in a functional language Figure 9-5 Function in a functional language

Functional language: Lisp Scheme see page 176 Figure 9-6 Extracting the third element of a list Functional language: Lisp Scheme see page 176

9.4 categories of Languages-Declarative 说明性语言(declarative language )依据逻辑推理的原则回答查询。 First-order predicate calculus:一阶谓词演算 See Page 176

9.4 categories of Languages-special HTML(Hypertext markup language):由格式标记(formatting hints)+超链接(links)组成的伪语言。 Head:文件头。包含页面标题和其他浏览器将要用到的参数。 Body:主体。页面的实际内容。包含文本(text)和标记(tags)。 Tags:嵌入到文本中的符号。

Table 9.1 Common tags Beginning Tag ---------------- <HTML> <HEAD> <BODY> <TITLE> <Hi> <B> <I> <U> <SUB> <SUP> <CENTER> <BR> <OL> <UL> <LI> <IMG> <A> Ending Tag ---------------- </HTML> </HEAD> </BODY> </TITLE> </Hi> </B> </I> </U> </SUB> </SUP> </CENTER> </OL> </UL> </LI> </A> Meaning ------------------------- document document head document body document title different header levels boldface Italic underlined subscript superscript centered line break ordered list unordered list an item in the list an image an address (hyperlink)

Program 9.4 HTML Program <HTML> <HEAD> <TITLE> Sample Document </TITLE> </HEAD> <BODY> This is the picture of a book: <IMG SRC="Pictures/book1.gif" ALIGN=MIDDLE> </BODY> </HTML>

9.5 A PROCEDURAL LANGUAGE: C

Key terms (Identifiers) reserved words:保留字 keywords:关键字 Data types:数据类型 standard types: int char float Derived types(派生类型): pointer(指针)、 enumerated type(枚举类型)、 union(联合)、 array(数组)、 structure(结构)

Figure 9-7 Variables(变量)

Variable Initialization :变量初始化 float price=23.45; Key terms (Variable) Variable declaration and definition:变量声明和定义。 float price; Variable Initialization :变量初始化 float price=23.45;

Constants:常量。在程序执行过程中不能更改的数据。 Key terms (Constants) Constants:常量。在程序执行过程中不能更改的数据。 Literal Constant :文字常量 Circumference=2*length*width Named Constant:命名常量 const pi=3.14; Symbolic Constant:符号常量 #define taxrate 0.0825

Constants and Types:常量和类型。 Key terms (Constants) Constants and Types:常量和类型。 23 /*Integer literal*/ 23.12 /*Floating-point literal*/ ' A ' /*Character literal*/ "Hello " /*String literal*/

Key terms (Input and Output) scanf(" %d ",&num); Output: printf(" The value is: %d",&num);

Key terms (Expressions) operator:运算符 Arithmetic operator:算术运算符 relational operator:关系运算符 logical operator:逻辑运算符 assignment operator:赋值运算符 operand:操作数 3+4

Example -------------- Table 9.2 Arithmetic operators Operator ----------- + - * / % ----- ++ - - Definition ---------------- Addition Subtraction Multiplication Division (quotient) Division (remainder) --------------- Increment Decrement Example -------------- 3 + 5 2 - 4 Num * 5 Sum / Count Count % 4 --------------- Count ++ Count --

Greater than or equal to Table 9.3 Relational operators Operator --------- < <= > >= = = != Definition ---------------- Less than Less than or equal to Greater than Greater than or equal to Equal to Not equal to Example ------------- Num1 < 5 Num1 <= 5 Num2 > 3 Num2 >= 3 Num1 == Num2 Num1 != Num2

Table 9.4 Logical operators ---------- ! && || Definition ------------ NOT AND OR Example ---------------------- ----- ----- ! ( Num1 < Num2 ) (Num1 < 5 ) && (Num2 > 10 ) (Num1 < 5 ) || (Num2 > 10 )

Table 9.5 Assignment operators ----------- = += -= *= /= %= Example -------------- Num = 5 Num += 5 Num -= 5 Num *= 5 Num /= 5 Num %= 5 Meaning ---------------------- Store 5 in Num Num = Num + 5 Num = Num - 5 Num = Num * 5 Num = Num / 5 Num = Num % 5

Key terms (Statements) Expression statement:表达式语句。 b=a+4; b+c*4; Compound statement:复合语句 { x=1; y=20; } Selection statement:选择语句 Iterative statement:循环语句 Jump statement:跳转语句

Figure 9-8 Statements

Figure 9-9 Functions Side effect of a function

Function declaration(函数声明) Figure 9-10 Function declaration(函数声明)

printf(“This is a c program.”); } main() { printf(“This is a c program.”); } This is a c program

printf(“Sum is %d”,result); } main() /*求两数之和*/ {int num1,num2,result; num1=12; num2=23; result=num1+num2; printf(“Sum is %d”,result); } Sum is 35

scanf(“%d,%d”,&num1,&num2); Largest=max(num1,num2); int max(int x,int y); main() {int num1,num2,largest; scanf(“%d,%d”,&num1,&num2); Largest=max(num1,num2); printf(“The largest is %d”,largest); } int max(int x,int y) {int z; if(x>y) z=x; else z=y return(z);} 18,20 This largest is 20

Figure 9-11 Selection if-else statement

Figure 9-12 switch statement Selection

Figure 9-13 while loop repetition

Figure 9-14 for loop

do-while loop Figure 9-15

Summary 计算机能理解的唯一语言是机器语言(machine language). • 符号语言使用符号来表示各种机器语言指令,符号语言也称为汇编语言。 高级语言可以使程序员避免考虑硬件。 • 构建程序的步骤包括编写、编辑、编译和链接代码。 有5种计算机语言:过程化语言、面向对象的语言、函数型语言、说明性语言、专用语言。

Summary 标识符在程序中用来命名数据和其他对象. • 数据类型定义了值的集合和可以应用于这些值的指令集合。 C语言中的标准数据类型有整型(int),字符型(char)、浮点型(float)。 • 常量就是在执行过程中不可改变的数据值。 变量是存储单元的名字。

表达式是一系列操作数和运算符的组合. Summary • 语句使程序执行动作。 函数是执行特定任务的独立模块。 • 语句使程序执行动作。 函数是执行特定任务的独立模块。 • C语言有一个称为main的主函数和0个或多个其他函数。 变量是存储单元的名字。

C中if-else语句或switch语句可以完成多个判断。 Summary C中if-else语句或switch语句可以完成多个判断。 C中的循环可以通过while、for、do-while来实现。