200 likes | 379 Views
C 程序设计. 教材、参考书与课时安排. 教材 C 高级实用程序设计 王士元 清华大学出版社 C 程序设计 谭浩强编著 清华大学出版社 参考书 C 语言程序设计教程 谭浩强 高等教育出版社 课时安排 授课 : 58 学时 C 综合编程训练: 18 学时. 课前请做好预习 保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成并提交作业 重视上机实践,有效利用宝贵的上机时间. 课程要求. ★ C 语言出现的历史背景. ★ C 语言的特点. ★ C 程序的上机步骤. ★ 简单的 C 程序介绍. ★ 习 题.
E N D
教材、参考书与课时安排 教材 C高级实用程序设计 王士元 清华大学出版社 C程序设计 谭浩强编著 清华大学出版社 参考书 C语言程序设计教程 谭浩强 高等教育出版社 课时安排 授课 :58学时 C综合编程训练:18学时
课前请做好预习 • 保持课堂安静,头脑清醒,思维活跃 • 认真、独立、按时完成并提交作业 • 重视上机实践,有效利用宝贵的上机时间 课程要求
★ C语言出现的历史背景 ★ C语言的特点 ★ C程序的上机步骤 ★ 简单的C程序介绍 ★ 习 题 第一章C语言概述
C 语言出现的历史背景 1.汇编语言的可读性和可移植性都比较差。 2.高级语言无法对硬件进行直接操作。 以前的操作系统等系统软件主要是用汇编语言编写的。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高可读性和可移植性,最好改用高级语言,但是一般高级语言难以实现汇编语言的某些功能。人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言。于是,介于高级语言和低级语言之间的c程序设计语言(简称c语言)就在迅速发展起来。 它适合于作为系统描述语言,既可以用来写系统软件,也可用来写应用软件。
C 语言的发展历程 C不仅仅是系统描述语言,而且是一种通用的程 序设计语言,C出现于1972年至1973年间,是BCPL语言和 B语言的后继,故命名为C。 ALGOL 60(1960年) | CPL(1963年) (剑桥和伦敦大学) | BCPL(1967年) (Martine Richards, 剑桥) | B语言(1970年) (Ken Thompson,贝尔实验室) | C语言 (Dennis Ritchie,贝尔实验室) (与UNIX在发展过程中相辅相成 )
程序设计语言有许多种类,每一种类都有其特殊功能和其应用范围。C语言之所以成为当今世界上最流行的几种语言之一,其特点如下:程序设计语言有许多种类,每一种类都有其特殊功能和其应用范围。C语言之所以成为当今世界上最流行的几种语言之一,其特点如下: 1、语言简洁、紧凑,使用方便、灵活,32种关键字(附录II),9 种控制语句。 2、运算符丰富,有 34 种运算符(附录III)。 3、数据类型丰富,具有现代化语言的各种数据类型。 4、具有结构化的控制语句(见目录),用函数实现程序的模块化,标准函数(附录V)。 C 语 言 的 特 点 (一)
C 语 言 的 特 点 (二) 5、语法限制不太严格。 6、允许直接访问物理地址,能进行位操作,能实 现汇编语言的大部分功能, 可以直接对硬件进行 操作。 7、生成目标代码的质量高,程序执行效率高。 8、与汇编语言相比,用C编写的程序可移植性好。
C 程序 的上 机步 骤 1.分析问题 2.解题步骤 3.选择语言工具编码 4.目测正确性 5.上机输入与编辑 6.编译 7.调试 8.与库函数等连接 9.运行 *本课程以Turbo C为语言环境 开始 编辑 源程序 exp1.c 编译 目标程序 exp1.obj 有错 Y N 可执行 目标程序 exp1.exe 连接 库函数 和其他目 标程序 执行 结果正确 N Y 结束
简 单的 C程 序介 绍(一) /*sample 1_1*/ main() /*输出字符串*/ { printf(“Hello!\n”); /*输出字符串*/ } • 其中: • main()表示“主函数”,每一个c程序都必须有main函数函数体由{ }括起来。 • printf是c语言中的输出函数,双引号中的字符串原样输出。 • “\n”是换行符。 • 每个语句最后要有一个 分号 ;。
简 单的 C程 序介 绍(二) /* Sample 1_2 */ main() /*求和程序1*/ {int a,b,sum; /*定义变量2*/ a=123;b=456; /*给a,b分别赋值3*/ sum=a+b; /*求出a和b的和,把和放在变sum中4*/ printf(“sum is %d\n”,sum); /*输出结果5*/ } /*6*/ 1. 本程序的作用是求两个整数a和b之和sum。/*……*/表示注释部分,起说明的作用,不影响 编译和运行。注释可以加在程序的任何位置。 2. 第2行是声明部分,定义变量a和b; 3. 第3行是两个赋值语句; 4. 第4行是求和,并保存值 5. 第5行中%d是输入输出的“格式字符串”,用来指定输入输出 时的数据类型和格式。(见第4章)
简 单的 C程 序介 绍(三) /* Sample 1_3*/ int max(int x,int y) /*max子函数*/ {int z; if (x>y) z=x; else z=y; return(z); /*返回值放在z中*/ } main() {int a,b,c; scanf("%d,%d",&a,&b); /*分别输入数到a和b中*/ c=max(a,b); /*调用子函数求出最大数*/ printf("max=%d",c); }
1. 本程序包括两个函数:主函数main和被调用的函数max。 2. max函数的主要功能是将x和 y中的较大者的值赋给变量 z。 3. return语句将 z的值返回给主调函数main。返回值是通过max带回到调用处。 4. scanf是“输入函数”的名字。
小结--- C程序的结构 C程序的组成和形式简单总结如下: 1、C程序由函数构成:一个程序至少包含一个函 数,是函数式的语言, 其函数库非常丰富。容易 实现程序的模块化。 2、函数由两部分组成: 函数的说明部分------包括函数名、类型、形 参名、形参类型等。函数名后必须跟一对圆括函 数参数可以没有。 函数体------即最外层大括号括起的部分。
函数体一般包括: 变量定义:定义所要使用的变量的类型等。 执行部分:由若干语句组成。 *允许没有变量定义部分,甚至允许没有 执行部分,即一个空函数。 如:kong() { }
小 结--- C 程序 的结 构 3、在一个函数中可以调用其他的函数。 4、总是从main函数开始执行。 5、书写格式自由。 6、每个语句和数据定义的后面必须有一个 分号。 7、对输入输出实行函数化。 8、可以用/* */形式作注释。
注: 1. main表示主函数 2. 每个C程序都必须有main函数 3. 大括号{ }表示函数体的开始和结束 4. 分号表示语句的结束 5. 一行可以写一个语句或几个语句 6. C语言本身没有输入输出语句,而是调用库函数来实现数据的输入输出 7. 可以用/* */形式作注释。
习题(1) • 一、选择题 • 1. 一个c程序的执行是从( ) • 本程序的main函数开始到main函数结束 • 本程序的第一个函数开始到本程序的最后一个函数结束 • 本程序的main函数开始到本程序的最后一个函数结束 • 本程序的第一个函数开始到main函数结束 • 2.以下叙述正确的是( ) • 在c程序中,main函数必须位于程序的最前头 • C程序的每行中只能写一条语句 • C语言本身没有输入输出语句 • 在对一个c程序进行编译的过程中,可发现注释中的拼写错误 A C
3、以下叙述不正确的是( ) A、一个c源程序可由一个或者多个函数组成 B、一个c源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在c程序中,注释说明只能位于一条语句的后面 4、c语言规定:在一个源程序中,main函数的位置 ( ) 必须在最开始 必须在系统调用的库函数的后面 可以任意 必须在最后 D C
习题 (2) B • 5. 一个c语言程序是由( ) • 一个主程序和若干子程序组成 • 函数组成 • 若干过程组成 • 若干子程序组成 • 二、填空题 • C源程序的基本单位是( ) • 一个c程序中至少包含一个( ) • 在一个 c源程序中,注释部分两侧的分界符分别为( )和( ) • 在c语言中,输入操作是由库函数( ) • 完成的,输出操作是由库函数( )完成的 函数 主函数或main函数 /* */ scanf printf 返回