C语言模拟试题二.docx

上传人:b****8 文档编号:9704635 上传时间:2023-05-20 格式:DOCX 页数:14 大小:18.73KB
下载 相关 举报
C语言模拟试题二.docx_第1页
第1页 / 共14页
C语言模拟试题二.docx_第2页
第2页 / 共14页
C语言模拟试题二.docx_第3页
第3页 / 共14页
C语言模拟试题二.docx_第4页
第4页 / 共14页
C语言模拟试题二.docx_第5页
第5页 / 共14页
C语言模拟试题二.docx_第6页
第6页 / 共14页
C语言模拟试题二.docx_第7页
第7页 / 共14页
C语言模拟试题二.docx_第8页
第8页 / 共14页
C语言模拟试题二.docx_第9页
第9页 / 共14页
C语言模拟试题二.docx_第10页
第10页 / 共14页
C语言模拟试题二.docx_第11页
第11页 / 共14页
C语言模拟试题二.docx_第12页
第12页 / 共14页
C语言模拟试题二.docx_第13页
第13页 / 共14页
C语言模拟试题二.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言模拟试题二.docx

《C语言模拟试题二.docx》由会员分享,可在线阅读,更多相关《C语言模拟试题二.docx(14页珍藏版)》请在冰点文库上搜索。

C语言模拟试题二.docx

C语言模拟试题二

单选题:

(本大题共40小题,每题1.5分,共60分)

1、以下程序的输出结果是

main( )

{ int  k=17;

printf("%d,%o,%x \n",k,k,k);

}

  A.17,021,0x11

  B.17,17,17

  C.17,0x11,021

  D.17,21,11

 答案:

D

2、表达式:

10!

=9的值是___

  A.true

  B.非零值

  C.0

  D.1

 答案:

D

3、以下程序的输出结果是_____

main()

{char str[12]={'s','t','r','i','n','g'};

 printf("%d\n",strlen(str));

 }

  A.6

  B.7

  C.11

  D.12

 答案:

A

4、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系

的表达式为________。

 

  A.a<>0

  B.!

a

  C.a=0

  D.a!

=0

 答案:

D

5、以下程序输出结果是

  main ( )

 { int m=5;

 if (m++ > 5) printf ("%d\n",m);

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

 }

  A.7

  B.6

  C.5

  D.4

 答案:

B

6、在下列选项中,构成死循环的程序段是

  A.inti=100

  B.for(;;);

  C.intk=1000;

  D.ints=36

 答案:

B

7、请读程序片段(字符串内没有空格字符):

printf("%d\n", strlen("ATS\n012\1\\"));

上面程序片段的输出结果是

  A.11

  B.9

  C.10

  D.8

 答案:

B

8、下面程序的输出是

main()

{ int x=10,y=3;

printf("%d\n",y=x/y);}

  A.0

  B.1

  C.3

  D.不确定的值

 答案:

C

9、以下程序的输出结果是

 main()

{ 

 int x=10,y=10;

 printf("%d %d\n",x--,--y);

 }

  A.1010

  B.99

  C.910

  D.109

 答案:

D

10、在C语言中,当while语句中的条件为( )时,结束该循环. 

  A.0

  B.1

  C.TRUE

  D.非0

 答案:

A

11、以下说法中正确的是____。

  A.在一个函数内部的复合语句中定义的变量可以在本函数范围内有效

  B.不同函数中使用相同名字的变量时,代表的是相同的变量

  C.寄存器变量是全局变量

  D.一个函数内部定义的变量,只能在本函数范围内有效

 答案:

D

12、判断两个字符串S1 和 S2 相等的正确语句是____

  A.if(S1=S2)

  B.if(S1==S2)

  C.if(strcpy(S1,S2))

  D.if(strcmp(S1,S2)==0)

 答案:

D

13、C语言中运算对象必须是整型数的运算符是:

__

  A.% 

  B.\

  C.%和\

  D.**

 答案:

A

14、在C语言中,一维数组的定义方式为:

类型说明符 数组名_________

  A.[常量表达式]

  B.[整型表达式]

  C.[整型常量]或[整型表达式]

  D.[整型常量]

 答案:

D

15、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是

main()

{int *p,*q,a,b;

 p=&a;

 printf("input a:

");

 scanf("%d",*p);

}

  A.*p表示的是指针变量p的地址

  B.*p表示的是变量a的值,而不是变量a的地址

  C.*p表示的是指针变量p的值

  D.*p只能用来说明p是一个指针变量

 答案:

B

16、C语言规定,在一个源程序中,main函数的位置(  )

  A.必须在最开始

  B.必须在系统调用的库函数的后面

  C.可以任意

  D.必须在最后

 答案:

C

17、下面四个选项中,均是不正确的八进制数或十六进制数的选项是

  A.0160x8f018

  B.0abc0170xa

  C.010-0x110x16

  D.0a127ff-123

 答案:

D

18、以下选项中合法的字符常量是

  A."B"

  B.'\010'

  C.68

  D.D

 答案:

B

19、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是

  A.INPUTx、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

20、以下选项中,非法的字符常量是(  )

  A.'\t'

  B.'\17'

  C."n"

  D.'\xaa'

 答案:

C

21、以下定义语句中,错误的是

  A.inta[]={1,2};

  B.char*a[3];

  C.chars[10]="test";

  D.intn=5,a[n];

 答案:

D

22、有如下程序

main( )

 int y=3,x=3,z=1;

 printf("%d %d\n",(++x,y++),z+2);

}

运行该程序的输出结果是

  A.34

  B.42

  C.43

  D.33

 答案:

D

23、与 y=(x > 0?

1:

x < 0?

-1:

0);的功能相同的if语句是

  A.if(x>0)y=1;elseif(x<0)y=-1;elsey=0;

  B.if(x)if(x>0)y=1;elseif(x<0)y=-1;elsey=0;

  C.y=-1if(x)y=1;elseif(x==0)y=0;elsey=-1;

  D.y=0if(x>-0)if(x>0)y=1;elsey=-1;

 答案:

A

24、下列程序的运行结果是

#include < stdio.h >

main()

{ int a=2,c=5;

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

}

  A.a=%2,b=%5

  B.a=2,b=5

  C.a=d,b=d

  D.a=%d,b=%d

 答案:

B

25、以下选项中属于C语言的数据类型是

  A.复数型

  B.逻辑型

  C.双精度型

  D.集合型

 答案:

C

26、以下程序的输出结果是

main( )

{ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];

for(i=0;i<4;i+=2)printf("%d ",p[i]);

}

  A.52

  B.51

  C.53

  D.97

 答案:

C

27、能正确表示a和b同时为正或同时为负的逻辑表达式是

  A.(a>=0‖b>=0)&&(a<0‖b<0)

  B.(a>=0&&b>=0)&&(a<0&&b<0)

  C.(a+b>0)&&(a+b<=0)

  D.a*b>0

 答案:

D

28、下面程序把数组元素中的最大值放入a[0]中。

则在if 语句中的条件表达式应该是

main( )

{ int a[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i;

for(i=0;i < 10;i++,p++)

if(________) *a=*p;

printf("%d",*a);

}

  A.p>a

  B.*p>a[0]

  C.*p>*a[0]

  D.*p[0]>*a[0]

 答案:

B

29、将三个数排序需要比较(  )次。

  A.2

  B.3

  C.4

  D.不确定

 答案:

B

30、若有说明:

“double a;”,则正确的输入语句应该是( )

  A.scanf("%lf",a);

  B.scanf("%f",&a);

  C.scanf("%lf",&a)

  D.scanf("%le",&a);

 答案:

D

31、以下说法中,正确的是( )

  A.#define和printf都是C语言语句

  B.#define是C语言语句,而printf不是

  C.printf是C语言语句,而#define不是

  D.#define和printf都不是C语言语句

 答案:

C

填空题:

(本大题共16小题,每题1.5分,共24分)

1、下面程序的输出是______

inttun(intnum)

{intk=1;

do{

k=k*num%10;

num=num/10;

}while(num);

return(k);

}

main()

{intn=26;

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

}

 答案:

2

2、把数组元素按顺序存放的过程称为_________.

 答案:

排序

3、计算表达式6*7%2+7%2*5的值是________.

 答案:

5

4、写出下面各个逻辑表达式的值,设a=3,b=4,c=5

1)!

(x=a)&&(y=b)&&0

2)a||b+c&&b-c

3)!

(a>b)&&!

c||1

 答案:

0,1,1

6、下面程序的功能是:

计算1到10之间奇数之和及偶数之和,请填空。

#include

main()

{inta,b,c,i;

a=c=0;

for(i=0;i<10;i+=2)

{a=a+i;

____________________

c=c+b;

}

printf("偶数之和=%d\n",a);

printf("奇数之和=%d\n",c);

}

 答案:

b=i+1

7、若有以下定义,则计算表达式y+=y-=m*=y后的y值是___________

intm=5,y=2;

 答案:

-16

8、当a=3,b=2,c=1时,表达式f=a>b>c的值是_________

 答案:

0

9、若有定义:

intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为_________

(x+y)%2+(int)a/(int)b

 答案:

1

15、以下程序的输出结果是___________。

﹟include﹤stdio.h﹥

voidmain()

{

doublea=123.123789

printf("%8.6f,%8.3f,%14.8f﹨n",a,a,a);

 答案:

123.123789,123.124,123.12378900

程序设计题:

(本大题共3小题,考生任选2道作答,每题8分,共16分)

1、编程序求出2+4+8+16+32+…这样的数之和。

如果累加数大于500时,则程序终止并输出结果。

 答案:

#include

main()

{

inti=2,sum=0;

while(sum<=500)

{

sum=sum+i;

i=i*2;

}

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

}

参考答案:

510

2、猴子摘桃。

3、一个数如果刚好与它所有的因子之和相等,则称该数为一个“完数”,如:

6=1+2+3,则6就是一个完数。

求出200到500之间所有的完数之和。

 答案:

#include

main()

{

inti,j;

intNum,Num2=0;

for(i=200;i<=500;i++)

{

Num=0;

for(j=1;j

if(i%j==0)

Num=Num+j;

if(Num==i)

Num2=Num2+i;

}

printf("%d",Num2);

}

参考答案:

496

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2