C语言知识点串讲 (2).ppt
《C语言知识点串讲 (2).ppt》由会员分享,可在线阅读,更多相关《C语言知识点串讲 (2).ppt(185页珍藏版)》请在三一办公上搜索。
1、计算机二级C语言程序设计知识点串讲,2023/11/7,2,一、C语言程序的结构1.程序的构成,main函数和其他函数。2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。3.源程序的书写格式。4.C语言的风格。,2023/11/7,3,目标,熟记C语言的基本概念熟悉VC+6.0 的上机操作环境会读、会编、会调试程序,2023/11/7,4,C语言结构特点:(1)C程序是由函数构成的。(2)一个函数由两部分组成:函数的首部和函数体。(3)main函数通常位于程序之首,实际上它位于程序的开头、最后及函数与函数之间均是合法的,但不管在什么位置,一个C程序总是从main函数开始执行的。(4)
2、C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(5)每条语句以分号结束,分号是语句的必要组成部分。(6)C语言本身没有输入输出语句。(7)可以用/*/对C程序中的任何部分作注释,它可增加程序的可读性。,2023/11/7,5,C语言的基本词法,1.标识符 标识符是以字母、数字和下划线组成的,但第一个字符必须是字母或下划线。而且字母区分大小写。,2.关键字 关键字又称保留字,C语言编译系统对关键字赋有专门的含义。Turbo C共有43个关键字。,3.字符集 C语言的字符集包括:大小写英文字母、数字、下划线及*/,;?“.&|()等,还有不可打印字符空格、换行符、制表符。,2
3、023/11/7,6,函数的一般结构 任何函数(包括主函数main())都是由函数说明和函数体两部分组成。其一般结构如下:函数返回值的类型 函数名(函数参数表)说明语句部分;执行语句部分;,函数首部,函数体,函数返回值的类型 函数名 函数参数表 int max(int x,int y),2023/11/7,7,C语言的语句和关键字,(一)C语言的语句 与其它高级语言一样,语言也是利用函数体中的可执行语句,向计算机系统发出操作命令。按照语句功能或构成的不同,可将语言的语句分为五类。1.控制语句控制语句完成一定的控制功能。语言只有条控制语句,又可细分为三种:(1)选择结构控制语句 if()else
4、,switch()(2)循环结构控制语句 dowhile(),for(),while(),break,continue,2023/11/7,8,(3)其它控制语句 goto,return 2.函数调用语句 函数调用语句由一次函数调用加一个分号(语句结束标志)构成。3.表达式语句表达式语句由表达式后加一个分号构成。最典型的表达式语句是,在赋值表达式后加一个分号构成的赋值语句。4.空语句空语句仅由一个分号构成。显然,空语句什么操作也不执行。5.复合语句复合语句是由大括号括起来的一组(也可以是1条)语句构成。,2023/11/7,9,运行C的步骤与方法,1.编辑:选择适当的编辑程序,将C语言源程序通
5、过键盘输入到计算机中,并以文件的形式存入到磁盘中(.C)2.编译:即将源程序翻译成机器语言程序的过程。编译出来的程序称为目标程序(.OBJ)3.连接:编译后生成的目标文件经过连接后生成最终的可执行程序(.EXE),2023/11/7,10,二、数据类型及其运算 1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。2.C运算符的种类、运算优先级和结合性。3.不同类型数据间的转换与运算。4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。,2023/11/7,11,一般用大写字母是宏定义预处理命令,不是C语句直接常量:整型常量
6、实型常量 字符常量 字符串常量,常量定义:程序运行时其值不能改变的量(即常数)分类:符号常量:用标识符代表常量定义格式:#define 符号常量 常量,2023/11/7,12,变量概念:其值可以改变的量变量名与变量值变量说明的一般格式:数据类型 变量1,变量2,变量n;变量的显式初始化:说明时赋初值变量的使用:先说明,后使用变量定义位置:一般放在函数开头,2023/11/7,13,数据类型数据类型总表,数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作,2023/11/7,14,不同类型数据间的转换隐式转换什么情况下发生运算转换-不同类型数据混合运算时赋值转换-把一个值赋
7、给与其类型不同的变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型,2023/11/7,15,显式转换(强制转换)一般形式:(类型名)(表达式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6,2023/11/7,16,运算符和表达式,2023/11/7,17,学习运算符应注意:运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向 结果的类型,2023/11/7,18,算术运算符和表达式基本算术运算符:+-*/%结合方向:从左向右优先级:(正负)+-*/%-+
8、-(加减)(2)(3)(4)说明:“+”、“-”可为单目运算符时,右结合性两整数相除,结果为整数%要求两侧均为整型数据自增、自减运算符+-作用:使变量值加1或减1种类:前缀式+i,-i(先执行i+1或i-1,再使用i值)后缀式 i+,i-(先使用i值,再执行i+1或i-1),2023/11/7,19,赋值运算符和表达式简单赋值运算符符号:=格式:变量标识符=表达式作用:将一个数据(常量或表达式)赋给一个变量,复合赋值运算符种类:+=-=*=/=%=&=|=含义:exp1 op=exp2 exp1=exp1 op exp2,2023/11/7,20,顺序求值运算符(逗号运算符)和表达式形式:表达
9、式1,表达式2,表达式n结合性:从左向右优先级:15逗号表达式的值:等于表达式n的值用途:常用于循环for语句中,2023/11/7,21,关系运算符和表达式关系运算符种类:=!=结合方向:自左向右优先级别:,关系表达式的值:是逻辑值“真”或“假”,用1和0表示,2023/11/7,22,逻辑运算符和表达式逻辑运算符种类:!&|逻辑运算真值表,C语言中,运算量:0表示“假”,非0表示“真”,运算结果:0表示“假”,1表示“真”,2023/11/7,23,条件运算符与表达式一般形式:expr1?expr2:expr3执行过程功能:相当于条件语句,但不能取代一般if语句条件运算符可嵌套 如 x0?
10、1:(x0?-1:0)优先级:13结合方向:自右向左,2023/11/7,24,三、基本语句1.表达式语句,空语句,复合语句。2.输入输出函数的调用,正确输入数据并正确设计输出格式。,2023/11/7,25,说明,1、所谓输入输出是以计算机为主体而言的。2、输入输出操作是由函数实现的。,标准输入输出函数,putchar()getchar()puts()gets()printf()scanf(),预编译命令,在使用C语言库函数时,要用预编译命令#include将有关的头文件包括到用户源文件中。,举例,#include main()printf(Hello!);,#include stdio.h
11、,注:在TC环境中,若使用printf()或scanf()函数,则前面的预编译命令可以省略!在VC+环境中不能省略!,(一)、C的输入与输出,2023/11/7,26,格式,printf(格式控制字符串,输出列表);,说明,1、格式控制字符串是用双撇号引起来的字符串,包括三种信息:(1)格式说明:由%和格式字符组成。(如%d、%f)(2)普通字符:需要按原样输出的字符。(3)转义字符:(如t、n、b、r等)2、输出列表是需要输出的一些数据,可以是表达式。,将输出的数据转换为指定的格式输出。,(二)、格式输出printf函数,作用,向终端(或系统默认的输出设备)输出若干个任意类型的数据。,202
12、3/11/7,27,格式说明必须以开始,以格式字符结束。一般形式如下:%标志 宽度.精度 l 格式字符,-,-,n,m,d/f/c/u/s等,长整型整数,输出数据向左靠拢,输出数据最小宽度,对实数:输出小数点位数;对字符串:截取字符的个数,格式说明的一般形式,2023/11/7,28,格式字符,格式字符 格式说明,d,i 以带符号的十进制数输出整数(正数不输出符号)c 以字符形式输出,只输出一个字符f 以小数形式输出单、双精度数,隐含6位小数e,E 以指数形式输出实数o 以八进制无符号形式输出整数(不输出前导符0)x,X 以十六进制无符号形式输出整数(不输出前导符0 x),附加格式说明字符,格
13、式字符,2023/11/7,29,格式,scanf(格式控制字符串,地址列表);,说明,1、格式控制字符串与printf函数类似。可以包含以下三种类型 的信息:格式说明:与printf类似,以开始,以一个格式字符结束;空白字符(空格、t、n):输入多个数据时的缺省分隔符,可以省略,在输入数据时可以以任一种空白字符分隔;普通字符(照原样输入)。2、地址表列是由若干个地址组成的列表,各地址之间用逗号分隔。如变量的地址表示为:&变量名。,(三)、格式输入scanf函数,作用,从终端(或系统默认的输入设备)输入若干个任意类型的数据。,2023/11/7,30,例1,从键盘输入一个大写字母,转换成相应的
14、小写字母输出。,#include void main()char c1,c2;/增强人机交互性。printf(请输入一个大写字母:);c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);,请输入一个大写字母:AA,65a,97,四、顺序结构程序设计(写程序结果),在顺序结构程序中,各语句(或命令)是按照位置的先后次序,顺序执行的,且每条语句都会被执行到。,运行情况:,2023/11/7,31,四、选择结构程序设计1.用if语句实现选择结构。2.用switch语句实现多分支选择结构。3.选择结构的嵌套。,2023/11/
15、7,32,if语句,1.If语句的三种基本形式(1)if(表达式)语句例:if(xy)printf(“%d”,x);,2023/11/7,33,if语句,(2)if(表达式)语句1 else 语句2例:if(xy)printf(“%d”,x);else printf(“%d”,y);,2023/11/7,34,if语句,(3)if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 else if(表达式m)语句m else 语句n,2023/11/7,35,if语句,2.If语句的嵌套在if语句中又包含一个或多个if语句称为if语句的嵌套。形式:If()if
16、()语句1else 语句2Elseif()语句3else 语句4,内嵌if,Else总是与它上面的,最近的,统一复合语句中的,未配对的if语句配对。,2023/11/7,36,switch语句,switch语句的格式:switch(表达式)case常量表达式:语句 case常量表达式:语句 case常量表达式:语句 default:语句,2023/11/7,37,五、循环结构程序设计1.for循环结构。2.while和do-while循环结构。3.continue语句和break语句。4.循环的嵌套。,2023/11/7,38,用while语句实现循环,注意:循环体如果包含一个以上的语句,应该
17、用花括弧括起来,以复合语句形式出现。在循环体中应有使循环趋向于结束的语句。如果无此语句,则i的值始终不改变,循环永不结束。,2023/11/7,39,用do-while语句实现循环,do-while语句的特点:先执行循环体,然后判断循环条件是否成立。一般形式:do 循环体语句 while(表达式);,2023/11/7,40,用for 语句实现循环,C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。一般形式:for(表达式1;表达式2;表达式3)语句,2023/11/7,41,2023/11
18、/7,42,循环的嵌套,一个循环体内又包含另一个完整的循环结构 称为循环的嵌套。内嵌的循环中还可以嵌套 循环,这就是多层循环。三种循环(while循环、do-while循环和for循 环)可以互相嵌套。,2023/11/7,43,循环的嵌套,下面几种都是合法的形式:(1)while()(2)do(3)for(;)while()do for(;)while();while();,2023/11/7,44,循环的嵌套,(4)while()(5)for(;)(6)do do while()for(;)while()while(),2023/11/7,45,几种循环的比较,(1)四种循环都可以用来处理
19、同一问题,一般情况下它们可以互相代替。但一般不提倡用goto型循环。(2)在while循环和do-while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i+,或i=i+1等)。,2023/11/7,46,几种循环的比较,for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。(3)用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成。而for语句可以在表达式1中
20、实现循环变量的初始化。,2023/11/7,47,几种循环的比较,(4)while循环、do-while循环和for循环,可以用break语句跳出循环,用continue语句结束本次循环(break语句和continue语句见下节)。而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。,2023/11/7,48,break语句和continue语句,break语句 break语句可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句 一般形式:break;注意:break语句不能用于循环语句和switch语句之外的任何其他语句中。,2023
21、/11/7,49,break语句和continue语句,例:float pi=3.14159;for(r=1;r100)break;printf(r=%f,area=%fn,r,area);,程序的作用是计算r=1到r=10时的圆面积,直到面积area大于100为止。从上面的for循环可以看到:当area100时,执行break语句,提前结束循环,即不再继续执行其余的几次循环。,2023/11/7,50,break语句和continue语句,continue语句 作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定.一般形式:continue;,2023/11
22、/7,51,break语句和continue语句,continue语句和break语句的区别:continue语句只结束本次循环,而不是终止整个循环的执行。,while(表达式1)for if(表达式2)continue;0,2023/11/7,52,break语句和continue语句,continue和break的区别 break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。,while(表达式1)for if(表达式2)break;,2023/11/7,53,六、数组的定义和引用1.一维数组和二维数组的定义、初始化和数组元素的引用。2.字符串与字符数组。,2023/11/7,
23、54,一维数组,例如:int a10;float score5;“数据类型”:是数组元素的数据类型。“数组名”:遵循C语言标识符规则。“常量表达式”:表示数组中有多少个元素,即数组的长度。它可以是整型常量、整型常量表达式或符号常量。,一维数组的定义,数据类型 数组名常量表达式;,2023/11/7,55,以下数组定义是正确的:#define N 10float score1N,score2N;int num10+N;char c26;,以下数组定义是不正确的:int array(10);int n;float scoren;double ba.d;char str;,一维数组的定义,2023/
24、11/7,56,数组元素的引用,格式:,例如:输入学生成绩 for(i=0;i5;i+)scanf(%f,例如:fibn=fibn-1+fibn-2;,下标表达式的值必须是整型表达式。,数组名下标表达式,2023/11/7,57,一维数组的初始化,初始化:在定义数组时给数组元素赋初值。,1在定义数组时,对全部数组元素赋初值 例如:int a5=0,1,2,3,4;此时可以省略数组长度,例如:int a=0,1,2,3,4;2在定义数组时,对部分数组元素赋初值 例如:int a5=1,2,3;系统为其余元素赋 0。3当初值的个数多于数组元素的个数时,编译出错 例如:int a5=0,1,2,3,
25、4,5;,2023/11/7,58,二维数组,数据类型 数组名常量表达式1常量表达式2;,例如:float x23;,二维数组的定义,int a3,4,b(3,4),c,d(3)(4);,2023/11/7,59,x0是数组名,是元素x00的地址,x1是数组名,是元素x10的地址,二维数组可看作是一种特殊的一维数组,x0-x00,x01,x02,x1-x10,x11,x12,例如,可以把x数组看作是包含二个元素的一维数组,每个元素又是一个含有三个元素一维数组。,2023/11/7,60,a34=3;/*下标越界*/a1,2=1;/*应写成 a12=1;*/,二维数组元素的引用,例:int a3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言知识点串讲 2 语言 知识点 串讲
链接地址:https://www.31ppt.com/p-6503957.html