欢迎来到天天文库
浏览记录
ID:16031834
大小:82.50 KB
页数:8页
时间:2018-08-07
《计讲稿4——关系运算符、逻辑运算符...》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、高2015级信息学竞赛培训资料程序设计讲稿4本讲涉及的单词:1、if如果2、else否则3、switch开关4、case案例、事例5、default缺省、默认6、break打断一、关系运算符及其优先级1、关系运算符:程序中经常需要比较两个量的大小关系,以决定程序的下一步工作,比较两个量的大小关系的运算符称为关系运算符,C/C++中有以下关系运算符:>大于<小于==等于>=大于等于<=小于等于!=不等于关系运算符都是双目运算符,其结合性为左结合型。关系运算符的优先级低于算术运算符,高于赋值运算符。六个关系运算符中,>、<、>=、<=的优先级相同,==和!=的优先级相同,但前者高于后者。2、关
2、系表达式关系表达式的一般形式:表达式关系运算符表达式例如:a+b>c+d、x<=3/2、a<(b>c)、a!=(c==d)关系表达式运算的结果只有两种:真或假(正确或错误,成立或不成立),用数字1和0表示。例如:5>3的运算结果是1(正确),而3<5的结果是0(错误)intmain(){charc='k';inti=1,j=2,k=3;floatx=3e+5,y=0.85;printf("%d,%d",'a'+5=k+1);printf("%d,%d",13、+5);return0;}程序的输出结果是:解释:(1)charc=’k’,实质是c=107;因为字符’k’的ASCII码是107。(2)'a'+5相当于97+5,因为字符’a’的ASCII码是97。(3)14、5、逻辑或(or)!逻辑非(not)&&和6、7、均为双目运算符,具有左8、结合性,其优先级低于算术运算符和关系运算符,&&的优先级高于9、10、。!是单目运算符,具有右结合性,其优先级高于所有的算术运算符关系运算符,也高于&&和11、12、。a&&b,只有在a和b都为正确的时候,结果才“正确”,其他情况都为“错误”例如:如果x=4,那么(x>4&&x<10)的结果就是“错误”;而(x>=2&&x<10)的结果就是“正确”;a13、14、b,只有在a和b都“错误”的时候,结果才“错误”,其他情况都为“正确”例如:如果x=4,那么(x>415、16、x<10)的结果就是“正确”;而(x<=217、18、x>10)的结果就是“错误”;!a,表示将a的值取反,如果a为正确,则!a为错误,如果a为错误,则!a19、为正确例如:!(4>5)的结果为正确,而!(4<5)的结果为错误。2、逻辑表达式用逻辑运算符、关系运算符构成的式子,成为逻辑表达式:举例:数学表达式-2<=x<10的C语言条件表达式:x是奇数的条件表达式:x是偶数的条件表达式:x能被11整除的条件表达式:x能被4整除但不能被100整除,或者能被400整除的C语言表达式:条件表达式:m%2==1&&m<=2020、21、m>10在m=5的时候,表达式的值为:在m=8的时候,表达式的值为:在m=13的时候,表达式的值为:在m=16的时候,表达式的值为:在m=23的时候,表达式的值为:在m=30的时候,表达式的值为:第8页高2015级信息学竞赛培训资料22、三、分支语句格式:if(条件)语句1;else语句2;功能:如果条件成立则执行语句1,否则执行语句2;其中,上面的格式中”else语句2;”可以省略,上面的格式写成了两行,其实可以写成一行的,这样做只是为了程序更加美观。例7、编程输入两个整数,输出其中的大数。解答程序1解答程序2intmain(){inta,b,MAX;scanf("%d%d",&a,&b);MAX=a;if(MAXb)MAX=a;elseMAX=b;23、printf("MAX=%d",MAX);return0;}解答程序1中,先把a的值赋给变量MAX,再用if语句判别MAX和b的大小,如果MAXb,则把a的值赋给MAX,否则把b赋给b。这里的否则相当于a<=b。思考:能否写成下面的形式,如果不能,该怎样修改?if(a>b)MAX=a;if(a
3、+5);return0;}程序的输出结果是:解释:(1)charc=’k’,实质是c=107;因为字符’k’的ASCII码是107。(2)'a'+5相当于97+5,因为字符’a’的ASCII码是97。(3)14、5、逻辑或(or)!逻辑非(not)&&和6、7、均为双目运算符,具有左8、结合性,其优先级低于算术运算符和关系运算符,&&的优先级高于9、10、。!是单目运算符,具有右结合性,其优先级高于所有的算术运算符关系运算符,也高于&&和11、12、。a&&b,只有在a和b都为正确的时候,结果才“正确”,其他情况都为“错误”例如:如果x=4,那么(x>4&&x<10)的结果就是“错误”;而(x>=2&&x<10)的结果就是“正确”;a13、14、b,只有在a和b都“错误”的时候,结果才“错误”,其他情况都为“正确”例如:如果x=4,那么(x>415、16、x<10)的结果就是“正确”;而(x<=217、18、x>10)的结果就是“错误”;!a,表示将a的值取反,如果a为正确,则!a为错误,如果a为错误,则!a19、为正确例如:!(4>5)的结果为正确,而!(4<5)的结果为错误。2、逻辑表达式用逻辑运算符、关系运算符构成的式子,成为逻辑表达式:举例:数学表达式-2<=x<10的C语言条件表达式:x是奇数的条件表达式:x是偶数的条件表达式:x能被11整除的条件表达式:x能被4整除但不能被100整除,或者能被400整除的C语言表达式:条件表达式:m%2==1&&m<=2020、21、m>10在m=5的时候,表达式的值为:在m=8的时候,表达式的值为:在m=13的时候,表达式的值为:在m=16的时候,表达式的值为:在m=23的时候,表达式的值为:在m=30的时候,表达式的值为:第8页高2015级信息学竞赛培训资料22、三、分支语句格式:if(条件)语句1;else语句2;功能:如果条件成立则执行语句1,否则执行语句2;其中,上面的格式中”else语句2;”可以省略,上面的格式写成了两行,其实可以写成一行的,这样做只是为了程序更加美观。例7、编程输入两个整数,输出其中的大数。解答程序1解答程序2intmain(){inta,b,MAX;scanf("%d%d",&a,&b);MAX=a;if(MAXb)MAX=a;elseMAX=b;23、printf("MAX=%d",MAX);return0;}解答程序1中,先把a的值赋给变量MAX,再用if语句判别MAX和b的大小,如果MAXb,则把a的值赋给MAX,否则把b赋给b。这里的否则相当于a<=b。思考:能否写成下面的形式,如果不能,该怎样修改?if(a>b)MAX=a;if(a
4、
5、逻辑或(or)!逻辑非(not)&&和
6、
7、均为双目运算符,具有左
8、结合性,其优先级低于算术运算符和关系运算符,&&的优先级高于
9、
10、。!是单目运算符,具有右结合性,其优先级高于所有的算术运算符关系运算符,也高于&&和
11、
12、。a&&b,只有在a和b都为正确的时候,结果才“正确”,其他情况都为“错误”例如:如果x=4,那么(x>4&&x<10)的结果就是“错误”;而(x>=2&&x<10)的结果就是“正确”;a
13、
14、b,只有在a和b都“错误”的时候,结果才“错误”,其他情况都为“正确”例如:如果x=4,那么(x>4
15、
16、x<10)的结果就是“正确”;而(x<=2
17、
18、x>10)的结果就是“错误”;!a,表示将a的值取反,如果a为正确,则!a为错误,如果a为错误,则!a
19、为正确例如:!(4>5)的结果为正确,而!(4<5)的结果为错误。2、逻辑表达式用逻辑运算符、关系运算符构成的式子,成为逻辑表达式:举例:数学表达式-2<=x<10的C语言条件表达式:x是奇数的条件表达式:x是偶数的条件表达式:x能被11整除的条件表达式:x能被4整除但不能被100整除,或者能被400整除的C语言表达式:条件表达式:m%2==1&&m<=20
20、
21、m>10在m=5的时候,表达式的值为:在m=8的时候,表达式的值为:在m=13的时候,表达式的值为:在m=16的时候,表达式的值为:在m=23的时候,表达式的值为:在m=30的时候,表达式的值为:第8页高2015级信息学竞赛培训资料
22、三、分支语句格式:if(条件)语句1;else语句2;功能:如果条件成立则执行语句1,否则执行语句2;其中,上面的格式中”else语句2;”可以省略,上面的格式写成了两行,其实可以写成一行的,这样做只是为了程序更加美观。例7、编程输入两个整数,输出其中的大数。解答程序1解答程序2intmain(){inta,b,MAX;scanf("%d%d",&a,&b);MAX=a;if(MAXb)MAX=a;elseMAX=b;
23、printf("MAX=%d",MAX);return0;}解答程序1中,先把a的值赋给变量MAX,再用if语句判别MAX和b的大小,如果MAXb,则把a的值赋给MAX,否则把b赋给b。这里的否则相当于a<=b。思考:能否写成下面的形式,如果不能,该怎样修改?if(a>b)MAX=a;if(a
此文档下载收益归作者所有