计讲稿4——关系运算符、逻辑运算符
《计讲稿4——关系运算符、逻辑运算符》由会员分享,可在线阅读,更多相关《计讲稿4——关系运算符、逻辑运算符(8页珍藏版)》请在装配图网上搜索。
1、程序设计讲稿4本讲涉及的单词:1、if 如果 2、else 否则 3、switch 开关 4、case 案例、事例 5、default 缺省、默认 6、break 打断一、关系运算符及其优先级1、关系运算符:程序中经常需要比较两个量的大小关系,以决定程序的下一步工作,比较两个量的大小关系的运算符称为关系运算符,C/C+中有以下关系运算符: 大于 = 大于等于 、=、c+d、 x=3/2、ac)、a!=(c=d)关系表达式运算的结果只有两种:真或假(正确或错误,成立或不成立),用数字1和0表示。例如:53 的运算结果是1(正确),而35的结果是0(错误)int main() char c=k;
2、int i=1,j=2,k=3; float x=3e+5,y=0.85; printf(%d,%dn,a+5=k+1); printf(%d,%dn,1j5,x-5.25=x+y); printf(%d,%dn,i+j+k=-2*j,k=j=i+5); return 0;程序的输出结果是:解释: (1) char c=k,实质是c=107;因为字符k的ASCII码是107。 (2)a+5 相当于 97+5,因为字符a的ASCII码是97。(3) 1j5 因为关系运算符的左结合性,所以先计算1j,1j成立,值为1。再计算14 & x=2 & x4 | x10) 的结果就是“正确”; 而(x10
3、) 的结果就是“错误”; !a,表示将a的值取反,如果a为正确,则 !a 为错误,如果a为错误,则!a为正确 例如:!(45)的结果为正确,而!(45)的结果为错误。2、逻辑表达式用逻辑运算符、关系运算符构成的式子,成为逻辑表达式: 举例: 数学表达式 -2 = x 10 的C语言条件表达式: x是奇数的条件表达式: x是偶数的条件表达式: x能被11整除的条件表达式: x能被4整除但不能被100整除,或者能被400整除的C语言表达式: 条件表达式: m % 2=1 & m10 在m=5的时候,表达式的值为: 在m=8的时候,表达式的值为: 在m=13的时候,表达式的值为: 在m=16的时候,
4、表达式的值为: 在m=23的时候,表达式的值为: 在m=30的时候,表达式的值为: 三、分支语句格式:if(条件) 语句1; else 语句2; 功能:如果 条件成立 则执行语句1,否则执行语句2; 其中,上面的格式中 ”else 语句2;” 可以省略,上面的格式写成了两行,其实可以写成一行的,这样做只是为了程序更加美观。例7、编程输入两个整数,输出其中的大数。解答程序1解答程序2int main() int a,b,MAX;scanf(%d%d,&a,&b); MAX=a; if(MAXb) MAX=a; else MAX=b; printf(MAX=%dn,MAX); return 0;解
5、答程序1中,先把a的值赋给变量MAX,再用if语句判别MAX和b的大小,如果MAXb,则把a的值赋给MAX,否则把b赋给b。这里的否则相当于ab) MAX=a; if(a=0 & c=A & c=a & cb) MAX=a; else MAX=b; 可以改写为:MAX = ab? a: b;条件运算符的优先级高于赋值运算符,低于算术运算符、关系运算符和逻辑运算符。请用关系运算符改写例7的程序。五、开关语句 C/C+语言还提供了另一种用于多分支选择的语句switch语句,其一般形式如下:形式: switch(表达式)case 常量表达式1:语句1 case 常量表达式2:语句2 case 常量表
6、达式n:语句n default:语句n1其含义是:计算表达式的值,然后依次与case后面的常量表达式的值比较。当与某个常量表达式的值相等时,即执行其后面的语句,然后不再判断,转而执行后面的所有case后的语句(包括default语句)。当表达式的值与所有case后面常量表达式的值都不相等时,则执行default后的语句。例9、编程输入一个数字,输出与这个数字对应星期几的英语单词,比如输入1,则应是星期一,输出“Monday”,7则应是星期日,输出“Sunday”。解答程序1int main() int a; scanf(%d,&a); switch(a) case 1 : printf(Mon
7、dayn); case 2 : printf(Tuesdayn); case 3 : printf(Wednesdayn); case 4 : printf(Tursdayn); case 5 : printf(Fridayn); case 6 : printf(Saturdayn); case 7 : printf(Sundayn); default : printf(errorn); return 0;int main() int a; scanf(%d,&a); switch(a) case 1 : printf(Mondayn); break; case 2 : printf(Tues
8、dayn);break; case 3 : printf(Wednesdayn);break; case 4 : printf(Tursdayn);break; case 5 : printf(Fridayn);break; case 6 : printf(Saturdayn);break; case 7 : printf(Sundayn);break; default : printf(errorn);break; return 0;解答程序1:当输入4后,则程序输出: Tursday Friday Saturday Sunday error 由此看来,整数上面对switch语句含义的解释,
9、当表达式与某个常量值相等时,则从这里开始所有的case后面的语句都会执行。解答程序2:当输入4后,程序输出: Tursday 因为在每条case后面的语句后加上了一个break;这里的break表示中断switch语句的执行。所以当输出Tursday后,再执行break;这时,跳出的switch语句,所以后面case语句再不会被执行。使用switch语句的要注意以下几点:1) case语句后的常量表达式的值不能有相同的;2) case后可以有多条语句,他们不必用括起来3) default可以省略。 思考:请用if语句改写上面的程序。六、编程实例例10、打折(P1013) 一件衣服950元,若消
10、费满3000元,可打八五折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数。 【输入】 一个整数N,表示顾客购买衣服数量。 【输出】 一个实数,表示需要支付的金额。保留两位小数。 【样例】 43230.0021900.00【数据范围】 0 = N =3000 则输出p*0.85;否则输出p (保留两位小数)例11、三整数排序(P1015) 输入三个整数a,b,c,从小到大排序后输出。 【输入】 一行三个整数a,b,c。【输出】 由小到大输出这三个数。整数之间用一个空格分开。【样例】 20 7 337 20 33解法程序:int main() int a,b,c; scanf(%
11、d%d%d,&a,&b,&c); / 输入a,b,c的值 if(ab) t=a; a=b; b=t; /如果ab,则交换a,b的值;if(ac) t=a; a=c; c=t; /如果ac,则交换a,c的值; if(ac) t=a; a=c; c=t; /如果bc,则交换b,c的值; printf(%d %d %dn,a,b,c); /输出答案:输出a,b,c的只值 return 0;关于程序的一点解释:语句:if(ab) t=a; a=b; b=t; 因为如果满足条件ab要执行三句话,t=a; a=b; b=t;如果条件不满足,这三句话就不会执行。所以用把这三句括起来,这样的语句称为复合语句。
12、如果写成这样:if(ab) t=a; a=b; b=t; 则满足条件ab,就只会执行t=a;而不满足,则a=b和b=t;还会照样执行。例12、三角形 (P1017) 输入三角形三边长度值a,b,c(均为正整数),完成下列任务:(1)、如果这三边根本无法构成三角形,则输出“not a triangle”。(2)、如果能构成三角形,则计算这个三角形的面积并输出。(3)、然后再判断这个三角形是否是直角三角形,如果是则输出“yes”,否则输出“no”。 【输入】 一行三个正整数a,b,c。 【输出】 如果a,b,c不能构成三角形,则输出一行“not a triangle”。 如果能构成一个三角形,则:
13、 第 1 行:一个保留2位小数的实数,表示三角形面积; 第 2 行:如果这个三角形是一个直角三角形,则输出“yes”,否则输出“no”。 【样例输入】 3 4 56.00yes2 2 21.73no4 2 7not a triangle【数据范围】 1=a,b,c0,且y0”,则该题目解是x和y,否则输出No answer。 x和y必须为正整数 程序的语言描述用c语言补充完整定义n,m,x,y四个整数变量;输入变量n,m的值;x=(4n-m)/2;y=(m-2n)/2;如果m是偶数且x0且y0 输出x和y的值,中间隔一个空格否则 输出No answerint main() if(m % 2=0 & x0 & y0) else return 0; 课后作业:题库:P1013P1035
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 嵌入式系统概论-以S3C2440核心为架构课件
- 地理事象的季节变化课件
- 地理中外著名旅游景观欣赏课件
- 地理中图版选修5第一章第二节主要自然灾害及其分布课件
- 地理中考复习-地图课件
- 北师大版历史八年级下册第17课《筑起钢铁长城》课件1
- 北师大版历史八下《祖国统一的历史大潮》课件5
- 北师大版历史八下《欣欣向荣的科教文体事业》3课件
- 北师大版历史八下《蓝色的地中海文明》课件
- 北师大版历史九年级下册第10课“冷战”与“热战”丁飞鹤T-课件
- 北师大版历史八下第17课《大河流域的文明曙光》课件
- 北师大版历史九上1718课课件
- 高中化学热力学复习10多重平衡与化学计算ppt课件
- 高中化学第1章化学反应与能量转化第3节化学能转化为电能电池ppt课件1鲁科版选修
- 高中化学第三节玻璃、陶瓷和水泥公开课课件