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