内容正文:
编写说明: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;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$