《C语言程序设计》试题库
1. 以下选项中,非法的字符常量是 C 。
A)’\n’ B)’\t’ C)“\n” D)‘\x0a’
2. 在C语言中,合法的八进制常量是 B 。
A)32 B)016 C)0X2d D)-100
3. 在C语言中,合法的长整型常量是 B 。
A)3276893 B)27L C)3.14 D)65535
4. 十进制整数200的十六进制表示为 D 。
5. 下列叙述中正确的是
A)C语言编译时不检查语法 B)C语言的子程序有过程和函数两种
C)C语言的函数可以嵌套定义 D)C语言所有函数都是外部函数
6. 设x,y,t均为int型变量,则执行语句:x=y=2;t=++x||++y;后,y的值为 C 。/*运算符*/
A)4 B)3 C)2 D)1
7. 设x,y,z均为int型变量,则执行语句:x=8,y=6;z=++x&&++y;后y的值为 B 。
A)8 B)7 C)6 D)不定值
8. 能正确表示关系x≤y≤z的C语言表达式为 A 。
A)(x<=y)&&(y<=z) B)(x<=y)AND(y<=z)
C)(x<=y<=z) D)(x<=y)&(y<=z)
9. 能正确表示逻辑关系“a≥10或a≤0”的C语言表达式为 C 。
A)a>=10 or a<=0 B)a>=10 && a<=0
C)a>=10 || a<=0 D)a>=0 | a<=10
10. 以下合法的赋值语句是 A 。
A)x=y=100; B)d--; C)x+y; D)c=int(a+b);(无值)
11. 设x、y、z被定义为int型变量,要从键盘给它们输入数据,正确的输入语句是 B 。
A)INPUT x、y、z; B)scanf(“%d%d%d”,&x,&y,&z);
C)scanf(“%d%d%d”,x,y,z); D)read(“%d%d%d”,&x,&y,&z);
12. 设x、y均为int型变量,且x=6,y=3,则语句printf(”%d,%d\n”,x++,++y);的输出结果是 C 。
A)6,3 B)7,3 C)6,4 D)7,4
13. 以下程序的输出结果是 B 。
#include<stdio.h>
main( ){
int i=010,j=10;
printf(“%d,%d”,++i,j--);
}
A)11,10 B)9,10 C)010,9 D)10,9
14. 若有定义:int a , b=5,*p=&a; 则能完成“a=b”赋值功能的语句是 D 。
A)a=*p; B)a=&b; C)a=**p; Dc语言库函数)*p=*&b;
15. 表达式x=14/3*4的值为 C 。
A)0 B)1 C)16 D)17
16. 表达式x=7%(5/2)的值为 B 。
A)0 B)1 C)2 D)3
17. 函数调用语句“func(x1,x2+x3,(x4,x5));”中含有的实参个数是 A 。
A)3 B)4 C)5 D)有语法错误
18. 以下程序的输出结果是 C 。
main()
{ int a=4;
printf(”%d\n”,(a-=a+=a*a));
}
A)-6 B)12 C)0 D)-12
19. 设t为int型变量,进入下面的循环之前,t的值为0(或3、或未初始化)
while(t=1) /*循环条件的判断*/
{ …… }
则以下叙述中正确的是 B 。
A)循环控制表达式的值为0 B)循环控制表达式的值为1
C)循环控制表达式不合法 D)以上说法都不对
20. 当调用一个函数时,如果实参是一个数组名,则向函数传递的是 B 。/*参数传递*/
A)数组的长度 B)数组的首地址
C)数组每一个元素的地址 D)数组每个元素中的值
21. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 B 。
A)地址传递 B)单向值传递
C)由实参传递给形参,再由形参传回实参 D)传递方式由用户指定
22. 以下函数值的类型是 A 。
fun(float x)
{ float y;
y=3*x-4;
return y;
}
A)int B)不确定 C)void D)float
23. 以下程序的输出结果是 D 。
int func(int a, int b){
return(a+b);
}
main( ){
int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(”%d\n”,r);
}
A)12 B)13 C)14 D)15
24. 设有以下函数:
int f(int a)
{ int b=0;
static int c=3; b++; c++;
return (a+b+c); }
如果在下面的程序中调用该函数,则输出结果是 B 。
main()
{ int a=2,j,val;
for(j=0;j<3;j++)val=f(a);
printf(”%d\n”,val);
}
A)7 B)9 C)11 D)13
25. 以下程序执行后sum的值为 C 。
A)15 B)14 C)不确定 D)0
main(){
int i,sum;
for(i=1;i<6;i++)sum+=i;
printf(”%d\n”,sum);
}
26. 以下程序的输出结果是 C 。
A)非法 B)a[2]的地址 C)8 D)7
main()
{char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+1;
printf(”%d”,*p);
}
27. 以下程序的输出结果是 D 。
A)15 B)13 C)11 D)7
main()
{int a[]={1,3,5,7,9,11,13,15,17,19},*p;
p=a;
printf(”%d\n”,*p+6);
}
28. 以下程序的输出结果是 10 。
main()
{ int arr[]={30,25,20,15,10,5},*p=arr;
p++;
printf(”%d\n”,*(p+3));
}
29. 以下定义中,错误的是 B 。
A)int a[ ]={0,1,2,3}; B)int n=5,a[n];
C)char s[20]=”test”; D)char *a[5];
30. 若有定义:float x[5]={0,2,4};,则数组x在内存中所占字节数是 D 。
A)3 B)6 C)10 D)20
31. 以下程序的输出结果是 C 。
main()
{ int k,a[10];
for(k=0;k<10;k++)a[k]=10-k;
printf(”%d%d%d”,a[2],a[5],a[8]);
}
A)258 B)741 C)852 D)369
32. 以下数组定义中不正确的是 D 。
A)int a[2][3]; B)int a[][3]={0,1,2,3};
C)int a[ ]={0,1,2,3,4,5,6,7,8,9}; D)int d[3][ ]={{1,2,3},{4,5,6},{7,8,9}};
33. 以下程序的输出结果是 6,20
main()
{ char st[20]=”hello.\0\t\’\\”;
printf(”%d,%d\n”,strlen(st),sizeof(st));
}
34. 以下选项中,不能正确赋值的是 A 。
A)char s[10]; s=”China”; B)char s[ ]={’t’,’e’,’s’,’t’};
C)char s[20]=”Hello.”; D)char *s4=”China”;
35. 以下只有在使用时才为该类型变量分配内存的存储类说明是 B 。
A)auto 和static B)auto 和register
C)register 和static D)extern 和register
36. 当执行下面的程序时,如果输入123,则输出结果是 1236789 。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论