省考C语言练习选择题.docx
《省考C语言练习选择题.docx》由会员分享,可在线阅读,更多相关《省考C语言练习选择题.docx(37页珍藏版)》请在冰豆网上搜索。
省考C语言练习选择题
省考练习——C语言选择题
1.在C语言中,合法的字符常量是(D)。
A.'字'
B."A"
C."ABC"
D.'\x41'
2.下列叙述错误的是(D)。
A.注释部分可单独占用一行,也可跟在语句的后面
B.若一条语句较长,可分写在多行上
C.C源程序必须包含一个main()函数
D.语句是构成C源程序的基本单位
3.关于C语言数据类型,叙述正确的是(A)。
A.变量使用前应定义相应的数据类型
B.不允许使用空类型
C.指针类型属于基本类型
D.结构类型并不是构造类型
4.C语言函数体使用一对(C)将构成函数的语句括起来。
A.'<'和'>'
B.'('和')'
C.'{'和'}'
D.'['和']'
5.一个C源程序是由(B)。
A.一个主程序和若干子程序组成
B.一个或多个函数组成
C.若干子过程组成
D.若干子程序组成
6.C源程序的编译是指对源程序(B)。
A.进行录入与编辑
B.生成以二进制代码形式表示的目标程序
C.进行查错与解释
D.进行连接与运行
7.C语言的下列运算符中,优先级最高的运算符是(A)。
A.++
B.+=
C.||
D.!
=
8.下列(D)为合法的用户标识符。
A.float
B.5k
C.x0.6
D._name
9.下列(A)为合法的数值常量。
A.-686
B.-E+7
C.6,860
D."6,860"
10.下列(D)为合法的字符常量。
A.''\nm''
B."\mn"
C."B"
D.'B'
11.TurboC中,基本数据类型存储空间长度的排列顺序是(A)。
A.charB.char=intC.charD.char=int12.下列合法的数据类型关键字是(B)。
A.Duble
B.float
C.Int
D.character
13.已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运行结果是(A)。
main()
{charch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A.67,D
B.C,D
C.C,68
D.67,68
14.若已定义:
inta=6;下列正确的赋值表达式是(C)。
A.a*6
B.a+3=6
C.a+=6
D.6+=a
15.若已定义:
inta;语句a=5%6-(6/5);执行后,变量a的值为(A)。
A.4
B.-1
C.3.8
D.-1.2
16.若已定义:
inta,b,c;语句a=(b=9,c=5,b*c);执行后,变量a的值为(A)。
A.45
B.9
C.5
D.0
17.若已定义:
inta,b;floatx=25.8;下列符合C语言语法的表达式是(A)。
A.a=(int)x/3
B.a=x%3
C.a=(x*10)%3
D.b=int(x)%3
18.若已定义:
inta=3;语句a+=a/=2;执行后,变量a的值是(B)。
A.1
B.2
C.3
D.5
19.下列语句中,符合C语言语法的赋值语句是(C)。
A.a=7+b+c=a+7;
B.a=7+b++=a+7;
C.a=7+b,b++,a+7;
D.a=7=b,c=a+7;
20.下列叙述正确的是(A)。
A.(int)6.0/2与6/2结果的类型一致
B.6.0/2与1/2*6.0结果一致
C.6/2与6.0/2.0结果的类型一致
D.6/2.0与6/2结果的类型一致
21.下列叙述正确的是(B)。
A.表达式"3"+"4"的结果是"34"
B.若已定义:
inta,b;,则表达式(a+b)++是进行a+b之和的自增1运算
C.强制类型转换运算的优先级高于算术运算
D.表达式'3'+'4'的结果是'7'
22.若已定义:
inta=5,b;能使变量b值为2的赋值表达式是(A)。
A.b=(a++)-3
B.b=a-(3++)
C.b=(a++)/3
D.b=(a+7.8)/4
23.若已定义:
intx=2,y=3;语句y-=x++;执行后变量x,y的值分别是(B)。
A.x为3,y为0
B.x为3,y为1
C.x为2,y为0
D.x为2,y为1
24.与右侧数学式子对应的C语言表达式是(?
)。
A.3*pow(x,n)/(2*x-1)
B.3*pow(n,x)/(2*x-1)
C.3*x^n/(2*x-1)
D.3*pow(x,n)/2*x-1
25.以下程序运行时,若从键盘输入5,则输出结果是(D)。
main()
{inta;
scanf("%d",&a);
if(a++>5)printf("%d\n",a);
elseprintf("%d\n",a--);
}
A.7
B.4
C.5
D.6
26.若已定义:
floata;拟从键盘输入数据236给变量a,应选用(B)语句。
A.scanf("%d",&a);
B.scanf("%f",&a);
C.scanf("%3d",&a);
D.scanf("%.0f",&a);
27.若已定义:
charchr;拟使用scanf()函数将键盘输入的数据赋予变量chr,无法实现的是(D)。
A.scanf("%c",&chr);
B.scanf("%d",&chr);
C.scanf("%u",&chr);
D.scanf("%e",&chr);
28.若已定义:
intx=10;语句printf("x=%o,x=%d\n",x,x);执行后的输出结果是(B)。
A.x=12,x=12
B.x=12,x=10
C.x=10,x=10
D.x=10,x=12
29.若有下列语句段:
charchr;
inta;
scanf("%c%d",&chr,&a);
拟从键盘将'B'和6分别赋予变量chr和a,正确的数据输入是(A)。
A.B6
B.B,6
C.6B
D.6,B
30.下列程序段的运行结果是(D)。
inta=66;
charc='A';
printf("%c+%c=%d\n",c,a,c+a);
(注:
字母'A'的ASCII值为65)
A.65+B=131
B.A+66=131
C.65+66=131
D.A+B=131
31.有以下程序:
main()
{intc;
while((c=getchar())!
='\n')
{switch(c-'2')
{case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;
}
}
printf("\n");
}
当输入:
247<回车>,程序的输出结果是(B)。
A.689
B.6689
C.66778
D.66887
32.若已定义:
inta=6,b=4,c;语句c=a>b;执行后变量c的值为(C)。
A.2
B.0
C.1
D.6
33.若已定义:
inta=6,b=4,c;语句b=((c=a)>b);执行后变量c的值为(B)。
A.2
B.6
C.1
D.0
34.若已定义:
inta=2,b=1;则表达式a&&!
b的值为(B)。
A.1
B.0
C.2
D.3
35.若已定义:
inta;判断变量a值是否为偶数的是(C)。
A.a%2==1
B.!
(a%2==0)
C.!
(a%2)
D.a%2
36.若已定义:
inta=5,b=3,c=1;则表达式(c=b)&&(a-c<=b)的值是(B)。
A.1
B.0
C.3
D.2
37.以下程序运行后,a的值是(C)。
main()
{inta,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=20)break;
if(b%3==1){b+=3;continue;}
b-=5;
}
}
A.101
B.100
C.8
D.7
38.若已定义:
inta=4;floatx=3.6;下列正确的赋值表达式是(D)。
A.a=int(x)
B.x=(float)a%x
C.x=float(a)
D.x=x/a
39.若已定义:
chara='A';intb=66;下列表达式错误的是(C)。
A.a=b/a
B.a=a-b
C.a=a+B
D.b%a
40.若已定义:
inta=5;floatb=1.5;则表达式a+b*10/3的值为(D)。
A.6
B.6.500000
C.9.500000
D.10.000000
41.若已定义:
inta=3,b=5,c=2;,则表达式c+!
a
A.1
B.2
C.0
D.3
42.下列关于运算符优先级叙述错误的是(A)。
A."%"取模运算符优先级最高
B.算术运算符优先级高于关系运算符
C."&&"和"!
!
"逻辑运算符优先级低于关系运算符
D."!
"逻辑非运算符高于"="赋值运算符
43.以下程序段的运行结果是(D)。
intx=3;
do{
printf("%3d,",x-=2);
}while(!
(--x));
A.1,
B.30,
C.死循环
D.1,-2
44.下列程序段的运行结果是(A)。
inta=6,b=5;
if(a>b++)
printf("True:
%d\n",++a);
else
printf("False:
%d\n",b++);
A.True:
7
B.False:
6
C.False:
5
D.True:
6
45.若已定义:
inta;语句
if(a%3)
a=0;
else
a=1;
与下列(B)语句等价。
A.a=(a%3?
1:
0);
B.a=(!
(a%3)?
0:
1);
C.a%3?
0:
1;
D.a=(a%3?
0:
1);
46.若已定义inta,b,c,k;下列程序段与语句k=(a>b?
(a>c?
1:
0):
0);功能等价的是(A)。
A.if((a>b)&&(a>c))
k=1;
else
k=0;
B.if((a>b)||(a>c))
k=1;
else
k=0;
C.if(a>b)
k=