第三讲 C程序设计初步
1 第三讲 C 程序设计初步
主要内容 口C语言概述 口数据结构 口程序设计流程(顺序、选择、循环) 口函数 口指针 口文件 参·谭浩强,C程序设计,第三版 考· B.W. Kernighan and D.M. Ritchie, The C Programming 资 Language (C程序设计语言),第二版 料●H. Schildt,c语言大全,第四版
2 主要内容 ❑ C语言概述 ❑ 数据结构 ❑ 程序设计流程(顺序、选择、循环) ❑ 函数 ❑ 指针 ❑ 文件 参 考 资 料 ⚫ 谭浩强,C 程序设计,第三版 ⚫ B.W. Kernighan and D.M. Ritchie,The C Programming Language (C程序设计语言) , 第二版 ⚫ H. Schildt,C语言大全, 第四版
程序设计语言的发展 机器语言C PU指令系统,由0、1构成 的指令码组成;是计算机唯 能识别并直接执行的语言 效率高 汇编语 用助记符号描述的指令系统 编程难 如ADD,SUB;需翻译成机 器语言,符号化的机器语言 高级语言 面向过程面向对拿|面向应用
3 程序设计语言的发展 CPU指令系统,由0、1构成 的指令码组成;是计算机唯 一能识别并直接执行的语言 用助记符号描述的指令系统 如 ADD, SUB;需翻译成机 器语言,符号化的机器语言 机器语言 汇编语言 高级语言 面向过程 面向对象 面向应用 效率高 编程难
程序设计语言的发展 5254565860626466687072747678808284868890929496 Ada -Modula-2 Pascal ALGOL60 ALGOL68 CPLBCPEB-C Smalltalk 80 Java Simula 67 BASIC ANS -BASIC QBASIC VB FORTRAN90 FORTRANO FORTRAN77 PL/1 COBOL LISPo PROLOG
4 程序设计语言的发展 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 Ada ALGOL60 ALGOL68 Pascal Modula-2 BCPL B C C++ Java LISP PROLOG COBOL FORTRAN FORTRAN77 PL/1 Simula 67 Smalltalk 80 BASIC ANSI-BASICQBASIC VB FORTRAN90 CPL
程序设计语言的发展 U fORTRan: Formula translation 1956年,高级语言产生的标志,简洁高效,是科学计 算的主流语言 O BASIC: Beginner's All-purpose Symbolic Instruction Code 1964年,面向大众,特别是大学生 口 Pascal 70年代,结构化程序设计,强调语言的可读性 口C 70年代,通用的、过程式的编程语言,高效、灵活, 主流的软件开发语言
5 程序设计语言的发展 ❑ FORTRAN:Formula Translation 1956年,高级语言产生的标志,简洁高效,是科学计 算的主流语言 ❑ BASIC:Beginner's All-purpose Symbolic Instruction Code 1964年,面向大众,特别是大学生 ❑ Pascal 70年代,结构化程序设计,强调语言的可读性 ❑ C 70年代,通用的、过程式的编程语言,高效、灵活, 主流的软件开发语言
C语言的发展 口C语言的发展历史 ●1969-1973,由 Dennis m. Ritchie设计并实现 1973,UNIX的内核正式用C语言改写 1978,B. Kernighan和 D. Ritchie《C程序设计语言》 1983-1989, ANSIC标准形成C89 199,发表新的标准C99 口常见的C语言编译器 O GNU C Comipler (linux): gcc o Microsoft Visual C Comipler ● Borland turbo c o Intel C Comipler ( linux/Windows) O PGI C Comipler (Linux/Windows
6 C 语言的发展 ❑ C语言的发展历史 ⚫ 1969-1973,由 Dennis M. Ritchie 设计并实现 ⚫ 1973,UNIX的内核正式用C语言改写 ⚫ 1978,B. Kernighan 和 D. Ritchie《C程序设计语言》 ⚫ 1983-1989,ANSI C 标准形成 (C89) ⚫ 1999, 发表新的标准C99 ❑ 常见的 C语言编译器 ⚫ GNU C Comipler (Linux): gcc ⚫ Microsoft Visual C Comipler ⚫ Borland Turbo C ⚫ Intel C Comipler (Linux/Windows) ⚫ PGI C Comipler (Linux/Windows)
个简单的编程实例 /* example: calculate the sum of a and b * #include 预处理 / the main program */ maino 注解语句 int a, b sum: 函数 a=10;b=24; sum=add(a,b) printf("sum=gdn", sun)i / function: sum of two integers * int add(int x int y) int z z=x+yi return(z)i 7
7 一个简单的编程实例 /* example: calculate the sum of a and b */ #include /* the main program */ main() { int a, b, sum; a=10; b=24; sum=add(a,b); printf("sum=%d\n", sum); } /* function: sum of two integers */ int add(int x,int y) { int z; z=x+y; return(z); } 注解语句 函数 预处理
C程序结构特点 源程序结构 个C源程序由一个或多个源文件组成 ●每个源文件可由一个或多个函数组成 个源程序有且只能有一个man函数,即主函数 程序执行从main开始,在main中结束 ●源程序中可以有预处理命令,通常应放在源文件或 源程序的最前面
8 C 程序结构特点 ◼ 源程序结构 ⚫ 一个 C 源程序由一个或多个源文件组成 ⚫ 每个源文件可由一个或多个函数组成 ⚫ 一个源程序有且只能有一个main 函数,即主函数 ⚫ 程序执行从main 开始,在 main 中结束 ⚫ 源程序中可以有预处理命令,通常应放在源文件或 源程序的最前面
C程序分析 ■源程序书写 ●每个说明和每个语句都必须以分号“;”结尾, 但预处理命令,函数头和花括号“}”之后不能加分号 ●标识符,关键字之间必须至少加一个空格以示间隔, 若已有明显的间隔符,也可不再加空格来间隔 行可以写多个语句,一个语句可以分几行书写 ●习惯用小写字母, 书写漂亮的C程序的基本要求: ●注释:/*为注和 ●不使用行号无穆齐 一行写写一个语句,一个语句写一行 ●常用锯齿形书写格 使用TAB缩进 有足够的注释 有合适的空行
9 C 程序分析 ⚫ 每个说明和每个语句都必须以分号“ ; ” 结尾, 但预处理命令,函数头和花括号“ } ” 之后不能加分号 ⚫ 标识符,关键字之间必须至少加一个空格以示间隔, 若已有明显的间隔符,也可不再加空格来间隔 ⚫ 一行可以写多个语句,一个语句可以分几行书写 ⚫ 习惯用小写字母,区分大小写 ⚫ 注释:/* */ 为注释符, 不能嵌套 ⚫ 不使用行号,无程序行概念 ⚫ 常用锯齿形书写格式 ◼ 源程序书写 书写漂亮的 C 程序的基本要求: { }对齐 一行写写一个语句,一个语句写一行 使用 TAB 缩进 有足够的注释 有合适的空行
C语言字符集 ●字母(大小写共52个) ●数字 ●空白符(空格符、制表符、换行符) ●标点和特殊字符
10 C 语言字符集 ⚫ 字母(大小写共52 个) ⚫ 数字 ⚫ 空白符(空格符、制表符、换行符) ⚫ 标点和特殊字符