内容正文:
重庆市蜀都职业技术学校2024~2025学年度第二学期半期考试
《C语言程序设计基础》试卷
(命题人:张朔瑞;考试时间:90分钟 总分:100分 适用班级:24春计算机班)
注:1、答题前,务必将自己的班级、姓名、考号填写在相应的位置上。
2、请将答案写在相应题号的答题区域内作答;保持答题卷清洁。
3、超出答题区域书写的答案无效。
一、选择题(每小题3分,共30分)
题号
1
2
3
4
5
6
7
8
9
10
答案
1.C语言具备模块化,实现模块化的工具是( )
A.语句 B.块语句 C.函数 D.命令
2.一个完整的C语言源程序可以由( )个函数组成。
A.1 B.2 C.3 D.多
3.以下定义符号常量的命令行正确的是( )
A.# define X=3.5 B.# define X 3.5; C.# define X 3.5 D.define X3.5
4.字符串”
ab\t123”所占用的内存为( )
A.7 B.8 C.9 D.10
5.下列程序的输出结果是( )
main()
{ int a=7,b=5;
printf(“%d
”,b=b/a);
}
A.0 B.5 C.1 D.不确定
6.若K是整型变量,则以下程序段的输出结果是( )
k=8527;
printf(“|%d|”
,k);
A.输出格式不正确 B,输出为|008527| C.输出为|8527| D.输出为|-8527|
7.执行下列程序片段后,a,b,c的值分别为( )
int a=2,b=1,c=0;
b=a&&1;
c=a==!a;
b=a--;
A.2,1,0 B.1,2,2 C.1,1,1 D.1,2,0
8.以下程序的输出为( )
int a,b,c;
a=10;b=50;c=30;
if(a>b)
a=b,b=c;
c=a;
printf(“a=%d,b=%d,c=%d”,a,b,c);
A.a=10,b=50,c=10 B.a=10,b=30,c=10
C.a=50,b=30,c=10 D.a=50,b=30,c=50
9.以下程序的输出结果是( )
#include”stdio.h”
int main()
{ int a=20,x=4,y=9,m=-5,n=2;
if(x<y)
if(y!=9)
if(m>n) a=-1;
else a=5;
else if(m>0)
a=8;
else a=2;
printf(“%d”,a);
}
A.-1 B.5 C.8 D.2
10.执行以下程序后,k的值是( )
main()
{ int k=1,n=258;
do
{ k*=n%10;
n/=10;
}while(n);
}
A.15 B.80 C.40 D.10
二.判断题(每小题3分,共30分)
题号
1
2
3
4
5
6
7
8
9
10
答案
1.表达式x+1使变量x增加1( )
2.空程序行称为空语句( )
3.表达式a>b>c成立,则有a>b且b>c成立( )
4.else命令与它最近的if命令配对使用( )
5.else命令不能单独使用( )
6.一条控制命令可以控制多条语句( )
7.在C语言中,语句if(a=2)和语句if(a==2)是等价的( )
8.for命令中的所有表达式都可以省略( )
9.累加求和时,必须把存放累加和的变量赋初值0( )
10.在嵌套循环结构中,无论在哪层执行break命令,都可以结束整个循环( )
三.填空题(每个空3分,共30分)
1.下面程序的功能是判断个数是否为水仙花数,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身(例如:153=1*1*1+5*5*5+3*3*3.所以153是一个水仙花数)。如果是,则输出“yes" ,否则输出“no”。
#include“stdio.h”
int main()
{
int n;
_________________;
scanf("%d" ,&n);
d1=n%10;
d2=_____________;
d3=n/100;
if(_______________________________)
printf("yes")
else
printf("no") ;
}
22.输入一个两位数的整数,将该数的十位数字和个位数字交换,再输出交换后的整数。
#include”stdio.h”
int main()
{ int n,a,b,t;
printf(“请输入一个两位数:
”);
scanf(“%d”,&n);
a=n%10;
b=n/10;
_______;a=b;_______;
n=__________;
printf(“n=%d
”,n);
}
23.已知公式S=1+3+5+7+.........+99,计算该式前100的和。
#include”stdio.h”
int main()
{
int i=1,s;
__________;
while(i<=99)
{
________;
________;
}
printf(“s=%d”,n);
}
24. 按字母的排列顺序输入两个大写字母,计算这两个字母间共有多少个字母(包括这两个字母),比如输入A和D,则结果为4。
#inlcude”stdio.h”
int main()
{
char ch1,ch2;
printf(“请输入两个大写字母,中间用逗号隔开:”);
scanf(“%c,%c”,&ch1,&ch2);
printf(“这两个字母间字母的个数是:”);
printf(“%d”,_________________);
}
4、 读程序写结果(25-29题,每小题2分,共10分)
25. # include”stdio.h”
main( )
{ char c=‘5’;
if(9>=c>=1)
printf("yes");
else
printf("no'") ;
}
程序的运行结果是_______________________。
26.#include”stdio.h”
int main()
{ int a=5;
if(a++>5)
printf("a= %d",a);
else
printf("a= %d",++a);
}
程序的运行结果是_____________________。
27.#include”stdio.h”
int main()
{ int i=0,j=0,k=0,m;
for(m=0;m<4;m++)
switch(m)
{
case 0:i=m++;
case 1:j= m++;break;
case 2:k=m++;
default:m++;
}
printf(“ %d, %d, %d,%d” ,i,j,k,m);
}
程序的运行结果是________________________。
28.# include”stdio.h”
int main()
{
int X1,X2,X3,X4;
X1=X2=X3=X4=1;
switch(X1)
{
case 1:X1++ ,X2--;
case 2:X3++ ,X4--;
}
printf(“%d,%d”,X3,X4);
}
程序的运行结果是__________________________。
29. # include”stdio. h”
int main()
{
int x=5,y=0,z=5;
if(x>=y)
{
if(y<0)
z=0;
else if(y++)
z=1;
}
else
z=2;
printf(“z=%d
”,z);
}
程序的运行结果是_______________________________。
第2= *2-1
3
页,共2= *2
4
页 第2= *2
4
页,共2 =*2
4
页
第1 =*2-1
1
页,共1 = *2
2
页 第1= *2
2
页,共1= *2
2
页
学科网(北京)股份有限公司
$$