第4卷 条件语句与多分支语句 《C语言程序设计知识》山东省(春季高考)《软件与应用技术类考纲百套卷》

2026-08-13
| 2份
| 15页
| 6人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 题集-专项训练
知识点 条件语句,多分支语句
使用场景 中职复习
学年 2027-2028
地区(省份) 山东省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 177 KB
发布时间 2026-08-13
更新时间 2026-08-13
作者 xy06893
品牌系列 学易金卷·考纲百套卷
审核时间 2026-08-13
下载链接 https://m.zxxk.com/soft/59181734.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。 本试卷是第4卷,为知识训练卷,按《C语言程序设计知识》中“条件语句与多分支语句”范围和要求编写。具体内容为:(2)掌握条件语句(if语句)和多分支语句(switch语句)的用法。 山东省春季高考统一考试 软件与应用技术类《考纲百套卷》 第4卷 C语言程序设计知识——条件语句与多分支语句 (考试时间:45分钟 满分:100分) 一、选择题(共20题,每题3分,共60分) 1.执行下列语句后,输出结果是( ) int x = 6; if (x > 0) printf("P"); else printf("N"); A.0 B.程序错误 C.N D.P 2.下列if语句书写正确的是(  ) A.if x > 0 printf("正数"); B.if (x > 0) printf("正数"); C.if [x > 0] printf("正数"); D.if (x > 0) then printf("正数"); 3.若a=3,b=5,执行if (a > b) max = a; else max = b;后,max的值是(  ) A.0 B.3 C.5 D.不能确定 4.下列程序段输出的字符是( ) int score = 82; if (score >= 90) printf("A"); else if (score >= 60) printf("B"); else printf("C"); A.B B.A C.C D.无输出 5.关于switch语句,下列说法正确的是(  ) A.case后的值可以是变量 B.switch后的表达式只能是浮点型 C.switch后的表达式可以是整型或字符型 D.每个case后必须写if 6.下列case标签写法合法的是(  ) A.case "A": B.case x: C.case 1.5: D.case 1 + 2: 7.执行下列程序后,输出结果是( ) int n = 2; switch (n) { case 1: printf("A"); break; case 2: printf("B"); case 3: printf("C"); break; default: printf("D"); } A.BCD B.BC C.B D.A 8.在switch语句中,break语句的主要作用是(  ) A.跳出当前switch语句 B.跳过当前case的条件判断 C.重新执行switch语句 D.结束整个程序 9.关于switch语句中的default,正确的说法是(  ) A.default只能出现两次 B.default可以省略 C.default必须写在第一个case前面 D.default后不能写语句 10.关于同一个switch语句中的case标签,下列说法正确的是(  ) A.case标签必须互不相同 B.case标签必须按从小到大排列 C.case标签可以重复 D.case标签只能使用字符常量 11.执行if (0) printf("Y"); else printf("N");后,输出结果是(  ) A.YN B.无输出 C.N D.Y 12.执行下列语句后,x的值和输出结果分别是( ) int x = 5; if (x = 0) printf("A"); else printf("B"); A.x为5,输出B B.x为5,输出A C.x为0,输出A D.x为0,输出B 13.下列语句用于判断x是否等于0,正确的是(  ) A.if (x equals 0) B.if (x == 0) C.if (x = 0) D.if (x := 0) 14.执行下列程序后,输出结果是( ) int x = 1; if (x > 0) if (x > 2) printf("A"); else printf("B"); else printf("C"); A.A B.无输出 C.C D.B 15.执行下列程序后,输出字符是( ) char ch = 'b'; switch (ch) { case 'a': printf("A"); break; case 'b': printf("B"); break; default: printf("C"); } A.B B.C C.A D.无输出 16.执行下列程序后,输出结果是( ) int n = 5; switch (n) { case 1: printf("A"); break; case 2: printf("B"); break; default: printf("D"); } A.B B.A C.D D.无输出 17.下列关于else if结构的说法正确的是(  ) A.所有条件都会执行 B.else if只能出现一次 C.else if不能与else同时使用 D.只要第一个条件成立,后面的分支不再判断 18.执行下列程序后,输出结果是( ) int n = 1; switch (n) { case 1: printf("1"); case 2: printf("2"); break; default: printf("0"); } A.1 B.2 C.12 D.120 19.下列switch语句中的case标签不合法的是(  ) A.case 0: B.case x > 0: C.case 'A': D.case 2 * 3: 20.若a=8,b=5,执行if (a > b && b > 0) printf("Y"); else printf("N");后,输出结果是(  ) A.程序错误 B.YN C.Y D.N 二、简答题(共2题,每题10分,共20分) 1.阅读程序,写出程序的输出结果。 #include <stdio.h> int main( ) { int x = 7; int y = 4; if (x > 5) { if (y > 5) printf("A"); else printf("B"); } else { printf("C"); } return 0; } 2.阅读程序,写出程序的输出结果。 #include <stdio.h> int main( ) { int n = 2; switch (n) { case 1: printf("A"); break; case 2: printf("B"); case 3: printf("C"); break; default: printf("D"); } return 0; } 三、案例分析题(共1题,共10分) 1.下面程序用于根据分数判断是否及格,但程序中有一处错误,请指出并改正。 #include <stdio.h> int main( ) { int score = 60; if (score >= 90) printf("优秀"); else if (score > 60) printf("及格"); else printf("不及格"); return 0; } 四、综合应用题(共1题,共10分) 1.编写程序:输入一个整数n,使用if-else结构判断n是正数、零还是负数,并输出“正数”“零”或“负数”。     原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。 本试卷是第4卷,为知识训练卷,按《C语言程序设计知识》中“条件语句与多分支语句”范围和要求编写。具体内容为:(2)掌握条件语句(if语句)和多分支语句(switch语句)的用法。 山东省春季高考统一考试 软件与应用技术类《考纲百套卷》 第4卷 C语言程序设计知识——条件语句与多分支语句 (考试时间:45分钟 满分:100分) 一、选择题(共20题,每题3分,共60分) 1.执行下列语句后,输出结果是( ) int x = 6; if (x > 0) printf("P"); else printf("N"); A.0 B.程序错误 C.N D.P 【答案】D 【解析】x的值为6,大于0,if条件成立,执行printf("P")。 2.下列if语句书写正确的是(  ) A.if x > 0 printf("正数"); B.if (x > 0) printf("正数"); C.if [x > 0] printf("正数"); D.if (x > 0) then printf("正数"); 【答案】B 【解析】C 语言 if 语句要求条件写在圆括号内,无 then 关键字。A 缺少括号;C 错误使用方括号;D 多余 then;只有 B 语法正确。 3.若a=3,b=5,执行if (a > b) max = a; else max = b;后,max的值是(  ) A.0 B.3 C.5 D.不能确定 【答案】C 【解析】a>b不成立,执行else后的赋值语句,因此max等于b,即5。 4.下列程序段输出的字符是( ) int score = 82; if (score >= 90) printf("A"); else if (score >= 60) printf("B"); else printf("C"); A.B B.A C.C D.无输出 【答案】A 【解析】82不满足score>=90,但满足score>=60,因此执行第二个分支,输出B。 5.关于switch语句,下列说法正确的是(  ) A.case后的值可以是变量 B.switch后的表达式只能是浮点型 C.switch后的表达式可以是整型或字符型 D.每个case后必须写if 【答案】C 【解析】switch表达式的结果应为整型或字符型等整数类型;case标签要求是整型常量表达式,不能使用变量。 6.下列case标签写法合法的是(  ) A.case "A": B.case x: C.case 1.5: D.case 1 + 2: 【答案】D 【解析】case后的标签必须是整型常量表达式,1+2可以在编译时确定为整数常量;浮点数、变量和字符串均不符合要求。 7.执行下列程序后,输出结果是( ) int n = 2; switch (n) { case 1: printf("A"); break; case 2: printf("B"); case 3: printf("C"); break; default: printf("D"); } A.BCD B.BC C.B D.A 【答案】B 【解析】n等于2,先执行case 2输出B。该分支没有break,继续执行case 3输出C,随后break退出switch。 8.在switch语句中,break语句的主要作用是(  ) A.跳出当前switch语句 B.跳过当前case的条件判断 C.重新执行switch语句 D.结束整个程序 【答案】A 【解析】switch中的break会立即结束当前switch结构,执行switch后面的语句,不会结束整个程序。 9.关于switch语句中的default,正确的说法是(  ) A.default只能出现两次 B.default可以省略 C.default必须写在第一个case前面 D.default后不能写语句 【答案】B 【解析】default用于所有case都不匹配时的处理,可以根据程序需要省略,并不要求固定写在某个位置。 10.关于同一个switch语句中的case标签,下列说法正确的是(  ) A.case标签必须互不相同 B.case标签必须按从小到大排列 C.case标签可以重复 D.case标签只能使用字符常量 【答案】A 【解析】同一switch中重复的case值会造成标签重复,编译器无法确定唯一入口,因此case标签必须互不相同。 11.执行if (0) printf("Y"); else printf("N");后,输出结果是(  ) A.YN B.无输出 C.N D.Y 【答案】C 【解析】在C语言中,条件值0表示假,非0表示真。if(0)条件不成立,所以执行else分支输出N。 12.执行下列语句后,x的值和输出结果分别是( ) int x = 5; if (x = 0) printf("A"); else printf("B"); A.x为5,输出B B.x为5,输出A C.x为0,输出A D.x为0,输出B 【答案】D 【解析】x=0是赋值表达式,执行后x变为0,表达式值为0,条件不成立,所以输出B。判断相等应使用==。 13.下列语句用于判断x是否等于0,正确的是(  ) A.if (x equals 0) B.if (x == 0) C.if (x = 0) D.if (x := 0) 【答案】B 【解析】C语言使用==进行相等比较,x==0才表示判断x是否等于0;单个=表示赋值。 14.执行下列程序后,输出结果是( ) int x = 1; if (x > 0) if (x > 2) printf("A"); else printf("B"); else printf("C"); A.A B.无输出 C.C D.B 【答案】D 【解析】x>0成立,进入内层if;x>2不成立,按就近原则执行内层else,输出B。 15.执行下列程序后,输出字符是( ) char ch = 'b'; switch (ch) { case 'a': printf("A"); break; case 'b': printf("B"); break; default: printf("C"); } A.B B.C C.A D.无输出 【答案】A 【解析】ch的值为字符'b',匹配case 'b',输出B后执行break退出switch。 16.执行下列程序后,输出结果是( ) int n = 5; switch (n) { case 1: printf("A"); break; case 2: printf("B"); break; default: printf("D"); } A.B B.A C.D D.无输出 【答案】C 【解析】n既不等于1也不等于2,没有匹配的case,执行default分支,输出D。 17.下列关于else if结构的说法正确的是(  ) A.所有条件都会执行 B.else if只能出现一次 C.else if不能与else同时使用 D.只要第一个条件成立,后面的分支不再判断 【答案】D 【解析】else if结构从前向后判断,遇到第一个成立的条件后执行对应语句,其余条件不再判断;末尾可以继续使用else。 18.执行下列程序后,输出结果是( ) int n = 1; switch (n) { case 1: printf("1"); case 2: printf("2"); break; default: printf("0"); } A.1 B.2 C.12 D.120 【答案】C 【解析】n等于1时从case 1开始输出1;由于没有break,继续执行case 2输出2,随后break退出,不执行default。 19.下列switch语句中的case标签不合法的是(  ) A.case 0: B.case x > 0: C.case 'A': D.case 2 * 3: 【答案】B 【解析】case标签必须是整型常量表达式。x>0含有变量x,不能在编译时确定,因此不能作为case标签。 20.若a=8,b=5,执行if (a > b && b > 0) printf("Y"); else printf("N");后,输出结果是(  ) A.程序错误 B.YN C.Y D.N 【答案】C 【解析】a>b和b>0都成立,逻辑与结果为真,执行if后的语句输出Y。 二、简答题(共2题,每题10分,共20分) 1.阅读程序,写出程序的输出结果。 #include <stdio.h> int main( ) { int x = 7; int y = 4; if (x > 5) { if (y > 5) printf("A"); else printf("B"); } else { printf("C"); } return 0; } 【答案】输出:B 【解析】x>5成立,进入外层if;y>5不成立,执行内层else语句,因此输出字符B。 2.阅读程序,写出程序的输出结果。 #include <stdio.h> int main( ) { int n = 2; switch (n) { case 1: printf("A"); break; case 2: printf("B"); case 3: printf("C"); break; default: printf("D"); } return 0; } 【答案】输出:BC 【解析】n等于2,执行case 2输出B。case 2后没有break,程序继续执行case 3输出C,随后break退出switch。 三、案例分析题(共1题,共10分) 1.下面程序用于根据分数判断是否及格,但程序中有一处错误,请指出并改正。 #include <stdio.h> int main( ) { int score = 60; if (score >= 90) printf("优秀"); else if (score > 60) printf("及格"); else printf("不及格"); return 0; } 【答案】将else if (score > 60)改为else if (score >= 60)。 【解析】题意要求分数达到60分即可及格,因此及格条件应包含60。原程序使用>60,会把score等于60的情况错误地判为不及格。 四、综合应用题(共1题,共10分) 1.编写程序:输入一个整数n,使用if-else结构判断n是正数、零还是负数,并输出“正数”“零”或“负数”。 【答案】 #include <stdio.h> int main( ) { int n; scanf("%d", &n); if (n > 0) printf("正数"); else if (n == 0) printf("零"); else printf("负数"); return 0; } 【解析】程序先判断n是否大于0;若不成立,再判断n是否等于0;两个条件都不成立时,n必为负数。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第4卷 条件语句与多分支语句 《C语言程序设计知识》山东省(春季高考)《软件与应用技术类考纲百套卷》
1
第4卷 条件语句与多分支语句 《C语言程序设计知识》山东省(春季高考)《软件与应用技术类考纲百套卷》
2
第4卷 条件语句与多分支语句 《C语言程序设计知识》山东省(春季高考)《软件与应用技术类考纲百套卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。