欢迎来到天天文库
浏览记录
ID:6597750
大小:82.50 KB
页数:8页
时间:2018-01-19
《计讲稿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'+53、i-2*j>=k+1);printf("%d,%d",14、5,先计算k==j,不成立,其值为0,再计算0==i+5,也不成立,值为0,故表达式值为0第8页高2015级信息学竞赛培训资料二、逻辑运算符及其优先级1、逻辑运算符&&逻辑与(and)5、6、逻辑或(or)!逻辑非(not)&&和7、8、均为双目运算符,具有左结合性,其优先级低于算术运算符和关系运算符,&&的优先级高于9、10、。!是单目运算符,具有右结合性,其优先级高于所有的算术运算符关系运算符,也高于&&和11、12、。a&&b,只有在a和b都为正确的时候,结果才“正确”,其他情况都为“错误”例如:如果x=4,那么(x>4&13、&x<10)的结果就是“错误”;而(x>=2&&x<10)的结果就是“正确”;a14、15、b,只有在a和b都“错误”的时候,结果才“错误”,其他情况都为“正确”例如:如果x=4,那么(x>416、17、x<10)的结果就是“正确”;而(x<=218、19、x>10)的结果就是“错误”;!a,表示将a的值取反,如果a为正确,则!a为错误,如果a为错误,则!a为正确例如:!(4>5)的结果为正确,而!(4<5)的结果为错误。2、逻辑表达式用逻辑运算符、关系运算符构成的式子,成为逻辑表达式:举例:数学表达式-2<=x<10的C语言条件20、表达式:x是奇数的条件表达式:x是偶数的条件表达式:x能被11整除的条件表达式:x能被4整除但不能被100整除,或者能被400整除的C语言表达式:条件表达式:m%2==1&&m<=2021、22、m>10在m=5的时候,表达式的值为:在m=8的时候,表达式的值为:在m=13的时候,表达式的值为:在m=16的时候,表达式的值为:在m=23的时候,表达式的值为:在m=30的时候,表达式的值为:第8页高2015级信息学竞赛培训资料三、分支语句格式:if(条件)语句1;else语句2;功能:如果条件成立则执行语句1,否则执23、行语句2;其中,上面的格式中”else语句2;”可以省略,上面的格式写成了两行,其实可以写成一行的,这样做只是为了程序更加美观。例7、编程输入两个整数,输出其中的大数。解答程序1解答程序2intmain(){inta,b,MAX;scanf("%d%d",&a,&b);MAX=a;if(MAXb)MAX=a;elseMAX=b;prin24、tf("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、i-2*j>=k+1);printf("%d,%d",14、5,先计算k==j,不成立,其值为0,再计算0==i+5,也不成立,值为0,故表达式值为0第8页高2015级信息学竞赛培训资料二、逻辑运算符及其优先级1、逻辑运算符&&逻辑与(and)5、6、逻辑或(or)!逻辑非(not)&&和7、8、均为双目运算符,具有左结合性,其优先级低于算术运算符和关系运算符,&&的优先级高于9、10、。!是单目运算符,具有右结合性,其优先级高于所有的算术运算符关系运算符,也高于&&和11、12、。a&&b,只有在a和b都为正确的时候,结果才“正确”,其他情况都为“错误”例如:如果x=4,那么(x>4&13、&x<10)的结果就是“错误”;而(x>=2&&x<10)的结果就是“正确”;a14、15、b,只有在a和b都“错误”的时候,结果才“错误”,其他情况都为“正确”例如:如果x=4,那么(x>416、17、x<10)的结果就是“正确”;而(x<=218、19、x>10)的结果就是“错误”;!a,表示将a的值取反,如果a为正确,则!a为错误,如果a为错误,则!a为正确例如:!(4>5)的结果为正确,而!(4<5)的结果为错误。2、逻辑表达式用逻辑运算符、关系运算符构成的式子,成为逻辑表达式:举例:数学表达式-2<=x<10的C语言条件20、表达式:x是奇数的条件表达式:x是偶数的条件表达式:x能被11整除的条件表达式:x能被4整除但不能被100整除,或者能被400整除的C语言表达式:条件表达式:m%2==1&&m<=2021、22、m>10在m=5的时候,表达式的值为:在m=8的时候,表达式的值为:在m=13的时候,表达式的值为:在m=16的时候,表达式的值为:在m=23的时候,表达式的值为:在m=30的时候,表达式的值为:第8页高2015级信息学竞赛培训资料三、分支语句格式:if(条件)语句1;else语句2;功能:如果条件成立则执行语句1,否则执23、行语句2;其中,上面的格式中”else语句2;”可以省略,上面的格式写成了两行,其实可以写成一行的,这样做只是为了程序更加美观。例7、编程输入两个整数,输出其中的大数。解答程序1解答程序2intmain(){inta,b,MAX;scanf("%d%d",&a,&b);MAX=a;if(MAXb)MAX=a;elseMAX=b;prin24、tf("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,先计算k==j,不成立,其值为0,再计算0==i+5,也不成立,值为0,故表达式值为0第8页高2015级信息学竞赛培训资料二、逻辑运算符及其优先级1、逻辑运算符&&逻辑与(and)
5、
6、逻辑或(or)!逻辑非(not)&&和
7、
8、均为双目运算符,具有左结合性,其优先级低于算术运算符和关系运算符,&&的优先级高于
9、
10、。!是单目运算符,具有右结合性,其优先级高于所有的算术运算符关系运算符,也高于&&和
11、
12、。a&&b,只有在a和b都为正确的时候,结果才“正确”,其他情况都为“错误”例如:如果x=4,那么(x>4&
13、&x<10)的结果就是“错误”;而(x>=2&&x<10)的结果就是“正确”;a
14、
15、b,只有在a和b都“错误”的时候,结果才“错误”,其他情况都为“正确”例如:如果x=4,那么(x>4
16、
17、x<10)的结果就是“正确”;而(x<=2
18、
19、x>10)的结果就是“错误”;!a,表示将a的值取反,如果a为正确,则!a为错误,如果a为错误,则!a为正确例如:!(4>5)的结果为正确,而!(4<5)的结果为错误。2、逻辑表达式用逻辑运算符、关系运算符构成的式子,成为逻辑表达式:举例:数学表达式-2<=x<10的C语言条件
20、表达式:x是奇数的条件表达式:x是偶数的条件表达式:x能被11整除的条件表达式:x能被4整除但不能被100整除,或者能被400整除的C语言表达式:条件表达式:m%2==1&&m<=20
21、
22、m>10在m=5的时候,表达式的值为:在m=8的时候,表达式的值为:在m=13的时候,表达式的值为:在m=16的时候,表达式的值为:在m=23的时候,表达式的值为:在m=30的时候,表达式的值为:第8页高2015级信息学竞赛培训资料三、分支语句格式:if(条件)语句1;else语句2;功能:如果条件成立则执行语句1,否则执
23、行语句2;其中,上面的格式中”else语句2;”可以省略,上面的格式写成了两行,其实可以写成一行的,这样做只是为了程序更加美观。例7、编程输入两个整数,输出其中的大数。解答程序1解答程序2intmain(){inta,b,MAX;scanf("%d%d",&a,&b);MAX=a;if(MAXb)MAX=a;elseMAX=b;prin
24、tf("MAX=%d",MAX);return0;}解答程序1中,先把a的值赋给变量MAX,再用if语句判别MAX和b的大小,如果MAXb,则把a的值赋给MAX,否则把b赋给b。这里的否则相当于a<=b。思考:能否写成下面的形式,如果不能,该怎样修改?if(a>b)MAX=a;if(a
此文档下载收益归作者所有