C选择试题.docx
- 文档编号:30006663
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:69
- 大小:31.41KB
C选择试题.docx
《C选择试题.docx》由会员分享,可在线阅读,更多相关《C选择试题.docx(69页珍藏版)》请在冰豆网上搜索。
C选择试题
C选择试题
1. 在C语言源程序中,以下叙述正确的是( C )。
A. main函数必须位于文件的开头
B. 每行只能写一条语句
C. 程序中的一个语句可以写成多行
D. 每个语句的最后必须有点号
2. 关于C语言的源程序的叙述中,错误的是(C )。
A. C语言的源程序由函数构成
B. main函数可以书写在自定义函数之后
C. 必须包含有输入语句
D. 一行可以书写多个语句
3. 关于C语言数据类型的叙述,正确的是(C )。
A. 枚举类型不是基本类型
B. 数组不是构造类型
C. 变量必须先定义后使用
D. 不允许使用空类型
4. C程序中main函数的位置(C )。
A. 必须在最开始
B. 必须在系统库函数后面
C. 可以在自定义函数后面
D. 必须在最后
5. C语言的函数体由(B )括起来。
A. ( )
B. { }
C. [ ]
D. /* */
6. 关于C语言的叙述中,不正确的是( D)。
A. C程序可由一个或多个函数组成
B. C程序必须包含一个main()函数
C. C程序的基本组成单位是函数
D. 注释说明只能位于一条语句的后面
7. 以下叙述不正确的是( D )。
A. C程序的执行总是从main函数开始
B. 一个C源程序必须包含一个main函数
C. C语言程序的基本组成单位是函数
D. 在编译C程序源程序时,可发现注释中的拼写错误
8. 结构化程序设计的三种基本结构是(C )。
A. 函数结构、分支结构、判断结构
B. 函数结构、嵌套结构、平行结构
C. 顺序结构、分支结构、循环结构
D. 分支结构、循环结构、嵌套结构
9. 对于C语言源程序,以下叙述错误的是(C )。
A. 可以有空语句
B. 函数之间是平等的,在一个函数内部不能定义其它函数
C. 程序调试时如果没有提示错误,就能得到正确结果
D. 注释可以出现在语句的前面
10. 下面关于C语言用户标识符的描述,正确的是( C )。
A. 不区分大小写
B. 用户标识符不能描述常量
C. 类型名也是用户标识符
D. 用户标识符可以作为变量名
11. 以下(D )是正确的变量名。
A. 5f
B. if
C. f.5
D. _f5
12. 以下(D )是正确的常量。
A. E-5
B. 1E5.1
C. 'a12'
D. 32766L
13. 以下( D )是正确的变量名。
A. a.bee
B. -p11
C. int
D. p_11
14. 以下(C )是正确的字符常量。
A. "c"
B. '\\''
C. 'W'
D. "\32a"
15. 以下(A )是不正确的字符串常量。
A. 'abc'
B. "12'12"
C. "0"
D. " "
16. 以下(B )是错误的整型常量。
A. -0xcdf
B. 018
C. 0xe
D. 011
17. 以下(B )是正确的浮点数。
A. e3
B. .62
C. 2e4.5
D. 123
18. 若有说明语句:
char c='\95'; 则变量c包含(A )个字符。
A. 1
B. 2
C. 3
D. 语法错误
19. 若有定义:
int a=2; 则正确的赋值表达式是( A)。
A. a-=(a*3)
B. double(-a)
C. a*3
D. a*4=3
20. 语句x=(a=3,b=++a);运行后,x、a、b的值依次为( C )。
A. 3,3,4
B. 4,4,3
C. 4,4,4
D. 3,4,3
21. 语句a=(3/4)+3%2;运行后,a的值为(B )。
A. 0
B. 1
C. 2
D. 3
22. char型变量存放的是(A )。
A. ASCII代码值
B. 字符本身
C. 十进制代码值
D. 十六进制代码值
23. 若有定义:
int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为( C)。
A. 3,3
B. 4,4
C. 4,3
D. 3,4
24. 若有定义:
int a; 则语句a=(3 * 4)+ 2 % 3;运行后,a的值为( B)。
A. 12
B. 14
C. 11
D. 17
25. 若有定义:
int a,b; double x,则以下不符合C语言语法的表达式是(A )。
A. x%(-3)
B. a+=-2
C. a=b=2
D. x=a+b
26. 若有定义:
int x=2,y=3;float i;,则以下符合C语言语法的表达式是( B )。
A. x=x*3=2
B. x=(y==1)
C. i=float(x)
D. i%(-3)
27. 设double型变量a,b,c,e均有值;对代数式(3ae)/(bc),不正确的C语言表达式是( C)。
A. a/b/c*e*3
B. 3*a*e/b/c
C. 3*a*e/b*c
D. a*e/c/b*3
28. 下面叙述正确的是( B )。
A. 2/3 与 2.0/3.0 等价
B. (int)2.0/3 与 2/3 等价
C. ++5 与 6 等价
D. 'A'与"A"等价
29. 下面叙述中,错误的是( A)。
A. 其算术运算对象不包含函数
B. %(模运算符)的运算对象只能为整型量
C. 算术运算符的结合方向是"自左至右"
D. 自加和自减运算符的结合方向是"自右至左"
30. 下面叙述正确的是(A )。
A. 强制类型转换运算的优先级高于算术运算
B. 若a和b是整型变量,(a+b)++是合法的
C. 'A'*'B' 是不合法的
D. "A"+"B"是合法的
31. 若有定义:
int k,i=2,j=4; 则表达式 k=(++i)*(j--) 的值是(B )。
A. 8
B. 12
C. 6
D. 9
32. 设整型变量a为5,使b不为2的表达式是(C )。
A. b=(++a)/3
B. b=6-(--a)
C. b=a%2
D. b=a/2
33. 若有定义:
int a=1,b=2,c=3; 则语句 ++a||++b&&++c;运行后b的值为(C )。
A. 1
B. 0
C. 2
D. 3
34. 若有定义:
int i,j;则表达式(i=2,j=5,i++,i+j++)的值是( B )。
A. 7
B. 8
C. 9
D. 10
35. 若有定义:
int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是( B )。
A. 7
B. 8
C. 9
D. 10
36. 若有定义:
int m=5,n=3;则表达式(m+1,n+1,(--m)+(n--))的值是( B )。
A. 6
B. 7
C. 8
D. 9
37. 已知 int a;使用scanf()函数输入一个整数给变量a,正确的函数调用是( B )。
A. scanf("%d",a);
B. scanf("%d",&a);
C. scanf("%f",&a);
D. scanf("%lf",&a);
38. 已知 double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是(D )。
A. scanf("%ld",&a);
B. scanf("%d",&a);
C. scanf("%7.2f",&a);
D. scanf("%lf",&a);
39. 已知 char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B )。
A. scanf("%d",&a);
B. scanf("%lf",&a);
C. scanf("%c",&a);
D. scanf("%u",&a);
40. putchar()函数的功能是向终端输出(B )。
A. 多个字符
B. 一个字符
C. 一个实型变量值
D. 一个整型变量表达式
41. getchar()函数的功能是从终端输入( D)。
A. 一个整型变量值
B. 一个实型变量值
C. 多个字符
D. 一个字符
42. 若有定义:
int x=1234,y=123,z=12;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为(D )。
A. 123412312
B. 12341234123412341231231231212
C. 1234+1234+1234
D. 1234+123+12
43. 已有如下定义和输入语句,
int a; char c1,c2;
scanf("%d%c%c",&a,&c1,&c2);
若要求a、c1、c2的值分别为10、A和B,正确的数据输入是( A )。
A. 10AB
B. 10 A B
C. 10A B
D. 10 AB
44. 已有如下定义和输入语句:
int a,b;
scanf("%d,%d",&a,&b);
若要求a、b的值分别为10和20,正确的数据输入是(B )。
A. 10 20
B. 10,20
C. a=10,b=20
D. 10;20
45. 以下程序的运行结果是(D )。
void main()
{
int a=65;
char c='A';
printf("%x,%d",a,c);
}
A. 65,a
B. 41,a
C. 65,65
D. 41,65
46. 下面叙述中,(A )不是结构化程序设计中的三种基本结构之一。
A. 数据结构
B. 选择结构
C. 循环结构
D. 顺序结构
47. 下面叙述中,(A )不是结构化程序设计三种基本结构的共同特点。
A. 先判断后执行
B. 单入口,单出口
C. 程序中没有执行不到的语句
D. 无死循环
48. 结构化程序设计不包括( A)。
A. 最优化
B. 自顶而下,逐步细化
C. 模块化设计
D. 结构化编码
49. 以下运算符中优先级最高的是(D )。
A. >
B. ||
C. &&
D. +
50. 若有定义:
int x=3,y=4;则表达式 !
x||y 的值为( A)。
A. 1
B. O
C. 3
D. 4
51. 若有定义:
int i=7,j=8;则表达式 i>=j||i A. 1 B. 变量i的值 C. 0 D. 变量j的值 52. 若希望当a的值为奇数时,表达式的值为"真",a的值为偶数时,表达式的值为"假"。 则不能满足要求的表达式是(C )。 A. a%2==1 B. ! (a%2==0) C. ! (a%2) D. a%2 53. 若有定义: int x=3,y=4,z=5;则值为0的表达式是( D)。 A. 'x'&&'y' B. x<=y C. x||y+z&&y-z D. ! ((x z||1) 54. 若有定义: int a=5,b=2,c=1;则表达式a-b A. 0 B. 1 C. 2 D. -1 55. 已知double a=5.2; 则正确的赋值表达式是( )A。 A. a+=a-=(a=4)*(a=3) B. a=a*3=2 C. a%3 D. a=double(-3) 56. 已知char a='R'; 则正确的赋值表达式是(A )。 A. a=(a++)%4 B. a+2=3 C. a+=256-- D. a='\078' 57. 已知int a='R'; 则正确的表达式是( A )。 A. a%10 B. a=int(3e2) C. 2*a=a++ D. a=a+a=a+3 58. 设单精度型变量f、g的值均为2.0,使f为4.0的表达式是( A)。 A. f+=g B. f-=g+2 C. f*=g-6 D. f/=g*10 59. 若有定义: float x=3.5;int z=8;则表达式 x+z%3/4 的值为( B)。 A. 3.75 B. 3.5 C. 3 D. 4 60. 若有定义: int a=1,b=2,c=3,d=4,x=5,y=6;则表达式 (x=a>b)&&(y=c>d) 的值为( A)。 A. 0 B. 1 C. 5 D. 6 61. 若有定义: int a=2,b=3; float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是( A )。 A. 3.5 B. 3.0 C. 2.5 D. 2.0 62. 若有定义: int b=7; float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是( C )。 A. 2.5 B. 3.5 C. 4.5 D. 5.5 63. 若有定义: int a=6,b=2;char c1='a',c2='b';则表达式a+b%5+c2-c1的值是(C )。 A. 7 B. 8 C. 9 D. 表达式错误 64. 以下的if语句中,x的值一定被重新赋值的是( B )。 A. if(x==y) x+=y; B. if(x>y && x! =y ); x+=y; C. if(x! =y) scanf("%d",&x); else scanf("%d",&y); D. if(x { x++;y++; } 65. C语言对if嵌套语句的规定: else总是与(B )配对。 A. 第一个if B. 之前最近的且尚未配对的if C. 缩进位置相同的if D. 之前最近的if 66. 对于整型变量x,下述if语句( B )与赋值语句: x=x%2==0? 1: 0; 不等价。 A. if (x%2! =0) x=0; else x=1; B. if (x%2) x=1; else x=0; C. if (x%2==0) x=1; else x=0; D. if (x%2==1) x=0; else x=1; 67. 若有定义: int x=1,y=2,z=4;则以下程序段运行后z的值为(B )。 if(x>y) z=x+y; else z=x-y; A. 3 B. -1 C. 4 D. 不确定 68. 若有定义: int a=1,b=2,c=3;则执行以下程序段后a,b,c的值分别为( D)。 if (a {c=a;a=b;b=c;} A. a=1,b=2,c=3 B. a=2,b=3,c=1 C. a=2,b=3,c=3 D. a=2,b=1,c=1 69. 以下程序段运行后变量a的值为( D)。 int x=6,y=5; int a; a=(--x==y++)? x: y+1; A. 0 B. 1 C. 6 D. 5 70. 以下程序的运行结果是( )。 void main() { int n='e'; switch(n--) { default: printf("error "); case 'a': case 'b': printf("good "); break; case 'c': printf("pass "); case 'd': printf("warn "); } } A. error B. good C. error good D. warn 71. 以下程序的运行结果是( )。 void main() { int n='c'; switch(n++) { default: printf("error "); break; case 'a': case 'b': printf("good "); break; case 'c': printf("pass "); case 'd': printf("warn "); } } A. pass B. warn C. pass warn D. error 72. 以下程序的运行结果是( )。 void main( ) { int n=5; if(n++>=6) printf("%d\n",n); else printf("%d\n",++n); } A. 4 B. 5 C. 6 D. 7 73. 设有整型变量x,下述语句( )不会出现死循环。 A. for(;;x+=1); B. for(;(x=getchar())! ='\n';); C. while (1) {x++;} D. for(x=10;;x--); 74. 对于整型变量x,与while(! x)等价的是( )。 A. while(x! =0) B. while(x==0) C. while(x! =1) D. while(~x) 75. 对于整型变量x和y,语句 for(x=0,y=0;(y! =123)&&(x<4);x++) y++; 中的“y++;”被执行( )。 A. 4次 B. 0次 C. 123次 D. 3次 76. 在c语言中while循环和do--while循环的主要区别是( )。 A. do--while循环体内可以使用break语句,while循环体内不能使用break语句 B. do--while的循环体至少无条件执行一次,while的循环体不是 C. do--while循环体内可以使用continue语句,while循环体内不能使用continue语句 D. while的循环体至少无条件执行一次,do--while的循环体不是 77. 以下程序段运行后,循环体运行的次数为( )。 int i=10,x; for (;i<10;i++)x=x+i; A. 10 B. 0 C. 1 D. 无限 78. 以下程序段运行后变量n的值为( )。 int i=1,n=1; for (;i<3;i++) {continue;n=n+i;} A. 4 B. 3 C. 2 D. 1 79. 以下程序的运行结果是( )。 void main() { int sum = 0, item = 0; while(item < 5) { item++; sum += item; if(sum==5) break; } printf("%d\n",sum); } A. 10 B. 15 C. 5 D. 6 80. 以下程序的运行结果是( )。 void main() { int sum = 0, item = 0; while(item < 5) { item++; sum += item; if(sum>=6) break; } printf("%d\n",sum); } A. 10 B. 15 C. 6 D. 7 81. 以下程序的运行结果是( )。 void main() { int sum = 0, item = 0; while(item < 5) { item++; if(item == 2) continue; sum += item; } printf("%d\n",sum); } A. 10 B. 13 C. 15 D. 1 82. 下列数组定义中,正确的是( )。 A. int a[5]={0}; B. int a[]={0 1 2}; C. int a[5]=0; D. int a[]; 83. 下列数组定义中,正确的是( )。 A. int a[10]; B. int n=10,a[n]; C. int N=10;int a[N]; D. int n;scanf("%d",&n); int a[n]; 84. 已知 int a[10]; 则对a数组元素引用不正确的是( )。 A. a[10] B. a[3+5] C. a[10-10] D. a[5] 85. 若有定义: int a[3]={0,1,2};则a[1]的值为( )。 A. 0 B. 1 C. 2 D. 3 86. 若有定义: int a[5]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为( )。 A. 6 B. 5 C. 1 D. 2 87. 以下能对一维数组a进行正确初始化的语句是( )。 A. int a[5]=(0,0,0,0,0); B. int a[5]=[0]; C. int a[5]={1,2,3,4,5,6,7}; D. int a[]={0}; 88. 下面程序段的运行结果是( )。 int i=0,a[]={3,4,5,4,3}; do{ a[i]++; }while(a[++i]<5); for(i=0;i<5;i++) printf("%d ",a[i]); A. 4 5 6 5 4 B. 3 4 5 4 3 C. 4 5 5 5 4 D. 4 5 5 4 3 89. 下面程序段的运行结果是( )。 int i=0,a[]={7,5,7,3,8,3}; do{ a[i]+=2; }while(a[++i]>5); for(i=0;i<6;i++) printf("%d ",a[i]); A. 9 7 9 5 10 5 B. 9 5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择 试题