资源描述
(word完整版)C语言复习资料参考答案
选择题(20题,每题1。5分):
1。下面能正确使用的语句是_____D______。
(A)、 int *x, y=1; x=y;
(B)、 int *x; *x=1;
(C)、 int *x, y; x=&y;
(D)、 int *x; y=1; x=&y;
2。以下程序的运行结果是___C______。
void main()
{
int x=1,y=—1,z=2;
if (x>y)
if (y〉0) z=0;
else z++;
else x++;
printf(“%d,%d”,x,z);
}
(A)、22
(B)、 12
(C)、13
(D)、 23
3。若变量x和y均为double类型,且x=1,则合法的语句是______A______。
(A)、 x=y++;
(B)、 x=x&y;
(C)、 x=y++=1
(D)、 y=x%2;
共 页,第 页
4.C++语言中最简单的数据类型包括_____B___。
(A)、整型、实型、逻辑型
(B)、整型、实型、字符型
(C)、整型、字符型、逻辑型
(D)、整型、实型、逻辑型、字符型
5.字符型(char)数据在微机内存中的存储形式是__D______。
(A)、反码 (B)、补码 (C)、EBCDIC码 (D)、ASCII码
6. 已知字母A的ASCII码为十进制的65,下面程序的输出是___A_____。
#include <stdio。h>
main()
{
char ch1,ch2;
ch1=’A'+’5’—'3';
ch2='A’+'6’-'3';
printf(”%d,%c\n",ch1,ch2);
}
(A)、67,D (B)、不确定的值 (C)、C,D (D)、B,C
7.若有定义和语句:
int a=5;
a++; 此处表达式a++的值是____B____。
(A)、 4 (B)、5 (C)、7 (D)、6
8、设 x=1,y=2,则表达式x+++y的值为_A_______。
(A)、3 (B)、4 (C)、 1 (D)、2
9. 表达式:10!=9的值是_D_______.
(A)、true (B)、 0 (C)、非零值 (D)、1
10。 若以下变量均已定义,则下面表达式不正确的是_____B_______。
(A)、 a=b,c
(B)、 x+y=5
(C)、 x/=10
(D)、 x>y?y:x
11。下列函数的声明正确的是___C______。
(A)、 void func(x,y)
(B)、 void func(int x,int y)
(C)、 void func(int,int);
(D)、 void func(int x,y);
12。 C++程序的注释符是___A______。
(A)、 //
(B)、 ’
(C)、 !
(D)、 ;
13.以下对一维数组n的正确定义是______A______。
(A)、 int a;int n[a];
(B)、 int a=3,n[a];
(C)、 int n(3);
(D)、 const int a=3;int n[a];
14.设有int a[]={1,2,3},*p=&a[0];
则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是___C______。
(A)、2, 2, 3 (B)、1, 2, 3 (C)、1, 3, 3 (D)、2, 3, 3
15. 下面选项中,____D______是函数的重载。
(A)、 int print( float x) 与 int *print( float x)
(B)、 int print( float x) 与float print( int x)
(C)、 int print( char *y, float x) 与int print( float x, char *y)
(D)、 float print1( int x) 与float print2( int y)
16. [单选题]有以下程序
#include <iostream。h>
void main()
{ int n;
n=9;
cout〈〈(n——/3)〈<endl;
}
程序运行后的输出结果是___B_____.
(A)、 2
(B)、 3
(C)、 编译出错
(D)、 4
17。 执行以下语句后,变量n的值是___D_____.
for(n=0,i=5;i〈=20;i++)
if(i<=15 && i%5==0) n++;
(A)、 4
(B)、 2
(C)、 1
(D)、 3
18。 有以下程序段
char x=’3’;int y=0;
switch(x—'2')
{
case ’1’: y=1;break;
case '2': y=2;break;
default: y=3;
}
程序运行后,变量y的值是__C______。
(A)、 0
(B)、 2
(C)、 3
(D)、 1
19。 表示C++一条预处理命令开始的符号中是____A____.
(A)。 # (B)。 ; (C)。 }(D)。 //
20.类的析构函数的作用是____C____。
(A)、 解析对象
(B)、 初始化对象
(C)、 删除对象
(D)、 重置对象
21.__D______的功能是对对象进行初始化。
(A)、 数据成员 (B)、 析构函数
(C)、 静态数据成员 (D)、 构造函数
22. C++源程序文件经过编译后,生成的目标文件扩展名是__A______。
(A)、 .obj
(B)、 .c
(C)、 。cpp
(D)、 。exe
23. 若有下面函数调用语句:
fun(a+b,(x,y),fun(n+k,d,(a+b)));
在此函数调用语句中实参的个数是__B______。
(A)、 5
(B)、 3
(C)、 4
(D)、 6
24。每个C++程序都必须由且仅有一个__D_______。
(A)、 预处理命令
(B)、 函数
(C)、 语句
(D)、 主函数
25。在函数声明时,下列__D______项是不必要的。
(A)、 函数的类型
(B)、 函数的名字
(C)、 函数参数类型
(D)、 返回值表达式
26.执行下面的程序段后,k 的值是_____B____。
int k=1,n=532;
do{k*=n%10;n/=10;}
while(n);
(A)、 1
(B)、 30
(C)、 235
(D)、 5
27。 以下不能对数组x进行正确初始化的语句是____D________。
(A)、 int x[3]={1, 2, 3};
(B)、 int x[3]={0, 1, 2};
(C)、 int x[3]={0, 1, 2, };
(D)、 int x[3]={0, 1, 2, 3};
28、以下程序的运行结果是_____C____。
void main()
{
int x=1,y=-1,z=2;
if (x>y)
if (y〉0) z=0;
else z++;
else x++;
cout<<x<〈z<<endl;
}
(A)、 22
(B)、 12
(C)、 13
(D)、 23
29. 可以赋给指针变量的唯一整数是___A_____。
(A)、 0
(B)、 3
(C)、 1
(D)、 2
30. 若以下变量均已定义,则下面表达式不正确的是___B_____.
(A)、 a^=5
(B)、 a+3=10
(C)、 a=++a
(D)、 a>〉3+1
31。下列函数的声明正确的是____C_____.
(A)、 void func(x,y)
(B)、 void func(int x,int y)
(C)、 void func(int,int);
(D)、 void func(int x,y);
32. 下列字符数组初始化语句中,正确的是___A_____。
(A)、 char c[3][10]={"China, Guanzhou, University"};
(B)、 char c[4][10]={”China", ”Guanzhou”, ”University”};
(C)、 char c[3][11]={"China”, "Guanzhou”, "University”};
(D)、 char c[4][11]={"China, Guanzhou, University"};
33. 判断char型变量c是否为数字字符的表达式是___A_______.
(A)、 (’0’<=c) && (c〈='9')
(B)、 '0'〈=c<='9'
(C)、 ( c>=0) && (c<=9)
(D)、 (0〈=c) && (9〉=c)
34、C++语言中最简单的数据类型包括__C______。
(A)、 整型、实型、逻辑型、字符型
(B)、 整型、字符型、逻辑型
(C)、 整型、实型、字符型
(D)、 整型、实型、逻辑型
35. 若n为整型变量,则以下循环的执行次数是___C_____.
for(n=0;——n>=0;n++);
(A)、 2
(B)、 1
(C)、 0
(D)、 无限次
36. C++程序的注释符是___D______.
(A)、 ;
(B)、 '
(C)、 !
(D)、 //
37。 已知变量x,y均为整型变量,则下面表达式正确的是__B____。
(A)、 x*2=6
(B)、 y=——y
(C)、 x+y=x-y
(D)、 y++=x
38. 有以下程序段
char x='3’;int y=0;
switch(x—’2')
{
case ’1': y=1;break;
case ’2’: y=2;break;
default: y=3;
}
程序运行后,变量y的值是___C_____。
(A)、 0
(B)、 2
(C)、 3
(D)、 1
39. 若有定义 ”int x[5]={1,2,3,4,5},*p=&x[0];",则以下表达式中值为5的是__C______。
(A)、 *( p+5)
(B)、 p+4
(C)、 *( p+4)
(D)、 * p+5
40. 执行以下语句后,变量n的值是____D____.
for(n=0,i=5;i<=20;i++)
if(i<=15 && i%5==0) n++;
(A)、 4
(B)、 1
(C)、 2
(D)、 3
41。 以下说法正确的是 C
A)C语言程序总是从第一个的函数开始执行
B)在C语言程序中,要调用函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
42.下列关于C语言的说法不正确的是 B
A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能
B)C语言中的每一条执行语句都必须用分号结束,分号不是C语言的
一部分,是语句之间的分隔符号
C)注释可以出现在程序中任意合适的地方
D)命令行后面不能加分号,命令行不是C语言的语句
43. C 是正确的字符常量.
A.''C'’ B.'ab’ C.’11' D.’\n'
44.C语言中,求余运算符是 A 。
A. % B. / C. %和/ D. *
45. C语言中最简单的数据类型包括 B
A)整型、实型、逻辑型
B)整型、实型、字符型
C)整型、字符型、逻辑型
D)字符型、实型、逻辑型
46。若有定义:int a=7;float x=2。5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 A
A)2。500000
B)2.750000
C)3.500000
D)0。000000
47.在C语言中,char型数据在内存中的存储形式是 D
A)补码
B)反码
C)原码
D)ASCII码
48.若变量c为char类型,能正确判断出c为大写字母的表达式是 D 。
A.‘A’<=c<= ‘Z' B.(c>= ‘A’) || (c<= ‘Z’)
C.(‘A’<=c) and (‘Z’>=c) D. (c>= ‘A’) && (c<= ‘Z’)
49.下列正确的标识符是: C
A. 12ab B。 float C。 b6ty D。 aw~1e
50。已知int a=6; 则执行a+=a—=a*a;语句后,a的值为 D
A)36
B)0
C)-24
D)—60
51。 设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b-—后,a,b和c的值分别是 B 。
A.2,1,2 B.2,0,3 C.2,2,3 D.2,1,3
52。下列关于字符串的说法中错误的是 B
A)C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志
B)′\0′作为标志占用存储空间,计入串的实际长度
C)在表示字符串常量的时候不需要人为在其末尾加入′\0′
D)在C语言中,字符串常量隐含处理成以′\0′结尾
53.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10。0,b赋予22。0,c赋予33.0,下列不正确的输入形式是 B
A)10<回车>22〈回车>33〈回车〉
B)10。0,22。0,33。0〈回车>
C)10。0〈回车>22。0 33。0〈回车>
D)10 22<回车〉33〈回车>
54.执行下面程序时,如果从键盘上输入:defABC〈回车>,则输出为 B #include <Stdio。h>
main() { char ch;
while ((ch=getchar())!='\n')
{ if (ch>='A' && ch〈=’Z') ch=ch+32;
else if (ch〉='a’ && ch<='z') ch=ch-32;
printf("%c”,ch);}
A。 ABCdef B。 DEFabc C. abc D.DEF
55.下列程序段的输出结果是: C
int a=1234;
float b=123。456;
double c=12345.54321;
printf(”—,%2.1f,%2。1f",a,b,c);
A)无输出
B)12,123。5,12345.5
C)1234,123。5,12345。5
D)1234,123.4,1234.5
56.下面程序中的输出语句,a的值是 C
main()
{ int a; printf(”%d\n”,,(a=3*5,a*4,a+5)); }
A.65 B.20 C。15 D。10
57.能正确表示逻辑关系:“a≥10或a≤0"的C语言表达式是D
A)a>=10 or a〈=0
B)a〉=0|a〈=10
C)a>=10 &&a〈=0
D)a>=10‖a<=0
58.6.1 对表达式for(表达式1; ;表达式3)可理解为B
A)for(表达式1;0;表达式3)
B)for(表达式1;1;表达式3)
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
59.以下程序的输出结果是 C 。
#include 〈stdio。h>
void main()
{ int m=5;
if (++m>5) printf(“%d\n",m);
else printf(“%d\n”,m—-); }
A.7 B.6 C.5 D. 4
60。下列选项中错误的说明语句是D
A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′};
B)char a[]={"toyou\0"};
C)char a[]="toyou\0";
D)char a[]=′toyou\0′;
61。 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。
A.必须为字母或下划线
B.必须为下划线
C.必须为字母
D.可以是字母、数字和下划线中的任一种字符
62。 以下说法中正确的是 B 。
A. C语言程序总是从第一个的函数开始执行
B。 C语言程序总是从main( )函数开始执行
C。 在C语言程序中,要调用的函数必须在main( )函数中定义
D。 C语言程序中的main( )函数必须放在程序的开始部分
63. if语句的基本形式:if(表达式)语句
其中“表达式” D
A.必须是逻辑表达式或关系表达式 B.必须是关系表达式
C.必须是逻辑表达式 D.可以是任意合法的表达式
64. B 是不正确的字符常量。
A.’A’ B.”a” C.'1’ D.'\n’
65.C语言中,整除运算符是 B .
A. % B. / C. %和/ D. *
66。 表达式:(int)((double)11/2)-(9)%2的值是 C .
A.0 B.3 C.4 D.5
67. 组成C语言程序的是 D 。
A.子程序 B. 过程 C.函数 D.主程序和子程序
68。 若变量c为char类型,能正确判断出c为小写字母的表达式是 D 。
A.‘a’<=c〈= ‘z' B.(c〉= ‘a’) || (c〈= ‘z’)
C.(‘a’〈=c) and (‘z'〉=c) D. (c〉= ‘a’) && (c<= ‘z’)
69。 x,y,z和k都是int型变量,执行表达式:x=(y=4,z=16,k=32)后,x的值为
A. 4 B。 16 C。 32 D. 52
70. 在C语言中,逻辑值“真”用____C______表示.
A. true
B. 大于0的数
C. 非0的整数
D。 非0的数
71. 设int x,y;且x = 3, y = 5则下面表达式中值为0的是 C 。
A.!(x = y ) B. ‘x’ && ‘y' C. x || y D.x <= y
72.设有程序段:int k = 10 ;
while ( k = 0 ) k = k - 1 ;
以下描述正确的是 A 。
A.循环体语句一次也不执行。 B.循环是无限循环。
C. while 循环语句执行十次。 D.循环体语句执行十一次.
73。以下if语句语法正确的是 A 。
A.if (x〉0) B.if (x>0) printf ( ”%f ”,—x )
{ x=x+y ; printf ("%f ", x) ; } else printf (”%f",-x) ;
else printf (”%f ", —x) ;
C. if (x〉0) D. if(x>0)
{x=x+y ; printf ("%f ", x) ; }; {x=x+y ; peintf (”%f", x)}
else printf ("%f”, —x) ; else printf (”%f”, -x) ;
74。 执行下面程序时,如果从键盘上输入:ABCdef〈回车>,则输出为( B ) #include <Stdio.h>
main() { char ch;
while ((ch=getchar())!='\n')
{ if (ch>='a' && ch<=’z’) ch=ch-32;
else if (ch〉=’A’ && ch<='Z’) ch=ch+32;
printf("%c",ch);}
A. ABCdef B. abcDEF C。 abc D.DEF
75。有两个字符变量a, b,则以下正确的输入格式是 B .
A.scanf ("% c % c”, &a, &b ) B.scanf (”% s % s", a, b )
C.scanf ("% c % c”, a, b ) D.gets (”a”); gets ("b”)
76. 下面程序中的输出语句,a的值是( C )
main()
{ int a; printf(”%d\n”,,(a=15/5,a*4,a+5)); }
A.8 B。12 C。3 D.5
77。 输出整型变量a,b的语句为printf(“ D ”, a,b) ;
A.a=%2,b=%5 B. a=2,b=5
C.a=%%d,b=%%d D. a=%d,b=%d
78.有以下程序:#include <stdio.h>
void main()
{ int a=2,b=1;
printf(“%d,”,b=a+b);
printf(“%d\n”,a=2*b); }
程序运行后的输出结果是 A 。
A.3,2 B.3,0 C.3,6 D.3,1
79.以下程序的输出结果是 C .
#include 〈stdio。h〉
void main()
{ int m=5;
if (m++〉5) printf(“%d\n”,m);
else printf(“%d\n”,m—-); }
A.7 B.6 C.5 D. 4
80. 有以下程序: #include 〈stdio。h〉
void fun(int p)
{ int d=2;
p=d+1;
printf(“%d”,p); }
void main( )
{ int a=1;
fun(a); printf(“%d\n”,a); }
程序运行后的输出结果是 D 。
A.32 B.13 C.23 D.31
81. 以下运算符中优先级最低的是C
A) && B) & C) || D) |
82. printf函数中用到格式符%6s,其中数字6表示输出的字符串占用6列,如果字符串长度大于6,则输出按方式D
A) 从左起输出该字符串,右补空格
B) 输出错误信息
C) 右对齐输出该字串,左补空格
D) 按原字符长从左向右全部输出
83。 判断char型变量cl是否为大写字母的正确表达式是B
A) (cl〉=A)&&(cl<=Z) B) (cl>='A')&&(cl〈='Z’)
C) ('A'〉=cl)||(’Z'〈=cl) D) ’A'〈=cl<='Z’
84. 以下能对一维数组c进行正确初始化的语句是A
A) int c[10]={0,0,0,0,0} B) int c[10]={};
C) int c[]=(0); D) int c[10]={10*1};
85。字符型(char)数据在微机内存中的存储形式是__D______。
(A)、反码 (B)、补码 (C)、EBCDIC码 (D)、ASCII码
86. 请读程序:
#define ADD(x) x+x
main()
{
int m=1,n=3,k=2;
int sum=ADD(m+n)*k;
printf("sum=%d”,sum);
}
上面程序的运行结果是A
A) sum=11 B) sum=10 C) sum=12 D) sum=18
87。若有定义和语句:
int a=5;
++a; 此处表达式++a的值是__D______。
(A)、 4 (B)、5 (C)、7 (D)、6
88、以下叙述正确的是C
A) 在C程序中,main函数必须位于程序的最前面
B) C程序的每行中只能写一条语句
C) C语言本身没有输入输出语句
D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
89. 表达式:10!=9的值是__D______。
(A)、true (B)、 0 (C)、非零值 (D)、1
90. C语言规定,在一个源程序中,main函数的位置C
A) 必须在最开始 B) 必须在系统调用的库函数的后面
C) 可以任意 D) 必须在最后
91。 下面四个选项中,均是不合法的用户标识符的选项是C
A) A P_0 do B) float la0 _A
C) b-a goto int D) _123 temp int
92。 C++程序的注释符是___A______。
(A)、 //
(B)、 ’
(C)、 !
(D)、 ;
93。 下面正确的字符常量是C
A) "c” B) ’\\’’ C) 'W' D) ’'
94. 在C语言中,引用数组元素时,其数组下标的数据类型允许是A
A) 整型常量 B) 整型表达式
C) 整型常量或整型表达式 D) 任何类型的表达式
95。 在C语言中,要求运算数必须是整型的运算符是D
A) / B) ++ C) != D) %
96. [设有说明:char w;int x;float y;double z;则表达式w*x+z—y值的数据类型为D
A) float B) char C) int D) double
97。 以下关于运算符优先顺序的描述中正确的是C
A) 关系运算符<算术运算符<赋值运算符〈逻辑运算符
B) 逻辑运算符〈关系运算符<算术运算符〈赋值运算符
C) 赋值运算符<逻辑运算符<关系运算符〈算术运算符
D) 算术运算符〈关系运算符〈赋值运算符〈逻辑运算符
98。 若希望当A的值为奇数时,表达式的值为“真",A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是A
A) !(A%2) B) !(A%2==0)
C) A%2==1 D) A%2
99。 已知 int x=10,y=20,z=30;以下语句执行后x,y,z的值是
if(x〉y)B
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
100. 请阅读以下程序:
main()
{
int a=5,b=0,c=0;
if(a=b+c) printf("***\n”);
else printf(”$$$\n”);
}
以上程序D
A) 有语法错不能通过编译
B) 可以通过编译但不能通过连接
C) 输出***
D) 输出$$$
101。 以下运算符中优先级最低的是C
A) * B) ( ) C) = D) &&
102。 判断char型变量cl是否为小写字母的正确表达式是A
A) (cl〉=’a')&&(cl<='z') B) (cl>=a)&&(cl〈=z)
C) ('a’>=cl)||(’z’<=cl) D) 'a’<=cl〈='z’
103。 以下能对一维数组a进行正确初始化的语句是C
A) int a[10]=(0,0,0,0,0) B) int a[10]={};
C) int a[]={0}; D) int a[10]={10*1};
104。每个C++程序都必须由且仅有一个___D______。
(A)、 预处理命令
(B)、 函数
(C)、 语句
(D)、 主函数
105. 以下程序的运行结果是B
#define MIN(x,y) (x)〈(y)?(x):(y)
main()
{int i=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A) 10 B) 15 C) 100 D) 150
106. 一个C程序的执行是从A
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C) 本程序的main函数开始,到本程序文件的最后一个函数结束
D) 本程序文件的第一个函数开始,到本程序main函数结束
107. 以下叙述不正确的是D
A) 一个C源程序可由一个或多个函数组成
B) 一个C源程序必须包含一个main函数
C) C程序的基本组成单位是函数
D) 在C程序中,注释说
展开阅读全文