C语言笔试题A
选择题(本大题共25小题,每小题2分,共50分)
1.C语言程序总是从 c 开始执行。
A、书写顺序的第一个函数 B、书写顺序的第一条执行语句
C、主函数main D、不确定
2.以下不正确的字符串常量是 c
A “A” B “ABC” C ‘ABC’ D “1”
3.以下所列的C语言常量中,错误是 b
A 0xFF B 1.2e0.5 C 2L D ‘\72’
4.C语言中,下列运算优先级最高的是 a b
A.>= B. <= C.!= D. &&
5.设有语句int a=4;则执行了语句a+=a-=a*a;;后,变量的值是 b
A.4 B. 0 C.-16 D. 8
6.执行下列程序片段时输出结果是 c 。
int x=13,y=5;
printf(“%d”,x%=(y/=2));
A. 3 B.2 C. 1 D.0
7.在switch()语句中case 后面可以是 c
A关系表达式 B 逻辑表达式 C 常量表达式 D算术表达式
8.已知整型变量K的值为3,下面程序段执行的结果是 (输出的是 E )
switch(k)
{ case1: putchar(‘A’);
case2: putchar(‘B’);
case3: putchar(‘C’);
case4: putchar(‘D’);
default: putchar(‘E’);
}
A CDE B C C ABC D ABCD
9.breake语句适用于 a
A if语句 B switch语句 C go to 语句 D continue语句
10.执行语句for(i=1;i++<4;)后,变量i的值是 b .
A 3 B 4 C 5 D 不定
11. 以下程序段输出的结果是 d
int s=7;
while(--s);
s=s-2;
printf(“s=%d\n”,s);
A 1 B 2 C 0 D-2
12. 以下正确初始化数组的是 c
A int x[5]={0,1,2,3,4,5};
B int x{}={0,1,2,3 ,4,5}
C int x[5]={5,0};
D int x[]=(0,1,2,3,4,5);
13. 回答本题的运行结果为 a
已知 int x=3,y,*p,*q;
int a[]={1,2,3,4,5};
p=&x; y=*p, q=a+2;
printf(“%d%d%d%d”,x,y,*p,*q);
A 3 3 3 3 B 1 2 3 4
C 1 2 2 3 D 2 2 2 2
14.若有char a[]=”china”;则 d 不可输出该字符串。
A printf(“%s”,a); B puts(a); C int i ; for(i=0;i<5;i++) printf(%c”,a[i]); D putchar(a);
15.对于字符串的操作,下列说法中正确的是 c 。
A 可用赋值表达式对字符数组赋值,如char str[20]; str=”aaaa”;
B 若有字符数组a和b,且a>b,则strcmp(a,b)为非负数
C 可用strcpy函数进行字符串的复制完成字符数组的赋值
D 字符串“aaaa”在内存中占用4个字节长度
16.若有说明:int *p,m=5,n;以下程序段正确的是 d 。
A p=&n; B p=&n;
scanf(“%d”,&p) scanf(“%d”,*p);
C scanf(“%d”,&n); D p=&n;
*p=n; *p=m;
17.若定义:
int a[9], *p=a;
并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是 c 。
A ++p B a++ C a+1 D p+1
18.C语言规定,简单变量做实参时,它和对应的形