C语言复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1、以下程序段的输出结果是:()
int x=17,y=3,z; printf(“%d\n”,z=(x=x/y,x%y));
A) 3 B) 0 C) 2 D) 1
2、以下if语句语法正确的是:()
A) if(x>0) B)if(x>0)
printf("%f",x) {x=x+y;printf("%f",x);} else printf("%f",-x); else printf("%f",-x);
C) if(x>0) D) if(x>0)
{x=x+y;printf("%f",x);}; {x=x+y;printf("%f",x)} else printf("%f",-x); else printf("%f",-x);
3、下面程序段的运行结果是:()
int a=1,b=2,c=2,t;
while(a
A) 1,2,0 B) 2,1,0 C) 1,2,1 D) 2,1,1
4、若m为整型变量,则以下循环执行次数是: ( )
for(m=2;m==0;) printf("%d",m--);
A) 无限次B) 0次 C) 1次 D) 2次
5、在C语言中,以下正确的说法是:()
A)实际参数与其对应的形式参数各占用独立的存储单元
B)实际参数与其对应的形式参数占用同一个存储单元
C)只有当实际参数和与其对应的形式参数同名时才占用同一个存储单元
D)形式参数是虚设的,不占用存储单元
6、以下程序的输出结果为()
main()
{int i,k,a[10],p[3]; k=5;
for(i=0;i<10;i++) a[i]=i;
for(i=0;i<3;i++) p[i]= a[i*( i +1)];
for(i=0;i<3;i++) k+=p[i]*2;
printf(“%d\n”,k); }
A) 20 B) 21 C) 22 D)23
7、以下程序的输出结果为:()
char str[]="ab\n\012\\\""; printf("%d",strlen(str));
A) 3 B) 4 C) 6 D) 12
8、以下程序的输出结果是:()
main()
{int n[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j];
printf("%d\n",s);
}
A) 18 B) 19 C) 20 D)21
9、设有以下宏定义:()
#define N 3
#define Y(n) ((N+1)*n)
则执行语句:z=2*(N+Y(5+1));后,z的值为:
A)出错 B)42 C)48 D)54
10、下列程序执行后输出的结果为:()
f(int a)
{ static int b,c=3; a=b; b=++c; return(a);}
main()
{int a=2,j,k; for(j=0;j<2;j++) k=f(a); printf(“%d\n”,k); }
A) 4 B) 0 C) 6 D) 5
11、下列程序语句的输出是: ( ) int n=0;
while(n++<=2); printf("%d",n);
(A)2 (B)3 (C)4 (D)有语法错误
12、下列程序语句的输出是: ( ) int a=011; printf("%d\n",++a);
(A) 12 (B) 11 (C) 10 (D) 9
13、执行语句for(i=1;i++<4;);后,变量i的值是:()
(A)3 (B)4 (C)5 (D)不确定
14、定义int x=0,y=8,z=9后,则下面表达式的值为0的是:()
(A)'x'&&'y' (B)x<=y (C)x||y+z&&y-z (D)!((x A) 有语法错误,不能执行 B)循环是无限的 C) 循环体语句一次也不能执行D) 循环体语句执行一次 16、下述程序的运行结果是:() #include"stdio.h" main() { int i; for(i=1;i<=5;i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n"); } (A)*#*#*#$ (B)#*#*#*$ (C)*#*#$ (D)#*#*$ 17、下述程序的输出结果是:() #include"stdio.h" int x; void fun(); void main() {int x=1; if(x==1) {int x=2; printf("%d,",x++);} {extern int x; printf("%d,",++x);} fun(); } void fun() {printf("%d",x++);} A)2,1,1 B) 1,2,1 C) 2,2,2 D) 2,2,1 18、下面对宏定义的描述,不正确的是:() A)宏不存在类型问题,宏名无类型,它的参数也无类型 B)宏替换不占用运行时间 C)宏替换是先求出实参表达式的值,然后代入形参运算求值 D)其实,宏替换只不过是字符替代而已 19、以下程序的输出结果是: ( ) #include int func(int a,int b); void main()