1、阅读程序题 【 2.1】以下程序的输出结果是 。 main(D ) float a; a=1/100000000; printf(“%g“, a); A) 0.00000e+00 B) 0.0 C) 1.00000e-07 D) 0 【 2.2】下面程序的输出结果是 B_。 #include main( ) int x=10; int x=20; printf (“%d, “, x); printf(“%dn“, x); A) 10, 20 B) 20, 10 C) 10, 10 D) 20, 20 【 2.3】 以下程序的输出结果是 _B_。 main() unsigned int n; i
2、nt i=-521; n=i; printf(“n=%un“,n); /变量 i 中的负号传送给变量 n 后,因 n 是无符号数,已不作为负号处理。 A) n=-521 B) n=521 C) n=65015 D) n=102170103 【 2.4】以下程序的输出结果是 。 main(D ) int x=10, y=10; printf(“%d %dn“, x, y ); A) 10 10 B) 9 9 C) 9 10 D) 10 9 【 2.5】以下程序的输出结果是 _B。 main() int n=1; printf(“%d %d %dn“,n,n+,n-); / C 语言在执行 pri
3、ntf()时,对函数中的表达式表列的处理顺序是从后向前,即先处理 n- -,再处理 n+,最后处理 n, A) 1 1 1 B) 1 0 1 C) 1 1 0 D) 1 2 1 【 2.6】以下程序的输出结果是 _。 main() int x=0x02ff,y=0x0ff00; printf(“%dn“,(x&y)4|0x005f); A) 127 B) 255 C) 128 D) 1 【 2.7】以下程序的输出结果是 _。 main() int a=1; char c=a; float f=2.0; printf(“%dn“,(!(a=0),f!=0&c=A); A) 0 B) 1 【 2.
4、8】下面程序的输出结果是 _。 main() int a=1, i=a+1; do a+ ; while( !i+ 3); printf(“%dn“,a); A) 1 B) 2 C) 3 D) 4 【 2.9】下面程序的输出结果是 _。 main() int a=111; a=a00; printf(“%d,%on“,a,a); A) 111,157 B) 0,0 C) 20,24 D) 7,7 【 2.10】下面程序的输出结果是 _。 main() char s12= “a book“; printf(“%.4s“,s); A) a book! B) a book!b) a=b; b=c;
5、c=a; printf(“a=%d b=%d c=%dn“,a,b,c); A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 【 2.13】以下程序的输出结果是 。 main() int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf(“d=%dn“,d); A) d=10 B) d=15 C) d=20 D) d=25 【 2.14】下面程序的 输出结果为 。 main() int a=1,b=0;
6、 switch(a) case 1: switch (b) case 0: printf(“*0*“); break; case 1: printf(“*1*“); break; case 2: printf(“*2*“); break; A) *0* B) *0*2* C) *0*1*2* D) 有语法错误 【 2.15】以下程序的输出结果是 。 main() char *s=“12134211“; int v1=0,v2=0,v3=0,v4=0,k; for(k=0; sk; k+) switch(sk) case 1: v1+; case 3: v3+; case 2: v2+; def
7、ault: v4+; printf(“v1=%d, v2=%d, v3=%d, v4=%dn“,v1,v2,v3,v4); A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1 C) v1=5,v2=8,v3=6,v4=1 D) v1=4,v2=7,v3=5,v4=8 【 2.16】下面程序的输出是 。 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=%
8、d,b=%dn“,a,b); A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 【 2.17】下面程序的输出 是 _。 main() int num=0; while(num main() int c; while(c=getchar()!=n) switch(c -2) case 0: case 1: putchar(c+4); case 2: putchar(c+4); break; case 3: putchar(c+3); default: putchar(c+2); break; printf(“n“); A) 888988 B) 668966 C) 88898787 D) 66898787 【 2.20】下面程序的输出结果是 _。 main() int k=0; char c=A; do switch(c+) case A: k+; break; case B: k-; case C: k+=2; break;