《C语言程序设计》(三)分支程序设计-知识点训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第8卷

2025-09-03
| 2份
| 22页
| 94人阅读
| 0人下载

内容正文:

编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第8卷,是知识点训练卷。按“C语言程序设计”考试纲要(三)分支程序设计的三点知识点要求编写,其三点要求是: 1.掌握关系运算与逻辑运算2.掌握if语句的三种格式及编程3.理解switch语句及编程。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》 第8卷 《C语言程序设计》 (三)分支程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.当A为奇数时表达式的值为真,否则为假,不能满足此要求的表达式是( ) A. A%2==1 B. !(A%2==0) C. !(A%2) D. A%2 2.已有定义:int a=5,b=6,c=3;,以下语句中执行结果与其他3个不同的是( ) A. if(a>b) c=a,a=b,b=c; B. if(a>b){c=a,a=b,b=c;} C. if(a>b) c=a;a=b;b=c; D. if(a>b){c=a;a=b;b=c;} 3.以下关于关系运算和逻辑运算优先级的描述,正确的是( ) A. 逻辑非(!)运算符优先级低于关系运算符 B. 逻辑与(&&)运算符优先级高于算术运算符 C. 关系运算符优先级低于算术运算符且高于赋值运算符 D. 逻辑或(||)运算符优先级高于关系运算符 4.若有以下定义语句:int a,b;double c;,则下列选项中正确的是( ) A.switch(c%3) {case 0:a++;break;case 1:b++;break;default:a++;b++;} B.switch((int)c/9.0) {case 0:a++;break;case 1:b++;break;default:a++;b++;} C.switch((int)c%5) {case 0:a++;break;case 1:b++;break;default:a++;b++;} D.switch((int)(c)%5) {case 0.0:a++;break;case 1.0:b++;break;default:a++;b++;} 5.若有以下代码: int x = 5; if (x > 3) { if (x < 7) printf("在 3 到 7 之间"); } else printf("不在 3 到 7 之间"); 其输出结果是( ) A. 在 3 到 7 之间 B. 不在 3 到 7 之间 C. 在 3 到 7 之间 不在 3 到 7 之间 D. 无输出 6.以下代码段中,若 x 为 10,y 为 20,输出结果是( ) if (x > y) { if (x % 2 == 0) { printf("x 大于 y 且为偶数"); } } else { printf("x 不大于 y"); } A. x 大于 y 且为偶数 B. x 不大于 y C. x 大于 y 且为偶数 x 不大于 y D. 无输出 7.下面的代码旨在判断变量 n 是否在 1 - 100 这个区间内(包含 1 和 100),若在则输出 “有效范围”,否则输出 “无效范围”,横线处应填入的代码是( ) #include <stdio.h> int main() { int n; scanf("%d", &n); if (__________) printf("有效范围"); else printf("无效范围"); return 0; } A. n >= 1 && n <= 100 B. n > 1 && n < 100 C. n >= 1 || n <= 100 D. n > 1 || n < 100 8. 若要根据变量 day 的值输出对应的星期信息,以下 switch 语句正确的是( ) A. switch (day) { case 1: printf("星期一"); case 2: printf("星期二"); case 3: printf("星期三"); case 4: printf("星期四"); case 5: printf("星期五"); case 6: printf("星期六"); case 7: printf("星期日"); } B. switch (day) { case 1: printf("星期一"); break; case 2: printf("星期二"); break; case 3: printf("星期三"); break; case 4: printf("星期四"); break; case 5: printf("星期五"); break; case 6: printf("星期六"); break; case 7: printf("星期日"); break; } C. switch (day) { case 1: printf("星期一"); continue; case 2: printf("星期二"); continue; case 3: printf("星期三"); continue; case 4: printf("星期四"); continue; case 5: printf("星期五"); continue; case 6: printf("星期六"); continue; case 7: printf("星期日"); continue; } D. switch (day) { case 1: printf("星期一"); return; case 2: printf("星期二"); return; case 3: printf("星期三"); return; case 4: printf("星期四"); return; case 5: printf("星期五"); return; case 6: printf("星期六"); return; case 7: printf("星期日"); return; } 9. 以下关于 switch 语句和 if - else if - else 语句的说法,错误的是( ) A. switch 语句更适合处理多分支的等值判断 B. if - else if - else 语句可以处理范围判断,switch 语句一般不能 C. switch 语句的执行效率一定比 if - else if - else 语句高 D. switch 语句和 if - else if - else 语句都可以实现多分支选择结构 10. 以下程序段中,与语句:m=x>y?(y>z?1:0):0;功能相同的是( ) A.if((x>y)&&(y>z)) m=1; else m=0; B.if((x>y)||(y>z)) m=1; else m=0; C.if(x<=y) m=0; else if(y<=z) m=1; D.if(x>y) m=1; else if(y>z) m=1; else m=0; 二、判断题(本大题共10小题,每小题2分,共20分) 1.已有定义:int a=1,b=2,c=3,d=4;,则条件表达式:a>b?a:c<d?c:d的值为3。( ) 2.逻辑运算符 “&&” 和 “||” 都是双目运算符,且逻辑运算符的结合方向都是从左向右。。( ) 3.设a,b,c均为int型变量,且:a=1,b=4,c=3,则表达式:!(a<b)||!c&&c++;的值是1。( ) 4.设a=3,b=4,c=6;,则逻辑表达式:!(a+b)+c-1&&b+c*b+++b的值为1。( ) 5.已有定义:a=2,b=4,c=7;,则表达式:a+b>c&&(b=c)的值为1。( ) 6.在 if 语句中,如果 “语句” 部分要执行多条语句,必须使用花括号将这些语句括起来形成复合语句。( ) 7.以下代码在编译时会报错:( ) if (a = 0) printf("a 等于 0"); 8.switch 语句只能处理等值判断,不能处理范围判断。( ) 9.多个 case 分支可以共用同一个执行语句。( ) 10.在 switch 语句中,default 分支是必须的。( ) 三、填空题(本大题共5小题,每题2分,共10分) 1.设x,y,z,t均为int型变量且初始值均为-1,则执行语句:t=++x&&++y&&++z;后t的值为______。 2.已知int m = 3, n = 4;,表达式!(m < n) && (m + 1 == n)的值为______。 3.若x,y,z均为int型变量,则描述“x,y,z中有两个为负数”的表达式是________ 。 4. 若x,y,z均为int型变量,则描述“x或y中有一个小于z”的表达式是________ 。 5.若要在 switch 语句中跳出当前 switch 结构,应用 ________ 语句。 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> main() {int m=6,n=5,j=4,k=3; if(m>n>j) printf("%d ",k); else if((j-1>=k)==1) printf("%d ",k+1); else printf("%d ",k+2); getch();} 2.以下程序的运行结果是______。 #include <stdio.h> int main() { int score = 88; if (score >= 90) printf("优秀 "); else if (score >= 80) printf("良好 "); else if (score >= 60) printf("及格 "); else printf("不及格 "); return 0; } 3.以下程序的运行结果是______。 #include <stdio.h> int main() { char grade = 'B'; switch (grade) { case 'A': printf("优秀 "); break; case 'B': printf("良好 "); case 'C': printf("中等 "); default: printf("其他 "); } return 0; } 4.以下程序的运行结果是______。 #include <stdio.h> int main() { int x = 9; if (x > 5) { if (x < 15) { if (x % 3 == 0) printf("x 在 5 到 15 之间且能被 3 整除 "); } } return 0; } 5.执行以下程序时输入:5<回车>,则以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> main() {int x; scanf("%d",&x); if(x--<7) printf("%d ",x); else printf("%d ",x++); getch();} 五、编程题(本大题共5小题,每题5分,共25分) 1. 使用分支结构编写程序,从键盘输入一个不超过4位的正整数,求出它是几位数,并逆序输出各位数字。如原数值为5678,则输出8765。 2. 输入一个整数,判断它是奇数还是偶数,如果是奇数,再判断它是否能被 3 整除。 3. 输入一个100~10000范围内的整数,判断它是否是回文数。若输入的数据超出范围则输出对应的提示。注意:回文数是指一个数从左向右读和从右向左读是一样的,如121即为回文数。 4. 编写程序,在键盘上输入一个0~9的整数,并根据判定,当输入数字0、1、2时,输出“是数字0、数字1、数字2”的信息,当输入的是3~9时,则输出的是“其他数字”的信息。 5. 输入一个整数,根据其正负性和奇偶性输出相应信息,例如 “正偶数”、“负奇数” 等。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第8卷,是知识点训练卷。按“C语言程序设计”考试纲要(三)分支程序设计的三点知识点要求编写,其三点要求是: 1.掌握关系运算与逻辑运算2.掌握if语句的三种格式及编程3.理解switch语句及编程。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》 第8卷 《C语言程序设计》 (三)分支程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.当A为奇数时表达式的值为真,否则为假,不能满足此要求的表达式是( ) A. A%2==1 B. !(A%2==0) C. !(A%2) D. A%2 答案:C 2.已有定义:int a=5,b=6,c=3;,以下语句中执行结果与其他3个不同的是( ) A. if(a>b) c=a,a=b,b=c; B. if(a>b){c=a,a=b,b=c;} C. if(a>b) c=a;a=b;b=c; D. if(a>b){c=a;a=b;b=c;} 答案:C 3.以下关于关系运算和逻辑运算优先级的描述,正确的是( ) A. 逻辑非(!)运算符优先级低于关系运算符 B. 逻辑与(&&)运算符优先级高于算术运算符 C. 关系运算符优先级低于算术运算符且高于赋值运算符 D. 逻辑或(||)运算符优先级高于关系运算符 答案:C 4.若有以下定义语句:int a,b;double c;,则下列选项中正确的是( ) A.switch(c%3) {case 0:a++;break;case 1:b++;break;default:a++;b++;} B.switch((int)c/9.0) {case 0:a++;break;case 1:b++;break;default:a++;b++;} C.switch((int)c%5) {case 0:a++;break;case 1:b++;break;default:a++;b++;} D.switch((int)(c)%5) {case 0.0:a++;break;case 1.0:b++;break;default:a++;b++;} 答案:C 5.若有以下代码: int x = 5; if (x > 3) { if (x < 7) printf("在 3 到 7 之间"); } else printf("不在 3 到 7 之间"); 其输出结果是( ) A. 在 3 到 7 之间 B. 不在 3 到 7 之间 C. 在 3 到 7 之间 不在 3 到 7 之间 D. 无输出 答案:A 6.以下代码段中,若 x 为 10,y 为 20,输出结果是( ) if (x > y) { if (x % 2 == 0) { printf("x 大于 y 且为偶数"); } } else { printf("x 不大于 y"); } A. x 大于 y 且为偶数 B. x 不大于 y C. x 大于 y 且为偶数 x 不大于 y D. 无输出 答案:B 7.下面的代码旨在判断变量 n 是否在 1 - 100 这个区间内(包含 1 和 100),若在则输出 “有效范围”,否则输出 “无效范围”,横线处应填入的代码是( ) #include <stdio.h> int main() { int n; scanf("%d", &n); if (__________) printf("有效范围"); else printf("无效范围"); return 0; } A. n >= 1 && n <= 100 B. n > 1 && n < 100 C. n >= 1 || n <= 100 D. n > 1 || n < 100 答案:A 8. 若要根据变量 day 的值输出对应的星期信息,以下 switch 语句正确的是( ) A. switch (day) { case 1: printf("星期一"); case 2: printf("星期二"); case 3: printf("星期三"); case 4: printf("星期四"); case 5: printf("星期五"); case 6: printf("星期六"); case 7: printf("星期日"); } B. switch (day) { case 1: printf("星期一"); break; case 2: printf("星期二"); break; case 3: printf("星期三"); break; case 4: printf("星期四"); break; case 5: printf("星期五"); break; case 6: printf("星期六"); break; case 7: printf("星期日"); break; } C. switch (day) { case 1: printf("星期一"); continue; case 2: printf("星期二"); continue; case 3: printf("星期三"); continue; case 4: printf("星期四"); continue; case 5: printf("星期五"); continue; case 6: printf("星期六"); continue; case 7: printf("星期日"); continue; } D. switch (day) { case 1: printf("星期一"); return; case 2: printf("星期二"); return; case 3: printf("星期三"); return; case 4: printf("星期四"); return; case 5: printf("星期五"); return; case 6: printf("星期六"); return; case 7: printf("星期日"); return; } 答案:B 9. 以下关于 switch 语句和 if - else if - else 语句的说法,错误的是( ) A. switch 语句更适合处理多分支的等值判断 B. if - else if - else 语句可以处理范围判断,switch 语句一般不能 C. switch 语句的执行效率一定比 if - else if - else 语句高 D. switch 语句和 if - else if - else 语句都可以实现多分支选择结构 答案:C 10. 以下程序段中,与语句:m=x>y?(y>z?1:0):0;功能相同的是( ) A.if((x>y)&&(y>z)) m=1; else m=0; B.if((x>y)||(y>z)) m=1; else m=0; C.if(x<=y) m=0; else if(y<=z) m=1; D.if(x>y) m=1; else if(y>z) m=1; else m=0; 答案:A 二、判断题(本大题共10小题,每小题2分,共20分) 1.已有定义:int a=1,b=2,c=3,d=4;,则条件表达式:a>b?a:c<d?c:d的值为3。( ) 答案:正确 2.逻辑运算符 “&&” 和 “||” 都是双目运算符,且逻辑运算符的结合方向都是从左向右。。( ) 答案:错误 3.设a,b,c均为int型变量,且:a=1,b=4,c=3,则表达式:!(a<b)||!c&&c++;的值是1。( ) 答案:错误 4.设a=3,b=4,c=6;,则逻辑表达式:!(a+b)+c-1&&b+c*b+++b的值为1。( ) 答案:正确 5.已有定义:a=2,b=4,c=7;,则表达式:a+b>c&&(b=c)的值为1。( ) 答案:错误 6.在 if 语句中,如果 “语句” 部分要执行多条语句,必须使用花括号将这些语句括起来形成复合语句。( ) 答案:正确 7.以下代码在编译时会报错:( ) if (a = 0) printf("a 等于 0"); 答案:错误 8.switch 语句只能处理等值判断,不能处理范围判断。( ) 答案:正确 9.多个 case 分支可以共用同一个执行语句。( ) 答案:正确 10.在 switch 语句中,default 分支是必须的。( ) 答案:错误 三、填空题(本大题共5小题,每题2分,共10分) 1.设x,y,z,t均为int型变量且初始值均为-1,则执行语句:t=++x&&++y&&++z;后t的值为______。 答案:1 2.已知int m = 3, n = 4;,表达式!(m < n) && (m + 1 == n)的值为______。 答案:0 3.若x,y,z均为int型变量,则描述“x,y,z中有两个为负数”的表达式是________ 。 答案:((x<0)&&(y<0))||((x<0)&&(z<0))||((y<0)&&(z<0)) 4. 若x,y,z均为int型变量,则描述“x或y中有一个小于z”的表达式是________ 。 答案:x<z||y<z 5.若要在 switch 语句中跳出当前 switch 结构,应用 ________ 语句。 答案:break 四、读程序写结果题(本大题共5小题,每题5分,共25分) 1.以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> main() {int m=6,n=5,j=4,k=3; if(m>n>j) printf("%d ",k); else if((j-1>=k)==1) printf("%d ",k+1); else printf("%d ",k+2); getch();} 答案:4 2.以下程序的运行结果是______。 #include <stdio.h> int main() { int score = 88; if (score >= 90) printf("优秀 "); else if (score >= 80) printf("良好 "); else if (score >= 60) printf("及格 "); else printf("不及格 "); return 0; } 答案:良好 3.以下程序的运行结果是______。 #include <stdio.h> int main() { char grade = 'B'; switch (grade) { case 'A': printf("优秀 "); break; case 'B': printf("良好 "); case 'C': printf("中等 "); default: printf("其他 "); } return 0; } 答案: 良好 中等 其他 4.以下程序的运行结果是______。 #include <stdio.h> int main() { int x = 9; if (x > 5) { if (x < 15) { if (x % 3 == 0) printf("x 在 5 到 15 之间且能被 3 整除 "); } } return 0; } 答案:x 在 5 到 15 之间且能被 3 整除 5.执行以下程序时输入:5<回车>,则以下程序的运行结果是______。 #include <stdio.h> #include <conio.h> main() {int x; scanf("%d",&x); if(x--<7) printf("%d ",x); else printf("%d ",x++); getch();} 答案:4 五、编程题(本大题共5小题,每题5分,共25分) 1. 使用分支结构编写程序,从键盘输入一个不超过4位的正整数,求出它是几位数,并逆序输出各位数字。如原数值为5678,则输出8765。 #include <stdio.h> #include <conio.h> main() {int x; scanf("%d",&x); if(x<0||x>9999) printf("输入数据不正确! "); else if(x<10) printf("%d是一位数",x); else if(x<100) printf("%d是两位数,逆序为%d%d",x,x%10,x/10); else if(x<1000) printf("%d是三位数,逆序为%d%d%d",x,x%10,x/10%10,x/100); else if(x<10000) printf("%d是四位数,逆序为%d%d%d%d",x,x%10,x/10%10,x/100%10,x/1000); getch();} 2. 输入一个整数,判断它是奇数还是偶数,如果是奇数,再判断它是否能被 3 整除。 #include <stdio.h> int main() { int num; printf("请输入一个整数: "); scanf("%d", &num); if (num % 2 == 0) { printf("%d 是偶数。 ", num); } else { printf("%d 是奇数。 ", num); if (num % 3 == 0) { printf("%d 能被 3 整除。 ", num); } else { printf("%d 不能被 3 整除。 ", num); } } return 0; } 3. 输入一个100~10000范围内的整数,判断它是否是回文数。若输入的数据超出范围则输出对应的提示。注意:回文数是指一个数从左向右读和从右向左读是一样的,如121即为回文数。 #include <stdio.h> #include <conio.h> main() {int num, originalNum, reversedNum = 0, remainder,x,y; printf("请输入一个整数: "); scanf("%d", &num); if(num<100||num>10000) printf("error!输入数据超出要求范围!"); else if(num>100&&num<1000) {originalNum = num; reversedNum=num%10*100+(num/10%10)*10+num/100; if (originalNum == reversedNum) printf("%d 是回文数。 ", originalNum); else printf("%d 不是回文数。 ", originalNum); } else {originalNum = num; reversedNum=num%10*1000+(num/10%10)*100+num/100%10*10+num/1000; if (originalNum == reversedNum) printf("%d 是回文数。 ", originalNum); else printf("%d 不是回文数。 ", originalNum); } getch();} 4. 编写程序,在键盘上输入一个0~9的整数,并根据判定,当输入数字0、1、2时,输出“是数字0、数字1、数字2”的信息,当输入的是3~9时,则输出的是“其他数字”的信息。 #include <stdio.h> #include <conio.h> main() { int num; printf("please enter a number: "); scanf("%d",&num); if(num<0||num>9) printf("input error! "); else {switch(num) {case 0: printf("the number is 0. "); break; case 1: printf("the number is 1. "); break; case 2: printf("the number is 2. "); break; default: printf("it is other number. "); }} getch();} 5. 输入一个整数,根据其正负性和奇偶性输出相应信息,例如 “正偶数”、“负奇数” 等。 #include <stdio.h> int main() { int num; printf("请输入一个整数: "); scanf("%d", &num); if (num > 0) { if (num % 2 == 0) { printf("正偶数 "); } else { printf("正奇数 "); } } else if (num < 0) { if (num % 2 == 0) { printf("负偶数 "); } else { printf("负奇数 "); } } else { printf("零既不是正数也不是负数,是偶数。 "); } return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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