c 程序设计

20

Upload: ifeoma-valencia

Post on 31-Dec-2015

55 views

Category:

Documents


5 download

DESCRIPTION

C 程序设计. 教材、参考书与课时安排. 教材 C 高级实用程序设计 王士元 清华大学出版社 C 程序设计 谭浩强编著 清华大学出版社 参考书 C 语言程序设计教程 谭浩强 高等教育出版社 课时安排 授课 : 58 学时 C 综合编程训练: 18 学时. 课前请做好预习 保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成并提交作业 重视上机实践,有效利用宝贵的上机时间. 课程要求. ★ C 语言出现的历史背景. ★ C 语言的特点. ★ C 程序的上机步骤. ★ 简单的 C 程序介绍. ★ 习 题. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: C 程序设计
Page 2: C 程序设计

20:41:32 20:41:32

教材、参考书与课时安排– 教材

C 高级实用程序设计 王士元 清华大学出版社C 程序设计 谭浩强编著 清华大学出版社

– 参考书C 语言程序设计教程 谭浩强 高等教育出版社

– 课时安排授课 : 58 学时C 综合编程训练: 18 学时

Page 3: C 程序设计

20:41:33 20:41:33

课程要求

课前请做好预习

保持课堂安静,头脑清醒,思维活跃

认真、独立、按时完成并提交作业

重视上机实践,有效利用宝贵的上机时间

Page 4: C 程序设计

20:41:33 20:41:33

第一章 C 语 言概述

★ C语言出现的历史背景

★ C语言的特点

★ 简单的 C程序介绍

★ C程序的上机步骤

★ 习 题

Page 5: C 程序设计

20:41:33 20:41:33

以前的操作系统等系统软件主要是用汇编语言编写的。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高可读性和可移植性,最好改用高级语言,但是一般高级语言难以实现汇编语言的某些功能。人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言。于是,介于高级语言和低级语言之间的 c 程序设计语言(简称 c 语言)就在迅速发展起来。 它适合于作为系统描述语言,既可以用来写系统软件,也可用来写应用软件。

1. 汇编语言的可读性和可移植性都比较差。2.高级语言无法对硬件进行直接操作。

C 语言出现的历史背景

Page 6: C 程序设计

20:41:33 20:41:33 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 语言的发展历程

Page 7: C 程序设计

20:41:33 20:41:33

程序设计语言有许多种类,每一种类都有其特殊功能和其应用范围。 C语言之所以成为当今世界上最流行的几种语言之一 ,其特点如下:1 、语言简洁、紧凑,使用方便、灵活, 32 种关键字(附录 II ), 9 种控制语句。2 、运算符丰富,有 34 种运算符(附录 III )。3 、数据类型丰富,具有现代化语言的各种数据类型。4 、具有结构化的控制语句(见目录),用函数实现程序的模块化,标准函数(附录 V )。

C 语 言 的 特 点(一)

Page 8: C 程序设计

20:41:33 20:41:33

5 、语法限制不太严格。6 、允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能, 可以直接对硬件进行操作。7 、生成目标代码的质量高,程序执行效率高。8 、与汇编语言相比,用C编写的程序可移植性好

C 语 言 的 特 点(二)

Page 9: C 程序设计

20:41:33 20:41:33

C 程序 的上 机步 骤

1. 分析问题

2. 解题步骤

3. 选择语言工具编码

4. 目测正确性

5. 上机输入与编辑

6. 编译

7. 调试

8. 与库函数等连接

9. 运行

* 本课程以 Turbo C 为语言环境

源程序exp1.c

目标程序exp1.obj

库函数和其他目

标程序

开始

编辑

编译

连接

执行

有错

结果正确

结束

可执行目标程序exp1.exe

Y

Y

N

N

Page 10: C 程序设计

20:41:33 20:41:33

/*sample 1_1*/main() /* 输出字符串 */{printf(“Hello!\n”); /* 输出字符串 */}

简 单的 C程 序介 绍

( 一 )

其中:1. main() 表示“主函数”,每一个 c 程序都必须有

main 函数函数体由 { } 括起来。2. printf 是 c 语言中的输出函数,双引号中的字符

串原样输出。3. “\n” 是换行符。4. 每个语句最后要有一个 分号 ;。

Page 11: C 程序设计

20:41:33 20:41:33

/* 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*/

简 单的 C

程 序介 绍

( 二 )

1. 本程序的作用是求两个整数 a 和 b 之和 sum 。 /*……*/ 表示注释部分,起说明的作用,不影响 编译和运行。注释可以加在程序的任何位置。2. 第 2 行是声明部分,定义变量 a 和 b;

3. 第 3 行是两个赋值语句 ;4. 第 4 行是求和 , 并保存值

5. 第 5 行中 %d 是输入输出的“格式字符串”,用来指定输入输出 时的数据类型和格式。(见第 4章)

Page 12: C 程序设计

20:41:33 20:41:33

简 单的 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); }

Page 13: C 程序设计

20:41:33 20:41:33

1. 本程序包括两个函数:主函数 main 和被调用的函数 max 。

2. max 函数的主要功能是将 x 和 y 中的较大者的值赋给变量 z 。

3. return 语句将 z 的值返回给主调函数 main 。返回值是通过 max 带回到调用处。

4. scanf 是“输入函数”的名字。

Page 14: C 程序设计

20:41:33 20:41:33

小结---

C程序的结构

C 程序的组成和形式简单总结如下:

1 、 C程序由函数构成:一个程序至少包含一个函数,是函数式的语言, 其函数库非常丰富。容易实现程序的模块化。

2 、函数由两部分组成: 函数的说明部分 ------ 包括函数名、类型、形参名、形参类型等。函数名后必须跟一对圆括函数参数可以没有。 函数体 ------即最外层大括号括起的部分。

Page 15: C 程序设计

20:41:33 20:41:33

函数体一般包括: 变量定义:定义所要使用的变量的类型等。 执行部分:由若干语句组成。 * 允许没有变量定义部分,甚至允许没有 执行部分,即一个空函数。 如: kong () { }

Page 16: C 程序设计

20:41:33 20:41:33

小 结--- C 程序 的结 构

3、在一个函数中可以调用其他的函数。4、总是从main函数开始执行。5、书写格式自由。6、每个语句和数据定义的后面必须有一个分号。7、对输入输出实行函数化。8、可以用 /* */ 形式作注释。

Page 17: C 程序设计

20:41:33 20:41:33

注:1. main 表示主函数2. 每个 C 程序都必须有 main 函数3. 大括号 { } 表示函数体的开始和结束4. 分号表示语句的结束5. 一行可以写一个语句或几个语句6. C 语言本身没有输入输出语句,而是调用库函

数来实现数据的输入输出7. 可以用 /* */形式作注释。

Page 18: C 程序设计

20:41:33 20:41:33

(1)

一、选择题

1 . 一个 c 程序的执行是从( )A. 本程序的 main 函数开始到 main 函数结束B. 本程序的第一个函数开始到本程序的最后一个函数

结束C. 本程序的 main 函数开始到本程序的最后一个函数结

束D. 本程序的第一个函数开始到 main 函数结束

2 . 以下叙述正确的是( )A. 在 c 程序中, main 函数必须位于程序的最前头B. C 程序的每行中只能写一条语句C. C 语言本身没有输入输出语句D. 在对一个 c 程序进行编译的过程中,可发现注释中

的拼写错误

A

C

Page 19: C 程序设计

20:41:33 20:41:33

3 、以下叙述不正确的是( )A 、一个 c 源程序可由一个或者多个函数组成B 、一个 c 源程序必须包含一个 main 函数C 、 C 程序的基本组成单位是函数D 、在 c 程序中,注释说明只能位于一条语句的后面4 、 c 语言规定:在一个源程序中, main 函数的位

置 ( )A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后

D

C

Page 20: C 程序设计

20:41:33 20:41:33

返回

( 2)

5. 一个 c 语言程序是由( )A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D.若干子程序组成二、填空题1. C 源程序的基本单位是( )2. 一个 c 程序中至少包含一个(

)3. 在一个 c 源程序中,注释部分两侧的分界符分

别为( )和( )4. 在 c 语言中,输入操作是由库函数( )完成的,输出操作是由库函数( )完成的

B

函数 主函数或 main 函数

/* */

printf scanf