C语言程序设计复习题选择题新.docx
- 文档编号:6658494
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:20
- 大小:27.06KB
C语言程序设计复习题选择题新.docx
《C语言程序设计复习题选择题新.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习题选择题新.docx(20页珍藏版)》请在冰豆网上搜索。
C语言程序设计复习题选择题新
第二部分选择题
1. 假设整型变量a为2,使b的值为0的表达式是( )。
A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>3?
0:
1
C 提示 正确答案为C
2. 假设x=2.5,a=7,y=4.7,则表达式:
x+a%3*(int)(x+y)%2/4的值为( )。
A)2.5 B)2.75 C)3 D)9.5 A 提示 正确答案为A
3. 假设a=3,b=4,c=5,则逻辑表达式:
!
(a+b)+c-1&&b+c/2的值是( )。
A)true B)false C)0 D) 1 D 提示 正确答案为D
4. 假设所有变量均为整型,则表达式:
(a=2,b=5,b++,a+b)的值为( )。
A)7 B)8 C)6 D)2 B 提示 正确答案为B
5. 设整型变量x的值为5,y的值为2,则值为1的表达式是( )。
A)!
(y==x/2) B)y!
=x%3 C)x>0&&y<0 D)x!
=y||x>=y
6.已知a=12,表达式a+=a-=a*=a的值为( )。
A)144 B)-12 C)0 D)24 C 提示 正确答案为C
6. 在下面C语言的函数说明语句中,正确的是( )。
A) int fun(int x, int y);
B) int fun(int x,y);
C) int fun(x,y);
D) int fun(int x; int y); A 提示 正确答案为A
7. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。
A) int B) float C) double D) 不能确定 C 提示 正确答案为C
8. 若有int k=5; float x=1.2;则表达式(int)(x+k)的值是( )。
A)5 B)6.2 C)7 D)6 提示 正确答案为D
9. 表达式k=(12<10)?
4:
1?
2:
3的值为( )。
A) 1 B) 2 C) 3 D) 4 B 提示 正确答案为B
10. 下列哪组运算符的优先级相同且运算次序从左到右( )。
A)() [] -> . B)++ -- +=
C)< & | ^ D)&& || A 提示 正确答案为A
11. 已知:
int x=1, y=2, z=0; 则执行:
z=x>y?
10:
20, z的值为( )。
A)10 B)20 C)1 D)2 B 提示 正确答案为B
12. 若已定义x和y为double类型,则表达式x=2,y=x+10/4 的值是( ) 。
A) 2 B) 4 C) 4.0 D) 4.5 C 提示 正确答案为C
13. sizeof(''a''+10)的值为( )类型。
A)int B) float C) double D)char提示 正确答案为A
14. 已知:
int x=1, y=2, z; 则执行:
z=x>y?
++x:
++y, z的值为( )。
(A) 1 (B) 2 (C) 3 (D) 4 C 提示 正确答案为C
15. C语言中,运算对象必须是整型数的运算符是( )。
A)% B)/ C)%和/ D)* A 提示 正确答案为A
16. 若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是( )。
A)1 B)2 C)2.0 D)2.5 C 提示 正确答案为C
17. 若t为double类型,表达式t=1,t+5,t的值是( ) 。
A)1 B)6.0 C)1.0 D)6 C 提示 正确答案为C
18. 在以下一组运算符中,优先级最高的运算符是( )。
A)<= B)= C)% D)&& C 提示 正确答案为C
19. 若有以下定义:
| char a;int b;
float c;
double d;
则表达式a*b+d-c值的类型为( )。
A)float B)int C)char D)double D 提示 正确答案为D
20. 假设有int x=11; 则表达式 (x++*1/3) 的值是 ( )
A) 3 B) 12 C) 11 D) 0 A 提示 正确答案为A
21. 以下关于运算符优先顺序的描述中,正确的是( )。
A)关系运算符<算术运算符<赋值运算符 B)逻辑运算符<关系运算符<算术运算符
C)算术运算符<关系运算符<赋值运算符 D)赋值运算符<关系运算符<算术运算符
D 提示 正确答案为D
22. sizeof (double)是一个( )。
A)整型表达式 B)实型表达式 C)不合法的表达式 D)函数
A 提示 正确答案为A
23. 下面对变量赋初值正确的是( )
A)int a=b=c=1; B)int a=1,b=c=2;
C)int a=1,b=1,c=1; D)int a=b=1,c=2; C 提示 正确答案为C
24. 在C语言中,若以下变量均为int型,则下面程序段的输出结果是( )。
s=6,u=6; u=s++;u++;
printf("%d",u);
A)7 B)6 C)5 D)4 B 提示 正确答案为B
25. 若有定义:
int x=3;double y; 则执行语句y=(double)x;后,变量x的数据类型为( )。
A)int B)char C)flaot D)double A 提示 正确答案为A
26. 若有定义double x,y; 则表达式x=1,y=x+3/2的值为( )。
A)1 B)2 C)2.0 D)2.5 C 提示 正确答案为C
27. 若有定义int x,y,t; 则执行语句:
x=y=3,t=++x||++y;后,y的值为( )。
A)不定值 B)4 C) 3 D)1 C 提示 正确答案为C
28. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( )。
x=(i=4,j=16,k=32)
A) 4 B) 16 C) 32 D) 52 C 提示 正确答案为C
29. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。
A)7 B)8 C)6 D)2 B 提示 正确答案为B
30. 设int a=1,则执行完循环While(a++<5);a的值是:
A)6 B)5 C)1 D)-264 A 提示 正确答案为A
31. 在下列for循环中,其循环次数是( )。
for(x=1,y=0;(y!
=123)&&(x<4); x++);
A)4 B)3 C)1 D)无数多次 B 提示 正确答案为B
32. 设x和y均为int型变量,则执行下面的循环后,y的值为( )。
for(y=1,x=1;y<=50;y++)
{if (x>=10) break;
if (x%2==1) {x+=5;continue;}
x-=3;
}
A)2 B)4 C)6 D)8 C 提示 正确答案为C
33. 执行下面程序段的结果是( )。
int x=23;
do
{ printf("%2d",x--);
}while (!
x);
(A)打印出321 (B)打印出23 (C)不打出任何内容 (D)陷入死循环
B 提示 正确答案为B
34. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式 ( )。
A)从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出
C) 右对齐输出该字串,左补空格 D) 输出错0信息 B
提示 正确答案为B
35. putchar函数可以向终端输出一个()。
A) 整型变量表达式值 B) 实型变量值
C) 字符串 D) 字符或字符型变量值 D
提示 正确答案为D
36. 请读程序片段:
int i=65536; printf("%d\n",i);
上面程序片段的输出结果是( )。
A) 65536 B) 0 C) 有语法错0,无输出结果 D) -1 B
提示 正确答案为B
37. 在下列程序段中:
int x, y ;
scanf("%3d*2d%d",&x,&y);
若输入的数据为:
12345678
A) 123,456 B)123,678 C)12345 678 D)无法得到正确的值 B
提示 正确答案为B
38. 有如下程序,输入数据12 345
#include
main()
{int x;
float y;
scanf("%3d%f",&x,&y); }
(A)12.000000 (B)345.000000 (C)12345.000000 (D)0.000000 B 提示 正确答案为B
39. 有如下程序,若要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是( )。
main()
{int a1,a2;
char c1,c2;
scanf("%d%d",&a1,&a2);
scanf("%c%c",&c1,&c2);
}
(A)1020AB
(C)10 20 AB
40. 执行下列程序段后,变量a,b,c的值分别是( )。
int x=10,y=9;
int a,b,c;
a=(--x==y++)?
--x:
++y;
b=x++;
c=y;
(A)a=9,b=9,c=9 (B)a=9,b=10,c=9
(C)a=1,b=11,c=10 (D)a=8,b=8,c=10 D 提示 正确答案为D
41. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是( )。
(A) 3 (B) 0 (C) 9 (D) -12 D 提示 正确答案为D
42. 在下列选项中,不正确的赋值语句是( )。
A)t/=5; B)n1=(n2=(n3=0));
C)k=i==j; D)a=b+c=1; D 提示 正确答案为D
43. 设x为int型变量,则执行以下语句后,x的值为( )。
x=10;x+=x-=x-x;
A)10 B)20 C)0 D)-20 B 提示 正确答案为B
44. 若有int a=1,b=2,c=3,d=4;则表达式:
a++
a++:
c a++: d的值是( )。 A)4 B)3 C)2 D)1 C 提示 正确答案为C 45. 以下选项中( )是正确的C语言赋值语句。 A)x=3,y=5 B)a=b=6 C)i--; D)y=int(x); C 提示 正确答案为C 46. 设有如下的变量定义: int i=8,k,a,b; unsigned long w=5; double x=1,42,y=5.2; 则以下符合C语言语法的表达式是( )。 A)a=a-=(b=4)*(a=3) B)x%(--3) C)a=a*3=2 D)y=float(i) A 提示 正确答案为A 47. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的语句是( )。 A)c=b=a; B)(a=c)‖(b=c); C)(a=c)&&(b=c); D)a=c=b; C 提示 正确答案为C 48. 在C语言的if语句中,用作判断的表达式为( )。 A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式 D 提示 正确答案为D 49. 以下程序的运行情况是( ). #inlcude void main( ) {int x=3,y=0,z=0; if (x=y+z) printf("****"); else printf("####");} A)有语法错0不能通过编译 B)输出**** C)可以通过编译, 不能通过连接, 不能运行 D)输出#### D 提示 正确答案为D 50. 若有定义int x,y;下面选项中合法的if语句( ). A)if(a==b)x++; B)if(a= (C)if(a<>b)x++; (Dif(a=>b)x++; A 提示 正确答案为A 51. 运行下列程序并用键盘输入53,48,32 后,在屏幕上的内容是( )。 main () { int i,j,k; scanf ("%d,%d,%d",&i, &j, &k); if (i>50) printf("%d",i); else if (i>40) printf("%d",j); else if (i>30) printf("%d",k); else printf("Error"); } A)53 B)48 C)32 D)Error A 提示 正确答案为A 52. 若有int i=10,j=0; 并执行下列程序段: switch ( i ) { case 9: i+=1; break; case 10: case 11: i-=2; break; default: j+=3; break; } 则变量i的正确结果是( )。 A)13 B)10 C)11 D)8 D 提示 正确答案为D 53. 若 int i=10,执行下列程序: switch ( i ) { case 9: i+=1; case 10: case 11: i-=1; default: i+=1; } 则变量i的正确结果是( )。 (A)10 (B)11 (C)12 (D)9 A 提示 正确答案为A 54. 以下程序段的运行结果是( )。 int a=7,b=8,c=9; if(a>b) a=b,b=c;c=a; printf("%d,%d,%d\n",a,b,c); A)7,8,7 B)7,9,7 C)8,9,7 D)7,8,9 A 提示 正确答案为A 55. 两次运行以下程序,若从键盘上分别输入6和4,则输出结果是( )。 main( ) {int x; scanf("%d",&x); if(x++>5) printf("%d\n",x--);} A)7和5 B)7 C)7和4 D)6和4 B 提示 正确答案为B 56. 下面程序的输出是( )。 main( ) {int y=9; for(;y>0;y--) if(y%3==0) {printf(“%d”,--y);continue;} } A)741 B)852 C)963 D)875421 B 提示 正确答案为B 57. 假定所有变量均已正确说明,下列程序段运行后x的值是( )。 a=b=c=0;x=35; if(! a)x--; else if(b) if(c) x=3; else x=4; A)34 B)4 C)35 D)3 B 提示 正确答案为B 58. 下面程序的运行结果是( )。 main( ) {int k=3; if (k++>3) printf("%d\n",k++); else printf("%d\n",--k); } A)5 B) 4 C)3 D)2 C 提示 正确答案为C 59. 下面程序的输出结果为( ) 。 main( ) {int x=0,a=10,b=20,c=15; if (a>b) if(b else x=2; printf("%d\n",x); } A)0 B)1 C)2 D)不确定 A 提示 正确答案为A 60. 下列程序的输出结果是( )。 #include main( ) {int a,b,c; a=1;b=2;c=3; a=(c=a>b)&&(b=c b: c; printf("%d,%d,%d\n",a,b,c); } A)1,2,3 B)0,2,0 C)1,2,0 D)1,0,0 B 提示 正确答案为B 61. 如果有#define f(x,y) x+y及int a=2,b=3;则执行printf("%d",f(a,b)*f(a,b)) 后的值为( )。 A)36 B)25 C)11 D)13 C 提示 正确答案为C 62. 若#include后面的文件名用双引号括起来,寻找被包含文件的方式是( )。 A) 先按系统设定的标准方式查找,再在当前目录中查找 B) 先在当前目录中查找,再按系统设定的标准方式查找 C) 只在当前目录中查找 D)只按系统设定的标准方式查找 B 提示 正确答案为B 63. 在宏定义#define PI 3.1415926中 ,用宏名PI代替一个( )。 A)单精度数 B)双精度数 C)常量 D)字符串 D 提示 正确答案为D 64. 执行下面的程序 #define SQR(X) X*X main() { int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); } 后,a的值是( )。 (A)10 (B)9 (C) 1 (D)0 C 提示 正确答案为C 65. 下面程序的输出结果是( )。 #include "stdio.h" #define SUB(x,y) (x)*y main( ) {int a=3,b=4;printf("%d\n",SUB(a,b+1));} A)12 B)16 C)15 D)13 D 提示 正确答案为D 66. 下列程序执行后的输出结果是( ) 。 #define MA(x) x*(x-1) main ( ) { int a=1,b=2; printf("%d\n",MA(1+a+b));} A) 6 B) 8 C) 10 D)12 B 提示 正确答案为B 67. 设有以下宏定义: #define N 3 #define Y(n) (N+1*n) 则执行语句: z=2*(N*Y(5+1));后,z的值为( )。 A)30 B)72 C)48 D)54 D 提示 正确答案为D 68. 以下程序的输出结果是 ( )。 #define M(x,y,z) x*y+z main( ) { int a=1,b=2,c=3; printf("%d\n", M(a+b,b+c,c+a)); } A) 19 B) 17 C) 15 D) 12 D 提示 正确答案为D 69. 一个C程序的组成部分可以是( )。 A) 一个主函数和一至若干个其他函数 B) 一至若干个主函数 C) 一个主程序和一至若干个其他函数 D) 一个主程序和一至若干个子程序 A 提示 正确答案为A 70. 以下叙述正确的是( )。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错 C 提示 正确答案为C 71. C语言规定,C程序执行的开始处为( )。 A) 源程序中排列在最前面的函数 B) 一个指定的系统库函数 C) 用户指定的一个特定函数 D) 程序的主函数 D 提示 正确答案为D 72. 一个C程序的执行是从( )。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 A 提示 正确答案为A 73. 一个C语言程序是由( )组成。 A) 一个函数 B) 一个或若干个函数 C) 一个过程 (D) 一个过程或若干个过程 B 提示 正确答案为B 74. 下列说法中提示的是( )。 A) 程序的执行总是从主函数开始。 B) 主函数可以调用任何非主函数的其它函数 C) 任何非主函数可以调用其它任何非主函数 D) 程序可以从任何非主函数开始执行 D 提示 正确答案为D 75. C程序的基本单位是( )。 A)函数 B)过程 C)语句 D)子程序 A 提示 正确答案为A 76. C语言规定: 在一个源程序中,main函数的位置( )。 A)必须在最开始B)必须在系统调用的库函数的后面 C)可以任意D)必须在最后 C 提示 正确答案为C 77. 下列四组选项中,均不是C语言关键字的选项是( )。 A) define B) getc C) include D) while IF char scanf go type printf case pow A 提示 正确答案为A 78. 以下叙述不正确的是( )。 A)一个C源程序可由一个或多个函数组成B)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 复习题 选择题