您好,欢迎来到微智科技网。
搜索
您的当前位置:首页计算机二级单选题

计算机二级单选题

来源:微智科技网
有关C语言和main函数:

1. 下列说法正确的是( )。

A. C 语言的主函数不允许有参数 B. C 语言的主函数最多允许 1 个参数 C. C 语言的主函数可以无参数 D. C 语言的主函数允许任意个参数 2. 在一个C语言程序中( )。

A. main函数必须出现在所有函数之前 B. main函数可以在任何地方出现 C. main函数必须出现在所有函数之后 D. main函数必须出现在固定位置 3. 关于C程序说法正确的是( )。 A. 一行只能写一条语句

B. 一个语句不可以分写在多行上 C. C语言本身没有输入输出语句 D. 分号不是C语句的必要组成部分 4. 以下正确的叙述是( )。

A. 在C语言中,main函数必须位于文件的开头 B. C程序每行中只能写一条语句 C. C语言本身没有输入、输出语句

D. 对一个C程序进行编译预处理时,可检查宏定义的语法错误 5. 下列说法正确的是( )。

A. C程序总是从main( )开始运行的,必须到main( )结束时为止 B. main( )必须放在程序的开头

C. 一个C程序可以有多个文件,但只能有一个main( )函数 D. 在C程序中,要调用的函数必须在main( )函数中定义 6. 一个C语言程序总是从( )开始执行。 A. 主过程 B. 子过程 C. 子程序 D. 主函数

7. 一个可执行C程序的开始执行点是( )。 A. 程序中的第一条语句 B. 文件的第一个函数

C. 程序中第一个定义的函数 D. main( )函数

8. 一个C语言程序由若干个函数组成,其中唯一不可缺少的函数是( ) A. 库函数 B. scanf 函数 C. printf函数 D. main函数

。 有关scanf函数:

9. scanf ( ) 函数的正确调用形式是( )。 A.scanf(格式控制串,输出项表列); B.scanf(格式控制串,输出项地址表列); C.scanf(格式控制串,输入项表列); D.scanf(格式控制串,输入项地址表列); 10. 设有int x,y;正确的输入语句是( )。 A. scanf(\"%d%d\ B. scanf(\"x=%f,y=%f\ C. scanf(\"%d,%d\

D. scanf(\"x=%d,y=%d\

有关运算符与表达式:

11. 下列运算符结合方向是右结合的是( )。 A. + B. && C. >= D. ?:

12. 下列运算符中,优先级别最高的是( )。

A. <= B. % C. || D. + 13. 表达式 (!'1'||'1')+5 的值是( )。

A. 不确定 B. 5 C. 6 D. 7 14. 下列选项中合法的字符常量是 ( ) A. \"&\" B. 'R' C. \"ABC\" D. \"\\n\"

15. 选出表达式结果为假的一项( )。 A. 1<4&&5>=4 B. (2>5==5)

C. (3<=3)&&(2<5) D. !(4<=8)||(3<=7)

16. 下列表达式中,( )是非法的。 已知float a=5;int b=4;

A. a%3+b B. b*b&&a||b C. (a>b)+(int)b%2 D. --b+a 17. 假定x和y为double型,则表达式x=2,y=x+3/2的值是( )。 A. 3.500000 B. 3 C. 2.000000 D. 3.000000

18. 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达

式(m=a>b)&&(n=c>d)运算后,n的值为( )。 A. 0 B. 1 C. 2 D. 3

19. 合法的赋值语句是( )。 A. x=y=100 B. d--; C. x+y; D. c=int(a+b);

20. 只有当整数x为奇数时,表达式为逻辑“真”的是( )。 A. x%2==0 B. !(x%2==0) C. (x-x/2*2)==0 D. !(x%2)

21. 表达式x 和y 的取值同时在 ( 0, +∞) 或 同时在 (-∞, 0) \"的表达式是

( ) 。

A. (x+y>0) && (x+y<=0)

B. (x>=0 | | y>=0) && (x<0 ||y<0) C. x>0&&y>0 || x<0 && y<0 D. (x>=0&&y>=0) &&(x<0&&y<0)

22. 设int x=12,y=12345;则执行语句printf(\"x=%4d,y=%4d\的结果是( )。 A. x= 12,y=1234 B. x=12,y=12345

C. x= 12,y=12345

D. x= 12,y=2345

23. a,b,c,d 都为float 型,且已正确赋值,则与数学表达式2ab/(5cd)等价的 C语言表达

式是( )。

A. a/c*b/d*2/5 B. a/(5*c*d)/2*b C. 2*a*b/5*c*d D. 2/5*a*b*(1/c*d)

24. 有如下定义:int a=3,b=-4; long c=5; float x; double y ; 则下列选项中不符

合C语言语法的表达式是( )。 A. a+=a-=a*b B. a%b

C. y=2*x; D. y=(float)c

25. 下列常数中哪个是不合法的C常量( )。 A. -0. B. 0003 C. 3e+2.3 D. \"105\"

26. 下列运算符中,优先级别最高的是( )。 A. <= B. = C. % D. &&

27. float i,j,下列可以正确表示把i,j之和转换成整型的C语言表达式( )。 A. int(i+j) B. int(i)+int(j) C. (int)(i+j) D. (int)i+j

28. 下列标识符中非法的是( )。 A. FILE B. temp C. stu_ave D. sum5 29. 程序段:int x=10, y=3,z;

printf(\"%d\\n\的输出结果是:( )。 A. 1 B. 0

C. 3 D. 4

30. 已知int a,b;则下列表达式不合法的是 ( )。 A. a/b B. (a+b)++ C. a+=b D. a*=b+3

31. 下列属于C语言基本数据类型的是( )。 A. 整型、实型、逻辑型 B. 整型、字符型、逻辑型 C. 整型、字符型、实型 D. 整型、实型、字符型、逻辑型

32. 为表示关系'a'≤x≤'z' ,C 语言表达式应是( )。 A. (x<='z')&&(x>='a') B. (x<='z')&(x>='a') C. (x<='z') and (x>='a') D. (x<='z')||(x>='a')

33. int x=3,y=4,a=5,b=6; 则表达式(a=x) &&(b=y)的值是 ( )。 A. 0 B. 1 C. 2 D. 不确定

34. 下列程序的执行结果是( )。 main()

{ int a,b,c; c=(a=3,b=a--);

printf(\"%d,%d,%d\ } A. 3,3,3 B. 3,2,3 C. 2,3,3 D. 2,2,3 35. 下列选项中合法的字符常量是 ( ) A. \"&\" B. 'R'

C. \"ABC\" D. \"\\n\"

36. 在C语言中,char型数据在内存中是以( )形式存储的。 A. ASCII码 B. 原码 C. 反码 D. 补码

37. 表示x的值在[0,9]中的正确的表达式是( )。 A. 0<=x<=9 B. x>=0 and x<=9 C. x>=0 & x<=9 D. x>=0 && x<=9

38. 已知int a,b;则下列表达式合法的是( )。 A. 2.5%a B. ++(a+b) C. 3++ D. a=b==3 39. 设有类型说明

unsigned int a=65535;

则printf函数中按 %d 格式输出a的值,其结果是( )。 A. 65535 B. -1 C. 1 D. -32767

40. 下列字符常量中非法的是( )。 A. '\\'' B. '\\\\' C. '\\n ' D. '\\678'

41. 在一个整常量2后面,加上L字母,该常量2L类型是( )。 A. 非法标识符 B. long C. int D. 变量名

42. 下列运算符中运算级别最低的运算符是( )。 A. && B. = C. ?: D. ||

43. C语言用( )表示逻辑\"真\"值。 A. true B. .t. C. 非0 D. 整型值1

44. 下面字符序列中,C合法的标识符是( )。 A. wps B. next-day C. x$ D. goto

45. 下列表达式中,( )是非法的。 已知float a=5;int b=4; A. a%3+b B. b*b&&a||b C. (a>b)+(int)b%2 D. --b+a

46. int i=5, k ; 表达式k=2*'B'-'A'-'C'+i的值是( )。 A. 5 B. 6 C. 7 D. 8

47. 下列常数中( )是不合法的C常量。 A. 12e1.5 B. 3e5 C. 1.3 e-5 D. 12E2

48. 已知int a,b;则下列表达式不合法的是( )。 A. 3%a B. a+=b C. ++3+a+b D. 049. 以下各组标识符中不正确的是 ( )。 A. _A_ B. integer

C. for D. aAaA 50. 若要使a=123,b=4567,c='A' 用

scanf(\"%3d%4d,%c\则输入格式应为( )。 A. 123,4567,A B. 1234567A

C. 123 4567 A D. 1234567,A

51. 在使用getchar()函数时必须( )。 A. 先定义一个字符变量 B. 使用 #include \"stdio.h\" C. 使用 #define getchar D. 什么也不需要

52. 下列运算符中运算级别最低的运算符为 ( )。 A. , B. = C. ? : D. ||

53. 设a为整型变量,初值为12,执行完语句a+ =a-=a*a;后,a 的值是( A. 252 B. 144

) C. 2 D. -2

54. 设a为整型变量,则表达式 a=4&&5>3运算后a 的值为( )。 A. 0 B. 1 C. 2 D. 3

55. 表示 x 的值在[100,200]中的正确的表达式为( )。 A. 100<=x<=200 B. x>=100 and x<=200 C. x>=100 & x<=200 D. x>=100 && x<=200

56. C语言中 char, int, double这三种变量在内存中分别占( )。 A. 2个字节,4个字节,4个字节 B. 1个字节,4个字节,4个字节 C. 1个字节,2个字节,8个字节 D. 2个字节,2个字节,8个字节

57. 设a的值为22,n的值为7,则表达式a%=(n%=2)运算后a的值为( )。 A. 0 B. 1

C. 12 D. 6

58. 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是( A. x || y B. x ||!y C. x && y D. !x||!y

59. 下列运算符中,优先级别最高的是( )。 A. <= B. % C. || D. !

60. 如下程序段的输出结果是( )。 int i=5 , j;

j=(++i)+(i++); printf(\"%d:%d\ A. 5:10 B. 6:12 C. 7:12 D. 7:10

61. 如下程序段的输出结果为 ( )。 int x=5,y=4,z=4;

x=y= =z; printf(\"%d\ A. 0 B. 1 C. 4 D. 5

62. 数学表达式 |x|/2a 对应的正确 C 语言表达式是( )。 A. exp(x)/(2*a) B. sqrt(x)/(2*a) C. fabs(x)/(2*a) D. |x|/(2*a)

63. 下列不合法的C标识符是( b )。 A. num1 B. num_1 C. num-1 D. num123

. 下列数据中不合法的十六进制整常量是( )。 A. 0XAB B. 0xaf C. 0fx D. 0x42

65. 如下程序段的输出结果是( )。

)。 int i=010,j=10,k=0x10; printf(\"%d,%d,%d\

A. 8,10,16 B. 8,10,10 C. 10,10,10 D. 10,10,16

66. 下列表达式结果为真的是( )。 A. 1<4&&5<4 B. !(2<5==5)

C. !(1<3)||!(2<5) D. !(4<=6)&&(3>=7)

67. 若有说明语句int i,j;且i的值为6,则执行语句j=(++i)+(i++);后i的值是( )。 A. 7 B. 8 C. 13 D. 15

68. 表示字符变量x是数字字符的正确的表达式是( )。 A. '0'<=x<='9' B. x>='0' and x<='9' C. x>=0 && x<=9 D. x>='0' && x<='9'

69. 程序段:int x=10, y=3,z;

printf(\"%d\\n\的输出结果是( )。 A. 1 B. 0 C. 3 D. 4

70. 下列运算符优先级最高的是( )。 A. % B. ! C. -> D. ~

71. 设有类型说明int a= -2,在16位微机中分别用%o和%x打印a的值结果是( A. -2 -2 B. 177776 fffe C. 出错 D. 177776 -2 72. 转义字符是以( )开头。 A. % B. &

C. # D. \

73. 以下程序的输出结果是( )。 #include main( )

{ int a = 7;float x = 2.5, y = 4.7; printf(\"%g\ }

A. 0 B. 2.75 C. 2 D. 2.5

74. 以下运算符中优先级最高的为( )。 A. && B. + C. -> D. !=

75. 若有定义:int a=8, b=5, c; 执行语句c = a/b+0.4 后,c的值为( )。 A. 1.4 B. 1 C. 2.0 D. 2

76. 以下程序的输出结果是( )。 #include

)。 main( )

{ int a = 5, b = 4, c = 6, d;

printf(\"%d\\n\ }

A. 5 B. 4 C. 6 D. 不确定

77. 以下程序的输出结果是( )。 #include void main(void)

{ int a = 1, b = 2, c = 3; printf(\"%d\ } A. 2 B. 1 C. 0 D. 3

78. 下面标识符中,不合法的用户标识符为( )。 A. for B. E2 C. a3AB D. _a

79. 能够完成整型变量a与b的值互换的程序段是( )。 A. t=a;b=a;t=b; B. t=a;a=b;b=t; C. b=a;a=b; D. t=a;a=b;b=a;

80. 若x为unsigned int型变量,则执行以下语句后的x值为( x=65535; x=(int) x;

A. 65535 B. -32768 C. 1 D. -1

选择结构:

81. 关于else语句描述正确的是( )。 A. 不可缺少

B. 必须与离之最近的if语句配对使用 C. 不可以单独使用 D. 必须使用缩进格式表示

82. 与y=(x!=0?1:-1);功能相同的if语句是( )。 A.if(x<>0) y=1; else y=-1; B.if(x) y=1; else y=-1; C.if(x) y=-1; else y=1;

D.if(x>=0) y=1;

83. 已知int a,b;下列switch语句中正确的是( )。 A. switch(a)

{case a: a++;break;

)。

case b: b++;break;} B. switch(a+b)

{case 1: a+b;break; case 2: a-b;break;} C. switch(a*a) {case 1,2:++a; case 3,4:--b;} D. switch(a/0.5+b) {case 5-a:a/5;break; default:a+b;}

84. C语言中的if(表达式)语句里,表达式可以是( )。 A. 逻辑表达式、关系表达式 B. 任何合法的表达式 C. 赋值表达式

D. 逻辑、关系和赋值表达式

85. 下面哪一种程序结构不是C语言的分支结构( )。 A. if ( ) ... else ... B. for( ) ... C. switch ( )

D. ( 条件) ? 值1:值2

86. else语句中描述正确的是 ( )。 A. 有if就必须有else

B. 必须与就近未成对的if语句配对使用 C. 不可以单独使用 D. 必须使用缩进格式表示

87. 为了避免嵌套的条件语句if-else的二义性,C语言规定:else与( A. 缩排位置相同的if

B. 其之前最近的,尚未配对的if

C. 其之后最近的,尚未配对的if D. 同一行上的if

88. 以下( )为不正确的语句. A. if(100) a=++b B. if(a>b) a+=b;

C. if(a>b) a+=b*2; else if(a<0) a-=b*2; D. if(a>b) a+=b-2;else a=b*2;

. 对于else 语句中描述正确的是( )。 A. 不可缺少

B. 可有可无,但须与if语句配合使用 C. 可以单独使用

D. 必须使用缩进格式表示

90. 以下不正确的语句是( )。 A. if (a>b) a++ else ++b; B. if (a>b) a+=b; else ;

C. if (a) a+=b; else if(b) ++b;

)配对。 D. if (a>b) a++ ; else if(b) ++b;

91. 若a,b,c均为int型变量,则执行以下语句后a,b,c的值分别为( )。 a=0,b=0,c=1; switch (c) { case 0:b++; case 1:a++; case 2:a++;b++; } printf(\"a=%d,b=%d\\n\ A.a=2,b=1 B.a=1,b=2 C.a=1,b=0 D.a=2,b=2

92. 以下程序的输出结果是( )。 main( ) { int a = 4, b = 5, c =6; if (a循环结构:

93. 有以下程序 main() { int i;

for(i=0;i<3;i++) switch(i)

{ case 1: printf(\"%d\ case 2: printf(\"%d\ default: printf(\"%d\ } }

执行后输出的结果是 ( )。 A. 011122 B. 012 C. 012020 D. 120

94. 以下程序段的输出结果是( )。 int x=3; do

{ printf(\"%3d\ }while(!(--x));

A. 1 B. 3 0

C. 1 -2 D. 死循环 95. 下列程序段的输出结果是( )。 for(a=1;a<=10;a++) if(a%3==1)break; printf(\"%d\\n\

A. 1 B. 2 C. 3 D. 4

96. 执行以下程序后的输出结果为( )。 # include main() { int i;

for (i='A'; i<'I';i++,i++)

printf(\"%c\ A. abcdefghi B. aceg

C. acegi D.编译出错,无输出。

97. 执行语句for ( x=4; x-->0 ; );后,变量x 的值是 ( ) A. -1 B. 0 C. 1 D.不确定

98. 下列程序的执行结果是( )。 main()

{ int n=9; while(n>6) printf(\"%d\ A. 9876 B. 876 C. 987 D. 8765

99. 执行语句for(i=1;i++<4;);后,变量i的值为( )。 A. 3 B. 4

C. 5 D. 不定

100. 下列说法正确的是( )。

A. continue语句只能用于循环语句中 B. switch语句中必须有default语句 C. break语句只用于循环语句内

D. break终止本次循环 ,continue终止本重循环

101. C语言中do {循环体}while( 表达式);语句中,说法正确的是( A. 循环体可能一次也不执行 B. 循环体会至少执行一次

C. 循环体必须用{}组成复合语句

D. 表达式的值为0时,返回循环体执行循环内容 102. 执行以下程序后的结果为( )。 main( ) {int i=1; while(i<=5)

printf(\"%d,\

A. 1,2,3,4,5, B. 2,3,4,5,6, C. 2,3,4,5, D. 1,2,3,4,

103. 执行以下程序后的输出结果为( )。

。)。 # include main() { int i;

for (i='A'; i<'I';i++,i++)

printf(\"%c\ printf(\"\\n\"); } A. abcdefghi B. aceg C. acegi D.编译出错,无输出。

104. while 循环和 do -while 循环的区别是( )

A. while 循环和 do -while 循环的循环体都可以不执行;

B. while 循环的循环体将至少执行一次,而do -while 循环的循环体可以不执行; C. do- while 循环的循环体将至少执行一次,而while 循环的循环体可以不执行; D. while 循环和 do -while 循环的循环体都将至少执行一次。 105. 下列程序的执行结果是( )。 main()

{ int n=9; while(n>6) printf(\"%d\ A. 9876 B. 876 C. 987 D. 8765

106. 已知int t=0;则以下关于 while(t=1){. . .}的说法正确的是( )。 A. 循环控制表达式不正确 B. 循环控制表达式的值永远为1 C. 死循环,永远无法结束 D. 一次循环体都不会执行. 107. 以下不正确的描述是( )。

A. 使用while和do...while循环时,循环变量初始化操作应在循环语句之前完成 B. while循环是先判断表达式,后执行循环体语句

C. do...while和for循环均是先执行循环体语句,后判断表达式 D. for、while、do...while循环中的循环体均可以由空语句组成 108. 结束本次循环,而开始下一次循环的语句是( )。 A. goto; B. break; C. continue; D. return;

109. 下列循环的循环体执行次数为( )。 int i=0,j=10;

for(;i=j=10;i++,j--) A. 0 B. 1 C. 10 D. 无限次 110. C语言中 for( 表达式1;表达式2;表达式3) {循环体} 语句中,说法正确的是 ( A.表达式2可以省略

B.表达式中间的分隔符';' 可以省略 C.表达式1不能省略

D.表达式2不能省略,否则是死循环

111. 已知int a=5;下列循环的循环次数是( )。 do{ printf(\"%d\ a--;

}while(a!=0);

)。 A. 0 B. 1 C. 5 D. 无限次 112. 下列说法正确的是( )。

A. break语句只用于循环语句和switch语句中 B. switch语句中必须有default语句

C. continue语句一般用于循环语句中,也可单独使用 D. break 终止本次循环 ,continue终止本重循环 113. 若定义int a=10;,下列循环的输出结果是( )。 while(a>7) { a--;printf(\"%d\ A. 10 9 8 B. 9 8 7 C. 10 9 8 7 D. 9 8 7 6

114. 以下程序段的输出结果是( )。 for(i=1;i<6;i++) { if(i%2)printf(\"#\");continue; } A. ##### B. ## C. ### D. ####

115. 下面两个程序段中,变量sum和i的初值均相同,在( )情况下,两个程序段的执行

结果不相同。 while ( i>=0) do { sum=sum+i; { sum=sum+i; i++; ++i; } }while(i>=0); A. i的初值大于10 B. i的初值小于0 C. 任意条件 D. sum的初值为0

116. C语言中for(表达式1;表达式2;表达式3) 语句中,说法不正确的是( )。 A. 表达式1可以省略 B. 循环体语句不能为空语句

C. 循环体中若有两条以上语句必须用{}组成复合语句

D. 表达式2的值为0时,循环结束

117. C语言中 for( 表达式1;表达式2;表达式3) {循环体} 语句中,说法正确的是 ( )。 A.表达式2可以省略

B.表达式中间的分隔符';' 可以省略 C.表达式1不能省略

D.表达式2不能省略,否则是死循环

118. 若a,b为int型变量,则执行以下语句后,a的值为( )。 a=1;b=10; do{ b-=a; a++; }while(b-->0); A. 7 B. 6 C.5 D. 4

119. 对以下程序段,while 循环执行的次数是( )。

int k=0; while (k = 1) k++;

A. 无限次 B. 有语法错,不能执行 C. 一次也不执行 D. 执行1次 120. 以下程序执行后sum的值是( )。 main( ) { int i , sum; for (i=1;i<6;i++) sum+=i; printf(\"%d\\n\ }

A. 15 C. 不确定

B. 14 D. 0

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务