第3章__C语言的基本语句和程序结构设计_第1页
第3章__C语言的基本语句和程序结构设计_第2页
第3章__C语言的基本语句和程序结构设计_第3页
第3章__C语言的基本语句和程序结构设计_第4页
第3章__C语言的基本语句和程序结构设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、n e cn e cl基本语句l关系运算符和关系表达式l逻辑运算符和逻辑表达式l分支程序设计l循环程序设计n e cl控制语句l表达式语句l函数调用语句l空语句l复合语句n e cl完成一定的控制功能lc语言的9种控制语句nif-elsenwhilencontinuenswitchnreturnnforndo-whilenbreakngoton e cl形式nexpression;n表达式最后加一个分号l举例na=3; /* 赋值语句 */nz=x*y, z+;/* 一条语句 */nx-y;/* 语句,但无实际意义 */ni+;/* 语句 */ni+/* 表达式,不是语句 */n e cl形式

2、nfunction(arguments);n函数调用后加一个分号n函数调用语句可以看作一种表达式语句l举例nprintf(%d, i);ngetchar();nmyfun(a, b);n e cl形式n;n只有一个分号l用法n作为转向点n作为循环语句中的循环体l举例nfor(i=1; i=100; i+) sum+=i;nfor(i=1; i y)/* 复合语句开始 */ t = x; x = y; y = t; /* 复合语句结束 */printf(%d, %d, x, y);n e cl除复合语句外,语句都以分号;作为结束l语句书写格式比较自由,确定语句结束的唯一标准是分号(;)l注意区分

3、表达式和表达式语句,它们的用法不同n举例,if(a=b)0) t=a;n错例,if(a=b;)0) t=a;n举例,if(xy) x-; y+;n错例,if(xy) x-; y+n e c运算符名称举例优先级(算术运算符)小于i100高=小于等于a大于f3.14=大于等于c=a=等于a=b低!=不等于x!=0(赋值运算符)n e cl用关系运算符将两个表达式连接起来na+bc+d, (a=3)xl注意区分等于(=)和赋值运算符(=)na=b, a=bl关系表达式的值是逻辑值“真”或“假”nc语言用整型表示逻辑值,“真”1、“假”0n举例,a=3, b=2, c=1;d=ab;/* d=1 */

4、f=abc; /* f=(ab)c=0 */n e c运算符名称举例优先级!逻辑非!(ab)(算术运算符)(关系运算符)&逻辑与(xy)&(yz)|逻辑或 (x3)|(xb)&(n=cd)lde morgan定理n!(a&b)(!a)|(!b)n!(a|b)(!a)&(!b)n!(a&b)|c)(!a|!b)&!cn e clif语句l条件运算符?:lswitch语句l分支程序设计举例n e c if(expression) statement if(expression) statement1else statement2 if(expression1) statement1else if(

5、expression2) statement2else if(expression3) statement3. .else if(expressionn-1) statementn-1else statementnn e cl无论哪种形式,一条if语句,包括else或else if子句,只算作一条语句lif语句中的子句,可以是一条任何类型的语句,包括表达式语句、空语句、复合语句、控制语句l子句末尾的分号,只表示子句的结束,不表示if语句结束l注意复合语句末尾没有分号lelse子句都是可以没有的n e cif (x y)/* y为x和y的较大值 */ y = x;if (x y)/* d为x和y

6、之间的距离 */ d = x - y;else d = y - x;if (x y);/* 合法,但没有实际操作 */n e clif语句的各子句都可以又是if语句l应注意if-else的配对关系nelse总是与其上面最近的if配对n可以用明确if-else的配对关系if(exp1)if(exp1) if(exp2) if(exp2) statement1 statement1elseelse statement2 statement2n e cl条件运算符?:l条件表达式nexp1?exp2:exp3n先判断exp1n若exp1为“真”,表达式的值为exp2的值n若exp1为“假”,表达式的

7、值为exp3的值n举例,max = (xy) ? x : y;n同:if(xy) max = x;else max = y;n e cswitch (expression) case const-exp: statementscase const-exp: statements. .case const-exp: statementsdefault: statementsn e cl先求switch后表达式的值,若此值与某个case后的常量表达式的值相等,则跳转到这个case后的语句;若没有相等的常量表达式,则跳转到defaultl跳转后程序一直往下执行,不会因为遇到另一个case而直接跳出s

8、witchl根据实际需要,可以没有defaultl若需要跳出switch,可使用break语句lcase和default的顺序不影响执行结果n e cswitch (day) /* 打印星期的缩写 */ case 1: printf(mon.n); break; case 2: printf(tue.n); break; case 3: printf(wed.n); break; case 4: printf(thu.n); break; case 5: printf(fri.n); break; case 6: printf(sat.n); break; default:printf(sun

9、.n); n e cswitch (deptno) /* 根据系编号打印学院 */ case 15: case 16: case 17: printf(商学院n); break; case 18: case 25: printf(人文学院n); break; case 7: printf(地空学院n); break; default: printf(其他学院n); n e cl求一元二次方程的根n当a=0时,不是一元二次方程n当a0时,方程的根为 当b2-4ac0,方程有两个实根 当b2-4ac0,方程有两个共轭复根02cbxaxaacbabx24)2/(2n e cn e clwhile语句

10、ldo-while语句lfor语句lbreak和continue语句l循环程序设计举例n e cwhile (expression)statementnwhile型循环n先判断表达式,后执行语句n一般情况下,循环中应含有能使循环语句结束的操作statementabexpr.真真假假n e cint i, sum;i = 1;sum = 0;while(i=100) sum += i;/* 循环体缩进书写 */ i+;/* 使循环趋向结束 */ 1001iisumn e cdostatementwhile (expression);n类似于until型循环n先执行一次循环体语句,后判断表达式st

11、atementabexpr.真真假假n e cint i, sum;i = 1;sum = 0;do sum += i; i+;while(i=100);1001iisumn e c do sum+=i; i+; while(i100);until型循环型循环n e cfor (expr1; expr2; expr3)statementexpr1;while (expr2) statementexpr3;n e cl三个表达式的说明nexpr1:初始化nexpr2:循环条件nexpr3:一般是循环变量的改变l三个表达式都可以省略n分隔表达式的分号不能省略nexpr1省略,不进行初始化nexpr

12、2省略,认为循环条件永为“真”nexpr3省略,不在这里改变循环变量n e cint i, sum;for (i=1, sum=0; i=100; i+) sum += i;for (i=1, sum=0; i=100; ) sum += i+;for (i=0, sum=0; i+100; ) sum += i;1001iisumn e cl形式nbreak;l说明n跳出switch语句n跳出本层循环语句n如果有多层循环存在,break只跳出它所在的那一层循环语句,不影响外层循环的执行n不能用于循环语句和switch语句之外的任何其他场合n e cl形式ncontinue;l说明n结束本次循环n跳过循环体中余

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论