第10练 3.2 条件语句(if语句) 《编程语言基础——C语言》 (第5版) 一课一练 (湖南)

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

资源信息

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

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《编程语言基础——C语言》(第5版)《一课一练》第10练,内容是3.2 条件语句(if语句)。 《编程语言基础——C语言》(第5版)一课一练 第10练 3.2 条件语句(if语句) 一、单选题 1. C语言中if语句的一般形式为( ) A. if(表达式) 语句; B. if 表达式 then 语句; C. if[表达式] 语句; D. if{表达式} 语句; 【答案】A 【解析】C语言if语句的一般形式为 if(表达式) 语句; 条件表达式必须用圆括号括起来。 2. 设int a=5; 对于if(a=0) printf("Hello"); 以下说法正确的是( ) A. 输出Hello,因为a=0是赋值,结果为0(假) B. 输出Hello,因为a=0恒成立 C. 不输出任何内容,因为a=0的结果为0(假) D. 编译错误,因为if中不能使用赋值表达式 【答案】C 【解析】a=0是赋值表达式,值为0(假),因此if条件不成立,不执行printf。注意a=0不是判断相等,而是将0赋给a,表达式值就是0。 3. 以下关于if-else语句的说法,正确的是( ) A. if和else后面都不能跟复合语句 B. if和else后面都可以跟复合语句 C. if后面可以跟复合语句,else后面不可以 D. else后面可以跟复合语句,if后面不可以 【答案】B 【解析】if和else后面都可以跟一条简单语句,也可以跟用花括号{}括起来的复合语句(多条语句构成的语句块)。当需要执行多条语句时,必须用{}括起来。 4. 对于程序段:if(a>0) if(b>0) c=1; else c=2; 其中的else与哪个if配对?( ) A. 与第一个if配对 B. 无法确定,产生编译错误 C. 同时与两个if配对 D. 与第二个if配对 【答案】D 【解析】C语言规定,else总是与它上面最近的、尚未配对的if配对。此处else上面最近的是if(b>0),因此else与第二个if配对。 5. 有以下程序段:int x=5; if(x>10) x=1; else if(x>3) x=2; else x=3; 执行后x的值为( ) A. 1 B. 2 C. 3 D. 5 【答案】B 【解析】x=5:先判断x>10为假,跳过x=1;再判断x>3为真(5>3),执行x=2。因此最终x=2。 6. 设int a=3, b=5, max; 执行max=a>b ? a : b; 后,max的值为( ) A. 3 B. 0 C. 5 D. 8 【答案】C 【解析】条件表达式 表达式1?表达式2:表达式3:若表达式1为真,整体值为表达式2的值,否则为表达式3的值。a>b为假(3>5不成立),因此max取b的值5。 7. 条件运算符 ?: 的优先级和结合性描述正确的是( ) A. 优先级低于关系运算符,结合性为右结合 B. 优先级高于关系运算符,结合性为左结合 C. 优先级低于赋值运算符,结合性为左结合 D. 优先级高于算术运算符,结合性为右结合 【答案】A 【解析】条件运算符?:的优先级低于关系运算符和算术运算符,高于赋值运算符。结合性为自右向左(右结合性)。 二、程序运行结果题 8. 以下程序的运行结果是【··】。 #include <stdio.h> int main() { int a = 10, b = 20, c = 30; if (a > b) if (a > c) printf("A "); else printf("B "); else printf("C "); return 0; } 【答案】C 【解析】a=10, b=20, c=30。先判断a>b:10>20为假,直接执行外层else后的printf("C "),输出字母C。注意内层if-else不会被执行。 三、程序填空题 9. 以下程序的功能是输入三个整数,输出其中的最大值。请填空。 #include <stdio.h> int main() { int a, b, c, max; printf("请输入三个整数:"); scanf("%d%d%d", &a, &b, &c); if (【1】) max = a; else max = b; if (【2】) max = c; printf("最大值为:%d ", max); return 0; } 【答案】【1】a>b 【2】c>max 【解析】首先比较a和b,将较大的存入max,填a>b;再将max与c比较,如果c更大则更新max,填c>max。该程序先找出前两个数的最大值,再与第三个数比较。 四、阅读程序改错题 10. 阅读以下程序,该程序的功能是输入两个整数,输出其中较大的数。程序中有两处错误,请指出错误所在行号并修改正确,不许增删行,在原行上修改。 L1 #include <stdio.h> L2 int main() L3 { L4 int a, b; L5 printf("请输入两个整数:"); L6 scanf("%d%d", &a, &b); L7 if(a < b) L8 printf("较大值为:%d ", a); L9 else L10 printf("较大值为:%d ", b); L11 return 0; L12 } 【答案】【1】L7: if(a < b) → 修改为 if(a > b) 【2】L8: printf → 修改为 printf(函数名拼写错误) 【解析】第一处:L7条件a<b写反了,当a<b时输出a(较小值),应改为a>b才能输出较大值。第二处:L8的printf函数名拼写错误,多了字母t,C语言标准输出函数名是printf。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《编程语言基础——C语言》(第5版)《一课一练》第10练,内容是3.2 条件语句(if语句)。 《编程语言基础——C语言》(第5版)一课一练 第10练 3.2 条件语句(if语句) 一、单选题 1. C语言中if语句的一般形式为( ) A. if(表达式) 语句; B. if 表达式 then 语句; C. if[表达式] 语句; D. if{表达式} 语句; 2. 设int a=5; 对于if(a=0) printf("Hello"); 以下说法正确的是( ) A. 输出Hello,因为a=0是赋值,结果为0(假) B. 输出Hello,因为a=0恒成立 C. 不输出任何内容,因为a=0的结果为0(假) D. 编译错误,因为if中不能使用赋值表达式 3. 以下关于if-else语句的说法,正确的是( ) A. if和else后面都不能跟复合语句 B. if和else后面都可以跟复合语句 C. if后面可以跟复合语句,else后面不可以 D. else后面可以跟复合语句,if后面不可以 4. 对于程序段:if(a>0) if(b>0) c=1; else c=2; 其中的else与哪个if配对?( ) A. 与第一个if配对 B. 无法确定,产生编译错误 C. 同时与两个if配对 D. 与第二个if配对 5. 有以下程序段:int x=5; if(x>10) x=1; else if(x>3) x=2; else x=3; 执行后x的值为( ) A. 1 B. 2 C. 3 D. 5 6. 设int a=3, b=5, max; 执行max=a>b ? a : b; 后,max的值为( ) A. 3 B. 0 C. 5 D. 8 7. 条件运算符 ?: 的优先级和结合性描述正确的是( ) A. 优先级低于关系运算符,结合性为右结合 B. 优先级高于关系运算符,结合性为左结合 C. 优先级低于赋值运算符,结合性为左结合 D. 优先级高于算术运算符,结合性为右结合 二、程序运行结果题 8. 以下程序的运行结果是【··】。 #include <stdio.h> int main() { int a = 10, b = 20, c = 30; if (a > b) if (a > c) printf("A "); else printf("B "); else printf("C "); return 0; } 三、程序填空题 9. 以下程序的功能是输入三个整数,输出其中的最大值。请填空。 #include <stdio.h> int main() { int a, b, c, max; printf("请输入三个整数:"); scanf("%d%d%d", &a, &b, &c); if (【1】) max = a; else max = b; if (【2】) max = c; printf("最大值为:%d ", max); return 0; } 四、阅读程序改错题 10. 阅读以下程序,该程序的功能是输入两个整数,输出其中较大的数。程序中有两处错误,请指出错误所在行号并修改正确,不许增删行,在原行上修改。 L1 #include <stdio.h> L2 int main() L3 { L4 int a, b; L5 printf("请输入两个整数:"); L6 scanf("%d%d", &a, &b); L7 if(a < b) L8 printf("较大值为:%d ", a); L9 else L10 printf("较大值为:%d ", b); L11 return 0; L12 } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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