C语言程序设计模拟试卷及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学类专业《C语言程序设计》模拟考试试卷
(满分100分)
一、单项选择题(本大题共30小题,每小题2分,共60分)
1、下列选项中,合法的C语言标识符是()。
A)my_name B)$234 C)my name D)23b
2、以下程序的输出结果是()。
void main()
{
int x,y;
float z;
x=2; y=10;
z=x/y;
printf("%f",z);
}
A)0.200000 B)0.2 C)0.000000 D)0
3、C语言规定,简单变量做实参时,它与对应形参之间的数据传递是()。
A)地址传递 B)只能把实参的值单向传递给形参
C)由用户指定传递方式 D)由实参传给形参,再由形参传回给实参4、有以下程序段
int m=0,n=0; char c;
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
程序输出结果是:1,X,2。则从键盘上可能的输入是()。
A)1X2<回车> B)1 X 2<回车>
C)1,X,2<回车> D)1<回车>X<回车>2<回车>
5、如果要对a,b,c三个变量赋予同一个初值5,如下语句错误的是()。A)int a,b,c; a=b=c=5; B)int a=5,b=5,c=5;
C)int a=5;b=5;c=5; D)int a=5,b=a,c=b;
6、设变量n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。
A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0
C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.0
7、以下程序段的功能是计算一个整数的各位数字之和,请选择填空。
void main()
{ int n,m=0;
scanf("%d",&n);
for( ;n!=0; )
{ ();
n/=10;
}
printf("%d\n",m);
}
A)m+=n%10 B)m=n%10 C)m+=n D)m=n/10
8、设char str1[10]= "ABCDE",str2[10]="XYZ";,则执行语句
printf("%d",strlen(strcpy(str1,str2)));后的输出结果是()。
A)3 B)5 C)8 D)10
9、以下程序的输出结果是()。
#include
void main()
{
int top=5;
int tmp=0;
do
{
tmp*=top;
}while(--top);
printf("%d,%d\n",top,tmp);
}
A)0,120 B)1,120 C)0,0 D)1,0
10、假设二维数组a定义为float a[3][4],下列对数组第二行、第二列元素引用方法中,错误的为()。
A)*(a[0]+5) B)a[2][2] C)a[1][1] D)*(a[1]+1)
11、在C语言中,凡不加类型说明的函数,自动()。
A)按无类型void处理 B)按整型int处理
C)按字符型char处理 D)按浮点型float处理
12、以下程序执行后sum的值是()。
void main()
{
int i,sum;
for(i=0;i<5;i++)
sum+=i;
printf("%d\n",sum);
}
A)0 B)10 C)15 D)不确定
13、若变量都已正确定义,则以下程序段的输出是()。
a=10;b=50;c=30;
if(a>b) a=b,
b=c;c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
A)a=10 b=30 c=10 B)a=10 b=50 c=10
C)a=50 b=30 c=10 D)a=50 b=30 c=50
14、如下程序段的输出结果是()。
void kk(int a,int b)
{
a=a*b;
printf("%d,%d,",a,b);
}
main()
{
int a=5,b=6;
kk(a,++b);
printf("%d,%d",a,b);
}
A)30,6,30,6 B)35,6,35,6 C)30,7,5,7 D)35,7,5,7 15、以下程序的执行结果是()。
#include
int func(int a,int b)
{
int c;
c=a+b;
return c;
}
void main()
{
int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);
printf("%d\n",r);
}
A)20 B)21 C)22 D)31
16、以下程序的输出结果正确的是()。
int f(int a,int *b)
{
if(a>*b) *b=a;
return *b;
}
void main()
{
int a=9; int b=6;
int c=f(a,&b);
printf("%d,%d,%d",a,b,c);
}
A)9,6,9 B)9,9,6 C)9,6,6 D)9,9,9