2014年C语言试题

  • 格式:docx
  • 大小:23.06 KB
  • 文档页数:16

2014年C语言试题

一、选择题(40*1)

1 对用C语言编写的代码程序,以下叙述中正确的是(B)

A、可立即执行

B、是一个源程序

C、经过编译即可执行

D、经过编译解释才能执行

2 以下选项中正确的实型常量是(D)

A、0

B、3. 1415

C、0.03*102

D、.32

3 C语言中不合法的字符串常量是(B)

A、"\121 "

B、'y= '

C、"\n\n "

D、"ABCD\x6d "

4 C语言中运算必须是整型的运算符是(B)

A、/

B、%

C、*

D、+

5 C语言中的简单数据类型有(C)

A、整型、实型、逻辑型

B、整型、字符型、逻辑型

C、整型、实型、字符型

D、整型、实型、逻辑型、字符型

6 以下选项中不合法的用户标识符是(D)

A、PRINTF B、file

C、Main

D、wb-1

7 以下非法的赋值语句是(C)

A、n=(i=2,++i)

B、j++

C、++(i+1)

D、x=i>0

8 C语言中不合法的常量是(D)

A、'\xff '

B、'\65 '

C、'& '

D、'\028 '

9 C语言中,字符(char)型数据在计算机内存中的存储形式是(D)

A、反码

B、补码

C、EBCDIC码

D、ASCII码

10 以下程序的输出结果是(D)

void main()

{ int x=10,y=3;printf("%d\n ",y=x/y);}

A、0

B、1

C、不确定的值

D、3

11 以下程序段的输出是(A)

int x=496;printf("*%-06d*\n ",x);

A、*496 *

B、* 496* C、*000496*

D、输出格式不合法

12 若变量已经正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是(D)

A、read(a,b,c);

B、scanf("%d%d%d ",a,b,c);

C、scanf("%D%D%D ",&a,&b,&c)

D、scanf("%d%d%d

",&a,&b,&c)

13 以下合法的C语言赋值语句是(D)

A、a=b=58

B、k=int(a+b);

C、a=58,b=58

D、- - i;

14 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是(A)

A、1

B、0

C、2

D、6

15 以下程序执行后输出结果是(B)

void main()

{ int i=10,j=1;printf("%d,%d\n ",i--,++j);}

A、9,2

B、10,2

C、9,1

D、10,1

16 设有语句char a= '\172 ';,则变量a(A)

A、包含一个字符

B、包含2个字符 C、包含个字

符D、说明不合法

17 若变量已经正确定义,要将a和b中的数据进行交换,下面不正确的语句是(C)

A、a=a+b,b=a-b,a=a-b;

B、t=a;a=b;b=t

C、a=t;t=b;b=a;

D、t=b;b=a;a=t;

18 若变量已经正确说明,要求用以下语句给c1赋值字符%,给c2赋值字符#,给a赋值2.0,给b赋值4.0,则正确的输入形式是(B)

scanf("%f%c%f%c ",&a,&c1,&b,&c2);

A、2.0 % 4.0 #

B、2.0%4.0#

C、2 % 4#

D、2 % 4 #

19 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)

A、6.500000

B、7

C、5.500000

D、6.000000

20 以下程序执行后的输出结果是(D)

void main()

{int i=1,j=1,k=2;if((j++||k++)&& i++) printf("%d,%d,%d\n

",i,j,k);}

A、1,1,2

B、2,2,1

C、2,2,2

D、2,2,3 21 下列运算符中优先级最高的运算符是(A)

A、!

B、%

C、-=

D、&&

22 运行以下程序后,输出的结果是(A)

void main()

{ int k=-3;

if(k<=0)

printf("****\n ");

else

printf("&&&&\n ");

}

A、****

B、&&&&

C、****&&&&

D、有语法错误不能通过编译

23 以下程序段的输出结果是(B)

void main()

{ char x= 'A ';

x=(x> 'A ' && x< 'Z ')?(x+32):x; printf("%c\n ",x );

}

A、a

B、A

C、Z

D、z

24 以下的程序执行后输出的结果是(A)

void main()

{ int a=5,b=4,c=3,d=2;

if(a>b>c) printf("%d\n ",d);

else if((c-1>=d)==1)

printf("%d\n ",d+1);

else printf("%d\n ",d+2);

}

A、3

B、2

C、编译出错

D、4

25 若执行以下程序时从键盘上输入3和4(输入方式:3 4),则输出的结果是(C)

void main()

{ int a,b,s;

scanf("%d%d ",&a,&b);

s=a;

if(a

s*=s;

printf("%d\n ",s);

}

A、14

B、18

C、16

D、20

26 设a、b和c都是int变量,且a=3,b=4,c=5,则以下的表达式中,值为0的表达式是(D)

A、a&&b

B、a<=b

C、

a||b+c&&b-c D、!((a

27 以下的程序运行结果是(D) void main()

{ int a=2,b=-1,c=2;

if(a

if(b<0) c=0;

else c+=1;

printf("%d\n ",c);

}

A、0

B、1

C、3

D、2

28 以下程序的输出结果是(C)

void main()

{ int x=1,a=0,b=0;

switch(x)

{

case 0:b++;

case 1:a++;

case 2:a++;b++;

}

printf("a=%d,b=%d\n ",a,b);

}

A、a=2,b=2

B、a=1,b=1

C、a=2,b=1

D、a=1,b=0

29 若x是int类型变量,以下程序段的输出结果是(D)

for(x=3;x<6;x++)

printf((x%2)?( "**%d "):( "##%d\n "),x);

A **3 B ##3

C ##3

D **3##4

##4 **4 **4##5 **5

**5 ##5

30 以下程序的输出结果是(A)

int n=10;

while(n>7)

{ n--;

printf("%d ",n);

}

A、987

B、1098

C、10987

D、9876

31 以下程序段的输出结果是(C)

int i,j,m=0;

for(i=1;i<=15;i+=4)

for(j=3;j<=19;j+=4){m++;}

printf("%d\n ",m);

A、12

B、15

C、20

D、25

32 以下程序段的输出结果是(C)

int x=3;

do

{ printf("%3d ",x-=2);

} while(!(--x));

A、1 B、3 0

C、1 -2

D、死循环

33 以下的程序输出结果为(A)

void main()

{ int i;

for(i=0;i<3;i++)

switch(i)

{ case 1:printf("%d",i);

case 2:printf("%d",i);

default: printf("%d",i);

}

}

A、011122

B、012

C、012020

D、120

34 以下程序的输出结果是(C)

# include

void man()

{ int i;

for(i=1;i<5;i++)

{if(i%2) putchar('< ');

else continue;

putchar('> ');}

putchar('# ');

}

A、<><><>#

B、><><><#

C、<><>#