




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、控制语句 课程目标了解顺序语句,分支语句,循环语句掌握ifelse语句的使用掌握switch语句的使用掌握while语句的使用掌握dowhile语句的使用掌握for语句的使用掌握return,break,continue语句的使用 控制语句C语句概述C语句:以“;”作分隔符,编译后产生机器指令.C语句分类表达式语句:表达式加分号构成。if( )else switchfor( )while( )dowhile( )continuebreakgotoreturn分支循环辅助控制 控制语句C程序结构.C程序源程序文件1源程序文件2源程序文件n预编译命令函数1函数n说明部分执行部分(语句) 控制语句三
2、种基本结构顺序结构ABAB流程图N-S图 控制语句选择结构二分支选择结构PAB真假PBA真假 控制语句选择结构多分支选择结构kA1A2AiAnk=k2k=k1k=knk=ki. 控制语句循环结构当型循环结构PA假真当P为真A 控制语句循环结构直到型循环结构AP真假A直到P为真 控制语句if语句if (表达式) 语句块1 else语句块2常见形式1)简化形式if(表达式) 语句块 例如: if(xy) printf(“%d”,x);2)阶梯形式3) 嵌套形式 控制语句if(表达式1) 语句块1else if(表达式2) 语句块2else if(表达式3) 语句块3 else if(表达式4) 语
3、句块4 . else 语句块n 控制语句注意:语句块:当有若干条语句时,必须用括起来。表达式: if语句的表达式一般情况下为逻辑表达式或关系表达式。如:if(a= =b & x= =y) printf(“a=b,x=y”);也可以是任意类型(包括整型、实型、字符型、指针类型)例如:if(a) printf(“%d”,a); if(3) printf(“OK!”); 注意:“非零”与“零”的用法 请区分if(x=1)与if(x= =1)的不同。 控制语句例:#include main()float a,b,c,t;a=4;b=5;c=2;if(ab) t=a;a=b;b=t;if(ac) t=a
4、;a=c;c=t;if(bc) t=b;b=c;c=t;printf(“%5.2f,%5.2f,%5.2f”,a,b,c); 控制语句if语句的嵌套if() if() 语句块1 else 语句块2else if() 语句块3 else 语句块4 控制语句if语句的嵌套if语句中if与else的配对关系为else总是与它上面的最近的if配对.书写格式的缩进与否与它们之间的配对无关.要实行强行的配对关系可以利用 如:if()if()语句块1else 语句块2 控制语句条件运算符在if语句中,表达式为真和假时都执行一条赋值语句并且都是给同一个变量赋值.这时可以把if语句简化为条件运算符.表达式1?表
5、达式2:表达式3;if (ab) max=a; else max=b; max=(ab)?a:b; 控制语句条件运算符条件运算符的执行顺序先求表达式1,若为真则求解表达式2,整个表达式的值为表达式2的值;若表达式1的值为假则求解表达式3,整个表达式的值为表达式3的值.比较条件运算符与其他运算符的优先级别和结合性条件表达式中表达式1的类型可以与表达式2和表达式3的类型不一致.表达式2与表达式3的类型也可以不一致 控制语句switch语句switch (表达式) case 常量表达式1:语句块1;break; case 常量表达式2:语句块2; break; . case 常量表达式n:语句块n;
6、 break; default:语句块n+1 控制语句使用:switch中的表达式可以是整型或字符型表达式 (也可以是枚举类型,新标准的c语言允许为任意类型.)每个常量表达式的值必须各不相同,否则将会出现矛盾。当表达式的值与case后面的常量表达式值相等时就执行此case后面的语句。“case 常量:”只起语句标号的作用。 控制语句break语句在switch中的作用:强行跳出switch体转到其它某条语句,每个case后面应有一个break语句(否则程序的执行顺序将改变),default分支后的break可以省略。各个case出现的先后顺序不影响程序的执行结果.多个case可以执行一组语句.
7、 案例switch (info-flash_id & FLASH_TYPEMASK) case (AMD_ID_LV400B & FLASH_TYPEMASK):printf (1x Amd29LV400BB (4Mbit)n);break;case (AMD_ID_LV800B & FLASH_TYPEMASK):printf (1x Amd29LV800BB (8Mbit)n);break;default:printf (Unknown Chip Typen);goto Done;break; 控制语句循环结构程序goto语句构成循环while构成循环dowhile循环for循环循环的嵌套
8、使用:一个循环中又包含另一个循环成为循环的嵌套.上面讲到的三种循环可以互相嵌套. 控制语句goto语句构成循环 #include 求 int main() int i, sum=0; i=1;运行结果为:5050 loop :if (i=100) sum=sum+i; i+; goto loop; printf(“%d”,sum); return 0; 控制语句while语句构成循环例如:求 int main() int i=1,sum=0; while (i=100) sum=sum+i; i+; printf(“%d”,sum); return 0; 控制语句do-while语句构成循环例
9、如:求 int main() int i,sum=0; i=1; dosum=sum+i; i+; while(i=100); printf(“%d”,sum);从上面对一个问题的两种解决方法可以看出:while循环与do_while循环在绝大多数情况下是可以相互转化的. 控制语句各种循环的比较注意while与do_while 循环中(条件)后面的“;”。while与do_while执行循环体与判断的顺序不同。各自的应用场合不同。while强调“条件是否满足”do_while强调“动作的行为”for语句为非条件循环语句,功能比条件循环要强,也更灵活,凡能使用条件循环的场合,用for循环都能实现
10、。各种形式的循环都可以用来处理同一问题,一般情况下它们可以互相替代。 控制语句for语句构成循环执行过程为:先求解表达式1(初值);求解表达式2,并判定其值是否为真(非0),若为真,则执行其所包含的语句,然后执行下面的步骤3;若为假,则直接执行步骤5;求解表达式3;转回执行步骤2;执行for下面的语句.for(expression1; expression2; expression3) statements; 控制语句for语句构成循环 例如:求 将变化为:for(i=1;i=100;i+) sum=sum+i; 控制语句for语句构成循环for语句中的表达式1可以省略,但在for循环之前应给
11、循环变量赋值.例如:i=1;for(;i=100;i+) sum=sum+i;表达式2也可以省略,但循环将陷入死循环.例如:for(i=1;i+) sum=sum+i;表达式3也可以省略,但应在循环体中增加使循环变量值改变的语句.例如:for(sum=0,i=0;i=100;) sum=sum+i; i+; 控制语句表达式1和表达式3同时省略也允许,例如:i=1;sum=0; for(;i=100;) sum=sum+i; i+; 这是完全与while循环等同.三个表达式都可以省略,但“;”不能省略。 for(;) sum=sum+i; 循环将无休止的执行下去. 控制语句注意:for语句中的、
12、皆可省略,但相应的分号不可省略; for(; ;) 表达式2略去时,此项求值总为真,除非循环体中有跳转语句(如:break,goto,return),否则此循环为死循环。 案例for (;) main_loop (); /board.c 控制语句break语句用于从循环体内跳出循环体,即提前结束循环。break只能用在循环语句和switch语句中.for(r=1;r100) break; printf(“%f”,area); 控制语句 控制语句 控制语句continue语句结束本次循环,接着判定下一次是否执行循环。continue与break的区别:continue直结束本次循环,而break终止本层循环.例:int main() int n; for(n=100;n=200;n+) if (n%3 = 0) continue; printf(“%d”,n)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年执业药师之中药学综合知识与技能题库综合试卷A卷附答案
- 七年级数学教学设计用同位角第三直线判定平行线教学设计
- 体液潴留的临床护理
- 枕叶癫痫的临床护理
- 《市场趋势分析》课件
- 十二指肠结核的临床护理
- 人教版九年级化学上册-《如何正确书写化学方程式》思维导图课件
- 上海十五中考试卷及答案
- 山东省初中省考试卷及答案
- 纺织员工培训与技能提升考核试卷
- ISOTS 22163专题培训考试
- 六年级下册数学课件-第4单元 比例 整理和复习 人教版(共21张PPT)
- JJF(鲁) 142-2022 称重式雨量计校准规范
- Adobe-Illustrator-(Ai)基础教程
- 程序的运行结果PPT学习教案
- 圆柱钢模计算书
- 合成宝石特征x
- 查摆问题及整改措施
- 年度研发费用专项审计报告模板(共22页)
- 隧道工程隧道支护结构设计实用教案
- 得力打卡机破解Excel工作表保护密码4页
评论
0/150
提交评论