- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 选择结构程序设计;关系运算符都是双目运算符,其结合性均为左结合。;已学过的运算符优先级的顺序:
自增、自减,类型,地址,算术运算符(*、/、%、+、-),关系运算符、赋值,逗号;非运算符!为单目运算符,具有右结合性。 ;1、与运算:; 例如:50||58,由于50为真,相或的结果也就为真;逻辑运算符的优先级:
!(非)→(与) → ||(或);逻辑表达式值,以“1”和“0”分别代表“真”和“假”。;a||b||c;写出满足下列条件的C语言表达式:P30;4、是空格或回车;§4.3 if 语句;main()
{int a,b;
scanf(%d,%d,a,b);
if(a-b)
printf(a-b=%d\n,a-b);
getch();
};2、第二种形式为if-else形式 if(表达式) 语句1; else 语句2;;3、第三种形式为if-else-if形式(P44)
当有多个分支选择时,可采用if-else-if语句,其一般形式为:
if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; … else if(表达式m) 语句m; else 语句n; ;3、在if和else后面可以只含有一个内嵌语句,也可以有多个语句,此时用{ }将几个语句括起来成为一个复合语句。;例如:
输入两个数,按数值由小到大次序输出这两个数。;二、if语句的嵌套(P57—P60);在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配套问题。;例如: if(表达式1) if(表达式2) 语句1; else 语句2;
其中的else究竟是与哪一个if配对呢?; 为了避免这种二义性,C语言规定,else 总是与它前面最近的if配对,因此对上述例子应按后一种情况理解。;请问下列式中的嵌套关系如何:
if(表达式1)
if(表达式2) 语句1;else if(表达式3) 语句2;
else 语句3;; 例如:
if(表达式1)
if(表达式2) 语句1; else ; else 语句2;;例如:
if(表达式1)
{if(表达式2) 语句1;} else 语句2;;main()
{int year;
scanf(%d,year);
if((year%4==0year%100!=0)||(year%400==0))
printf(%d is a leap year.\n ,year);
else
printf(%d is not a leap year.\n ,year);
getch();};例题:
某百货公司为了促销,采用购物大折的优惠方法:每位顾客一次购物:
在100-200元者,按九折优惠;
在200-300元者,按八折优惠;
在300元以上者,按七折优惠;
编写一段程序,当输入购物款项时,计算并输出优惠的价格。;例如:
乘坐出租汽车,交费的情况如下:起价费10元,4公里之内10元,4-15公里部分1.2元/公里,15公里以上部分1.8元/公里,请编写一个程序,当司机输入乘客乘车的公里数时,程序将乘客所需交纳的费用显示出来。 ;三、条件运算符与条件表达式(P132)
;其求值规则为:
如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式3的值作为整个条件表达式的值。 条件表达式通常用于赋值语句之中。;因此 max=(ab)?a:b可以去掉括号而写为 max=ab?a:b;3、 条件运算符的结合方向是自右至左。;例如:
输入三个数,请输出这三个数中的最大数和最小数。;§4.5 switch 语句(P53);例如:输出分数段
#include stdio.h
main()
{char grade;
grade=getchar();
switch(grade)
{case A:printf(85---100\n);
case B:printf(70---84\n);
case C:printf(60---69\n);
case D:printf(60\n);
default :printf(error\n);}
getch();};3、多个case可以共用一组执行语句。;作业:;3、P
文档评论(0)