09级C语言期中试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
桂林电子科技大学信息科技学院09级C程序设计期中测试卷
一、选择题(20题,共40分)
1.一个C程序总是从开始执行。
A. 程序的第一个语句
B. 主函数
C. 子程序
D. 主程序
2.下列标识符中,合法的用户标识符为。
A. P#Ad
B. 12a
C. char
D. _int
3.下面4组常量,合法的一组C语言常量是。
A. 0
B. 10
C. 0.01
D. 0.1
0x10 10L "\"" 3E+0
2E+9 E1 "\' ""\""
'a'"a"'t''tt'
''''\0''\t' 012
4.执行下列程序片段时输出结果是。
unsigned int a=65535;
printf(“%d”,a);
A)65535 B)-1 C)-32767 D)1
5.若有定义(说明)int a[3][4]; 则对数组a的元素的引用非法的是。
A. a[2][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]
6.以下不能对二维数组a进行正确初始化的语句是。
A. int a[2][3] ={0};
B. int a[][3] ={{1,2},{0}};
C. int a[2][3] ={{1,2},{3,4},{5,6}};
D. int a[][3] ={1,2,3,4,5,6};
7.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的输入方式是。
int a1,a2; char c1,c2;
scanf(“%d%d”,&a1,&a2);
scanf(“%c%c”,&c1,&c2);
A)1020AB↙B)10 20↙
AB↙
C)10 20 AB↙D)10 20AB↙
8.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。
A)x%2==0 B)!x%2!=0 C)(x/2*2-x)==0 D)!(x%2)
9.对下述程序,是正确的判断。
main ( )
{ int x,y;
scanf(“%d,%d”,&x,&y);
if (x>y)
x=y;y=x;
else
x++;y++;
printf(“%d,%d”,x,y);
}
A)有语法错误,不能通过编译B)若输入3和4,则输出4和5 C)若输入4和3,则输出3和4 D)若输入4和3,则输出4和5 10.若a、b为int型变量,则执行下列语句后的b值是。
a=15;b=15;
do
{ b-=a;
a++;
}while(b--<0);
A. 0
B. -15
C. -16
D. -1
11.若a,b均为int型常量,且a=100,则关于循环语句
for(b=100;a!=b;++a,++b) printf("------"); 的正确说法是。
A.循环体只执行一次
B.死循环
C.循环体一次也不执行
D.输出--------
12.下述程序的输出结果是。
main ( )
{ int x=-1,y=4,k;
k=x++<=0 && !(y--<=0);
printf(“%d,%d,%d”,k,x,y);
}
A)0,0,3 B)0,1,2 C)1,0,3D)1,1,2
13.运行下面程序后,其输出结果是。
main()
{ int i=1;
while(i<19)
if(i++%5!=3) continue;
else printf("%d",i);
printf("\n",i);
}
A. 257911131517
B. 369121518
C. 491419
D. 38131719 14.运行下面的程序,其正确输出是。
#include
main()
{ int i;
for(i=1;i<=6;i++)
{ if(i%2){ printf("#");
continue;
}
printf("*");
}
printf("\n");
}
A. ***###
B. ###***
C. #*#*#*
D. *#*#*#
15、下列程序运行后的输出结果是。
#include
#define MAX 10
void main()
{ int i,sum,a[]={1,2,3,4,5,6,7,8,9,10};
sum=1;
for(i=0;i sum-=a[i]; printf(“sum=%d\n”,sum); } A. sum=55 B. sum= -54 C. sum= -55 D. sum=54 16、下面的程序运行后,其输出结果是____。 #include main() { int y=18,i=0,j,a[8] do { a[i]=y%2; i++; y=y/2; }while(y>=1); for(j=i-1;j>0;j--) printf("%d",a[j]); } A.1000 B.1001 C.1010 D.1100 17.下列程序运行后的结果是。 #include main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++;break; } case 2:a++;b++; break; } printf("a=%d,b=%d\n",a,b); } A. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2 18.下面程序的输出结果是。 main ( ) { int x=9; for (; x>0; x--) { if (x%3==0) { printf(“%d”,--x);