浙江大学C语言程序设计理论考试模拟试题答案.docx

上传人:b****6 文档编号:8188024 上传时间:2023-01-29 格式:DOCX 页数:15 大小:216.19KB
下载 相关 举报
浙江大学C语言程序设计理论考试模拟试题答案.docx_第1页
第1页 / 共15页
浙江大学C语言程序设计理论考试模拟试题答案.docx_第2页
第2页 / 共15页
浙江大学C语言程序设计理论考试模拟试题答案.docx_第3页
第3页 / 共15页
浙江大学C语言程序设计理论考试模拟试题答案.docx_第4页
第4页 / 共15页
浙江大学C语言程序设计理论考试模拟试题答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

浙江大学C语言程序设计理论考试模拟试题答案.docx

《浙江大学C语言程序设计理论考试模拟试题答案.docx》由会员分享,可在线阅读,更多相关《浙江大学C语言程序设计理论考试模拟试题答案.docx(15页珍藏版)》请在冰豆网上搜索。

浙江大学C语言程序设计理论考试模拟试题答案.docx

浙江大学C语言程序设计理论考试模拟试题答案

浙江大学C语言理论考试模拟试题答案

一、判断题

共10题,每题1分,共10分。

正确的请选择A,错误的请选择B。

1、在C语言中,函数不可以嵌套定义,但函数可以嵌套调用。

A

 A、正确B、错误

解答:

A

2、在程序中else子句可以单独使用。

B

 A、正确B、错误

解答:

B

3、C语言源程序文件通过了编译、连接之后,生成一个后缀为.EXE的文件。

(    )A

 A、正确B、错误

解答:

A

4、_ya是不合法的C语言标识符。

B

 A、正确B、错误

解答:

B

5、在数组初始化时,如果初值个数多于数组长度,将出现错误。

A

 A、正确B、错误

解答:

A

6、C语言规定,函数返回值的类型是由return语句中的表达式类型所决定。

B

 A、正确B、错误

解答:

B

7、若有定义int*p,则表达式p++的值就是p所指向的变量的地址值加1。

B

 A、正确B、错误

解答:

B

8、'\n'不是一个字符常量。

B

 A、正确B、错误

解答:

B

9、表达式(z=0,(x=2)||(z=1),z)的值是1。

B

 A、正确B、错误

解答:

B

10、若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。

 A、正确B、错误

解答:

A

二、单选题

请从给定的选项中选择一个唯一正确的选项。

每小题2分,共10题,20分。

 

1、    C下面有关变量的命名,不合法的是:

(  )

A._int

B.__intint

C.__int&int

D.___intintint

C

    解答:

C

2、    有变量定义inta;floatc;下面输入语句有语法错误的是(  )。

A.scanf("%d,%f",&a,&c);

B.scanf("x=%d,c=%f",&a,&c);

C.scanf("%d%f",&a,&c);

D.scanf("%f%d",&a,&c);

D

    解答:

D

3、    下面关于函数参数使用的说法,不正确的是:

(  )

A.函数调用时实参按顺序传递到形参;

B.函数调用时实参把值传递给形参;

C.函数的实参和形参个数可以不一致,但使用时应尽量一致;

D.函数的实参和形参可以同名;

C

    解答:

C

4、    已知intk=1;for(k=1;1;k++) if(k)break;for语句的循环次数是(   )。

A.0

B.1

C.2

D.无限次

B

    解答:

B

5、    下面定义的max函数返回值的数据类型是( )

max(floata,floatb)

{

  return(a>b?

a:

b);

}

A.int

B.float

C.double

D.不确定

A

    解答:

A          (此题似乎有争议)

此题应该没有争议,因为max()的函数头决定了max()的返回值必定是int,

return后面的表达式必须转化成int。

----BlackWhite注

6、    已知inta=10,x=0;x=~a;则x的值为(  )。

A.-1

B.0

C.-11

D.负无穷大

C

    解答:

C

7、    表达式(float)10/2的值的数据类型是(  )。

A.int

B.long

C.float

D.double

C

    解答:

D 这题才有争议,这个题明显出得不好。

因为按C99标准,该表达式的类型为float,而按C89标准,则表达式的

类型为double。

证明方法如下:

在TC中输出sizeof((float)10/2)可以得8,

而在VC中输出sizeof((float)10/2)则得4。

----BlackWhite注

8、    表达式!

(x>0||y>0)等价于_____。

A.!

x>0||!

y>0

B.!

(x>0)||!

(y>0)

C.!

x>0&&!

y>0

D.!

(x>0)&&!

(y>0)

D

    解答:

D

9、    不正确的赋值或赋初值的方式是______。

A.charstr[]="string";

B.charstr[10];str="string";

C.char*p="string";

D.char*p;p="string";

C

    解答:

B

10、    声明语句为“inta[3][4];”,下列表达式中与数组元素a[2][1]等价的是______。

A.*(a[2]+1)

B.a[9]

C.*(a[1]+2)

D.*(*(a+2))+1color[k][j]等价于*(color[k]+j)也可以写成*(*(color+k)+j)

A

    解答:

A

三、填空题。

在解答的文本框中填写正确的答案。

共10小题,每小题2分,共20分。

1、表达式inta=97; 表达式'b'

(1)__。

(1) 解答:

1(左边为假,则为0,右边也为0,故总体为真,值为1.)

2、equal()函数用于判断两个数是否相等,请写出最简单的形式二使与形式一等价。

形式一:

intequal(intx,inty)

{

 if(x==y)return1;

 elsereturn0;

}

形式二:

intequal(intx,inty)

{

 return(__X==Y___);

}

(1) 解答:

x==y

3、定义下列变量的值为:

intx=5,y=2,z=0;则表达式:

(x||(y=5),x&&z||(y=1),x+y+z)的值为:

___

(1)___

6

(1) 解答:

6

4、下面程序段运行结束后a的值为:

__

(1)___

5

(1) 解答:

5

5、下列程序段的输出结果是_____。

 

0

*K--引用*k所指向的元素,K指向数组的上一个元素

_ 解答:

0

6、下列程序的输出结果是_____。

2#4

_ 解答:

2#4

7、下列printf输出的结果是______。

10

_ 解答:

10

8、以下程序的输出结果是:

______。

7

_ 解答:

7

9、若有以下的定义和语句,则表达式*(++p)->b用%d输出的值是______。

11

31

_ 解答:

31

10、系统提供了平方根函数,其函数名是______。

_ 解答:

sqrt

四、选择性程序阅读题。

在给定的四个选项中,选出唯一一个正确答案。

共5题,每题4分,共20分。

 

1、阅读以下程序,程序运行时输入3123123412345后回车,请写出程序的运行结果。

 

A.0#

B.0#4#

C.0#4#13#

D.13#

C

解答:

C

2、运行时输入bananaapplepearorange的输出结果是_______。

A.pear

B.banana

C.apple

D.orange

A

解答:

A

3、下列程序的输出结果是______。

A.22#244#2466#

B.2#24#246#

C.2#24#66#

D.22#64#126#

A

解答:

A

4、假设文本文件a.txt中存放了下列数据:

apple?

pear?

1234?

output?

文本文件b.txt中存放了下列数据:

apple?

pear?

1604?

input?

假定文件都能正确打开,下列程序的输出结果是_______。

A.2#6#2#

B.apple?

pear?

12#

C.apple?

pear?

110#

D.2#6#10#

D

解答:

D

5、下列程序的输出结果是_______。

A.1#1#2#3#1#3

B.2#1#1#1#1#2#2

C.1#1#2#3#1#1

D.1#1#2#3#1#0

D

解答:

D

五、选择性程序填空题。

共30分,5题*3空=15个空,每空2分。

请在给定的选项中为每空选择一个唯一正确的选项,使程序补充完整。

1、输入两个正整数m和n(1

Fibanacci序列(第1项起):

1,1,2,3,5,8,13,21……。

 

A.m=(m+n)/2B.m=m+nC.n=n+m

D.cur=n

G.pre1+pre2H.cur=pre1I.cur=pre2

BEG

(1)解答:

B

(2)解答:

E

(3)解答:

G

2、输入1个正整数n(n>=6),将n分解为3个素数之和,要求只输出一组。

如:

输入24,则输出24=2+3+19

输入11,则输出11=3+3+5

BEI

A.if(n%2==0)a=2;elsea=3;B.n%2+2C.n/2+2

D.prime(n-b)==0E.prime(n-b)F.prime(b)

G.return0H.return1I.returnflag

(1)解答:

B

(2)解答:

E

(3)解答:

I

3、输入若干学生的成绩,如果输入成绩>100或<0时输入结束,请按等级对成绩进行分类统计,并输出各等级及对应的学生人数。

等级划分如下:

A:

100>=优秀>=90

B:

良好>=80;

C:

中等>=70

D:

及格>=60

E:

不及格<60。

例如,输入95568876349066797481846783751008270-1

则输出:

A:

3B:

5C:

5D:

2E:

2

A.x<60?

0:

x/10-5B.'A'+iC.x<60?

0:

(x-60)/10

D.0<=x<=100E.x>=0||x<=100F.x<=100

G.x>=0&&x<=100H.x/10-5I.'E'-i

GCAI

(1)解答:

G

(2)解答:

A

(3)解答:

I

4、编程实现输出以下图形:

EBC

A.(4-m)%4B.j<2*m-1C.printf("\n")

D.j<2*mE.4-m%4F.printf("*")

G.printf("")H.j<=2*mI.m%4-4

(1)解答:

E

(2)解答:

B

(3)解答:

C

5、输出1~1000之间所有满足各位数字的立方和等于它本身的数。

AHC

A.m=k;s=0B.m=m%10C.k==s

D.digit==sE.m=k/10F.k=m;s=0

G.m==sH.m=m/10I.s=0

(1)解答:

A

(2)解答:

H

(3)解答:

 C

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

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1