admin 管理员组

文章数量: 1087139


2024年4月26日发(作者:数据库工程师可以考什么证书)

一、 选择题

1. 以下非法的赋值语句是

A: n=(i=2,++i);

B: j++;

C: ++(i+1);

D: x=j>0;

2. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2 的值是

A: 6

B: 0

C: 2

D: 1

3. 阅读以下程序:

main()

{ int x;

scanf(“%d”,&x);

if(x--<5) printf(“%d”,x);

else printf(“%d”,x++);

}

程序运行后,如果从键盘上输人5,则输出结果是( )。

A: 3

B: 4

C: 5

D: 6

4. 有如下程序

main0

{ int a=2,b=-1,c=2;

if(a

if(b<0) c=0;

else c++

printf("%dn",c);

}

该程序的输出结果是

A: 0

B: 1

C: 2

D: 3

5. 有以下程序

#include

main()

1 / 18

{ int a,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

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

}

输出结果是( )。

A: 2,1

B: 3,2

C: 4,3

D: 2,-1

6. 两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是

main( )

{ int x;

scanf("%d",&x);

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

else printf("%dn",x - -); }

A: 7 和5

B: 6 和3

C: 7 和4

D: 6 和4

7. 能表示x 为偶数的表达式是

A: x%2==0

B: x%2==1

C: x%2

D: x%2!=0

8. 下面的程序段中共出现了几处语法错误?

int a,b;

scanf("%d",a);

b=2a;

if(b>0) printf("%b",b);

A: 1

B: 2

C: 3

D: 4

9. C 语言中,逻辑“真”等价于

A: 大于零的数

B: 大于零的整数

C: 非零的数

D: 非零的整数

2 / 18

10. C 语言的 switch 语句中,case 后

A: 只能为常量

B: 只能为常量或常量表达式

C: 可为常量及表达式或有确定值的变量及表达式

D: 可为任何量或表达式

11. 已知int i=10;表达式"20-0<=i<=9"的值是

A: 0

B: 1

C: 19

D: 20

12. 设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&&k 的值为

A: 1

B: 2

C: 3

D: 0

13. 逻辑运算符两侧运算对象的数据类型

A: 只能是0 或1

B: 只能是0 或非0 正数

C: 只能是整型或字符型数据

D: 可以是任何类型的数据

14. 能正确表示“当x 的取值在[1,10]和[200,210]范围内为真,否则为

假”的表达式是( )

A: (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)

B: (x>=1)||(x<=10)||(x>=200)||(x<=210)

C: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)

D: (x>=1)||(x<=10)&&(x>=200)||(x<=210)

15. 已知x=43,ch=’a’,y=0;则表达式(x>=y&&ch<’b’&&!y)的值

是( )

A: 0

B: 1

C: 语法错误

D: 假

16. 执行下列语句后a 的值为

int a=5,b=6,w=1,x=2,y=3,z=4;

(a=w>x)&&(b=y>z);

A: 5

B: 0

C: 2

3 / 18

D: 1

17. 以下程序的输出结果是( )

main()

{ int a=5,b=0,c=0;

if(a=b+c) printf(“***n”);

else printf(“$$$n”);

}

A: 有语法错误不能通过编译

B: 可以通过编译但不能通过连接

C: ***

D: $$$

18. 以下程序的输出结果是( )

main()

{ int m=5;

if(m++>5) printf(“%dn”,m);

else printf(“%dn”,m--);

}

A: 4

B: 5

C: 6

D: 7

19. 若运行时给变量x 输入12,则以下程序的运行结果是( )

main()

{ int x,y;

scanf(“%d”,&x);

y=x>12?x+10:x-12;

printf(“%dn”,y);

}

A: 0

B: 22

C: 12

D: 10

20. 若w=1,x=2,y=3,z=4,则表达式w

A: 4

B: 3

C: 2

D: 1

21. 设有int a=2,b;则执行b=a&&1;语句后,b 的结果是

A: 0

4 / 18

B: 1

C: 2

D: 3

22. 设有int m=1,n=2;则++m==n 的结果是

A: 0

B: 1

C: 2

D: 3

23. 设有int n=2;则++n+1==4 的结果是

A: true

B: false

C: 1

D: 0

24. 设有int n=2;则++n+1==4,n 的结果是

A: 1

B: 2

C: 3

D: 4

25. 以下使i 的运算结果为4 的表达式是

A: int i=0,j=0; (i=3,(j++)+i);

B: int i=1,j=0; j=i=((i=3)*2);

C: int i=0,j=1; (j==1)?(i=1):(i=3);

D: int i=1,j=1; i+=j+=2;

26. 当a=5,b=2 时,表达式a= =b 的值为

A: 2

B: 1

C: 0

D: 5

27. 若执行以下程序时从键盘上输入9,

_______则输出结果是

main()

{ int n;

scanf("%d",&n);

if(n++<10) printf("%dn",n);

else printf("%dn",n--);

}

A: 11

B: 10

C: 9

5 / 18

D: 8

28. main()

{ int a,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf(“%d,%d”,a,b);

}

A: 6,1

B: 2,1

C: 6,0

D: 2,0

29. 若有int x=10,y=20,z=30;以下语句执行后x,y,z 的值是( )

if (x>y)

z=x;x=y;y=z;

A: x=10,y=20,z=30

B: x=20,y=30,z=30

C: x=20,y=30,z=10

D: x=20,y=30,z=20

30. 下列表达式中能表示a 在0 到100 之间的是

A: a>0&a<100

B: !(a<0||a>100)

C: 0

D: !(a>0&&a<100)

31. 为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与( )

组成配对关系。

A: 缩排位置相同的if

B: 在其之前未配对的if

C: 在其之前未配对的最近的if

D: 同一行上的if

32. 已知:int x,a,b;下列选项中错误的if 语句是

A: if(a=b) x++;

B: if(a<=b) x++;

C: if(a-b) x++;

D: if(x) x++;

33. 当把以下四个表达式用作if 语句的控制表达式时,有一个选项与其它

三个选项含义不同,这个选项是( )。

A: k%2

B: k%2==1

6 / 18

C: (k%2)!=0

D: !k%2==1

34. 设有定义:int a=2,b=3,c=4;,则以下选项中值为0 的表达式是( )。

A: (!a==1)&&(!b==0)

B: a

C: a && b

D: a||(b+b)&&(c-a)

35. 以下程序段的输出结果是。

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

if(a>b)

a=b;

b=c;

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

36. 以下4 个选项中,不能看作一条语句的是

A: {;}

B: a=0,b=0,c=0;

C: if(a>0);

D: if(b==0) m=1;n=2;

以下题目为二级题

37. if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是

A)必须是逻辑值

B)必须是整数值

C)必须是正数

D)可以是任意合法的数值

38. 有以下程序段

int i,n;

for(i=0;i<8;i++)

{n=rand()%5;

switch (n)

{ case 1:

case 3:printf("%dn",n); break;

case 2:

case 4:printf("%dn",n);continue;

7 / 18

case 0:exit(0);

}

printf("%dn",n);

}

以下关于程序段执行情况的叙述,正确的是

A)for循环语句固定执行8次

B)当产生的随机数n为4时结束循环操作

C)当产生的随机数n为1和2时不做任何操作

D)当产生的随机数n为0时结束程序运行

39.有以下程序

#include

main()

{ int x=1,y=0;

if(!x) y++;

else if(x==0)

if (x) y+=2;

else y+=3;

printf("%dn",y);

}

程序运行后的输出结果是

A)3

B)2

C)1

D) 0

40.有以下程序

#include

int fun (int x,int y)

{ if(x!=y) return ((x+y)/2);

else return (x);

}

main()

{ inta=4,b=5,c=6;

printf("%dn",fun(2*a,fun(b,C)));

}

程序运行后的输出结果是

A)3

B)6

C)8

D)12

41. 有以下程序:

#include

8 / 18

main(){

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)1,1,2,0

B)0,0,0,3

C)编译有错

D) 0,1,2,0

42. 有以下程序:

#include

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;

case 3: a++; b++;

}

printf("a=%d,b=%dn",a,b);

}

A) a=2,b=2

B) a=2,b=1

C) a=1,b=1

D) a=1,b=0

43. 若有定义int x, y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条

件表达式(x-y) 等价的是( )

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

B) (x-y<0)

C) (x-y>0)

D)(x-y==0)

44 .有以下程序:

#include

main(){

int x=1,y=0;

9 / 18


本文标签: 语句 表达式 结果 输出