1、C语言复习60题C语言复习60题D10 + 9 * (8 + 7) % 6) + 5 * 4 % 3 * 2 + 3 1 + 2 + (3 + 4) * (5 * 6 % 7 / 8) - 9) * 10正确答案是:5 2 44 -627。15 以下语句是否可以通过编译:if ( 1=n=10 );A.B.正确答案: A、。16 以下语句是否表示n属于1,10:if ( 1=nij);正确答案是:1。18 写出程序的输出结果:int i,j,k;i=2;j=3;k = i*j=6;printf(%dn, k);正确答案是:1。19 写出程序的输出结果:int i,j,k;i=3;j=2;k=1
2、;printf(%d, ij = j50 ) printf(A);if ( a40 ) printf(B);if ( a30 ) printf(C);正确答案是:ABC。22 while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了A.B.正确答案: B、。23 以下代码片段执行结束后,变量i的值是多少?int i =10;while ( i0 ) i /=2;正确答案是:0。24 以下代码片段执行结束后,变量i的值是多少?int i = 1;do i += 5; while (i17);正确答案是:21。25以下哪种运算能从变量x中取得十进制最低位的数字A.x
3、/ 10 B.x % 10 C.x * 10 D.10 / x正确答案: B、x % 10。26 当需要累加一些值的时候,用来记录累加结果的变量应该被初始为:正确答案是:0。27 以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?A.for ( i=0; i10; i+ ) .B.for ( i=0; i10; +i ) .C.for ( i=0; i+10; ) .D.for ( i=0; i=9; i+ ) .正确答案: C、for ( i=0; i+ 1; i /=2 ) printf(%d , i+);正确答案是:10 5 3 2。29 以下代码段的输出是:int sum =
4、0;for ( int i=0; i10; i+ ) if ( i%2 ) continue; sum += i;printf(%dn, sum);正确答案是:20。30 以下代码段的输出是:int sum = 0;for ( int i=0; i10; i+ ) if ( i%2 ) break; sum += i;printf(%dn, sum);正确答案是:0。31 以下哪个数字占据的空间最大?A.32768 B.3 C.32768.0 D.32768.0F正确答案: C、32768.0。32 以下哪个字母不能在数字后面表示类型?A.F B.U C.L D.X正确答案: D、X。33 以
5、下哪个数字的值最大?A.10 B.010 C.0x10 D.10.0 正确答案: C、0x10。34 以下哪种类型不能用在switch-case的判断变量中:A.char B.short C.int D.double 正确答案: D、double。35 下列哪些是有效的字符?A. B.C.D.正确答案: A、 。 B、。 C、。36 以下表达式的结果是:1+3正确答案是:52 或 4。37 以下哪个表达式的结果是true?A.!(42|4=4&10C.34=33&!falseD.!false正确答案: D、!false。38 以下哪个表达式,当a和b中只有一个是true的时候结果为true,而
6、如果两个都是false或都是true的时候,结果为falseA.a & bB.a | bC.a != bD.!a & !b正确答案: C、a != b。39 以下哪个表达式,当a和b都是true或者都是false的时候,表达式的结果为true。A.a & bB.a | bC.a = bD.a b正确答案: C、a = b。40 以下哪个表达式与!(a&b)是等价的A.!a & !b B.!a | !b C.a & b D.a | b 正确答案: B、!a | !b。41 以下代码执行后,i的值是:i = 3/2,3*2; 正确答案是:1。42 以下哪句不是正确的原型?A.int f(); B.
7、int f(int i); C.int f(int);D.int f(int i) 正确答案: D、int f(int i) 。43 以下哪个函数的定义是错误的?A.void f() B.void f(int i) return i+1; C.void f(int i) D.int f() return 0; 正确答案: B、void f(int i) return i+1; 。44 对于不返回值而且只有一个int类型的参数的函数,以下哪些函数原型是正确的?A.void f(int x); B.void f(); C.void f(int); D.void f(x);正确答案: A、void
8、f(int x);。 B、void f();。 C、void f(int);。45 以下程序的输出是什么?#include void swap(int a, int b);int main() int a = 5; int b = 6; swap(a,b); printf(%d-%dn, a, b); return 0;void swap(int a, int b) int t = a; a = b; b = t;正确答案是:5-6。46 若有定义:int a23;则以下选项中不越界的正确的访问有:A.a20 B.a23 C.a120D.a03正确答案: C、a120。47 以下程序片段的输出
9、结果是:int m3 = 1,4,7,2,5,8,3,6,9,;int i,j,k=2;for ( i=0; i3; i+ ) printf(%d, mki);A.369B.不能通过编译C.789D.能编译,但是运行时数组下标越界了正确答案: A、369。48 假设int类型变量占用4个字节,定义数组int x10 = 0,2,4;则x在内存中占据几个字节?正确答案是:40。49 若有:int a3 = 0,1,2;则a12的值是?正确答案是:0。50 对于:int a = 5, 15, 34, 54, 14, 2, 52, 72;int *p = &a5;则:p-2的值是?A.编译出错,因为
10、数组下标越界了B.运行出错,因为数组下标越界了C.54D.2正确答案: C、54。51 如果:int a = 0;int *p = a;则以下哪些表达式的结果为真?A.p = a0B.p = &a0C.*p = a0D.p0 = a0正确答案: B、p = &a0。C、*p = a0。D、p0 = a0。52 以下变量定义:int* p,q;中,p和q都是指针。A.B.正确答案: B、。53 对于:int a = 5, 15, 34, 54, 14, 2, 52, 72;int *p = &a1;则:p2的值是?正确答案是:54。54 对于以下代码段,正确的说法是:char *p;while (1) p = malloc(1); *p = 0;A.最终程序会因为没有没有空间了而退出B.最终程序会因为向0地址写入而退出C.程序会一直运行下去D.程序不能被编译正确答案: B、最终程序会因为向0地址写入而退出55 对于以下代码段:int a = 1,2,3,4,5,;int *p = a;int *q = &a5;printf(%d, q-p);当sizeof(int)为4时,以下说法正确的是:A.因为第三行的错误不能编译B.因为第三行的错误运行时崩溃C.输出5D.输出20正确答案: C、输出5。56 使用malloc就可以做出运行时可以随时改变大小的数组A.B.正确答案: B、。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1