C程序设计模拟试题5答案.docx
- 文档编号:6066324
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:13
- 大小:19.09KB
C程序设计模拟试题5答案.docx
《C程序设计模拟试题5答案.docx》由会员分享,可在线阅读,更多相关《C程序设计模拟试题5答案.docx(13页珍藏版)》请在冰豆网上搜索。
C程序设计模拟试题5答案
C程序设计模拟试题5
《C程序设计》模拟试题五
一、单项选择题(每小题1.5分,共60分)。
1C语言中最简单的数据类型包括___B)_____。
A)整型、实型、逻辑型B)整型、实型、字符型
C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型
2C语言中,运算对象必须是整型数的运算符是___A)_____。
A)%B),C)%和,D)**
3在C语言中,能代表逻辑值"真"的是___D)_____。
A)trueB)大于0的数C)非0整数D)非0的数
4下述对C语言字符数组的描术中错误的是____C)____。
A)字符数组可以存放字符串
B)字符数组中的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
5设有如下定义:
intx=10,y=3,z;
则语句
printf(“%d\n”,z=(x%y,x/y));
的输出结果是____D)____。
A)1B)0
C)4D)3
6以下程序的输出结果是___D)_____。
main()
{intx=10,y=10;
printf(“%d%d\n”,x--,--y);
}
A)1010B)99
C)910D)109
7以下说法中正确的是___C)_____。
A)C语言程序总是从第一个的函数开始执行
B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
8执行下面的程序后,a的值为________。
main()
{inta,b;
for(a=1,b=1;a<=100;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)_____。
main()
{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);
}
main()
{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=&j;D)i=**p;
20不能把字符串:
Hello!
赋给数组b的语句是___B)_____。
A)charb[10]={'H','e','l','l','o','!
'};
B)charb[10];b="Hello!
";
C)charb[10];strcpy(b,"Hello!
");
D)charb[10]="Hello!
"
21以下程序的输出结果是____B)____。
A)6B)6789C)'6'D)789
main()
{chara[10]="6789",*p;
p=a;
printf(“%s\n”,p);
22以下程序的输出结果是____C)____。
A)20B)31C)3210D)210
main()
{intn=4;
while(n>0){n--;printf(“%d”,n);}
}
23以下程序运行后,输出结果是___D_____。
A)84B)99C)95D)33
intd=1;
fun(intp)
{intd=5;
d=p;
printf(“%d”,d);
}
main()
{itna=3;
fun(a);
d=a;
printf(“%d\n”,d);
}
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阅读以下程序:
main()
{intx;
scanf("%d",&x);
if(x--<5)printf("%d",x);
elseprintf("%d",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)____。
main()
{charc='z';
printf("%c",c-25);
}
A)aB)ZC)z-25D)y
28下面程序的输出是___D)_____。
main()
{
charx=040;
printf("%d\n",x=x<<1);
}
A)100B)160C)120D)64
29若有说明:
inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是__B)______。
A)i=*p;B)p*=*&j;C)i=&j;D)i=**p;
30以下定义语句中,错误的是____D)____。
A)inta[]={1,2};B)char*a[3];
C)chars[10]="test";D)intn=5,a[n];
31以下程序的输出结果是___C)_____。
main()
{inti,a[10];
for(i=9;i>=0;i--)a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A)258B)741C)852D)369
32下面程序的输出是____D)____。
main()
{
structcmplx{intx;inty;}
cnum[2]={1,3,2,7};
printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);
}
A)0B)1C)3D)6
33以下程序的输出结果是__A)______。
main()
{inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%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','e','s','t'};
C)chars3[20]="Ctest";
D)char*s4="Ctest\n"
35以下程序的输出结果是___D)____
main()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b>=10)break;
if(b%3==1){b+=3;continue;}
}
printf("%d\n",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<4;i++)sum+=i;
printf("%d\n",sum);
}
A)10B)6C)不确定D)0
38以下程序的输出结果是____C)____。
A)1,5,9,B)1,4,7,C)3,5,7,D)3,6,9,
main()
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)printf("%d,",x[i][2-i]);
}
39以下程序的输出结果是____A)____。
main()
{
charcl='6',c2='0';
printf("%c,%c,%d\n",c1,c2,c1-c2);
}
A)6,0,6
B)因输出格式不合法,输出出错信息
C)6,0,7
D)6,0,5
40以下程序的输出结果是___D)_____。
main()
{inta=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%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。
main()
{
inta=-1,b=4,k;
k=!
((++a<0)&&!
(b--<0));
printf("%d%d%d\n",k,a,b);}
4.假设对于同一优先级的算符,按从左到右的顺序进行运算,以下程序的输出结果为9。
#include
#defineSQR(x)x*x
main()
{
inta,k=3;
a=++SQR(k+1);
printf("%d\n",a);
}
5.下面程序段的输出是12。
inti,k=0,arr[4];
for(i=1;i<4;i++)
{
arr[i]=i;
k+=arr[i]+i;
}
printf("%d\n",k);
6以下程序运行后的输出结果是52。
main()
{inti=10,j=0;
do
{j=j+i;i--;}
while(i>2);
printf("%d\n",j);
}
7设有以下程序:
main()
{intn1,n2;
scanf("%d",&n2);
while(n2!
=0)
{n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298;则输出结果为1298。
8以下函数的功能是:
求x的3次方,请填空。
doublefun(doublex)
{inti;
doublez;
for(i=1,z=x;i<3;i++)z=z*x;
returnz;
}
9下面的程序是求1+2+…+10的值,请填空:
main()
{intI,s=0;
for(I=1;I<=10;I++)
s=s+I;
}
10下面的程序是求1*2*3*…10,请填空:
main()
{inti,s=1;
for(i=1;i<=10;i++)
s=s*i;
}
11下面的程序是求数组a中的最大值,请填空
main()
{inta[5]={23,4,5,2,32},i,max;
max=a[0];
for(i=1;i<=4;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 模拟 试题 答案