C语言选择题库1K_01
- 格式:docx
- 大小:23.77 KB
- 文档页数:14
C语言选择题库1K_01
选择题(每题2分,25题,共50分)(95%)答案
3.1 C语言中最简单的数据类型包括
A)整型、实型、逻辑型
B)整型、实型、字符型
C)整型、字符型、逻辑型
D)字符型、实型、逻辑型
正确答案: B
3.2 C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符
A)必须为字母
B)必须为下划线
C)必须为字母或下划线
D)可以是字母,数字和下划线中任一字符
正确答案: C
3.3 下列可用于C语言用户标识符的一组是
A void, define, WORD
B a3_b3, _123,Car
C For, -abc, IF Case
D 2a, DO, sizeof
正确答案:B
3.4 下面四个选项中,均是不正确的8进制数或16进制数的选项是A)016 0x8f 018
B)0abc 017 0xa
C)010 -0x11 0x16
D)0a12 7ff -123
正确答案:D
3.5 下列数据中,不合法的C语言实型数据的是
A)0.123 B)123e3
C)2.1e3.5
D)789.0
正确答案: C
3.12 若有定义:int a=7;float x=2.5,y=
4.7;则表达式x+a%3*(int)(x+y)%2/4的值是
A)2.500000
B)2.750000
C)3.500000
D)0.000000
正确答案: A
3.10 若变量已正确定义并赋值,以下符合C语言语法的表达式是
A)a:=b+1
B)a=b=c+2
C)int 18.5%3
D)a=a+7=c+b
3.14 以下不正确的叙述是
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
正确答案: D
3.15 已知int i,a;执行语句i=(a=3,a++,- -a,a+4,a+5,++a);后,变量i的值为:
A)2
B)3
C)4
D)5 正确答案: C
3.16 设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为
A)int
B)float
C)double
D)不确定
3.20 设有int x=11;则表达式(x++*1/3)的值是A)3
B)4
C)11
D)12
正确答案: A
3.21 以下程序的输出结果是
main()
{ int a=21,b=11;
printf("%d\n",- -a+b,- -b+a);
}
A)30
B)31
C)32
D)33
正确答案: A
4.2 现有以下程序段
#include
main()
{ int a,b,c;
scanf
("a=%*d%d,b=%d%*d,c=%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d\n",a,b,c);
} 若输出的结果为a=20,b=30,c=40,则以下能够正确输入数据的是A)a=10]20,b=20]30,c=40
B)20,30,40
C)a=20,b=30,c=40
D)a=10]20,b=30]20,c=40
[注]: “]”表示空格,表示回车
正确答案: D
4.3 x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是:
A)INPUT x、y、z;
B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z);
D)read("%d%d%d",&x,&y,&z);
正确答案: B
4.10 调用gets和puts函数时,必须包含的头文件是
A)stdio.h
B)stdlib.h
C)define
D)以上都不对
正确答案: A
5.7 以下程序的输出结果是
main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);}
A)1
B)0
C)非0的数
D)-1
正确答案: A 5.9 已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为:
A)1
B)2
C)3
D)4
正确答案: C
5.12 已知char ch=′C′;则以下表达式的值是ch=(ch>=′A′ &&
ch<=′Z′)?(ch+32):ch;
A)A
B)a
C)Z
D)c
正确答案: D
5.18 以下4个选项中,不能看做一条语句的是
A);
B)a=5,b=2.5,c=3.6;
C)if(a<5);
D)if(b!=5)x=2;y=6;
正确答案: D
5.21 现有如下程序段,此程序段编译有错误,则程序段的错误出在: #include
main()
{ int a=30,b=40,c=50,d;
d=a>30?b:c;
switch(d)
{ case a:printf("%d,",a);
case b:printf("%d,",b);
case c:printf("%d,",c);
default:printf("#");}} A)default:printf("#");这个语句
B)d=a>30?b:c;这个语句
C)case a:printf("%d,",a); case
b:printf("%d,",b); case c:printf
("%d,",c);这三个语句
D)switch(d)这个语句
正确答案: C
6.4 若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是
A)9
B)8
C)3
D)2
正确答案: C
6.7 下列程序的输出结果是
#include "stdio.h"
main()
{int i,a=0,b=0;
for(i=1;i<10;i++)
{ if(i%2= =0)
{ a++;
continue; }
b++; }
printf("a=%d,b=%d",a,b);}
A)a=4,b=4
B)a=4,b=5
C)a=5,b=4
D)a=5,b=5
正确答案: B
6.10 下面程序的运行结果是 #include "stdio.h"
main()
{ int j,i,k=0;
for(j=50;j<=60;j++)
{ if(!(k )) printf("\n"); for(i=2;iif(!(j%i)) break;
if(i>=j-1)
{ printf("%d",j);
k++; }
}
}
A)5359
B)5953
C)3595
D)9535
正确答案: A
6.12 设有以下程序段
while(!x!=0)s+=++x;
printf("%d",s);
则
A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的D)程序段执行无限次
正确答案: B
6.11 已知
int t=0;
while(t=1)
{...}
则以下叙述正确的是
A)循环控制表达式的值为0
B)循环控制表达式的值为1 C)循环控制表达式不合法
D)以上说法都不对
正确答案: B
6.13 下列程序的输出结果是
#include "stdio.h"
main()
while(i- -)
printf("%d",- -i);
printf("\n");}
A)531
B)420
C)654321
D)死循环
正确答案: B
6.15 以下程序段的描述,正确的是
x=-1;
do
{x=x*x;}
while(!x);
A)是死循环
B)循环执行两次
C)循环执行一次
D)有语法错误
正确答案: C
6.20 C语言中 while 和do-while循环的主要区别是:
A)do-while的循环体至少无条件执行一次
B)while的循环控制条件比do-while的循环控制条件更严格
C)do-while允许从外部转到循环体内
D)do-while 的循环体不能是复合语句
正确答案: A