收藏 分享(赏)

C语言是比较流行的高级程序设计语言.pptx

上传人:ysd1539 文档编号:8147697 上传时间:2019-06-11 格式:PPTX 页数:62 大小:292.90KB
下载 相关 举报
C语言是比较流行的高级程序设计语言.pptx_第1页
第1页 / 共62页
C语言是比较流行的高级程序设计语言.pptx_第2页
第2页 / 共62页
C语言是比较流行的高级程序设计语言.pptx_第3页
第3页 / 共62页
C语言是比较流行的高级程序设计语言.pptx_第4页
第4页 / 共62页
C语言是比较流行的高级程序设计语言.pptx_第5页
第5页 / 共62页
点击查看更多>>
资源描述

1、C语言实践教程,主编 姚大鹏,中国水利水电出版社,http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/

2、http:/ http:/ http:/ http:/www.ort-,第1章 C语言概述,1.1 C语言发展概述 C语言是比较流行的高级程序设计语言之一。它不但具有一般高级语言的特点,又可以像汇编语言一样,对硬件内存的位、字节直接进行操作,其运行效率非常高。 C语言的发展与操作系统UNIX密不可分,它是在B语言的基础上发展起来的,其根源可以追溯到ALGOL60。1960年出现的ALGOL60是一种面向过程的高级语言,它离硬件比较远,不适合用来编写系统程序。 1963年剑桥大学推出了CPL(Combined Programming Language)语言,CPL语言在ALGOL60的基础上更接

3、近硬件一些,但规模比较大。1967年剑桥大学的Matin Richards对CPL语言做了简化,推出了BCPL(Basic Combined Programming)语言。 1970年,UNIX开发者美国贝尔实验室的Ken Thompson以BCPL语言为基础,设计出更为简单的而且非常接近硬件的B语言,并用B语言编写了UNIX操作系统和绝大多数上层应用程序。,http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf-

4、 http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.ort-,1972年,贝尔实验室的D.M.Ritchie在B语言的基础上又设计出了C语言。后来,C语言又多次做了改进,到1977年出现了不依赖于具体机器的C语言编译文本可移植C语言编译程序,使C移植到其他机器时所需要的工作大大

5、简化了。到了20世纪80年代,C开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。从而成为当代最优秀的程序设计语言之一。 1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSI C。ANSI C比原来的标准C有了很大的发展。1988年K&R修改了他们的经典著作The C programming language,按照ANSI C标准又重写了该书。1987年,ANSI再次公布了新的标准87ANSI C。目前比较流行的C编译系统都是以它为基础。 随着面向对象编程技术的出现,在进一步扩充和完善了C语言基础上,又出现

6、了C+。Java、C+等面向对象语言(第四代语言)是C语言的发展。,http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:

7、/ http:/ http:/ http:/ http:/ http:/www.ort-,1.2 C语言的特点 相对于其他高级语言,C语言有很多优点,概括起来,其主要特点如下: 语言简洁紧凑,使用方便灵活,运算符丰富 ; 表达能力强; 数据结构丰富,具有现代化语言的各种数据结构; C语言是一种结构化程序设计语言; 可对硬件直接进行操作; 生成目标代码质量高,程序执行效率高; 可移植性好(与汇编语言相比);,第1章 C语言概述,第1章 C语言概述,1.3 C语言基本语法概述1.3.1 C语言的语法特点C程序是由函数构成的,其中必须有且只有一个主函数;函数体是由左右花括号 括起来的;一个C程序总是

8、从main函数开始执行的;C语言中的每个基本语句都以“ ;”结束;C语言书写格式自由,一行可以写一个语句,也可以写多个语句;C语言本身没有输入、输出语句。输入和输出操作都是由库函数scanf和printf等函数来完成的;用/*/可以对C程序中的任何部分作注释。,第1章 C语言概述,1.3.2 标识符、常量和变量 标识符:由英文字母、数字、下划线组成,且第一个字符必须是字母或下划线。另外大小写字母的含义不同;还有不能够使用C语言中的关键字做标识符。 常量:在程序运行过程中其值不能被改变的量。 变量:在程序的执行过程中其值可以被改变的量。 注意:使用变量前,一定要先定义后使用。,http:/ ht

9、tp:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.ort

10、-,第1章 C语言概述,1.3.3 数据类型 整型数据整型常量:十进制整数:以数码直接开头的常量; 八进制整数:以0开头的常量,如011;十六进制整数:以0x开头的常量,如0x123; 整型变量 :如下表,第1章 C语言概述, 浮点型数据浮点型常量: 十进制数形式:它是由数字和小数组成;指数形式:如0.00123用指数法可表示为1.23e-3;实型变量:单精度(float):占4个字节,有效位为7位,数值范围为10-381038;双精度(double):占8个字节,有效位为1516位,数值范围约为10-30810308; 字符型数据字符型常量:由一对单引号括起来的单个字符;转义字符: 特殊形式

11、的字符常量,它以开头;字符型变量:存放一个字符的ASCII码值,占一个字节;字符串常量:一对双引号括起来的字符序列。C语言中规定以 0作为字符串结束标志。,第1章 C语言概述,1.3.4 运算符与表达式1.3.4.1 算术运算符算术运算符:加、减、乘、除、模,用+,-,*,/,%表示, 其中 模%,仅用于整型变量或整型常量;乘、除、模优先级高于加、减的优先级;结合方向为从左至右;1.3.4.2 赋值运算符及其表达式 赋值运算符:“=”;其作用是将一个数据赋给一个变量;在“=”之前加上其它运算符可构成复合运算 符,如+=等;,第1章 C语言概述,1.3.4.3 增1、减1运算符 i+(或i-):

12、表示在使用该表达式值之后将i值加1(或减1)。 +i(或-i):表示在使用该表达式值之前将i值加1(或减1)。 1.3.4.4 关系运算符关系运算符:, =, =, = =,!=;前4个运算符的优先级高于后2个。结合方向是自左向右。1.3.4.5 逻辑运算符逻辑运算符:“&”(逻辑与)、“|”(逻辑或)和“!”(逻辑非)。 其中“&”和“|”为自左向右结合方向;逻辑运算符的操作对象应为零或非零整数值。,http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/

13、www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.ort-,第1章 C语言概述,1.3.4.6 位运算符位运算符: 执行过程:先求表达式1的值,再求表达式2的值,表达式2的值就是整个逗号表达式的值。1.3.4.8 条件运算符及其表达

14、式条件运算符: ? :;一般形式:?:;执行过程:先计算的值,如果值为真,则计算值,并把该值作为条件表达式值. 若值为假,则计算的值,并将该值作为条件表达式的值。,第1章 C语言概述,1.3.5 数据的输入与输出1.3.5.1字符数据的输入与输出putchar函数格式:putchar(c);功能:向终端输出一个字符。 getchar函数格式: getchar( );功能:从键盘上接收输入的一个字符。,第1章 C语言概述,1.3.5.2 数据按格式输入与输出printf函数格式:printf (“格式控制”,输出表列);说明:“格式控制”是用双引号括起来的字符串。包括格式说明、普通字符和转义字符

15、。scanf函数格式:scanf(“格式控制”,地址表列);说明:“可以同时输入多个任何相同(不同)类型的数据。“格式控制”的含义同printf函数;地址表列是由“&+变量名”组成,多个地址之间用“,”分隔。格式控制符说明如下表:,第1章 C语言概述,第1章 C语言概述,1.3.6 分支语句1.3.6.1 C语句概述(C语句分为5类):控制语句:完成一定的控制功能;if( )-else : (条件语句);for( ) ; while( ); do_ while( ) : (循环语句);continue : (结束本次循环语句);break : (中止执行switch或循环语句);switch

16、: (多分支选择语句);go to : (转向语句); return : (从函数返回语句);函数调用语句:函数调用语句加一个分号;空语句 : 由单独一个分号组成;复合语句: 用 把一些语句括起来;,http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/

17、 http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.ort-,第1章 C语言概述,1.3.6.2 3种基本结构顺序结构:按从上到下的顺序依次执行。选择结构:通过对一个特定条件的判断来选择一个分支执行,常见的语句类型为:ifelse语句和switch语句。循环结构: 在给定的条件下,重复执行某段程序,直到不满足条件为止。它包括三种类型的语句:while语句、dowhile语句和for语句。,http:/ http:/ http:/ htt

18、p:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.ort-,第1章 C语言概述,1.3

19、.6.3 条件语句 if语句的第一种形式:格式:if(表达式)语句功能:首先计算表达式的值,若表达式的值为“真”(为非0),则执行语句;若表达式的值为“假”(为0),不执行语句。 if语句的第二种形式:格式:if(表达式)语句1else 语句2功能:首先计算表达式的值,若表达式的值为“真”(为非0),则执行语句1;若表达式的值为“假”(为0),则执行语句2。,第1章 C语言概述, if语句的第三种形式:格式:if(表达式1) else if(表达式2) else if(表达式3) else if(表达式n) else 功能:首先计算表达式的值,若第n个表达式的值为“真”(非0),则执行语句n,

20、若所有的表达式的值都为“假”(0),则执行语句n+1。注意:在if和else后面可以只含有一个内嵌的操作语句,也可以含有多个操作语句,此时应用花括号“ ”将几个语句括起来,构成一个复合语句。if的个数一定不小于else的个数。else总是与它上面最近的且未曾使用过的if相配对。,第1章 C语言概述,1.3.6.4 开关(switch)语句一般形式如下:switch(表达式) case常量表达式1:语句1case常量表达式2:语句2case常量表达式n:语句ndefault:语句n+1执行过程:首先计算switch后面圆括号内表达式的值,若此值等于某个case后面的常量表达式的值,则转向该cas

21、e后面的语句去执行;若表达式的值不等于任何case后面的常量表达式的值,则转向default后面的语句去执行;如果没有default部分,直接转到switch语句后面的语句去执行。,第1章 C语言概述,1.3.7 循环语句 1.3.7.1 go to语句一般形式:语句标号:语句; if(条件表达式) go to 语句标号;说明:语句标号必须用标识符表示,go to语句与if语句一起构成循环结构;当条件表达式成立时,重复执行语句标号到if语句之前的内容。注意:go to 语句的用法不符合结构化原则,一般不宜采用。,第1章 C语言概述,1.3.7.2 while语句格式:while(表达式)语句

22、功能:当表达式的值为非0时,执行while语句中的循环体;当表达式的值为时,结束循环,继续执行循环体下面的语句。注意:循环体如果包含一个以上语句,应该用花括弧括起来,以复合语句的形式出现,否则while语句范围只到while后面第一个分号处。,http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/

23、 http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.ort-,第1章 C语言概述,1.3.7.3 dowhile语句格式:dowhile(表达式)功能:先执行一次指定的语句,然后判断表达式的值,当表达式的值为非零(“真”)时,返回重新执行该语句,如此反复,直到表达式的值等于0为止,此时循环结束。注意:循环体部分如果有多个语句,则必须用左右花括号括起来,使其形成复合语句。,第1章 C语言概述,1

24、.3.7.4 for语句格式:for(表达式1;表达式2;表达式3)循环体语句执行过程:先计算表达式1的值;然后计算表达式2 的值,若结果为真(非0),则执行后面的循环体中的各语句;若为假,则结束循环;进行表达式3 的计算,至此完成一次循环;再次计算表达式2 的值,开始再次循环,直到计算表达式2的值为0,中止循环。注意:for 语句中条件测试总是在循环开始时进行。如果循环体部分是多个语句组成的,则必须用左、右花括号括起来,使其成为一个复合语句。省略表达式1时,其后的分号不能省略。如果表达式2省略,即认为表达式2始终为真。,第1章 C语言概述,1.3.7.6 break语句和continue语句

25、格式:break;功能:break语句可以用于switch语句或循环语句中。在switch语句中,其作用是跳出switch语句,转入switch外的下一个语句;在循环语句中,其作用是跳出该层循环,转到下一个语句。注意:break语句不能跳出多层循环,如果需要跳出多重循环可以用goto语句实现。格式:continue;功能:跳过循环体中位于continue语句后面的尚未执行的语句,转去判断是否继续进行下一次循环。注意:continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束循环,不再进行判断。,第1章 C语言概述,1.3.8 数组 1.3.8.1一维数组的定义、引用

26、和初始化 1. 一维数组的定义 格式:类型说明符 数组名常量表达式; 功能:定义一维数组,常量表达式表示数组元素的个数。 注意:数组名后面是方括弧,不是圆括弧。常量表达式表示元素个数,即数组的长度。数组元素的下标是从0开始的。下标最大值为:常量表达式值减1。常量表达式可是常量和符号常量,不能是变量。数组必须先定义,后使用。,第1章 C语言概述,2. 一维数组元素的引用数组元素表示形式为:数组名下标。 3. 一维数组的初始化int a10=0,1,2,3,4,5,6,7,8,9;可以只给一部分元素赋初值,后几个元素值为0。在全部数组元素赋初值时,可以不指定数组长度。 例如:int a5=1,2,

27、3,4,5;或 int a =1,2,3,4,5;1.3.8.2二维数组的定义、引用和初始化 1二维数组的定义格式:类型说明符 数组名常量表达式1常量表达式2;功能:定义一个二维数组。表达式1是数组元素的行数,表达式2是数组元素的列数。,http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ ht

28、tp:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.ort-,第1章 C语言概述,2二维数组的引用二维数组元素的表示形式为:数组名下标下标注意:引用二维数组时,逐个元素引用,不能引用整个数组。使用数组元素时,下标值应在已定义的数组的范围内。 3二维数组的初始化分行给二维数组赋初值。例如:int a34=1,2,3,4,5,6,7,8,9,10,11,12;将所有的数据写在一个花括号内。例如:int

29、a34=1,2,3,4,5,6,7,8,9,10,11,12;对部分元素赋初值(没有赋值的元素的值都是0)。例如:int a34=1,2,0,0,3,5,6;注意:如果对全部元素都赋初值,则定义数组时对第一维 的长度可以不指定,但第二维的长度不能省略。,第1章 C语言概述,1.3.8.3 字符数组与字符串 1字符数组定义形式一维数组:char 数组名常量表达式;二维数组:char 数组名常量表达式1常量表达式2; 2字符数组的初始化 1)赋值给数组中的各个元素。例如:char c=w, , e, y, d ;注意:如果花括号中提供的数值个数大于数组长度,则作语法错误处理。如果初值个数小于数组长

30、度,则只将这些字符赋给数组中的前面那些元素,其余元素自动定为空字符。如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度。用字符串常量使字符数组初始化。char c6=china;,第1章 C语言概述,3. 字符数组的引用字符数组的引用同前面其它类型数组元素引用一样。 4. 字符串和字符串结束标志字符串常量是用双引号括起来的一串字符,且用0作为 字串结束标志,它占内存空间,但不计入串的长度。注意:可以通过赋初值隐含确定数给长度。例如:char str =“china”;/*串的长度为6;自动末尾加0*/。 6. 字符数组的输入输出逐个字符输入或输出:scanf和printf;get

31、char和putchar。整个字符串一次输入或输出:例如:char c =china; printf (%s,c);注意:输出字符不包括结束符0。用“%s”格式时,printf中的输出项是数组名。如果数组长度大于字符串实际长度,也只输出到遇到0结束。,第1章 C语言概述,7字符串处理函数puts(字符串):将一个字符串输出到终端。gets(字符数组):从终端输入一个字符串到字符数组。strcat(字符串1,字符串2):连接两个字符串,把字符串2接到字符串1的后面,结果放在字符串1中。注意:字符串1必须足够大,以便能容纳连接后的新字符串。连接的两个字符串后面都有一个0,连接时将字符串1后面的0取

32、消,只在新串的最后保留一个0。strcpy(字符数组,字符串):字符串拷贝到字符数组中去。注意:字符数组必须足够大,以便能容纳被拷贝的字符串。拷贝时连同字符串后面的0一起拷贝到字符数组中。 不能用赋值语句将一字符串常量或字符数组直接赋给一个字符数组。,第1章 C语言概述, strcmp(字符串1,字符串2):按ASCII码值大小比较,将两个字符串自左至右逐个字符相比,直到出现不同的字符或到0为止。如果全部字符相同,则认为相等,如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。比较的结果由函数值带回。注意:字符串1=字符串2,函数值为0;字符串1字符串2,函数值为0;字符串1字符串2,

33、函数值为0;对两个字符比较,而只能用strcmp函数; strlen(字符数组):测试字符串长度,字符串实际长度,不包括0在内。strlwr(字符串):将字符串中大写字母转换成小写字母。strupr(字符串):将字符串中小写字母转换成大写字母。,http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:

34、/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/www.ort-,第1章 C语言概述,1.3.9 函数 1.3.9.1函数概述一个完整的 C 程序是由一个主函数和若干个子函数构成的。由主函数调用其他函数,其他函数间也可以相互调用。同一个函数可以被一个或多个函数调用任意多次。注意:一个源程序文件可以由一个或多个函数组成。一个C程序可以由一个或多个源程序文件组成。C程序从主函数main开始执行。所有函数都是平行的。从用户使用的角度看,函数分为两种:标准函数和用户自己定义的函数。从函数的形式看,函数分为两类:无参函数和有参函数。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报