c程序模拟试题文档格式.docx
《c程序模拟试题文档格式.docx》由会员分享,可在线阅读,更多相关《c程序模拟试题文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
A)&
&
B)!
C)++D)||
11、有输入语句:
scanf(“a=%d,b=%d,c=%d”,&
a,&
b,&
c);
为使变量a的值为11,b为12,c为13,则从键盘输入数据的正确格式应当是()。
A)111213
B)11,12,13
C)a=11b=12c=13
D)a=11,b=12,c=13
12、为表示关系-1≤x≤1应使用的c语言表达式是()
A)-1≤x≤1B)-1=<
x&
x=<
1
C)-1=<
1D)x>
=-1&
x<
=1
13、若有以下定义:
doublea;
intb;
floatc;
chard;
则表达式a*b/d+(d-c)值的类型为()
A)floatB)intC)charD)double
14、若整型变量a、b、c、d中的值依次为:
3,4,2,1、。
则条件表达式a<
b?
c<
d?
c:
d:
a的值是()
A)1B)2C)3D)4
15、下列程序输出的结果是()
main()
{inta=18;
a+=a-=a*a;
printf("
%d"
a);
}
A)18B)9C)0D)36
16、为了避免嵌套的条件语句if-else的歧义性,C语言规定()
A)else与缩排位置相同的if配对B)else与同一行上的if配对
C)else与其之后最近的if配对D)else与其前最近的尚未配对的if配对
17、break语句()
A)只能出现在if语句中B)只能出现在循环体中
C)可用在循环体和switch语句中D)可用在函数中的任何语句
18、如intk=11;
则执行语句k=1/3*++k;
后k取值为()
A)12B)3C)4D)0
19、以下程序的输出结果是()
{intx=12,y=012;
%d%d\n"
x--,--y);
A)129B)1111C)1112D)1211
20、设intx=1,y=5;
表达式(!
x||y--||++x)的值是()
A)0B)1C)5D)4
21、如果k为整数,则while循环执行次数()
k=10;
while(0)k=k-1;
A)一次都不执行B)1C)10D)无限次
22、有以下程序()
fun(inta,intb)
{if(a>
b)return(a);
elsereturn(b);
#include“stdio.h”
main()
{intx=3,y=8,z=6,r;
r=fun(x,y+z);
%d\n"
r);
程序运行后的输出结果是()
A)3B)6C)8D)14
23、以下给二维数组的元素赋值中错误的是()
A)inta[2][2]={{1,2,3},{2,4,5}};
B)inta[][2]={1,2,3,4};
C)inta[2][2]={{1},2,3};
D)inta[2][]={{1,2},{3,4}};
24、若有说明:
intn=17,*p=&
n,*q=p;
,则以下非法的赋值语句是()
A)p=q;
B)*p=*q;
C)n=*q;
D)p=n;
25、以下程序的功能是:
按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main()
{intn,k;
floatscore,sum,ave;
sum=0.0;
for(n=1;
n<
=10;
n++)
{for(k=1;
k<
=4;
k++)
{scanf(“%f”,&
score);
sum+=score;
}
ave=sum/4.0;
printf(“NO%d:
%f\n”,n,ave);
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。
这条语句是()
A)sum=0.0;
B)sum+=score;
C)ave=sun/4.0;
D)printf(“NO%d:
26、数组定义为chara[10]={‘a’,‘b’,‘c’};
该数组包括的元素个数是()
A)3B)9C)4D)10
27、下面程序的输出结果是()
main()
{intx=2,y=-1,z=2;
if(x<
y)
if(y<
0)z=0;
elsez=-1+x++;
printf(“%d\n”,z++);
A)3B)2C)1D)0
28、若有以下定义:
floatx;
inta,b;
则正确的switch语句是()
A)switch(x)B)switch(x)
{case1.0:
*\n"
);
{case1.0:
case2.0:
case3:
}}
C)switch(a+b)D)switch(a+b);
{case1:
case1+2:
case2:
}}
29、定义如下变量:
intn=10;
则执行下列循环的输出结果为()
do
printf(“%d\n”,n++);
while(n+1>
7);
A)10B)9C)10D)死循环
989
878
76
30、有以下程序
{
int
a[]={0,1,2,3,4,5,6,7,8,9},*p;
for(p=&
a[9];
p>
=a;
p--)
%d,"
*p);
程序运行后的输出结果是()
A)0123456789
B)2,3,4,5,6,7,8,9,10,1
C)0,1,2,3,4,5,6,7,8,9,
D)9,8,7,6,5,4,3,2,1,0,
31、如果inta[][4]={1,2,3,4,5,6,7,8,9,10},*p=*(a+1);
,则值为9的表达式是()
A)p+=3,*p++B)p+=4,*(p++)C)p+=4,*++pD)p+=4,++*p
32、执行循环语句:
for(x=y=0;
y!
=250||x<
4;
x++)y+=50;
其循环体执行的次数为()
A)5B)4C)3D)2
33、如intx=14;
下列求商y(需小数结果)的表达式哪一个不对()
A)y=x/(5+.0)B)y=x/5.C)y=1.*x/5D)y=x/5*1.0
34、以下叙述正确的是()
A)函数可以嵌套定义但不能嵌套调用
B)函数既可以嵌套调用也可以嵌套定义
C)函数既不可以嵌套定义也不可以嵌套调用
D)函数可以嵌套调用但不可以嵌套定义
35、设有以下程序段()
intx=0,s=0;
while(!
x!
=0)s+=++x;
s);
则
A)运行程序段后输出0B)运行程序段后输出1
C)程序段中的控制表达式是非法
36、若整型变量x的值为8,则下列表达式中值最大的是()
A)x+=x-=xB)x%=x-1C)x%=x%=3D)x/=x+x
37、有以下程序
#include<
stdio.h>
voidmain()
{intx=02,y=0x12;
printf(“%2d,%2d\n”,x,y);
}
执行后输出结果是()
A)10,01B)02,12C)2,18D)02,10
38、有以下程序,程序运行后的输出结果是()
#include<
{inti=0,j=2,m=3,n;
n=i++<
=1&
j>
=2&
m++;
printf(“%d,%d,%d,%d\n”,i,j,m,n);
A)2,2,4,1B)2,2,3,1C)1,2,4,1D)2,1,3,1
39、下面程序的输出结果是()
{inti,x=1,y=0,a=0,b=0;
switch(x)
{case1:
b++;
case2:
a++;
break;
case3:
printf(“%d,%d\n”,a,b);
A)2,1B)2,2C)1,2D)4,2
40、有以下程序
{inti,s=0;
for(i=1;
i<
11;
i+=2)s+=i+1;
printf(“%d\n”,s);
}
程序执行后的输出结果是()
A)65B)30
C)36D)35
41、下面程序的输出结果是()
{inti,j,x=0;
for(i=0;
=2;
i++)
{x++;
for(j=0;
j<
j++)
{if(j%