ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:23.72KB ,
资源ID:5509451      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5509451.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(投影3 省二级C等级考试基础考点2基本语句.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

投影3 省二级C等级考试基础考点2基本语句.docx

1、投影3 省二级C等级考试基础考点2基本语句C语言的基本语句C程序有三种基本结构:(1)顺序结构顺序结构由一组顺序执行的语句组成实现顺序结构的语句:表达式语句、复合语句、空语句、函数调用语句。(2)条件选择结构条件选择结构由一个条件和几个供选择的语句组成条件判断语句:if语句和switch语句(3)循环结构循环结构由一个条件和一个或一组供重复执行的语句组成循环执行语句:while语句,do-while语句,for语句辅助控制语句:break语句、continue语句和return语句。实现顺序结构的语句1实现顺序结构的语句 (*)1)表达式语句 (*)表达式语句由表达式加上分号“;”组成,其一般

2、形式为: 表达式 ;分号“;”是C语句不可缺少的组成部分。执行表达式语句就是计算表达式的值。最典型的表达式语句是赋值语句,由赋值表达式加分号组成。 变量=表达式;a=3; i+; 嵌套 变量=(变量=表达式);赋值运算符是右结合的,所以括号可以缺省。2)函数调用语句 (*)由函数名、实际参数加上分号“;”组成,其一般形式为: 函数名(实际参数表); func( ); printf(“Hello,world!n”);3)空语句 (*)只由分号“;”组成的语句称为空语句。什么也不执行,必不可少4)复合语句 (*)把多个语句用花括号“”括起来的一组语句,称为复合语句。复合语句看作单条语句,不是多条语

3、句复合语句中的各条语句都必须有分号“;”,但在“”外没有分号。复合语句在语法上和单一语句相同,而且可以嵌套。例如,下面程序段的花括号中就是一个复合语句。int a=5,b=3; int t;if(ab) t=a; a=b; b=t; 2标准设备文件输入输出函数 (*)简单说来,一个程序都包括3个部分:输入、计算、输出。C语言中,所有数据的输入输出都是由库函数实现的,属于函数调用语句。使用标准输入输出库函数时要用到“stdio.h”文件:#include 或者:#include stdio.h由于printf()函数和scanf()函数使用频繁,系统允许直接使用这两个函数。其它的输入输出函数都必

4、须有上述预编译命令。1)格式输出函数printf() (*)按指定格式向显示器输出数据,printf函数一次可以输出多个不同类型的数据。格式: printf(格式控制串,输出表); (1)格式控制串: 1 格式说明:%修饰符格式字符,用于指定输出格式2 普通字符或转义字符序列:原样输出(2)输出表:要输出的数据,一般用变量名表示,也可以没有,输出多个数据时以“,”分隔。例如: int a=3,b=4; printf(a=%d, b=%dn,a,b);输出结果: ? printf函数的格式说明字符数据类型格式字符含 义整型d或i以十进制显示int类型整数u以十进制显示unsigned int类型

5、整数o以八进制显示int类型整数x或X以十六进制显示int类型整数实型f以小数形式输出float或double型数值e或E以指数形式输出float或double型数值g或G选用%f或者%e格式,按较短的输出字符和字符串c输出单个字符s输出字符串格式修饰符:%ld:输出长整型数%md:m为一个整数,输出的整数占m列,不足左边补空格,不够全部输出%-md:与%md的区别是不足有右边补空格,即左对齐%m.nf:输出的实数占m列,小数点也算一列,其中小数有n位,采用四舍五入的方式,不足左边补空格。%.nf:输出的实数保留n位小数。不指定总共占多少列。1 格式字符要用小写。2 格式字符与输出项个数应相同

6、,按先后顺序一一对应。格式字符个数小于输出表列个数时,多余的输出表列的项不输出。3 输出“%”、“”、“”、“”:采用“%”、“”、“”、“”。4 输出转换unsigned int u=65535;printf( %d,%o,%x,%un,u,u,u,u);输出结果:?2)格式输入函数scanf() (*)按指定格式从键盘读入数据,存入地址表指定的存储单元中,并按回车键结束。格式: scanf(“格式控制串”,地址表列)地址表列:变量的地址,常用 取地址运算符“&”。格式字符:与printf函数类似,主要有d,o,x,u,c,s,f,e。例如:scanf(%d,&a);scanf(%d,%d,

7、&a,&b)scanf(%d%d,&a,&b)1 scanf与printf格式的区别就是在scanf的变量名前必须有“&”。2 输入分隔符的指定:一般以空格、TAB键或回车键作为分隔符。若是格式符“%c”则不需分隔符。3 在写程序的时候尽量不要在scanf中有原样字符并指定宽度。4 对于长整型,即超过-3276832767范围的整数,要用“%ld”格式输入。如:scanf(%ld,&a);5 当格式控制为“%s”时,数组名前就不再需要“&”了。如:scanf(%s,str); 6 当格式控制为“%s”时,输入的字符串中不能有空格。若要输入空格可以用循环语句和“%c”格式或者gets函数输入。3

8、)字符输入函数getchar() (*)功能:从键盘读一字符。格式: getchar(); 例如: c=getchar(); 1 本函数没有参数。2 getchar()赋给的变量可以是char或者int型的。3 getchar()只读取当前字符,即使是空白字符或回车也照读不误。有时用来吸收多余的回车。4 getchar()一次只接收一个字符,不需分隔符,输入数字也按字符处理,输入多于一个字符时,只接收第一个字符。4)字符输出函数putchar() (*)功能:把一个字符输出到显示器上。格式: putchar(c); 参数c为字符型或整型数据,可以为字符常量、转义字符、变量或表达式。例如:c=6

9、5; putchar(c); a=B; putchar(a); putchar(C); putchar(n); 5) 字符串输入函数gets() (*)从键盘输入一以回车结束的字符串放入字符数组中,并自动加0。gets(str);例如:char string20;gets(string); 1 括号中的参数为数组名。2 输入串长度应小于字符数组维数。3 能输入空格。6) 字符串输出函数puts() (*)功能:向显示器输出字符串(输出完,换行)puts(str);例如:puts(string); 1 括号中的参数为数组名。2 字符数组必须以0结束。实现选择结构的语句实现选择结构的语句也叫分支语

10、句所谓分支,指的是根据不同的条件完成不同的动作有if语句和switch语句两种。1if语句 (*)1)if语句的形式 (*)(1)最简单的if语句if (表达式) 语句如果表达式非0,就执行语句,否则什么都不执行。例如:if(a0) count+; (2)带else的if语句 if (表达式) 语句1 else 语句2如果表达式非0,就执行语句1,否则执行语句2。例如:if(x0) y=x; else y=-x;(3)多分支的if语句if(表达式1) 语句1 else if(表达式2) 语句2 else if . . . else if(表达式n) 语句n else 语句n+1这个if语句尽管

11、很长,但只能算一个语句。其功能是:依次判断表达式的值,当出现某个值为真时,执行其相应的语句。如果所有的表达式都不成立,则执行语句n+1。例如:if(mark=90) grade=A; else if(mark=80) grade=B; else if(mark=70) grade=C; else if(mark=60) grade=D; else grade=E; 1 if之后的括号是语句的一部分,不是表达式的一部分,所以是必不可少的。2 if语句中的“语句”可以是任何语句,包括复合语句,也可以又是一个if语句。2)if语句的嵌套 (*)如果if语句中的“语句”也是if语句,那就构成了嵌套的i

12、f语句。 嵌套的if语句有很多种形式,其中的任何一个语句都可以是if语句,这就形成了很复杂的逻辑关系。如果嵌套的if语句中有多个if和多个else,那么,else究竟与哪个if配对呢? if-else的配对原则:else总是和它前面离它最近的未配对的if配对。例如,请看下面的程序段,其中的else与哪个if配对?if (a=b) if(b=c) printf(a=b=c);else printf(a!=b);若进行如下修改: if (a=b) if(b=c) printf(a=b=c); else printf(a!=b);else与哪个if配对?1 else不能单独使用,必须与if配对使用。

13、2 要实现if与else的正确配对,在需要的时候加一对花括号 。2switch语句和break语句 (*)如果将多分支的if语句用switch语句来表示,其逻辑关系看起来将更直观。switch语句又称为开关语句。1)switch语句的形式 (*)switch语句的一般形式如下:switch( 表达式) case E1:语句组 1; break; case E2:语句组 2; break; case En:语句组 n; break; default: 语句组 ; break; 2)switch语句的执行过程 (*)首先计算switch括号中的表达式的值,与case后面的某个Ei进行比较,和哪个匹

14、配,就执行该case后面的语句组。如果与E1En都不匹配时,则执行default后面的语句组。例如:根据输入字母输出字符串。#include main() int c; printf(Enter m or n or h or other:); c=getchar(); switch(c) case m: printf(nGood morning!n);break; case n: printf(nGood night!n); break; case h: printf(nHello!n); break; default : printf(n?n); break; 当键盘输入为“m”的时候,输出

15、为?当键盘输入为“n”的时候,输出为?当键盘输入为“h”的时候,输出为?当输入为其他的字符时,输出为?1 switch、case、default都是关键字,case、default只能用在switch语句中。2 花括号中可以有任意多个开始于case的子句和一个可选的default子句。3 case后是一个常量表达式,只能有常量和运算符,不能有变量。case与常量表达式之间必须有空格。各整型常量表达式必须互不相同。4 语句组可以包含任意多条任意语句,不过最后一条通常是“break;”语句。若无break,则继续执行后续语句,直到遇到break或者switch语句结束才终止。5 若无default

16、语句,也没有和case相匹配的值,则什么也不执行,直接跳出switch语句。6 case与default的先后顺序可以变动,不会影响程序执行结果。7 case后可包含多个可执行语句,且不必加 。8 多个case可共用一组执行语句。9 switch语句可嵌套。10 switch语句经常放在循环中。3) switch语句的几种特殊情况 (*)(1)没有break语句的switch语句switch(score) case 5: printf(Very good! );case 4: printf(Good! ); case 3: printf(Pass! ); case 2: printf(Fail

17、! ); default:printf(data error! ); 当score为5时,输出:?当score为3时,输出:?(2)多个case可共用一组执行语句switch(c) case A : case B : case C : case D :printf(score60n); break; default : printf(No passn ); break;(3)switch语句的嵌套switch语句中的case后面的语句可以为任何语句,当然也可以为switch语句,这就形成了switch语句的嵌套形式。void main() int x=1,y=0,a=0,b=0; switch

18、(x) case 1: switch(y) case 0:a+; break; case 1:b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(na=%d,b=%d,a,b); 运行结果:a=?,b=?实现循环结构的语句循环结构可以反复多次地执行有限条语句。循环结构有2种:当型循环和直到型循环。C语言可实现循环的语句有:用goto 和 if 构成循环while 语句do - while 语句for 语句。1while语句(当型)(*) while语句的一般形式:while(表达式) 循环体语句;while语句的特点是:先判断表达式,后

19、执行循环体,循环体有可能一次也不执行。while语句只有一个表达式和一个语句,为了实现通常的循环结构,要把初始化部分放在循环前。例如:用while 求和:sum=1+2+3+100#include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%d,sum);1 循环体可为任意类型的一条语句,常用复合语句。2 循环体中一般应该含有修改循环控制变量的值的语句,以便使循环能正常结束。3 下列情况,退出while循环: 条件表达式不成立(为零)。 循环体内遇break,return,goto语句。4 无限循环的形式: whil

20、e(1) 循环体; 2do_while语句(直到型) (*)do_while语句的一般形式:do 循环体语句; while(表达式);do-while语句的特点是:先执行循环体,后判断表达式,不管循环条件是否成立,至少执行一次循环体。例如:用do-while 求和:sum=1+2+3+100#include main() int i,sum=0; i=1; do sum+=i; i+; while(i=100) ; printf(%d,sum);1 当初始条件为真,while和do-while的功能是一样的;当初始条件为假,while一次也不执行,而do-while执行一次。2 “while(

21、表达式)”后面的分号不可省略。3for语句 (*)for语句一般应用形式:for(表达式1; 表达式2 ; 表达式3) 循环体语句;for语句的执行过程如下:第一步:执行表达式1,初始化部分,只执行一次。第二步:执行表达式2,测试部分,进行条件判断,为0就退出循环,不为0则执行第三部。第三步:执行循环,并执行表达式3,修改循环条件。重复上述第二步、第三步,直到表达式2为0时退出循环。例如: 用for循环求和:sum=1+2+3+100#include main() int i,sum=0; for(i=1;i=100;i+) sum+=i; printf(%d,sum);1 for语句中的表达

22、式1一般用来表示循环变量赋初值,表达式2表示循环条件;表达式3表示循环变量增值。2 三个表达式可以为类型任意,超过一个语句时可用逗号表达式。 例如:for(s=0,i=1; i=100; i+) s=s+i; 3 表达式1, 表达式2 , 表达式3 都可以省略,但分号“;”不可省。 缺省表达式1的情况: for(; i=100; i+) s=s+i; s, i 应先赋值 缺省表达式2的情况: for(i=1; ; i+) s=s+i; 此为无限循环, 条件为“真”。循环体中加上if语句和break,就可以结束循环,下述。 缺省表达式3的情况: for(s=0,i=1; i=100; ) s=s

23、+i; i+; 缺省表达式表达式1和表达式3, 相当于while 语句: for(; i=100; ) 循环体 等价于while( i=100) 循环体 三个表达式全部缺省,则为无限循环,形式如下: for(;) 循环体 循环体为空语句的情况,分号不能缺省: for(s=0,i=1; i=1; i-) s+=i;4几种循环的比较 (*)(1) 在很多情况下,三种循环可以实现相同的功能。(2) for、while是当型循环,do_while是直到型循环,所以do_while至少会执行一次,而for和while有可能一次也不执行。(3) 相比而言,for循环最灵活,使用最多,一般在循环次数比较确定

24、的情况下使用。5多重循环 (*)循环可以嵌套,这就形成了多重循环。编程输出以下的星形图案* * * * * main() int i,j; for (i=1;i=5;i+) for (j=1; j=(5-i); j+) printf( ); for (j=1; j=i*2-1; j+) printf(*); printf(n); 其他语句C语言的辅助控制语句主要有:break语句、continue语句和return语句。1break (*)功能:终止并跳出循环体或switch开关体。break语句的形式如下: break;1 switch语句中,break语句会终止其后语句的执行,跳出swit

25、ch语句,执行switch语句后第一个的语句。2 在循环中遇到break语句时,循环立即终止,程序转到循环体后的第一个语句去继续执行。break语句在循环中使用时,总是与if一起使用,当条件满足(或不满足)时,负责退出循环。3 break不能用于循环语句和switch语句之外的任何其它语句中。4 如果循环体中使用switch语句,而break出现在switch语句中,则它只用于结束switch,而不影响循环。5 break语句只能结束包含它的最内层循环,而不能跳了多重循环。当是嵌套的多层循环,break只是退出最内层的循环。就是说break只能终止并跳出最近一层的结构。6 如果一个循环的终止条

26、件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。例如下面的程序结构,break语句的执行只能从while循环中退出,继续执行for循环的其它语句,而不是退出外层循环。 for() while() if() break; 例如:输出圆面积,面积大于100时停止#define PI 3.14159main() int r; float area; for(r=1;r100) break; printf(r=%d,area=%.2fn,r,area); 又如:小写字母转换成大写字母,直至输入非小写字母字符。#include main() int i,j;

27、char c; while(1) c=getchar(); if(c=a & c=z) putchar(c-a+A); else break; 2continue (*)功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断。continue语句的形式如下:continue;下面程序的功能是从键盘输入十个整数,求正数的个数及其平均值。#include main() int i,num=0,a; float sum=0; for(i=0;i10;i+) scanf(%d,&a); if(a=0) continue; num+; sum+=a; printf(%d plus integers sum :%6.0fn,num,sum); printf(Mean value:%6.2fn,sum/num);1 continue语句仅用于循环语句中,不能用在其它任何地方。2 continue与break语句的区别: continue只是结束本次循环,而不是终止整个循环语句的执行break则是终止整个循环语句的执行,转到循环语句后的下一条语句去执行。3return语句 (*)return语句用于函数中,功能是从函数返回,使执行的函数返回到调用该函数的函数中。在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1