第4课选择结构程序设计.doc
文本预览下载声明
关系表达式和逻辑表达式的复习
运算符的功能
运算符的优先级
运算符的正确使用
if控制语句的常见形式
单分支选择结构:if (表达式) 语句如果表达式的值为真,则执行其后的语句, 否则不执行该语句。【例】 输入一个数如果该数大于等于0,则输出它的平方根,如果小于0,则不做任何处理。if(表达式) 语句1 else语句2如果表达式的值为真,则执行语句1,否则执行语句2【例】输入一个数如果该数大于等于0,则输出它的平方根,如果小于0,则输出数据出错信息“data error”。
if(表达式1)
语句1 else if(表达式2)
语句2 else if(表达式3)
语句3 …
else if(表达式m)
语句melse
语句n首先判断表达式1的值,当为真时,则执行对应的语句1。然后跳到整个if语句之外继续执行程序。 如果表达式1的值为假,则继续判断表达式2的值,依次类推。若所有的表达式都不为真,则执行语句n,然后继续执行后续程序。【例】 从键盘上输入一个百分制成绩,输出相应的等级。90分以上为A”,80~90分为B,60~79分为C,60分以下为D”。if语句的嵌套
在上述3种结构中,当if(表达式)或else后面的语句本身又是一个if语句时,就形成了if语句的嵌套。
if(表达式)
if(表达式1)
语句1_1
else
语句1_2 if(score=80)
if(score=90)
printf(A);
else
printf(B);
else
if(score=60)
printf(C);
else
printf(D);
使用if 语句的嵌套时要注意以下几点:
在嵌套内的if语句可以是前面讲的三种if语句形式。if语句的嵌套可以是两层甚至是多层,这时要特别注意if与else配对的规则。switch语句根据一个表达式的值,选择多个分支,因此也称为分情况语句开关语句。
其一般为:
switch(表达式)
{ case 常量表达式1:语句组;break;case 常量表达式2:语句组;break;......
case 常量表达式n:语句组;break;[default:语句组;break;]
}
其中:表达式的值可以是整型或字符型如果没有任何一个case后面的常量表达式的值与表达式的值,则执行default 后面的语句(组)。default在最后,就跳出switch语句。default语句在中间,则直到最后break语句,switch语句。使用switch时注意表达式可以是型或字符型。
default可以省略,一般放在最后面。default放在中间时,执行完default语句组后,并不一定跳出switch语句,必须遇到break语句,switch语句。每个case后面常量表达式的值,必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一值,有两种或两种以上的执行方案)。
case后面的常量表达式仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,break语句,switch语句各case先后次序,不影响程序执行结果。
多个case子句,可共用同一语句(组)。多分支i结构和switch结构都可以用来实现多分支多分支i结构用来实现两、三分支比较方便,switch结构方便有些问题只能使用多分支if结构来实现,例如要判断一个值是否处在某个区间的情况程序举例【例】编制程序要求输入整数a和b,若a + b2大于100,则输出a + b2百位以上的数字,否则输出两数的和。
【例】试编程判断输入的正整数是否既是5又是7的倍数。若是,则输出yes;否则输出no。
【例】根据以下,对输入的每个x值,计算出相应的y值。
【例】考察目前银行对整存整取存款不同期限的储蓄利率,计算存入本金和一定期限的存款到期时的利息及利息与本金的和。
当前整存整取年息利率参考:(%)
半年: 2.16
一年: 2.25
二年: 2.43
三年: 2.70
五年: 2.88
【例】编写程序,输入年份和月份,求该月的天数。
习题单选题
逻辑运算符两侧运算对象的数据类型是( )。
A.只能是0或1 B.只能是0或非0正数
C.只能是整型或字符型数据 D.可以是任何类型的数据
选择出合法的if语句(设int x,a,b,c;)( )。
A.if(ab) x++; B.if(ab) x++;
C.if(ab) x++;
显示全部