C语言程序设计试题及答案十Word文件下载.docx
《C语言程序设计试题及答案十Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计试题及答案十Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。
![C语言程序设计试题及答案十Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/28/ab2145da-cccd-403c-bbd0-1ce3622971b9/ab2145da-cccd-403c-bbd0-1ce3622971b91.gif)
A.define
B.getc
C.include
D.while
if
char
sanf
go
type
printf
case
pow
6.下面四个选项中,均是合法整形常量的选项是(
A.160
B.-0xcdf
C.-01
D.-0x48a
-0xffff
01a
986,012
2e5
011
0xe
0668
0x
7.下面四个选项中,均是不合法浮点数的选项是(
A.160.
B.123
C.-.18
D.-e3
0.12
2e4.2
123e4
0.234
e3
.e5
0.0
1e3
8.若有代数式3ae/bc,则不正确的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
9.若以下变量均是整形,且num=sum=7;
则计算表达式sUM=num++,sUM++,++num后sum的值为(
A.7
B.8
C.9
D.10
10.若有定义:
inta=7;
floatx=205,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是(
A.2.500000
B.2.750000
C.3.500000
D.0.000000
11.sizeof(float)是(
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
12.设intn=3;
则n十十的结果是(
A.2
B.3
C.4
D.5
13.设有说明:
charw;
intx;
floaty;
doublez;
则表达式w*x+z-y值的数据类型为(
A.float
B.char
C.int
D.double.
14.若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是(
A.scanf(“%d%d1x,%1e”,&
x,&
y,&
z);
B.scanf(“%2d*%d%1f”,&
C.scanf(“%x%*d%o”,&
Y);
D.scanf(“%x%o%6.2f”,&
15.以下说法正确的是(
A.输入项可以为一个实型常量,如scanf(“%f”,3.5);
B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&
f);
D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&
16.以下程序的执行结果是(
#include<
stdio.h>
main()
{
intsum,pad;
sum=pad=5;
pad=sum++;
pad++;
++pad;
printf("
%d\n"
pad);
}
B.6
C.5
D.4
17.巳知字母A的ASCII码是65,以下程序的执行结果是(
charc1='
A'
C2='
Y'
;
%d,%d\n"
c1,c2);
A.A,Y
B.65,65
C.65,90
D.65,89
18.为了避免嵌套的if-else语句的二义性,c语言规定else总是与(
)组成配对关系。
A.缩排位置相同的if
B.在其之前末配对的if
C.在其之前未配对的最近的if
D.同一行上的if
19.逻辑运算符两侧运算对象的数据类型(
A.能是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何类型的数据
20.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(
A.’x’&
&
’y’
B.x<=y
C.x||y+z&
y-z
D.!
((x<y)&&!
z||1)
21.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。
则以下不能满足要求的表达式是(
A.A%2==1
B.!
(A%2==0)
C.!
(A%2)
D.A%2
22.以下不正确的if语句形式是(
A.if(x>y&
x!
=y);
B.if(x==y)x十=y;
C.if(x!
=y)scanf(“%d”,&
x)e1sescanf(”%d,&
y);
D.if(x<y){x十十;
y十十;
23.以下if语句语法正确的是(
A.if(x>0)
printf(“%f“,x)
elseprintf(“%f”,-x);
B.if(x>0)
{x=x+y;
printf(“%f“,x);
elseprintf(“%f”,-x)
C.if(x>0)
D.if(x>0)
elseprintf(“%f”,-x);
24.阅读以下程序
{inta=5,b=0,c=0;
if(a=b+c)printf(“***\n”);
else
printf(“$$$\n”);
以上程序(
A.语法有错不能通过编译
B.可以通过编译但不能通过连接
C.输出***
D.输出$$$
25.以下程序运行结果是(
{inta=100,x=10,y=20,ok1=5,ok2=0;
if(x<
y)
if(y!
=10)
If(!
ok1)
a=1;
else
if(ok2)
a=10;
a=-1;
printf(“%d\n”,a);
A.1
B.0
c.-1
D.不确定
26.执行以下程序段后,变量a,b,c得值分别是(
intx=10,y=9;
inta,b,c;
a=(--x==y++)?
–x:
++y;
b=x++;
c=y;
A.a=9,b=9,c=9
B.a=8,b=8,c=10
C.a=9,b=10,c=9
D.a=1,b=11,c=10
27.若w,x,y,z,m均为int型变量,则执行下面语句后的m值是(
w=1;
x=2;
y=3;
z=4;
m=(w<
x)?
w:
x;
m=(m<
y)?
m:
y;
z)?
z;
B.2
C.3
28.语句while(!
e);
中的条件!
e等价于(
A.e==0
B.e!
=1
C.e!
=0
D.~e
29.下面有关for循环的正确描述是(
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判定表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来
30.C语言中while和do-while循环的主要区别是(
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
31.以下程序段(
x=-1;
do{x=x*x;
}
while(!
x);
A.是死循环
B.循环执行二次
C.循环执行二次
D.有语法错误
32.下面程序的运行结果是(
{inty=10;
do{y--;
}while(--y);
printf(“%d\n”,y--);
A.-1
B.1
C.8
D.0
33.以下正确的描述是(
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循环体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出时,只能使用goto语句
34.c语言中(
A.不能使用do-while语句构成的循环
B.do-while语句构成的循环必须用break语句才能退出
C.do—whiLe语句构成的循环,当while语句中的表达式值为非零时结束循环
D.do—while语句构成的循环,当while语句中的表达式值为零时结束循环
35.在C语言中,引用数组元素时,其数组下标的数据类型允许是()
A.整型常量
B.整型表达式C.整型常量或整型表达式D.任何类型的表达式
36.在C语言中,一位数组的定义方式为:
类型说明符数组名(
A.[常量表达]
B.整型表达式C.[整型常量]或[整型表达式]D.[整型常量]
37.以下不能对二维整形数组a进行正确初