正确答案是:
D ×
30、下面程序的输出结果是________.
#include
voidmain()
{inta[]={1,8,2,8,3,8,4,8,5,8};
printf("%d,%d\n",a[4]+3,a[4+3]);
}
A)6,6B)8,8C)6,8D)8,6
正确答案是:
C ×
31、若有以下说明:
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;
则数值为4的表达式是________.
A)a[g-c]B)a[4]C)a['d'-'c']D)
a['d'-c]
正确答案是:
D ×
32、以下定义语句中,错误的是________.
A)inta[]={1,2};B)char
a[]={"test"};
C)chars[10]={"test"};D)intn=5,a[n];
正确答案是:
D ×
33、以下定义语句中,错误的是________.
A)inta[]={1,2};B)chara={"test"};
C)chars[10]={"test"};D)inta[]={'a','b','c'};
正确答案是:
B ×
34、若有说明char
c[7]={'s','t','r','i','n','g'};则对元素的非法引用是________.
A)c[0]B)c[9-6]C)c[4*2]D)
c[2*3]
正确答案是:
C ×
35、若希望下面的程序运行后输出25,程序空白处的正确选择是________.
#include
voidmain()
{inti,j=50,a[]={7,4,10,5,8};
for(____________)
j+=a[i];
printf("%d\n",j-40);
}
A)i=4;i>2;--iB)i=1;i<3;++iC)i=4;i>2;i--
D)i=2;i<4;++i
正确答案是:
D ×
36、给出以下定义:
charx[]="abcdefg";
chary[]={'a','b','c','d','e','f','g'};
则正确的叙述为________.
A)数组x和数组y等价
B)数组x和数组y的长度相同
C)数组x的长度大于数组y的长度
D)数组x的长度小于数组y的长度
正确答案是:
C ×
37、有如下程序
intfunc(inta,intb)
{return(a+b);}
voidmain()
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r);}
该程序的输出结果是__________.
A)12B)13C)14D)15
正确答案是:
D ×
38、以下程序的输出结果是__________.
#include
fun(intx,inty,intz)
{z=x*x+y*y;}
voidmain()
{inta=31;
fun(5,2,a);
printf("%d",a);}
A)0B)29C)31D)无定值
正确答案是:
C ×
39、以下函数调用语句中含有实参个数为________.
func((exp1,exp2),(exp3,exp4,exp5));
A)1个B)2个C)4个D)
5个
正确答案是:
B ×
40、下列程序执行后输出的结果是________.
#include
intf(inta)
{intb=0;
staticc=3;
a=c++,b++;
return(a);}
voidmain()
{inta=2,i,k;
for(i=0;i<3;i++)
k=f(a++);
printf("%d\n",k);}
A)3B)0C)5D)4
正确答案是:
C ×
41、对于C语言的函数,下列叙述中正确的是________.
A)函数的定义不能嵌套,但函数调用可以嵌套
B)函数的定义可以嵌套,但函数调用不能嵌套
C)函数的定义和调用都不能嵌套
D)函数的定义和调用都可以嵌套
正确答案是:
A ×
42、函数f的功能是:
测定字符串的长度,空白处应填入________.
#include
intf(chars[])
{inti=0;
while(s[i]!
='\0')i++;
return(________);}
voidmain()
{printf("%d\n",f("goodbye!
"));}
A)i-1B)i
C)i+1D)s
正确答案是:
B ×
43、在以下叙述中,不正确的选项是________.
A)C语言程序总是从main()函数开始执行
B)在C语言程序中,被调用的函数必须在main()函数中定义
C)C程序是函数的集合,在这个函数集中包括标准函数和用户自定义函数
D)在C语言程序中,函数的定义不能嵌套,但函数的调用可以嵌套
正确答案是:
B ×
44、对以下程序,正确的说法是________.
sub(charx,chary)
{intz;z=x%y;returnz;}
voidmain()
{intg=5,h=3,k;
k=sub(g,h);
printf("%d\n",k);}
A)实参与其对应的形参类型不一致,程序不能运行
B)被调函数缺少数据类型说明,程序不能运行
C)主函数中缺少对被调函数的说明语句,程序不能运行
D)程序中没有错误,可以正常运行
正确答案是:
D ×
45、请读程序:
#include
f(intb[],intn)
{inti,r=1;
for(i=0;i<=n;i++)r=r*b[i];
returnr;}
voidmain()
{intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf("%d\n",x);}
上面程序的输出结果是________.
A)720B)120C)24D)6
正确答案是:
B ×
选择题(共41题),成绩(0分)
1、以下叙述正确的是____________.
A)do-while语句构成的循环不能用其它语句构成的循环来代替
B)do-while语句构成的循环只能用break语句退出
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环
D)用do-while语句构成的循环,在while后的表达式为零时结束循环
正确答案是:
D ×
2、对于for(表达式1;;表达式3)可理解为__________.
A)for(表达式1;0;表达式3)
B)for(表达式1;1;表达式3)
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
正确答案是:
B ×
3、以下叙述正确的是_________.
A)continue语句的作用是结束整个循环的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时,只能使用goto语句
正确答案是:
B ×
4、对下面程序段,描述正确的是________.
for(t=1;t<=100;t++)
{scanf("%d",&x);
if(x<0)continue;
printf("%d\n",t);
}
A)当x<0时,整个循环结束
B)当x>=0时,什么也不输出
C)printf函数永远也不执行
D)最多允许输出100个非负整数
正确答案是:
D ×
5、以下程序的输出结果是_________.
#include
voidmain()
{intcount,i=0;
for(count=1;count<=4;count++)
{i+=2;printf("%d",i);}
}
A)20B)246C)2468D)2222
正确答案是:
C ×
6、以下程序的功能是:
从键盘上输入若干个学生的成绩,统计并输出
最高成绩和最低成绩,当输入负数时结束输入。
请填空。
#include
voidmain()
{floatx,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while(________)
{if(x>amax)amax=x;
if(______)amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
A)x<=0B)x>0C)x>0
D)x>=0
x>aminx<=aminx>amin
x正确答案是:
D ×
7、下面程序的输出结果是__________.
#include
voidmain()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d",x--,y);
}
A)10192B)9876C)10990
D)101091
正确答案是:
D ×
8、有如下程序
#include
voidmain()
{intx=23;
do
{printf("%d",x--);
}while(!
x);
}
该程序的执行结果是
A)321B)23C)不输出任何内容D)
陷入死循环
正确答案是:
B ×
9、以下程序运行后的输出结果是________.
#include
voidmain()
{inti=10,j=0;
do
{j=j+1;i--;
}while(i>2);
printf("%d\n",j);
}
A)50B)52C)51D)8
正确答案是:
D ×
10、设有数组定义:
chararray[]="China";则数组array所占的存储空间为________.
A)4个字节B)5个字节
C)6个字节D)7个字节
正确答案是:
C ×
11、设有数组定义:
chararray[10]="China";则数组array所占的存储空间为________.
A)4个字节B)5个字节C)6个字节D)10个字节
正确答案是:
D ×
12、以下程序的输出结果是________.
#include
voidmain()
{inti,x[9]={9,8,7,6,5,4,3,2,1};
for(i=0;i<4;i+=2)printf("%d",x[i]);
}
A)52B)51
C)53D)97
正确答案是:
D ×
13、下面程序的输出是________.
#include
voidmain()
{inta[10]={1,2,3,4,5,6,7,8,9,10};
printf("%d\n",a[a[1]*a[2]]);
}
A)3B)4C)7D)2
正确答案是:
C ×
14、以下定义语句中,错误的是________.
A)inta[]={1,2};B)char
a[]={"test"};
C)chars[10]={"test"};D)intn=5,a[n];
正确答案是:
D ×
15、当接受用户输入的含有空格的字符串时,应使用________函数.
A)gets()B)get