C程序设计模拟试题5答案文档格式.docx
《C程序设计模拟试题5答案文档格式.docx》由会员分享,可在线阅读,更多相关《C程序设计模拟试题5答案文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
a++)
{if(b==20)break;
if(b%3==1)
{b=3;
continue;
}b-=5;
A)7B)8C)9D)10
9以下程序段的输出结果是___C)_____。
intx=3;
do
{printf(“%3d”,x-=2);
while(!
(--x));
A)1B)30C)1-2D)死循环
10定义如下变量:
intn=10;
则下列循环的输出结果是____D)____。
while(n>
7)
{n--;
printf(“%d\n”,n);
A)10B)9C)10D)9
9898
8787
76
11两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是___D)_____。
{intx;
scanf(“%d”,&
x);
if(x>
5)printf(“%d”,x);
elseprintf(“%d\n”,x--);
A)7和5B)6和3C)7和4D)6和4
12执行以下程序后,y的值是________。
main()
{inta[]={2,4,6,8,10};
inty=1,x,*p;
p=&
a[1];
for(x=0;
x<
4;
x++)
y=*(p+x);
printf(“%d\n”,y);
A)17B)18C)19D)20
13下列程序执行后输出的结果是___33_____。
intd=1;
fun(intp)
{intd=5;
d=p;
printf(“%d”,d);
{inta=3;
fun(a);
d=a;
printf(“%d\n”,d);
A)84B)96C)94D)85
14C语言提供的合法的数据类型关键字是___B)_____。
A)DoubleB)shortC)integerD)Char
15在C语言中,合法的长整型常数是__A)______。
A)0LB)4962710C)0.054838743D)2.1869e10
16表达式:
10!
=9的值是____C)____。
A)trueB)非零值C)0D)1
17若有说明和语句:
inta=5;
a;
此处表达式a的值是__C)______。
A)7B)6C)5D)4
18在下列选项中,不正确的赋值语句是___A)_____。
A)t;
B)n1=(n2=(n3=0));
C)k=i==j;
D)a=bc=1;
19若有说明:
inti,j=7,*p=&
i;
则与i=j;
等价的语句是___B)_____。
A)i=*p;
B)*p=*&
j;
C)i=&
D)i=**p;
20不能把字符串:
Hello!
赋给数组b的语句是___B)_____。
A)charb[10]={'
H'
'
e'
l'
o'
!
'
};
B)charb[10];
b="
Hello!
"
;
C)charb[10];
strcpy(b,"
);
D)charb[10]="
21以下程序的输出结果是____B)____。
A)6B)6789C)'
6'
D)789
{chara[10]="
6789"
*p;
p=a;
printf(“%s\n”,p);
22以下程序的输出结果是____C)____。
A)20B)31C)3210D)210
{intn=4;
0){n--;
printf(“%d”,n);
23以下程序运行后,输出结果是___D_____。
A)84B)99C)95D)33
d=p;
{itna=3;
d=a;
24在下列选项中,没有构成死循环的程序值是____C)____。
A)inti=100;
while
(1)
{i=i%3;
if(i>
100)break;
B)for(;
C)intk=1000;
do{k;
}while(k>
1000);
D)ints=36;
while(s);
--s;
25阅读以下程序:
scanf("
%d"
&
if(x--<
5)printf("
x);
elseprintf("
x++);
程序运行后,如果从键盘上输人5,则输出结果是____B)____。
A)3B)4C)5D)6
26C语言标准库函数"
fgets(string,n,fp)"
的功能是____B)____。
A)从文件fp中读取长度为n的字符串存入指针string指向的内存
B)从文件fp中读取长度不超过n-1的字符串存入指针string指向的内存
C)从文件fp中读取n个字符串存入指针string指向的内存
D)从文件fp中读取不超过长度为n的字符串存入指针string指向的内存
27以下程序的输出结果是____A)____。
{charc='
z'
printf("
%c"
c-25);
A)aB)ZC)z-25D)y
28下面程序的输出是___D)_____。
main()
{
charx=040;
%d\n"
x=x<
<
1);
A)100B)160C)120D)64
29若有说明:
inti,j=2,*p=&
则能完成i=j赋值功能的语句是__B)______。
B)p*=*&
30以下定义语句中,错误的是____D)____。
A)inta[]={1,2};
B)char*a[3];
C)chars[10]="
test"
D)intn=5,a[n];
31以下程序的输出结果是___C)_____。
{inti,a[10];
for(i=9;
i>
=0;
i--)a[i]=10-i;
%d%d%d"
a[2],a[5],a[8]);
A)258B)741C)852D)369
32下面程序的输出是____D)____。
structcmplx{intx;
inty;
cnum[2]={1,3,2,7};
cnum[0].y/cnum[0].x*cnum[1].x);
A)0B)1C)3D)6
33以下程序的输出结果是__A)______。
{inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};
%d%d%d%d\n"
a[0][3],a[1][2],a[2][1],a[3][0]);
A)0650B)1470C)5430D)输出值不定
34以下选项中,不能正确赋值的是___A)_____。
A)chars1[10];
s1="
Ctest"
B)chars2[]={'
C'
'
t'
s'
C)chars3[20]="
D)char*s4="
Ctest\n"
35以下程序的输出结果是___D)____
{inta,b;
for(a=1,b=1;
a<
a++)
{if(b>
=10)break;
if(b%3==1){b+=3;
continue;
}
a);
A)101B)6C)5D)4
36有以下程序段_____A)___。
intk=0
while(k=1)k++;
while循环执行的次数是
A)无限次B)有语法错,不能执行
C)一次也不执行D)执行1次
37以下程序执行后sum的值是___C)_____。
min()
{inti,sum;
for(i=1;
i<
i++)sum+=i;
sum);
A)10B)6C)不确定D)0
38以下程序的输出结果是____C)____。
A)1,5,9,B)1,4,7,C)3,5,7,D)3,6,9,
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;
3;
i++)printf("
%d,"
x[i][2-i]);
39以下程序的输出结果是____A)____。
charcl='
c2='
0'
%c,%c,%d\n"
c1,c2,c1-c2);
A)6,0,6
B)因输出格式不合法,输出出错信息
C)6,0,7
D)6,0,5
40以下程序的输出结果是___D)_____。
{inta=1,b=2;
a=a+b;
b=a-b;
a=a-b;
%d,%d\n"
a,b);
A)1,2B)3,1C)3,2D)2,1
二、填空题(每空2分,共40分)
1.设intc=5和inta,a=2+(c+=c++,c+8,++c),则a=14。
2.为表示关系x>
=y>
=z,应使用C语言表达式x>
=y&
&
y>
=z。
3.以下程序输出的结果是104。
inta=-1,b=4,k;
k=!
((++a<
0)&
(b--<
0));
%d%d%d\n"
k,a,b);
4.假设对于同一优先级的算符,按从左到右的顺序进行运算,以下程序的输出结果为9。
#include<
stdio.h>
#defineSQR(x)x*x
inta,k=3;
a=++SQR(k+1);
5.下面程序段的输出是12。
inti,k=0,arr[4];
i++)
arr[i]=i;
k+=arr[i]+i;
k);
6以下程序运行后的输出结果是52。
{inti=10,j=0;
{j=j+i;
i--;
while(i>
2);
j);
7设有以下程序:
{intn1,n2;
n2);
while(n2!
=0)
{n1=n2%10;
n2=n2/10;
n1);
程序运行后,如果从键盘上输入1298;
则输出结果为1298。
8以下函数的功能是:
求x的3次方,请填空。
doublefun(doublex)
{inti;
doublez;
for(i=1,z=x;
i<
i++)z=z*x;
returnz;
9下面的程序是求1+2+…+10的值,请填空:
{intI,s=0;
for(I=1;
I<
=10;
I++)
s=s+I;
10下面的程序是求1*2*3*…10,请填空:
{inti,s=1;
i++)
s=s*i;
11下面的程序是求数组a中的最大值,请填空
{inta[5]={23,4,5,2,32},i,max;
max=a[0];
=4;
if(max<
a[i])max=a[i];
12下面程序的输出结果是13:
intabc(intz)
{returnz+10;
{intx=3,y;
y=abc(x);
printf(“%d”,y);
13下面程序的输出结果是23:
{intx=11,*p=&
x;
*p=23;
printf(“%d”,x);
14.下面程序把文件file1.dat中的内容复制到一个名为file2.dat新的文件中。
请填空。
FILE*fp1,*fp2;
{charch;
if((fp1=fopen("
file1.dat"
"
r"
)==NULL)
exit(0);
if((fp2=fopen("
file2.dat"
"
w"
)==NULL)
while(!
foef(fp1)){ch=fgetc(fp1);
fputc(ch,fp);
fclose(fp1);
fclose(fp2);
15.若有以下a数组,数组元素和它们的值如下所示:
数组元素:
a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]
元素中的值:
941282107513
(1)该数组中下标最小的元素名字是a[0];
(2)该数组的元素中,数值最小的元素的下标值是a[8](3)对该数组进行定义并赋以上初值的语句是
inta[10]={9,4,12,8,2,10,7,5,1,3};