第9练 3.1 关系表达式和逻辑表达式 《编程语言基础——C语言》 (第5版) 一课一练 (湖南)

2026-06-25
| 2份
| 9页
| 4人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 作业-同步练
知识点 分支结构
使用场景 同步教学
学年 2026-2027
地区(省份) 湖南省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 106 KB
发布时间 2026-06-25
更新时间 2026-06-25
作者 xkw_068401954
品牌系列 上好课·一课一练
审核时间 2026-06-25
下载链接 https://m.zxxk.com/soft/58487473.html
价格 1.00储值(1储值=1元)
来源 学科网

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《编程语言基础——C语言》(第5版)《一课一练》第9练,内容是3.1 关系表达式和逻辑表达式。 《编程语言基础——C语言》(第5版)一课一练 第9练 3.1 关系表达式和逻辑表达式 一、单选题 1. C语言中,以下全部属于关系运算符的一组是( ) A. &&、||、! B. <、>=、== C. +、-、* D. =、+=、-= 2. 在C语言中,关系表达式5>3的值是( ) A. 5 B. 3 C. 1 D. 0 3. C语言中三个逻辑运算符!、&&、||的优先级从高到低排列正确的是( ) A. ! > && > || B. || > && > ! C. && > || > ! D. ! > || > && 4. 设a=2, b=3, c=5,表达式a+b==c || b<a的值是( ) A. 语法错误 B. 0 C. 不确定 D. 1 5. 在C语言的逻辑运算中,以下说法正确的是( ) A. 在逻辑运算中,非0的值被视为真,0被视为假 B. !运算符的优先级低于算术运算符 C. 逻辑运算符!的优先级低于关系运算符 D. 逻辑运算符不可以连接整型表达式 6. 表达式a!=b || x==y的等价形式是( ) A. (a!=b || x)==y B. (a!=b) || (x==y) C. a!=(b || x)==y D. a!= (b || x==y) 7. 设int a=3, b=0, c=-1; 则表达式a && b || c的值为( ) A. 3 B. 0 C. 1 D. -1 二、试题 8. 以下程序的运行结果是【··】。 #include <stdio.h> int main() { int a = 5, b = 3, c = 8, d = 2; int r1, r2, r3; r1 = (a > b) && (c > d); r2 = (a < b) || (c < d); r3 = !(a == b); printf("%d,%d,%d ", r1, r2, r3); return 0; } 三、试题 9. 以下程序的功能是输入一个整数,判断它是否在1到100之间(含边界),若是输出"YES",否则输出"NO"。请填空。 #include <stdio.h> int main() { int x; printf("请输入一个整数:"); scanf("%d", &x); if(【1】) printf("YES "); else printf("NO "); return 0; } 四、试题 10. 阅读以下程序,该程序的功能是输入一个年份,判断该年份是否为闰年。闰年的条件是能被4整除同时不能被100整除,也能被400整除。程序中有两处错误,请指出错误所在行号并修改正确,不许增删行,在原行上修改。 L1 #include <stdio.h> L2 int main() L3 { L4 int year; L5 printf("请输入年份:"); L6 scanf("%d", &year); L7 if(year%4=0 && year%100!=0 || year%400=0) L8 printf("%d是闰年 ", year); L9 else L10 printf("%d不是闰年 ", year); L11 return 0; L12 } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《编程语言基础——C语言》(第5版)《一课一练》第9练,内容是3.1 关系表达式和逻辑表达式。 《编程语言基础——C语言》(第5版)一课一练 第9练 3.1 关系表达式和逻辑表达式 一、单选题 1. C语言中,以下全部属于关系运算符的一组是( ) A. &&、||、! B. <、>=、== C. +、-、* D. =、+=、-= 【答案】B 【解析】C语言的关系运算符有6种:<、<=、>、>=、==、!=。B选项全部是关系运算符。A选项是逻辑运算符,C是算术运算符,D是赋值运算符。 2. 在C语言中,关系表达式5>3的值是( ) A. 5 B. 3 C. 1 D. 0 【答案】C 【解析】C语言中关系表达式的值:如果条件成立(真),值为1;如果条件不成立(假),值为0。5>3成立,因此值为1。 3. C语言中三个逻辑运算符!、&&、||的优先级从高到低排列正确的是( ) A. ! > && > || B. || > && > ! C. && > || > ! D. ! > || > && 【答案】A 【解析】逻辑运算符优先级:! 最高,&& 次之,|| 最低。 4. 设a=2, b=3, c=5,表达式a+b==c || b<a的值是( ) A. 语法错误 B. 0 C. 不确定 D. 1 【答案】D 【解析】先计算算术:a+b=5。表达式变为 5==c || b<a → 5==5 || 3<2 → 1 || 0 = 1。算术运算符优先级高于关系运算符,关系运算符优先级高于逻辑运算符。 5. 在C语言的逻辑运算中,以下说法正确的是( ) A. 在逻辑运算中,非0的值被视为真,0被视为假 B. !运算符的优先级低于算术运算符 C. 逻辑运算符!的优先级低于关系运算符 D. 逻辑运算符不可以连接整型表达式 【答案】A 【解析】C语言规定逻辑运算中以非0为真、0为假。B错误,!的优先级高于算术运算符;C错误,!的优先级高于关系运算符;D错误,逻辑运算符可以连接任何类型的表达式。 6. 表达式a!=b || x==y的等价形式是( ) A. (a!=b || x)==y B. (a!=b) || (x==y) C. a!=(b || x)==y D. a!= (b || x==y) 【答案】B 【解析】关系运算符优先级高于 || 运算符,所以!=和==先计算,||最后计算。原表达式等价于(a!=b) || (x==y)。 7. 设int a=3, b=0, c=-1; 则表达式a && b || c的值为( ) A. 3 B. 0 C. 1 D. -1 【答案】C 【解析】a=3(非0,真),b=0(假),c=-1(非0,真)。先算a && b → 3 && 0 = 0(假);再算0 || c → 0 || -1 = 1(真)。逻辑表达式的结果为0与1两种,非原操作数的值。 二、试题 8. 以下程序的运行结果是【··】。 #include <stdio.h> int main() { int a = 5, b = 3, c = 8, d = 2; int r1, r2, r3; r1 = (a > b) && (c > d); r2 = (a < b) || (c < d); r3 = !(a == b); printf("%d,%d,%d ", r1, r2, r3); return 0; } 【答案】1,0,1 【解析】r1: (5>3)为1, (8>2)为1, 1&&1=1。r2: (5<3)为0, (8<2)为0, 0||0=0。r3: (5==3)为0, !0=1。输出"1,0,1"。 三、试题 9. 以下程序的功能是输入一个整数,判断它是否在1到100之间(含边界),若是输出"YES",否则输出"NO"。请填空。 #include <stdio.h> int main() { int x; printf("请输入一个整数:"); scanf("%d", &x); if(【1】) printf("YES "); else printf("NO "); return 0; } 【答案】【1】x>=1 && x<=100 【解析】判断x是否在[1,100]范围内,需要用&&连接两个关系表达式:x>=1(大于等于1)同时x<=100(小于等于100),填x>=1 && x<=100。 四、试题 10. 阅读以下程序,该程序的功能是输入一个年份,判断该年份是否为闰年。闰年的条件是能被4整除同时不能被100整除,也能被400整除。程序中有两处错误,请指出错误所在行号并修改正确,不许增删行,在原行上修改。 L1 #include <stdio.h> L2 int main() L3 { L4 int year; L5 printf("请输入年份:"); L6 scanf("%d", &year); L7 if(year%4=0 && year%100!=0 || year%400=0) L8 printf("%d是闰年 ", year); L9 else L10 printf("%d不是闰年 ", year); L11 return 0; L12 } 【答案】【1】L7: year%4=0 → 修改为 year%4==0 【2】L7: year%400=0 → 修改为 year%400==0 【解析】两处错误均为将关系运算符==误写为赋值运算符=。第一处 year%4=0 本意是判断year%4是否等于0,应使用==而非=;第二处 year%400=0 同理。赋值运算符=在if条件中会被视为赋值表达式的值(0),导致逻辑判断错误。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第9练 3.1 关系表达式和逻辑表达式 《编程语言基础——C语言》 (第5版) 一课一练 (湖南)
1
第9练 3.1 关系表达式和逻辑表达式 《编程语言基础——C语言》 (第5版) 一课一练 (湖南)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。