《C语言程序设计》分支程序设计-知识点训练 2026版山东省软件与应用技术类专业 考纲百套卷 第4卷

2025-07-08
| 2份
| 15页
| 119人阅读
| 0人下载

资源信息

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

内容正文:

编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。 本试卷是2026版《软件与应用技术考纲百套卷》的第4卷,按知识模块1 C语言程序设计知识,2.分支程序设计的两点范围要求编写。其两点要求是: (1)理解关系表达式和逻辑表达式。 (2)掌握条件语句(if语句)和多分支语句(switch语句)的用法。 2026版山东省《软件与应用技术考纲百套卷》 第4卷 知识模块1 C语言程序设计知识 2.分支程序设计 知识点训练卷 一、单项选择题(本大题共20小题,每题3分,共60分) 1. 设 `x`、`y` 和 `z` 都是 `int` 类型变量,且 `x=3`, `y=4`, `z=5`,则下面的表达式中,值为0的表达式为。( ) A. `x && y` B. `x <= y` C. `x || y + z && y - z` D. `!(x < y && !z || 1)` 2. 若有定义 float xtint a,b;,则下列四段代码中合法的一段是( ) A. switch(x) { case 0: printf(“**”); case l: printf(“++”);} B. switch(a) { case 0:printf(“**”); case l:printf(“++”);} C. switch(a) { case l.0:printf(“**”); case 2.0:printf(“++”);} D. switch(x) { case l:printf(“**”); case 2+3:printf(“++”);} 3. 下列程序的执行结果是( ) main() { int a=4,m=0; switch(a%2==0) { case 0:m++; case l:m++;break; case 2:m++;} printf(“%d”,m);} A.1 B.2 C.3 D.0 4. 与表达式 `"x > 10 && x - y != 10"` 等价的式子是。( ) A. `x > (10 && (x - (y != 10)))` B. `(x > 10) && ((x - y) != 10)` C. `x > ((10 && x) - (y != 10))` D. `((x > 10) && (x - y)) != 10` 5. switch 语句中每个case后应该是( ) A.常量 B.常量或常量表达式 C.变量 D.常量、变量均可 6. 以下关于 `switch` 语句和 `break` 语句的描述中正确的是。( ) A. 在 `switch` 语句中必须使用 `break` 语句 B. `break` 语句只能用于 `switch` 语句 C. 在 `switch` 语句中,可以根据需要使用或不使用 `break` 语句 D. `break` 语句是 `switch` 的一部分 7. 假定等级和分数有以下对应关系: 等级:A 分数:85-100 等级:B 分数:60-84 等级:C 分数:60以下 对于等级grade 输出相应的分数区间,能够完成该功能的程序段是( ) switch(grade){ case 'A':printf("85--100 "); case 'B’:printf("60--84 "); case 'C’:printf("<60 "); default:printf( "grade is etror! "); B.switch(grade){ case 'A':printf("85--100 ");break; case 'B':printf("60--84 "); case 'C’:printf("<60 "); default :printf( "grade is error! ");} switch(grade) case 'A’:printf("85--100 "):break; case 'B’:printf("60--84 ");breaks; case ’C’:printf("<60 "); default: printf("grade is error! ");} D.switch (grade){ case 'C':printf("<60 ");break; case 'B’:printf("60--84 ");break; default: printf("grade is error! ") ;break: case 'A':printf("85--100 ");} 8. 有如下程序,该程序的输出结果是( ) # include<stdio.h> main(){ int x=1,a=10,b=10; switch(x){ case 0:b++: case l:a++: case 2:a++;b++;) printf("%d",a);} A.10 B.11 C.12 D.13 9. 若执行以下程序段,输出结果是。( ) int x=1, a=0, b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++; b++; } printf("a=%d,b=%d ",a,b); A. a=2, b=1 B. a=1, b=1 C. a=1, b=0 D. a=2, b=2 10. 设int x=2,y=1,则表达式(!x||y--)的值是 ( ) A.0 B.1 C.2 D.-1 11. 下述关于 `if` 语句的描述中,错误的是。( ) A. `else` 总是与前面最近的,未配对的,且为非独立 `if` 语句的 `if` 关键字配对 B. 用于条件判断的表达式必须用小括号括起,其中小括号不能省略 C. 用于条件判断的表达式可以是任意的表达式 D. 用于条件判断的表达式只能是关系表达式或逻辑表达式 12. 已知 int x=(1,2,3,4);,变量x的值是( ) A.1 B.2 C.3 D.4 13.在C语言的if语句中,以下哪个条件表示“x小于10并且大于0”?( ) A. if (x < 10 && x > 0) B. if (x < 10 || x > 0) C. if (x > 0 && x < 10) D. if (x > 0 || x < 10) 14.以下不正确的if语句是( ) A.if(x<y); B.if(x!=y) scanf(“%d” ,&x) else scanf(“%d”,&y); C.if(x==y) x+=y; D.if(x<y) {x++;--y;} 15.下列叙述中正确的是( ). A.在switch 语句中必须使用 default B.break 语句必须与 switch 语句中的 case 配对使用 C.在 switch 语句中,不一定使用 break 语句 D.break 语句只能用于switch 语句 16.在C语言中的 if 语句中,用作判断的表达式为( ). A.逻辑表达式 B.关系表达式 C.条件表达式 D.任意表达式 17.下面哪个选项是switch语句的默认情况?( ) A. default B. case C. break D. Continue 18.以下关于运算符优先顺序的描述中正确的是( ). A.关系运算符<算术运算符<赋值运算符<逻辑与运算符 B.逻辑与运算符<关系运算符<算术运算符<赋值运算符 C.赋值运算符<逻辑与运算符<关系运算符<算术运算符 D.算术运算符<关系运算符<赋值运算符<逻辑与运算符 19.在switch语句中,每个case后面需要加上:( ). A. 分号 ; B. 冒号 : C. 逗号 , D. 斜杠 / 20.有以下程序,程序输出为 ( ) main() { int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(“%d,%d,%d,%d ",a,b,c,d);} A.0,1,2,0 B.0,0,0,3 C.1,1,2,0 D.编译有错 二、简答题(本大题共5小题,每题6分,共30分) 1. 简述 C 语言中 `goto` 语句的作用。 2. 简述 C 语言中 `if` 语句和 `switch` 语句的区别。 3. 简述 C 语言中 `if-else` 语句和 `switch` 语句的区别。 4. 简述 C 语言中 `break` 语句和 `continue` 语句的区别。 5. `switch` 语句的工作过程是怎样的。 三、编程题(本大题共1小题,共10分) 1.输入图书的定价和数量,计算购书金额并输出。其中,图书销售策略为:正常情况下按九折出售,超过十本按八五折出售,超过100本按八折出售。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。 本试卷是2026版《软件与应用技术考纲百套卷》的第4卷,按知识模块1 C语言程序设计知识,2.分支程序设计的两点范围要求编写。其两点要求是: (1)理解关系表达式和逻辑表达式。 (2)掌握条件语句(if语句)和多分支语句(switch语句)的用法。 2026版山东省《软件与应用技术考纲百套卷》 第4卷 知识模块1 C语言程序设计知识 2.分支程序设计 知识点训练卷 一、单项选择题(本大题共20小题,每题3分,共60分) 1. 设 `x`、`y` 和 `z` 都是 `int` 类型变量,且 `x=3`, `y=4`, `z=5`,则下面的表达式中,值为0的表达式为。( ) A. `x && y` B. `x <= y` C. `x || y + z && y - z` D. `!(x < y && !z || 1)` 【答案】D 2. 若有定义 float xtint a,b;,则下列四段代码中合法的一段是( ) A. switch(x) { case 0: printf(“**”); case l: printf(“++”);} B. switch(a) { case 0:printf(“**”); case l:printf(“++”);} C. switch(a) { case l.0:printf(“**”); case 2.0:printf(“++”);} D. switch(x) { case l:printf(“**”); case 2+3:printf(“++”);} 【答案】B 3. 下列程序的执行结果是( ) main() { int a=4,m=0; switch(a%2==0) { case 0:m++; case l:m++;break; case 2:m++;} printf(“%d”,m);} A.1 B.2 C.3 D.0 【答案】A 4. 与表达式 `"x > 10 && x - y != 10"` 等价的式子是。( ) A. `x > (10 && (x - (y != 10)))` B. `(x > 10) && ((x - y) != 10)` C. `x > ((10 && x) - (y != 10))` D. `((x > 10) && (x - y)) != 10` 【答案】B 5. switch 语句中每个case后应该是( ) A.常量 B.常量或常量表达式 C.变量 D.常量、变量均可 【答案】B 6. 以下关于 `switch` 语句和 `break` 语句的描述中正确的是。( ) A. 在 `switch` 语句中必须使用 `break` 语句 B. `break` 语句只能用于 `switch` 语句 C. 在 `switch` 语句中,可以根据需要使用或不使用 `break` 语句 D. `break` 语句是 `switch` 的一部分 【答案】C 7. 假定等级和分数有以下对应关系: 等级:A 分数:85-100 等级:B 分数:60-84 等级:C 分数:60以下 对于等级grade 输出相应的分数区间,能够完成该功能的程序段是( ) switch(grade){ case 'A':printf("85--100 "); case 'B’:printf("60--84 "); case 'C’:printf("<60 "); default:printf( "grade is etror! "); B.switch(grade){ case 'A':printf("85--100 ");break; case 'B':printf("60--84 "); case 'C’:printf("<60 "); default :printf( "grade is error! ");} switch(grade) case 'A’:printf("85--100 "):break; case 'B’:printf("60--84 ");breaks; case ’C’:printf("<60 "); default: printf("grade is error! ");} D.switch (grade){ case 'C':printf("<60 ");break; case 'B’:printf("60--84 ");break; default: printf("grade is error! ") ;break: case 'A':printf("85--100 ");} 【答案】D 8. 有如下程序,该程序的输出结果是( ) # include<stdio.h> main(){ int x=1,a=10,b=10; switch(x){ case 0:b++: case l:a++: case 2:a++;b++;) printf("%d",a);} A.10 B.11 C.12 D.13 【答案】C 9. 若执行以下程序段,输出结果是。( ) int x=1, a=0, b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++; b++; } printf("a=%d,b=%d ",a,b); A. a=2, b=1 B. a=1, b=1 C. a=1, b=0 D. a=2, b=2 【答案】A 10. 设int x=2,y=1,则表达式(!x||y--)的值是 ( ) A.0 B.1 C.2 D.-1 【答案】B 11. 下述关于 `if` 语句的描述中,错误的是。( ) A. `else` 总是与前面最近的,未配对的,且为非独立 `if` 语句的 `if` 关键字配对 B. 用于条件判断的表达式必须用小括号括起,其中小括号不能省略 C. 用于条件判断的表达式可以是任意的表达式 D. 用于条件判断的表达式只能是关系表达式或逻辑表达式 【答案】D 12. 已知 int x=(1,2,3,4);,变量x的值是( ) A.1 B.2 C.3 D.4 【答案】D 13.在C语言的if语句中,以下哪个条件表示“x小于10并且大于0”?( ) A. if (x < 10 && x > 0) B. if (x < 10 || x > 0) C. if (x > 0 && x < 10) D. if (x > 0 || x < 10) 【答案】A 14.以下不正确的if语句是( ) A.if(x<y); B.if(x!=y) scanf(“%d” ,&x) else scanf(“%d”,&y); C.if(x==y) x+=y; D.if(x<y) {x++;--y;} 【答案】B 15.下列叙述中正确的是( ). A.在switch 语句中必须使用 default B.break 语句必须与 switch 语句中的 case 配对使用 C.在 switch 语句中,不一定使用 break 语句 D.break 语句只能用于switch 语句 【答案】C 16.在C语言中的 if 语句中,用作判断的表达式为( ). A.逻辑表达式 B.关系表达式 C.条件表达式 D.任意表达式 【答案】D 17.下面哪个选项是switch语句的默认情况?( ) A. default B. case C. break D. Continue 【答案】A 18.以下关于运算符优先顺序的描述中正确的是( ). A.关系运算符<算术运算符<赋值运算符<逻辑与运算符 B.逻辑与运算符<关系运算符<算术运算符<赋值运算符 C.赋值运算符<逻辑与运算符<关系运算符<算术运算符 D.算术运算符<关系运算符<赋值运算符<逻辑与运算符 【答案】C 19.在switch语句中,每个case后面需要加上:( ). A. 分号 ; B. 冒号 : C. 逗号 , D. 斜杠 / 【答案】B 20.有以下程序,程序输出为 ( ) main() { int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(“%d,%d,%d,%d ",a,b,c,d);} A.0,1,2,0 B.0,0,0,3 C.1,1,2,0 D.编译有错 【答案】D 二、简答题(本大题共5小题,每题6分,共30分) 1. 简述 C 语言中 `goto` 语句的作用。 【答案】`goto` 语句用于无条件跳转到程序中的另一个标号处,通常用于循环和分支结构中。 2. 简述 C 语言中 `if` 语句和 `switch` 语句的区别。 【答案】`if` 语句用于判断单一的条件,而 `switch` 语句用于判断多个条件,通过 `case` 语句来匹配不同的条件。 3. 简述 C 语言中 `if-else` 语句和 `switch` 语句的区别。 【答案】`if-else` 语句适用于单一条件的判断,而 `switch` 语句适用于多个条件的判断,通过 `case` 语句来匹配不同的条件。 4. 简述 C 语言中 `break` 语句和 `continue` 语句的区别。 【答案】`break` 语句用于结束当前的 `switch` 或 `for`、`while`、`do` 循环,而 `continue` 语句用于跳过当前循环的剩余语句,直接进入下一次循环。 5. `switch` 语句的工作过程是怎样的。 【答案】首先对 `switch` 语句括号中的“表达式”进行计算。然后依次与各case中的“常量表达式”的值进行比较,一旦匹配成功则马上执行相应的“语句部分”,若遇到`break` 语句,则结束 `switch` 语句。若均不匹配,则执行’default’,(如果有)后面的语句。 三、编程题(本大题共1小题,共10分) 1.输入图书的定价和数量,计算购书金额并输出。其中,图书销售策略为:正常情况下按九折出售,超过十本按八五折出售,超过100本按八折出售。 【答案】 #include <stdio.h> main() { float price, r; //r为折扣 int num; printf("请输入定价和数量:"); scanf("%f %d", &price,&num); if (num <= 10) r = 0.9; else if (num <= 100) r = 0.85; else r = 0.8; printf("购书金额为:%.2f", num * price * r); } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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