C语言程序设计课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任何一个程序应包含的如下两方面的内容: (1)对数据的描述。在程序中要指定数据的类型和数据的 组织形式,即数据结构(data structure). (2)对操作的描述。即操作步骤,也就是算法(algorithm)。
著名计算机科学家沃思(Nikiklaus Wirth)提出公式 数据结构+算法=程序
2014-9-11 9
(4)
一个C程序总是从main函数开始的,而不论main函数在整 个程序中的位置如何(main函数可以放在程序最前头,也可 以放在程序最后,或在一些函数之前,在另一些函数之后)。 C程序书写格式自由,一行内可以写几个语句,一个语句 可以分写在多行上。
(5)
(6) 每个语句和数据定义的最后必须有一个分号。分号是C语
2014-9-11 12
例三
/* example1.3 输入两个数,求其中较大的数*/ #include <stdio.h> int max(int x,int y) /* 被调用函数*/ { int z; if (x>y) z=x; else z=y; return(z); /* 将z的值返回,通过max带回调用处*/ } main() /* 主函数*/ { int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“max=%d\n”,c); }
2014-9-11
15
在使用标识符时还必须注意以下几点: (1)标准C不限制标识符的长度,但它受各种版本的C语言编 译系统限制,同时也受到具体机器的限制。Turbo C规定标识 符的长度为32。一般情况下,标识符的长度不要超过8个字符。 (2)在标识符中,大小写是有区别的。例如SUM和sum是两个 不同的标识符。变量名应尽量使用小写字母,以增加程序的可 读性。 (3)标识符虽然可由程序员随意定义,但标识符是用于标识 某个量的符号。因此,命名应尽量有相应的意义,以便于阅读 理解,做到“顾名思义”。 在C语言中,所有的变量都是先定义后应用,使用没有定义的 变量名被认为是“非法”的。
武汉理工大学计算机学院
C语言程序设计
授课教师:王红霞
2014-9-11
1
选用教材与参考书
主教科书 顾治华、陈天煌等 《C语言程序设计》 机械工业出版社 2007.2
参考教材 顾治华、陈天煌等《C语言程序设计 实验 指导》 机械工业出版社 2007.2
参考书
谭浩强 《C语言程序设计》 清华大学出版社
2014-9-11
8
C语言程序的结构
1) C语言是结构化的程序设计语言。
2) C语言是模块化的程序设计语言,程序是由函数构成的。一 个C源程序至少包含一个main函数,也可以包含一个main函 数和若干个其他函数。因此,函数是C程序的基本单位。 3) 一个函数由两部分组成:
①函数的首部,函数的第一行。包括函数名、函数类型、函数属性、 函数参数(形参)名、参数类型。 ②函数体,即函数首部下面的大括弧{…..}内的部分。如果一个 函数内有多个括弧,则最外层的一对{ }为函数的范围。 函数体一般包括: 声明部分:在这部分中定义所用到的变量。 执行部分: 由若干个语句组成。
•常量
C语言中使用的常量可分为数字常量、字符常量、字符 串常量、符号常量、转义字符等多种。
2014-9-11 19
C语言的字符集
( 1 )字母 小写字母 a ~ z 共 26 个,大写字 母A~Z共26个。 (2)数字0~9共10个。 (3)空格符、制表符、换行符等统称为空 白符。 (4)标点和特殊字符
运行结果: 4,6↙ max=6
2014-9-11
13
开始
C程序的上机步骤
编辑 编译 Yes 有错? No 连接 执行
结果 正确
源程序 f.c
目标程序 f.obj
库函数 和其他目 标程序
可执行 目标程序 f.exe
´ ÔÌ ³ò Ð Ú ÄÝ È Ì ³ò Ðè ÉÆ ¼ï ÓÔ Ñ É ¿´ ÖÐ » ²É ¿Ô Ò Ä Îþ ¼û Ãó ºº × .c
2014-9-11 5
程序设计过程
(1)问题的提出,要达到的要求; (2)确定数据结构和所采用的算法; (3)编制程序; (4)调试程序; (5)整理并写出文档;
2014-9-11
6
C语言的特点
(1)语言简洁、紧凑,使用方便、灵活。C语言一共只有 32个关键字,主要用小写字母表示。 (2) 比其他高级语言更接近硬件,比低级语言更接近算法。 程序易编、易读、易查错、易修改,兼有高级语言和 低级语言的优点。
2014-9-11
18
C语言的基本词法-其它
运算符
C语言中含有相当丰富的运算符。运算符与变量,函数 一起组成表达式,表示各种运算功能。运算符由一个 或多个字符组成。
•分隔符
在C语言中采用的分隔符有逗号和空格两种。逗号主要是 用在类型说明和函数参数表中分隔各个变量。空格多用于 语句各单词之间作间隔符。
2014-9-11
20
C语言程序设计的基本结构
a (1)顺序结构 A B
b
2014-9-11
21
(2)选择结构,或称分支结构 此结构中必包含一个判断框。根据给定的条件 P是否成立而选择执行A框或B框 a
不成立
p
成立
B
A
b
2014-9-11 22
(3) 循环结构,它又称为重复结构,即反复执行某一部分 的操作。又两类循环结构: a 它的功能是判断当前给定 的条件p1成立时,执行A F 框操作,执行完A后,再 p1 判断条件p1是否成立,如 果仍然成立,再执行A框, T 如此反复执行A框,直到 某一次p1条件不成立为止, A 此时不执行A框,而从b点 脱离循环结构。 b (a) 当型(while型)循环结构
24
本章课堂练习
(1) 以下说法中正确的是( ). A) C语言程序总是从第一个函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数 中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始 部分
2014-9-11
25
解答:C 解释:C语言程序总是从main()函数开始执行,而 不论其在程序中的位置。当主函数执行完毕时,亦 即程序执行完毕。除main函数外,其它函数都是在 执行main函数时被调用执行的。在C语言中,函数 不允许嵌套定义。习惯上,将主函数main()放在最 前头,但并不是必须的。
(3) 数据类型和运算符十分丰富,程序设计和算法描述更为 简单和方便。 (4) 语法结构十分简单,语句数目少,简单易学。
2014-9-11
7
(5) 它是一种结构化程序设计语言,提供了完整的程序控制 语句(选择语句和循环语句),很适合结构化的程序设计方 法。 (6) 它是一种模块化的程序设计语言,适合大型软件的研制 和调试。 (7) 生成目标代码质量高,程序执行效率高。 (8) 用c语言写的程序可移植性好。 (9) 它提供了大量的库函数以供调用,简化了程序设计工作。
2014-9-11
16
C语言的基本词法-关键字
定义:关键字是由C语言规定的具有特定意义的字符 串,通常也称为保留字。用户定义的标识符不应该 与关键字相同。 分类:C语言的关键字分为以下3类: (1)类型说明符 用于定义和说明变量、函数或其它数据结构的 类 型 。 如 int , double , float , long , short , auto,signed,static,struct,unsigned,char, enum,extern,register和union等。
2014-9-11
2
课程内容
第一章 第二章 第三章 第四章 第五章 第六章 第七章
2014-9-11
C语言程序设计概述 算法及算法设计简介 数据描述与基本操作 选择结构程序设计 循环结构程序设计 数组与指针 函数与模块化程序设计方法
3
第一章 C语言程序设计基础
1.1 1.2 1.3 1.4 1.5 1.6 程序与程序设计 C语言简介 简单的C语言程序 C语言程序的上机步骤 C语言的基本词法 C语言程序的基本结构
2014-9-11
30
第二章 算法及算法设计简介
2.1 算法的概念
2.2 算法的设计与表达
2.3 简单的算法实例 2.4 结构化程序设计方法简介
2014-9-11
31
算法的概念
算法:是对解决某个问题的方法步骤的描述。 程序:从计算机角度来说,程序是用某种计算机能理解并执 行的计算机语言描述解决问题的方法和步骤。
2014-9-11
17
(2)语句定义符 用于表示一个语句的功能。如条件语句的语句定 义符if else,循环语句的语句定义符do,while, for等。
(3)预处理命令字
用于表示一个预处理命令,使用时前面要加 “#”。如include,define,ifdef,endif等。
关键字后必须有空格、圆括号、尖括号、双引号 等分隔符,否则与其它字符一起组成新的标识符。
2014-9-11
¿ Äê ±Ì ³ò Ð ú »ô Æï ÓÔ Ñ » ²É ¿Ô Ò .obj
É ¿´ ÖÐÌ ³ò Ð No ú »ô Æï ÓÔ Ñ É ¿Ô Ò .exe
Yes 结束
14
C语言的基本词法-标识符
定义:在程序中使用的变量名、函数名、标号等统称为 标识符。除库函数的函数名由系统定义外,其余的都由 用户自己定义。 命名规则:标识符只能是字母(A~Z,a~z)、数字(0~9)、 下划线(_)组成的字符串,并且其第一个字符必须是字母 或下划线。 例如:以下标识符是合法的: a,x,x3,BOOK_1,sum5,_x7。 以下标识符是非法的: 3s,s*T,-3x,bowy-1,M.D.John,a>b。
2014-9-11
4
程序与计算机语言
程序是存放在计算机中的操作指令的集合。
用程序设计语言安排好的处理问题的步骤称为计算机程序
用程序设计语言编制一个能完成某项任务的计算机程序 的过程叫做计算机程序设计。
程序设计=数据结构+算法+程序设计方法+编程语言 程序设计的关键:必须掌握一种程序设计语言。掌握 程序设计的逻辑思维。
2014-9-11 23
(b)直到型(Until型)循环结构 a
A
p2 T b
2014-9-11
F
它的功能是先执行A框, 然后判断给定的p2条 件是否成立,如果p2条件 不成立,则再执行A, 然后再对p2条件作判断, 如果p2条件仍然不成立, 又执行A‥‥‥如此反复 执行A,直到给定 的p2条件成立为止,此时 不再执行A,从b点脱 离本循环结构。
2014-9-11
26
(2).以下叙述不正确的是 A)一个C源程序可由一个或多个函数组成 B) 一个C源程序必须包含一个main函数 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面
2014-9-11
27
解答:D
解释: 凡是用“/*‖和“*/‖括起来的文字,都 是注释。其出现的位置可以任意。
2014-9-11
32
实际上,一个程序除了以上两个主要要素之外,还应当采用 结构化程序设计方法进行程序设计,并且用某一种计算机语 言表示。因此,可以这样表示: 程序=算法+数据结构+程序设计方法+语言工具和环境 在这4个方面中,算法是灵魂,数据结构是加工对象,语言 是工具,编程需要采用合适的算法。算法是解决“做什么” 和“怎么做”的问题。
本程序的作用是输出以下一行信息: This is a C program.
2014-9-11
11
例二 main( ) { int a,b,sum; /*这是定义变量*/ a=123;b=456; /*以下3行为C语句*/ sum=a+b; printf(―sum is %d\n‖,sum); }
程序的运行结果: Sum is 579
句的必要组成部分。分号不可少。 (7) C语言本身没有输入输出语句。输入输出的操作是由库 函数scanf和printf等函数来完成的。 可以用/*……*/对C程序中的任何部分作注释。
(8)
2014-9-11
10
简单的C语言程序示例
例一 main( ) { printf (―This is a C program.\n‖); }
2014-9-11
28Hale Waihona Puke Baidu
(3).下列标识符中,合法的变量名有:
A)a.b
B)$888
C)A1
D) 3x56
2014-9-11
29
解答:C 解释:变量名只能由字母、数字和下划线三种 字符所组成,且第一个字符必须为字母或下划 线。C语言的关键字不能用作变量名。另外, C语言对英文字母的大小写敏感,即同一字母 的大小写,被认为是两个不同的字符。习惯上, 变量名和函数名中的英文字母用小写,以增加 可读性。