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