内容正文:
编写说明:2026版江苏省《计算机类专业考纲百套卷》,依据江苏省计算机类专业综合理论考试大纲编写。本专辑共110份试卷两部分组成,第一部分是按考纲的考点要求编写的75份知识点训练卷,第二部分是针对5门课程的掌握要求,编写的25份常考题训练卷。第三部分是综合模拟卷,参考历年来计算机类专业理论考试真题试卷,编写的10份专业综合训练卷。
本试卷是2026版江苏省《计算机类专业考纲百套卷》的第18卷,是知识点训练卷。按“C语言”考试纲要五、基本语句,考试纲要六、选择结构程序设计两部分内容编写,具体知识点内容如下:
五、基本语句
1.掌握表达式语句,空语句,复合语句;
2.掌握输入输出函数。
六、选择结构程序设计
1.掌握if语句;
2.理解switch语句实现多分支选择;
3.理解选择结构的嵌套。
2026版江苏省《计算机类专业考纲百套卷》第18卷
《 C语言 》
基本语句、选择结构程序设计
知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、程序分析题。(每空2分,合计29空,共58分)
1. 阅读下列程序,请将有关问题的答案填写在题目中横线处相应位置。
(1)#include<stdio.h>
(2)#include<math.h>
(3)void main( )
(4){
(5)int x,y,z;
(6)printf(“请输入两个整数:
”);
(7)scanf(“%d%d”,&x,&y);
(8)z=abs(x-y);
(9)printf(“结果为:%d
”,z);
(10)}
上述程序中,主函数中定义了____①____个int型变量;变量x,y的输入在第____②____行;程序中的第_____③___行使用了数学函数进行计算,在程序中第_____④_____行对数学函数进行了文件包含命令处理。
2. 阅读下列程序,请将有关问题的答案填写在题目中横线处相应位置。
(1)#include<stdio.h>
(2)#include<math.h>
(3)void main( )
(4){
(5)double a=3,b=-20,c=-20,c=-10,delta,x1,x2;
(6)delta=b*b-4*a*c;
(7)x1=(-b+sqrt(delta))/(2*a);
(8)x2=(-b-sqrt(delta))/(2*a);
(9)printf(“x1=%7.2lf,x2=%7.2lf
”,x1,x2);
(10)}
上述程序中,主函数中定义了_____①_____个double型变量;在程序中被使用的数学函数是____②_____(使用英文书写);用于输出数据的语句在第_____③____行;x1和x2变量在输出时保留_____④___位小数。
3. 下列程序的功能是:已知华氏温度转换为摄氏温度的公式为“C=5/9(F-32)”,其中C为摄氏温度,F为华氏温度,请你阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
double f,c;
printf(“请输入华氏温度:”);
scanf(______①______);
c=______②______;
printf(“摄氏温度是:%7.2lf
”,c);
}
4. 下列程序的功能是:从键盘输入一个正整数,判断它是否为3和5的倍数,如果是,则输出yes,否则输出no。请你阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
int x;
printf(“请输入一个正整数:”);
________①________;
if(_______②_______)
printf(“yes”);
else
printf(“no”);
}
5. 下列程序的功能是:输入三角形的3条边长,求其面积。注意三角形的任意两边之和必须大于第3边,对于不合理的边长输入,要求给出错误提示。请你阅读下列程序,在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
#include<math.h>
void main( )
{
float a,b,c,p,s;
printf(“请输入三角形的3条边长:
”);
scanf(“%f%f%f”,&a,&b,&c);
if(___________①___________)
{p=_______②______;
s=_____③____(p*(p-a)*(p-b)*(p-c));
printf(“三角形的面积是%.2f
”,s);
}
else
printf(“a、b、c不能构成三角形
”);
}
6. 下列程序的功能是:从键盘输入一个字符,如果是小写字母,则将其转换成大写字母输出;如果是大写字母,则将其转换成小写字母输出;如果是其他字符,则原样输出。请你阅读下列程序,在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
char c;
printf(“请输入一个字符:”);
scanf(_______①______);
if(_______②_______)
printf(“%c
”,_____③_____);
else if(c>=’A’&&c<=’Z’);
printf(“%c
”,c+32);
else
printf(“%c
”,c);
}
7. 下列程序的功能是:从键盘输入3个整数到a,b,c三个变量中,将这3个数由小到大进行排序,使a中存放最小数,c中存放最大数,然后输出。请你阅读下列程序,在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
_________①_________;
printf(“请输入3个整数:”);
scanf(“%d%d%d”,&a,&b,&c);
if(___②____)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{_____________③____________ }
printf(“%d<=%d<=%d”,a,b,c);
}
8. 下列程序的功能是:输入一个3位整数,判断它是否为水仙花数。当输入数据不正确时,要求给出错误提示。说明:水仙花数是一个3位数,其各位数的立方之和等于该数本身,如 请你阅读下列程序,在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
int a,b,c,x;
printf(“请输入一个3位数:
”);
scanf(“%d”,&x);
if(________①______)
{
a=x/100;
b=_______②_______;
c=x%10;
if(______③_______)
printf(“%d是一个水仙花数
”,x);
else
printf(“%d不是一个水仙花数
”,x);
______④______
else
printf(“输入数据错误!
”,x);
9. 下列程序的功能是:已知银行整存整取存款不同期限的月息利率如下“0.215%(期限一年)、0.230%(期限两年)、0.245%(期限三年)、0.275(期限五年)、0.320%(期限八年),从键盘输入存款的本金和期限,计算到期时从银行得到的金额,计算结果保留两位小数,并且当输入的存款期限不是上述年限时输出错误提示信息。请你阅读下列程序,在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
________①________;
double money,rate,total;
printf(“请输入存款的本金和期限:
”);
scanf(“%lf%d”,&money,&year);
switch(year)
{
case 1:rate=0.00215;break;
case 2:rate=0.0023;break;
case 3:rate=0.00245;break;
case 5:rate=0.00275;break;
case 8:rate=0.0032;break;
________②_______ flag=0;
}
if(______③_____)
{
total=_______④_________;
printf(“金额=%.2lf
”,total);
}
}
三、阅读下列程序,请将运行结果填写在横线处相应位置。(本大题共14小题,每小题3分,共42分)
1. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int a=252;
printf("a=%o\ta=%#o
",a,a);
printf("a=%x\ta=%#x
",a,a);
}
2. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int k=2,m=5;
float s,x=1.2,y=4.5;
s=2/3+k* y/x+m/2;
printf("%4.2f
",s);
}
3. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d
",a,b);
}
4. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int a=5,b=0,c=0;
if(a=b+c)
printf("***
");
else
printf("$$$
");
}
5. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int a=1,b=3,c=5,d=4,x;
if(a<b)
if(c<d)
x=1;
else
if(a<c)
if(b<d)
x=2;
else x=3;
else x=6;
else x=7;
printf("%d
",x);
}
6. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int x=1,y,z ;
x*=3+2;
printf("%d\t",x);
x*=y=z=5;
printf("%d\t",x) ;
x=y==z;
printf("%d
",x);
}
7. 执行以下程序时从键盘输入:4,12<回车>,则运行结果是______________________。
#include <stdio.h>
void main( )
{
int x,y,sum,product;
printf("Enter x and y:");
scanf("%d,%d",&x,&y);
sum=x+y;
product=x*y;
if(sum>product)
printf("(x+y)>(x * y)");
else
printf("(x* y)>=(x+y)");
}
8. 执行以下程序时从键盘输入:2<回车>,则运行结果是______________________。
#include <stdio.h>
void main( )
{
char css;
printf("Enter 1 for 1st class post or 2 for 2nd post ");
scanf("%c", &css);
if(css=='l')
printf("1st class postage is 19p");
else
printf("2nd class postage is 14p");
}
9. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int x,y,z;
x = 1; y = 2; z = 3;
if(x>y)
if(x>z)
printf("%d",x);
else
printf("%d",y);
printf("%d
",z);
}
10. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
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);
}
11. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int k=8;
switch(k)
{
case 9: k+=1;
case 10: k+=1;
case 11: k+=1; break;
default: k+=1;
}
printf("%d
",k);
}
12. 执行以下程序时从键盘输入:6<回车>,则运行结果是______________________。
#include <stdio.h>
void main( )
{
int x;
scanf("%d",&x);
if(x++ > 5)
printf("%d",x);
else
printf("%d
",x--);
}
13. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
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);
}
14. 执行以下程序时从键盘输入:95<回车>,则运行结果是______________________。
#include <stdio.h>
void main( )
{
int t;char ch;
printf("input score,max as 100:
");
scanf("%d",&t);
switch(t/10)
{ case 10:
case 9: ch='A';break;
case 8: ch='B';break;
case 7: ch='C';break;
case 6: ch='D';break;
case 5: ch='E';
}
printf("Grade=%c
",ch);
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2026版江苏省《计算机类专业考纲百套卷》,依据江苏省计算机类专业综合理论考试大纲编写。本专辑共110份试卷两部分组成,第一部分是按考纲的考点要求编写的75份知识点训练卷,第二部分是针对5门课程的掌握要求,编写的25份常考题训练卷。第三部分是综合模拟卷,参考历年来计算机类专业理论考试真题试卷,编写的10份专业综合训练卷。
本试卷是2026版江苏省《计算机类专业考纲百套卷》的第18卷,是知识点训练卷。按“C语言”考试纲要五、基本语句,考试纲要六、选择结构程序设计两部分内容编写,具体知识点内容如下:
五、基本语句
1.掌握表达式语句,空语句,复合语句;
2.掌握输入输出函数。
六、选择结构程序设计
1.掌握if语句;
2.理解switch语句实现多分支选择;
3.理解选择结构的嵌套。
2026版江苏省《计算机类专业考纲百套卷》第18卷
《 C语言 》
基本语句、选择结构程序设计
知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、程序分析题。(每空2分,合计29空,共58分)
1. 阅读下列程序,请将有关问题的答案填写在题目中横线处相应位置。
(1)#include<stdio.h>
(2)#include<math.h>
(3)void main( )
(4){
(5)int x,y,z;
(6)printf(“请输入两个整数:
”);
(7)scanf(“%d%d”,&x,&y);
(8)z=abs(x-y);
(9)printf(“结果为:%d
”,z);
(10)}
上述程序中,主函数中定义了____①____个int型变量;变量x,y的输入在第____②____行;程序中的第_____③___行使用了数学函数进行计算,在程序中第_____④_____行对数学函数进行了文件包含命令处理。
【答案】①3 ②7 ③8 ④2
2. 阅读下列程序,请将有关问题的答案填写在题目中横线处相应位置。
(1)#include<stdio.h>
(2)#include<math.h>
(3)void main( )
(4){
(5)double a=3,b=-20,c=-20,c=-10,delta,x1,x2;
(6)delta=b*b-4*a*c;
(7)x1=(-b+sqrt(delta))/(2*a);
(8)x2=(-b-sqrt(delta))/(2*a);
(9)printf(“x1=%7.2lf,x2=%7.2lf
”,x1,x2);
(10)}
上述程序中,主函数中定义了_____①_____个double型变量;在程序中被使用的数学函数是____②_____(使用英文书写);用于输出数据的语句在第_____③____行;x1和x2变量在输出时保留_____④___位小数。
【答案】①7 ②sqrt ③9 ④2
3. 下列程序的功能是:已知华氏温度转换为摄氏温度的公式为“C=5/9(F-32)”,其中C为摄氏温度,F为华氏温度,请你阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
double f,c;
printf(“请输入华氏温度:”);
scanf(______①______);
c=______②______;
printf(“摄氏温度是:%7.2lf
”,c);
}
【答案】①“%f”,&f ②5.0/9*(f-32);或5/9.0*(f-32)
4. 下列程序的功能是:从键盘输入一个正整数,判断它是否为3和5的倍数,如果是,则输出yes,否则输出no。请你阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
int x;
printf(“请输入一个正整数:”);
________①________;
if(_______②_______)
printf(“yes”);
else
printf(“no”);
}
【答案】①scanf(“%d”,&x); ②x%3==0&&x%5==0
5. 下列程序的功能是:输入三角形的3条边长,求其面积。注意三角形的任意两边之和必须大于第3边,对于不合理的边长输入,要求给出错误提示。请你阅读下列程序,在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
#include<math.h>
void main( )
{
float a,b,c,p,s;
printf(“请输入三角形的3条边长:
”);
scanf(“%f%f%f”,&a,&b,&c);
if(___________①___________)
{p=_______②______;
s=_____③____(p*(p-a)*(p-b)*(p-c));
printf(“三角形的面积是%.2f
”,s);
}
else
printf(“a、b、c不能构成三角形
”);
}
【答案】①a+b>c&&a+c>b&&b+c>a ②(a+b+c)/2 ③sqrt
6. 下列程序的功能是:从键盘输入一个字符,如果是小写字母,则将其转换成大写字母输出;如果是大写字母,则将其转换成小写字母输出;如果是其他字符,则原样输出。请你阅读下列程序,在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
char c;
printf(“请输入一个字符:”);
scanf(_______①______);
if(_______②_______)
printf(“%c
”,_____③_____);
else if(c>=’A’&&c<=’Z’);
printf(“%c
”,c+32);
else
printf(“%c
”,c);
}
【答案】①”%c”,&c ②c>=’a’&&c<=’z’ ③c-32
7. 下列程序的功能是:从键盘输入3个整数到a,b,c三个变量中,将这3个数由小到大进行排序,使a中存放最小数,c中存放最大数,然后输出。请你阅读下列程序,在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
_________①_________;
printf(“请输入3个整数:”);
scanf(“%d%d%d”,&a,&b,&c);
if(___②____)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{_____________③____________ }
printf(“%d<=%d<=%d”,a,b,c);
}
【答案】①int a,b,c,t ②a>b ③t=b;b=c;c=t;
8. 下列程序的功能是:输入一个3位整数,判断它是否为水仙花数。当输入数据不正确时,要求给出错误提示。说明:水仙花数是一个3位数,其各位数的立方之和等于该数本身,如 请你阅读下列程序,在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
int a,b,c,x;
printf(“请输入一个3位数:
”);
scanf(“%d”,&x);
if(________①______)
{
a=x/100;
b=_______②_______;
c=x%10;
if(______③_______)
printf(“%d是一个水仙花数
”,x);
else
printf(“%d不是一个水仙花数
”,x);
______④______
else
printf(“输入数据错误!
”,x);
【答案】①x<1000&&x>=100 ②x/10%10 ③x==a*a*a+b*b*b+c*c*c ④ }
9. 下列程序的功能是:已知银行整存整取存款不同期限的月息利率如下“0.215%(期限一年)、0.230%(期限两年)、0.245%(期限三年)、0.275(期限五年)、0.320%(期限八年),从键盘输入存款的本金和期限,计算到期时从银行得到的金额,计算结果保留两位小数,并且当输入的存款期限不是上述年限时输出错误提示信息。请你阅读下列程序,在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
________①________;
double money,rate,total;
printf(“请输入存款的本金和期限:
”);
scanf(“%lf%d”,&money,&year);
switch(year)
{
case 1:rate=0.00215;break;
case 2:rate=0.0023;break;
case 3:rate=0.00245;break;
case 5:rate=0.00275;break;
case 8:rate=0.0032;break;
________②_______ flag=0;
}
if(______③_____)
{
total=_______④_________;
printf(“金额=%.2lf
”,total);
}
}
【答案】①int year,flag=1 ②default:printf(“输入期限不正确!
”);
③flag ④money+money*rate*12*year
三、阅读下列程序,请将运行结果填写在横线处相应位置。(本大题共14小题,每小题3分,共42分)
1. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int a=252;
printf("a=%o\ta=%#o
",a,a);
printf("a=%x\ta=%#x
",a,a);
}
【答案】
a=374 a=0374
a=fc a=0xfc
2. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int k=2,m=5;
float s,x=1.2,y=4.5;
s=2/3+k* y/x+m/2;
printf("%4.2f
",s);
}
【答案】9.50
3. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d
",a,b);
}
【答案】2,1
4. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int a=5,b=0,c=0;
if(a=b+c)
printf("***
");
else
printf("$$$
");
}
【答案】$$$
5. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int a=1,b=3,c=5,d=4,x;
if(a<b)
if(c<d)
x=1;
else
if(a<c)
if(b<d)
x=2;
else x=3;
else x=6;
else x=7;
printf("%d
",x);
}
【答案】2
6. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int x=1,y,z ;
x*=3+2;
printf("%d\t",x);
x*=y=z=5;
printf("%d\t",x) ;
x=y==z;
printf("%d
",x);
}
【答案】5 25 1
7. 执行以下程序时从键盘输入:4,12<回车>,则运行结果是______________________。
#include <stdio.h>
void main( )
{
int x,y,sum,product;
printf("Enter x and y:");
scanf("%d,%d",&x,&y);
sum=x+y;
product=x*y;
if(sum>product)
printf("(x+y)>(x * y)");
else
printf("(x* y)>=(x+y)");
}
【答案】(x*y)>=(x+y)
8. 执行以下程序时从键盘输入:2<回车>,则运行结果是______________________。
#include <stdio.h>
void main( )
{
char css;
printf("Enter 1 for 1st class post or 2 for 2nd post ");
scanf("%c", &css);
if(css=='l')
printf("1st class postage is 19p");
else
printf("2nd class postage is 14p");
}
【答案】2nd class postage is 14p
9. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int x,y,z;
x = 1; y = 2; z = 3;
if(x>y)
if(x>z)
printf("%d",x);
else
printf("%d",y);
printf("%d
",z);
}
【答案】3
10. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
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=2,b=1
11. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
int k=8;
switch(k)
{
case 9: k+=1;
case 10: k+=1;
case 11: k+=1; break;
default: k+=1;
}
printf("%d
",k);
}
【答案】9
12. 执行以下程序时从键盘输入:6<回车>,则运行结果是______________________。
#include <stdio.h>
void main( )
{
int x;
scanf("%d",&x);
if(x++ > 5)
printf("%d",x);
else
printf("%d
",x--);
}
【答案】7
13. 执行以下程序的运行结果是______________________。
#include <stdio.h>
void main( )
{
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=2,b=1
14. 执行以下程序时从键盘输入:95<回车>,则运行结果是______________________。
#include <stdio.h>
void main( )
{
int t;char ch;
printf("input score,max as 100:
");
scanf("%d",&t);
switch(t/10)
{ case 10:
case 9: ch='A';break;
case 8: ch='B';break;
case 7: ch='C';break;
case 6: ch='D';break;
case 5: ch='E';
}
printf("Grade=%c
",ch);
}
【答案】Grade=A
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$