计算机等级考试二级c语言复习资料,全国计算机等级考试二级C语言复习资料Part2.doc...

全国计算机等级考试二级C语言考前辅导 选择结构程序设计 Page 3

(1) [2011.3.7]运行时输入12,则输出结果为

int x; scanf("%d", &x);

if (x > 15) printf("%d", x - 5);

if (x > 10) printf("%d", x);

if (x > 5) printf("%d", x + 5);

(2) [2011.3.10]以下程序的运行结果是

int x = 10, y = 20, t = 0;

if (x == y) t = x; x = y; y = t;

printf("%d %d", x, y);

(3) [2008.9.20]以下程序的运行结果是

int a = 10, b = 50, c = 30;

if (a > b) a = b, b = c; c = a;

printf("%d%d%d", a, b, c);

(4) [2009.9.17]以下执行效果与其它三个不同的是

A)if (a > b) c = a, a = b, b = c;

B)if (a > b) c = a; a = b; b = c;

C)if (a > b) { c = a, a = b, b = c; }

D)if (a > b) { c = a; a = b; b = c; }

(5) [2005.4.8]以下程序的运行结果是

int a = 3, b = 4, c = 5, t = 99;

if (b < a && a < c) t = a; a = c; c = t;

if (a < c && b < c) t = b; b = a; a = t;

printf("%d%d%d", a, b, c);

(6) 以下程序的运行结果是

int a = 3;

if (a-- < 3) printf("%d\n", a);

else printf("%d\n", --a);

(7) 以下程序的运行结果是

int a = 0, b = 2, c = 6;

if (c = a != 0) printf("%d", a++ + ++c);

else printf("%d", b-- - --c);

(8) [2005.9.7]以下程序的运行结果是

int a = 1, b = 2, c = 3;

if (c = a) printf("%d", c);

else printf("%d", b);

(9) [2009.3.18]若有定义int x; 则以下程序运行时,x的值在哪个范围才会有输出结果

if (x <= 3) ; else

if (x != 10) printf("%d", x);

A)不等于10 B)大于3或等于10

C)小于3 D)大于3且不等于10

(10) [2006.4.31]以下程序的运行结果是

int a = 0, b = 0, c = 0, d = 0;

if (a = 1) b = 1; c = 2; else d = 3;

printf("%d%d%d%d", a, b, c, d);

A)0120 B)0003 C)1120 D)编译有错

(11) 程序运行后a、b、c、d的值分别是

int a = 1, b = 2, c = 3, d = 0;

if (a == 1 && b++ == 2)

if (b != 2 || c-- != 3) d = 1;

else d = 2;

(12) [2010.9.18][2011.3.27]以下程序的运行结果是

int a = 1, b = 0;

if (!a) b++;

else if (a == 0) if (a) b += 2;

else b += 3;

printf("%d\n", b);

(13) [2011.9.18]以下程序运行后,b的值是

int a = 1, b = 0;

if (--a) b++;

else if (a == 0) b += 2;

else b += 3;

(14) 以下程序的运行结果是

int a = 10;

if (a = 20) printf("%d", a = 20);

else printf("%d", a != 10);

(15) [2010.3.7]以下程序运行后,d的值是

int a = 1, b = 2, c = 3, d = 0;

if (a == 1)

if (b != 2)

if (c == 3) d = 1;

else d = 2;

else

if (c != 3) d = 3;

else d = 4;

else d = 5;

(16) [2004.4.19]以下选项,不能看作一条语句的是

A){ ; } B)a = 0, b = 0, c = 0;

C)if (a>0); D)if (b==0) m = 1; n = 2;

(17) [2004.9.22]以下程序的运行结果是

int a = 3, b = 4, c = 5, d = 2;

if (a < b)

if (b > c) printf("%d", d++ + 1);

else printf("%d", ++d + 1);

printf("%d\n", d);

(18) [2006.9.16]与条件表达式(x-y)?(x++):(y++)中的表达式(x-y)等价的是

A)(x-y>0)B)(x-y<0)

C)(x-y<0 || x-y>0)D)(x-y==0)

(19) [2007.9.21][2008.9.17]与(E)?(i++):(j--)中E等价的是

A)E==0 B)E!=0C)E==1 D)E!=1

(20) [2004.9.23][2011.9.19]下列语句功能与其他语句不同的是

A)if (a) printf("%d", x);

else printf("%d", y);

B)if (a == 0) printf("%d", y);

else printf("%d", x);

C)if (a != 0) printf("%d", x);

else printf("%d", y);

D)if (a == 0) printf("%d", x);

else printf("%d", y);

(21) [2006.4.19]若有int a = 1, b = 3, c = 2; float x = 1.5; 则正确的switch语句是

A)switch (x) C)switch (a+b)

{{

case 1.0: b = 0;case 1: b = 0;

case 2.0: b = 1;case 2+1: b = 1;

} }

B)switch ((int)x);Dswitch (a+b)

{{

case 1: b = 0;case 1: b = 0;

case 2: b = 1;case c: b = 1;

}}

(22) [2004.9.9]以下程序运行后,a和b的值是

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;

}

(23) [2007.4.9]若有:int a=2, b=7, c=5; 则输出

switch (a > 0)

{

case 1: switch (b < 0)

{

case 1: printf("@"); break;

case 2: printf("!"); break;

}

case 0: switch (c==5)

{

case 0: printf("*"); break;

case 1: printf("#"); break;

}

default: printf("&");

}

(24) [2010.3.19]有如下嵌套的if语句

if (a < b)

if (a < c) k = a; else k = c;

else

if (b < c) k = b; else k = c;

以下选项中与上述if语句等价的语句是

A)k = (ac)?b:c);

C)k = (a0 ? 1 : x < 0 ? -1 : 0;

A)if (x > 0) y = 1;

else if (x < 0) y = -1;

else y = 0;

B)y = 0;

if (x > 0) y = 1;

else if (x < 0) y = -1;

C)if (x < 0) y = -1;

else y = x > 0;

D)switch (x > 0)

{

case 1: y = 1;

case 0: y = x < 0 ? -1 : 0;

}

(26) [2010.3.18]与if (a==1) a = b; else a++;语句功能不同的switch语句是

A)switch (a==1) C)switch (a)

{ {

case 1: a = b; default: a++;

break; break;

case 0: a++; case 1: a = b;

} }

B)switch (a==1) D)switch (a)

{ {

case 0: a = b; case 1: a = b;

break; break;

case 1: a++; default: a++;

} }

(27) [2007.9.20]若程序前面已包含 math.h 文件,则不能正确计算右边公式的程序是

A)if (x >= 0) y = sqrt(x);

else y = sqrt(-x);

B)y = sqrt(x);

if (x < 0) y = sqrt(-x);

C)if (x >= 0) y = sqrt(x);

if (x < 0) y = sqrt(-x);

D)y = sqrt(x >= 0 ? x : -x);

- - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(1) 1217

(2) 20 0

(3) 105010

(4) B

(5) 4599

(6) 1

(7) 3

(8) 1

(9) D

(10) D

(11) 1331

(12) 0

(13) 2

(14) 20

(15) 4

(16) D

(17) 43

(18) C

(19) B

(20) D

(21) C

(22) 2,1

(23) #&

(24) C

(25) D

(26) B

(27) B

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值