第3章 控制结构(选择循环)ppt课件.ppt

第3章 控制结构(选择循环)ppt课件.ppt

ID:59018464

大小:519.50 KB

页数:45页

时间:2020-09-26

第3章 控制结构(选择循环)ppt课件.ppt_第1页
第3章 控制结构(选择循环)ppt课件.ppt_第2页
第3章 控制结构(选择循环)ppt课件.ppt_第3页
第3章 控制结构(选择循环)ppt课件.ppt_第4页
第3章 控制结构(选择循环)ppt课件.ppt_第5页
资源描述:

《第3章 控制结构(选择循环)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章控制结构C语言的语句1、控制语句2、函数调用语句3、表达式语句4、空语句5、复合语句本章内容:if语句多路分支语句循环控制语句3.1程序的三种基本结构(1)顺序结构(2)选择结构(3)循环结构§1if语句if语句是非顺序执行语句,它根据判断给定条件的结果(真或假)来选择执行相应的操作。有三种形式:最简形式:if(表达式)语句;其执行过程是:先求解表达式的值,若为真(非0),则执行if后的语句。若为假(0),就跳过整个if语句。例:求一个整数的绝对值。#includemain(){inta;scanf(“%d”,&a);if(a

2、<0)a=-a;printf(“a的绝对值是%d”,a);}注:在C中,所有的非0值都是作为真处理的,因此,在if后的表达式就绝不限于只是逻辑表达式。另外在具体使用中,一定要注意“=”和“==”的区别!§1if语句if-else结构:if(表达式)语句1;else语句2;执行过程:先求解表达式的值,若为真(非0),则执行语句1,否则,执行语句2。例:接收一个字符,若为大写,则将之转换为小写,否则,转换为大写。#includemain(){charc;scanf(“%c”,&c);if(c>=‘a’&&c<=‘z’)c-=32;e

3、lsec+=32;printf(“%c”,c);}对比:从键盘接收一个大写字符,将它改写成小写字符输出#includemain(){charc1,c2;c1=getchar();//未判断接收数据是否符合要求!c2=c1+32;printf(“c1=%c,c2=%c”,c1,c2);}如:表示整数x(X用scanf输入的整数;)同时能够被3,5,7整除,输出“YES”否则,输出“No”#includemain(){inta;}scanf(“%d”,&a);if((a%3==0)&&(a%5==0)&&(a%7==0

4、))printf(“YES”);elseprintf(“No”);§1if语句If的嵌套结构:1(x>0)先看这个例子:y=0(x=0)-1(x<0)这时用前面的两种if结构显然不能直接求解,而必须使用if的嵌套。例如,对于上例,我们可以写出如下的程序片断:if(x>0)y=1;elseif(x==0)y=0;elsey=-1;if嵌套语句的一般形式是:if(表达式1)语句1;elseif(表达式2)语句2;else(表达式3)语句3;:复合语句:用{}括起来的多条语句,构成一条复合语句。§1if语句在使用if语句的嵌套时,应注意的是:else总是与

5、它上面最近的、同一复合语句内的if相匹配!例如:if()if()语句1;elseif()语句2;else语句3;if()if()语句1;elseif()语句2;else语句3;因此,在使用if的嵌套时,一定要注意所写语句有无二义性的问题。考虑前面的那个函数的例子,能否写成以下形式:y=0;y=0;if(x>=0)if(x>=0)if(x>0)y=1;===》{if(x>0)y=1;}elsey=-1;elsey=-1;§1if语句条件运算符:是C中唯一的一个三目运算符。它的一般形式为:表达式1?表达式2:表达式3执行过程:先求解表达式1的值,若为非

6、0,则求解表达式2的值并将之作为整个表达式的值;若为0,则求解表达式3的值并将之作为整个表达式的值。看下面这个表达式:max=((a>b)?a:b)则它的作用相当于以下两条语句的作用:if(a>b)max=a;elsemax=b;注意:条件运算符的优先级大于赋值语句而小于算术运算符,而其结合方向为“右结合”。因此,语句(a>b)?a-b:a+b(a>b)?(a-b):(a+b)§2switch语句使用if-else语句,在某些具体问题的处理上显得过于繁锁。例如,对学生成绩进行等级评定,可以写出以下程序:if(成绩>=90)等级=‘优’;if(成绩<

7、90&&成绩>=80)等级=‘良’;if(成绩<80&&成绩>=70)等级=‘中’;if(成绩<70&&成绩>=60)等级=‘合格’;if(成绩<60)等级=‘不合格’;当然,这样写出的程序,其执行效率是比较低的,更改后为:if(成绩>=90)等级=‘优’;elseif(成绩>=80)等级=‘良’;//成绩<90elseif(成绩>=70)等级=‘中’;//成绩<80elseif(成绩>=60)等级=‘合格’;//成绩<70elseif(成绩<60)等级=‘不合格’;//成绩<60这样修改后又使程序的可读性降低。§2switch语句C中提供了多路分支

8、语句,形式是:switch(表达式)注意:表达式的值只能是整形、字符型{case常量表达式1:语句1;ca

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。