第4章 第1、2节:关系运算符及其表达式、逻辑运算符及其表达式(练习)-《C语言程序设计》(电子工业出版社)上好课

2026-04-29
| 2份
| 17页
| 58人阅读
| 0人下载

内容正文:

4.1、4.2节:关系运算符及其表达式、逻辑运算符及其表达式 一、单项选择题 1.下列选项中,不属于 C 语言关系运算符的是( ) A. > B. >= C. == D. && 【答案】D 【解析】 && 是逻辑与运算符,其余选项均为关系运算符(>、>=、==)。 2.C 语言中,关系表达式的结果类型是( ) A. 整数型 B. 浮点型 C. 字符型 D. 无类型 【答案】A 【解析】关系表达式的值为 “真”(1)或 “假”(0),均为 int 类型。 3.已知 int a=3, b=5;,则表达式 a > b 的值是( ) A. 1 B. 0 C. 3 D. 5 【答案】B 【解析】3 > 5 不成立,关系表达式结果为 “假”,用 0 表示。 4.下列关系表达式中,值为 “真” 的是( ) A. 5 < 3 B. 5 == 3 C. 5 != 3 D. 5 <= 3 【答案】C 【解析】5 != 3 成立,结果为 1(真);其余选项均不成立,结果为 0(假)。 5.已知 int a=2, b=3;,则表达式 a + b > b * a 的值是( ) A. 1 B. 0 C. 5 D. 6 【答案】B 【解析】 先算算术运算:a+b=5,b*a=6;再算关系运算 5 > 6,结果为 0。 6.下列运算符中,优先级最高的是( ) A. > B. == C. && D. || 【答案】A 【解析】优先级顺序:关系运算符(>、>=、<、<=)> 关系运算符(==、!=)> 逻辑与(&&)> 逻辑或(||)。 7.已知 int a=1, b=2, c=3;,则表达式 a == b < c 的值是( ) A. 1 B. 0 C. 2 D. 3 【答案】A 【解析】关系运算符左结合,先算 b < c = 2 < 3 = 1,再算 a == 1,结果为 1。 8.已知 int a=3, b=4;,执行表达式 (a > b) && (b++) 后,b 的值是( ) A. 3 B. 4 C. 5 D. 不确定 【答案】B 【解析】a > b = 3 > 4 = 0,逻辑与短路,b++ 不执行,b 保持初始值 4。 9.已知 int a=1, b=2;,执行表达式 (a=3) || (b=4) 后,b 的值是( ) A. 2 B. 3 C. 4 D. 不确定 【答案】A 【解析】a=3 为非 0(真),逻辑或短路,b=4 不执行,b 保持初始值 2。 10.已知 int a=2, b=3;,则表达式 !(a + b) && (a - b) 的值是( ) A. 1 B. 0 C. 5 D. -1 【答案】B 【解析】先算 a + b = 5,!5 = 0;逻辑与短路,右边 a - b 不执行,结果为 0。 二、填空题。 1.C 语言中,关系运算符共有______个,其中表示 “不等于” 的运算符是______。 【答案】6;!= 【解析】关系运算符包括 >、>=、<、<=、==、!=,共 6 个。 2.C 语言中,关系表达式的值为 “真” 时用______表示,为 “假” 时用______表示。 【答案】1;0 【解析】 C 语言无逻辑型数据,用整数 1 表示真,0 表示假。 3.已知 int a=5, b=3;,则表达式 a >= b 的值是______,a != b 的值是______。 【答案】1;1 【解析】5 >= 3 和 5 != 3 均成立,结果为 1。 4.已知 int a=2, b=4;,则表达式 a * 2 == b 的值是______,a / 2 > b 的值是______。 【答案】1 0 【解析】a*2 == b:2×2=4,等于 b=4,表达式为真,值是1。 a/2 > b:2÷2=1,1 不大于 4,表达式为假,值是0。 5.C 语言中,逻辑与运算(&&)的短路特性是指:当____时,不再计算右边的操作数,整个表达式的值为____。 【答案】左边操作数为 0(假);0(假) 【解析】逻辑与中,若左边为假,结果必为假,故短路,不计算右边。 6.若有定义int a=3,b=0;,执行表达式a||(b=5);后,b的值为___________。 【答案】0 【解析】a=3为真,逻辑或短路,右边的(b=5)不执行,故b保持为 0。 7.若有定义int a=0,b=5;,执行表达式a&&(b=10);后,b的值为___________。 【答案】5 【解析】a=0为假,逻辑与短路,右边的(b=10)不执行,故b保持为 5。 8.若有定义int a=2,b=3,c=4;,则表达式a+b>c&&b<c的值为___________。 【答案】1 【解析】a+b=5>4(真,1),b=3<4(真,1),1&&1=1。 9.若有定义int a=0,b=1,c=2;,则表达式a||b&&c的值为___________。 【答案】1 【解析】逻辑与优先级高,先算b&&c=1&&2=1,再算a||1=0||1=1。 10.若有定义int a=5,b=3;,则表达式a+b>10&&a-b<3的值为___________。 【答案】0 【解析】先算a+b=8>10(结果为 0),a-b=2<3(结果为 1),再算0&&1=0。 三、阅读程序题。 1.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=3,b=5; printf("%d",a>b); } 【答案】0 2.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=0; printf("%d",!a); } 【答案】1 3.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=2,b=3; printf("%d",a+b>4); } 【答案】1 4.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=3,b=4; printf("%d",!(a<b)); } 【答案】0 5.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=1,b=2,c=3; printf("%d",a<b&&b<c); } 【答案】1 6.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=0,b=5; a&&(b=10); printf("%d",b); } 【答案】5 7.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=0,b=1,c=2; printf("%d",a||b&&!c); } 【答案】0 8.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=4,b=4; printf("%d",!(a>b||a<b)); } 【答案】1 9.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=0,b=0; printf("%d",!a&&!b); } 【答案】1 10.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=3,b=0,c=5; printf("%d",(a>b)&&(b<c)||(a==c)); } 【答案】1 四、程序填空题(根据题意,将空缺的语句补上) 1.程序功能:判断两个数是否相等,输出结果。 #include "stdio.h" main() { int a,b; scanf("%d%d",&a,&b); printf("%d",a ____ b); } 【答案】== 2.程序功能:判断一个数是否为正数(大于 0),输出结果。 #include "stdio.h" main() { int a; scanf("%d",&a); printf("%d",____________); } 【答案】a > 0 3.程序功能:判断两个数是否都为正数,输出结果。 #include "stdio.h" main() { int a,b; scanf("%d%d",&a,&b); printf("%d",________________); } 【答案】a>0 && b>0 4.程序功能:判断两个数中至少有一个为正数,输出结果。 #include "stdio.h" main() { int a,b; scanf("%d%d",&a,&b); printf("%d",______________); } 【答案】a>0 || b>0 5.程序功能:判断一个数是否不在 0 到 100 之间,输出结果。 #include "stdio.h" main() { int a; scanf("%d",&a); printf("%d",______________); } 【答案】!(a>=0 && a<=100) 五、编程题。 1. 编写程序,输入一个字符,判断该字符是否为大写字母(ASCII 码在'A'到'Z'之间),若是则输出 1,否则输出 0。 【参考代码】 #include "stdio.h" main() { char ch; scanf("%c",&ch); printf("%d",ch>='A'&&ch<='Z'); } 2.编写程序,输入三个整数,判断它们能否构成三角形(任意两边之和大于第三边),若是则输出 1,否则输出 0。 【参考代码】 #include "stdio.h" main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d",a+b>c&&a+c>b&&b+c>a); } 3.编写程序,输入一个年份,判断该年份是否为闰年(能被 4 整除但不能被 100 整除,或能被 400 整除),若是则输出 1,否则输出 0。 【参考代码】 #include "stdio.h" main() { int year; scanf("%d",&year); printf("%d",(year%4==0&&year%100!=0)||(year%400==0)); } 4.编写程序:判断一个数是否在区间 (-10, 10) 之外(不含端点) 【参考代码】 #include "stdio.h" main() { int a; scanf("%d", &a); printf("%d", a >= 10 || a <= -10); } 5.编写程序:判断一个整数是否为 “非零偶数” 【参考代码】 #include "stdio.h" main() { int a; scanf("%d", &a); printf("%d", (a % 2 == 0) && (a != 0)); } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 4.1、4.2节:关系运算符及其表达式、逻辑运算符及其表达式 一、单项选择题 1.下列选项中,不属于 C 语言关系运算符的是( ) A. > B. >= C. == D. && 2.C 语言中,关系表达式的结果类型是() A. 整数型 B. 浮点型 C. 字符型 D. 无类型 3.已知 int a=3, b=5;,则表达式 a > b 的值是() A. 1 B. 0 C. 3 D. 5 4.下列关系表达式中,值为 “真” 的是() A. 5 < 3 B. 5 == 3 C. 5 != 3 D. 5 <= 3 5.已知 int a=2, b=3;,则表达式 a + b > b * a 的值是() A. 1 B. 0 C. 5 D. 6 6.下列运算符中,优先级最高的是() A. > B. == C. && D. || 7.已知 int a=1, b=2, c=3;,则表达式 a == b < c 的值是() A. 1 B. 0 C. 2 D. 3 8.已知 int a=3, b=4;,执行表达式 (a > b) && (b++) 后,b 的值是() A. 3 B. 4 C. 5 D. 不确定 9.已知 int a=1, b=2;,执行表达式 (a=3) || (b=4) 后,b 的值是() A. 2 B. 3 C. 4 D. 不确定 10.已知 int a=2, b=3;,则表达式 !(a + b) && (a - b) 的值是() A. 1 B. 0 C. 5 D. -1 二、填空题。 1.C 语言中,关系运算符共有______个,其中表示 “不等于” 的运算符是______。 2.C 语言中,关系表达式的值为 “真” 时用______表示,为 “假” 时用______表示。 3.已知 int a=5, b=3;,则表达式 a >= b 的值是______,a != b 的值是______。 4.已知 int a=2, b=4;,则表达式 a * 2 == b 的值是______,a / 2 > b 的值是______。 5.C 语言中,逻辑与运算(&&)的短路特性是指:当____时,不再计算右边的操作数,整个表达式的值为____。 6.若有定义int a=3,b=0;,执行表达式a||(b=5);后,b的值为___________。 7.若有定义int a=0,b=5;,执行表达式a&&(b=10);后,b的值为___________。 8.若有定义int a=2,b=3,c=4;,则表达式a+b>c&&b<c的值为___________。 9.若有定义int a=0,b=1,c=2;,则表达式a||b&&c的值为___________。 10.若有定义int a=5,b=3;,则表达式a+b>10&&a-b<3的值为___________。 三、阅读程序题。 1.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=3,b=5; printf("%d",a>b); } 2.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=0; printf("%d",!a); } 3.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=2,b=3; printf("%d",a+b>4); } 4.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=3,b=4; printf("%d",!(a<b)); } 5.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=1,b=2,c=3; printf("%d",a<b&&b<c); } 6.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=0,b=5; a&&(b=10); printf("%d",b); } 7.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=0,b=1,c=2; printf("%d",a||b&&!c); } 8.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=4,b=4; printf("%d",!(a>b||a<b)); } 9.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=0,b=0; printf("%d",!a&&!b); } 10.写出下列程序段的输出结果:________________。 #include "stdio.h" main() { int a=3,b=0,c=5; printf("%d",(a>b)&&(b<c)||(a==c)); } 四、程序填空题(根据题意,将空缺的语句补上) 1.程序功能:判断两个数是否相等,输出结果。 #include "stdio.h" main() { int a,b; scanf("%d%d",&a,&b); printf("%d",a ____ b); } 2.程序功能:判断一个数是否为正数(大于 0),输出结果。 #include "stdio.h" main() { int a; scanf("%d",&a); printf("%d",____________); } 3.程序功能:判断两个数是否都为正数,输出结果。 #include "stdio.h" main() { int a,b; scanf("%d%d",&a,&b); printf("%d",________________); } 4.程序功能:判断两个数中至少有一个为正数,输出结果。 #include "stdio.h" main() { int a,b; scanf("%d%d",&a,&b); printf("%d",______________); } 5.程序功能:判断一个数是否不在 0 到 100 之间,输出结果。 #include "stdio.h" main() { int a; scanf("%d",&a); printf("%d",______________); } 五、编程题。 1. 编写程序,输入一个字符,判断该字符是否为大写字母(ASCII 码在'A'到'Z'之间),若是则输出 1,否则输出 0。 2.编写程序,输入三个整数,判断它们能否构成三角形(任意两边之和大于第三边),若是则输出 1,否则输出 0。 3.编写程序,输入一个年份,判断该年份是否为闰年(能被 4 整除但不能被 100 整除,或能被 400 整除),若是则输出 1,否则输出 0。 4.编写程序:判断一个数是否在区间 (-10, 10) 之外(不含端点) 5.编写程序:判断一个整数是否为 “非零偶数” 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第4章 第1、2节:关系运算符及其表达式、逻辑运算符及其表达式(练习)-《C语言程序设计》(电子工业出版社)上好课
1
第4章 第1、2节:关系运算符及其表达式、逻辑运算符及其表达式(练习)-《C语言程序设计》(电子工业出版社)上好课
2
第4章 第1、2节:关系运算符及其表达式、逻辑运算符及其表达式(练习)-《C语言程序设计》(电子工业出版社)上好课
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。