浙江理工大学C语言期末试题含答案.docx

上传人:b****1 文档编号:13879653 上传时间:2023-06-18 格式:DOCX 页数:14 大小:27.46KB
下载 相关 举报
浙江理工大学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语言期末试题含答案

C程序设计试卷

一、单选题(本题共20分,每小题2分)

(1)

以下C语言常量中,表达错误的是___

(1)___。

[A]0xFF[B]3.2e0.5[C]5.6[D]‘\n’

(2)

C程序的基本结构有___

(2)___。

[A]选择、重复和模块[B]顺序、选择和模块

[C]顺序、选择和循环[D]逻辑、物理和程序

(3)

在C语言程序中,关于字符串的描述正确的是___(3)___。

[A]可定义一个字符串变量来存储字符串;

[B]可定义一个字符变量来存储任意字符串;

[C]可定义一个字符数组来存储字符串;

[D]可定义一个字符指针来存储字符串;

(4)

在C语言中,用关键字___(4)___定义双精度类型变量。

[A]single[B]double[C]float[D]int

(5)

下面叙述中不正确的是___(5)___。

[A]不同函数中可以使用相同名字的变量

[B]形式参数是局部变量

[C]在一个函数内部的复合语句中定义的变量在本函数范围内有效

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

(6)

下面程序段的输出结果是___(6)___。

inti=100;

while(i>120)

i=i+1;

printf(″%d″,i);

[A]100[B]101[C]120[D]121

(7)

以下定义语句中正确的是___(7)___。

[A]chara='A'b='B';

[B]floata=b=10.0;

[C]inta=10,*b=&a;

[D]float*a,b=&a;

(8)

已有定义:

inti,a[10],*p;,则合法的赋值语句是___(8)___。

[A]p=100;[B]p=a[5];[C]p=a[2]+2;[D]p=a+2;

(9)

设有定义:

inta,*p1=&a;以下scanf语句中能正确为变量a读入数据的是___(9)___。

[A]scanf(“%d”,p1);

[B]scanf(“%d”,a);

[C]scanf(“%d”,&p1);

[D]scanf(“%d”,*p1);

(10)

以下程序段中与语句k=a>b?

(b>c?

1:

0):

0;功能等价的是___(10)___。

[A]if((a>b)&&(b>c))k=1elsek=0;

[B]if((a>b)||(b>c))k=1elsek=0;

[C]if(a<=b)k=0;

[D]if(a>b)k=1;

二、程序填空题(本题共30分,每小题2分)

阅读下列程序说明和程序代码,在每小题提供的若干可选项中,挑选一个最佳的选项。

(1)【程序说明】

输入整数n,输出共有n层的金字塔图形。

例如:

【程序代码】

#include

voidmain(){

inti,j,n;

charc='*';

printf("输入层数:

");

scanf("%d",&n);

for(i=1;(11);i++){

for(j=1;j<=n-i;(12))

printf("");

for(j=1;(13);j++){

printf((14),c);

}

printf("\n");//换行,在内嵌循环结束后执行

(15)

}

【选项】

(11)

[A]i<=n+1[B]i<=n[C]i

(12)

[A]i++[B]j=i+1[C]j++[D]i=j+1

(13)

[A]j>=2*i-1[B]j<=2*i-1[C]j<=2*n-1[D]j<=n

(14)

[A]"%d"[B]"%s"[C]"%c"[D]"%f"

(15)

[A]}[B])[C]};[D]以上选项都不正确

(2)【程序说明】输入年份判断是否闰年。

【程序代码】

#include

main(){

intyear,leap;

scanf("%d",(16));

if(year%4==0){

if(year%100==0)

{

if(year%400==0)

leap=1;

(17)

leap=0;

}

else

leap=1;

}

else

(18);

if((19))

printf("%dis",(20));

else

printf("%disnot",year);

printf("aleapyear.\n");

}

【选项】

(16)

[A]year[B]&year[C]&n[D]&leap

(17)

[A]elseif[B]else;[C]else[D]elseif(leap==1)

(18)

[A]leap=0[B]leap=1[C]year=0[D]year=1

(19)

[A]year=1[B]leap[C]leap=0[D]以上选项都不正确

(20)

[A]leap[B]&leap[C]year[D]&year

(3)【程序说明】输入十个整数并保存在一维数组中,使数组中每个元素都增加10。

【程序代码】

#include

main(){

inta[10],i;

(21)

p=a;

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

scanf("%d",(22));

(23);

}

for(p=a;p<(a+10);p++)

(24)

printf("\n");

(25);

for(;p<(a+10);p++)

printf("%d",*p);

}

【选项】

(21)

[A]intp[10][B]int*p;[C]intp;[D]inta;

(22)

[A]a++[B]a[p][C]*p[D]p

(23)

[A]p++[B]a++[C]*p++[D]*a++

(24)

[A]*a=*a+10;[B]*p=*(p+10);[C]*p=*p+10;[D]*a=*(a+i);

(25)

[A]p=a[0][B]p=*a[C]p=a[D]*p=&a

三、程序阅读题(本题共20分,每小题2分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案。

(1)【程序说明】运行程序并回答问题。

【程序代码】

#include

#include

voidmain()

{intn,s=0;

scanf("%d",&n);

n=fabs(n);

while(n>1){

s=s+n%10;

n=n/10;

}

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

}

【选项】

(26)

程序运行时输入312,输出___(26)__。

[A]213[B]6[C]312[D]3为。

(27)

程序运行时输入-5104,输出___(27)__。

[A]-5104[B]–4015[C]10[D]51.04

(2)【程序说明】运行程序并回答问题。

【程序代码】

#include

voidmain(){

inta,b,c,temp;

a=5;b=12;c=6;

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

if(a

if(a

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

if(b

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

}

voidswap(int*x,int*y){

inttemp;

temp=*x;

*x=*y;

*y=temp;

}

【选项】

(28)

程序运行时,第1行输出___(28)__。

[A]a=5,b=12,c=6[B]a=%d,b=%d,c=%d

[C]a=5.0,b=12.0,c=6.0[D]a=12,b=5,c=6

(29)

程序运行时,第2行输出___(28)__。

[A]a=5,b=12,c=6[B]a=6,b=12,c=5

[C]a=12,b=5,c=6[D]a=12,b=6,c=5

(30)

程序运行时,第3行输出___(30)__。

[A]a=5,b=12,c=6[B]a=6,b=12,c=5

[C]a=12,b=5,c=6[D]a=12,b=6,c=5

(3)【程序说明】运行程序并回答问题。

【程序代码】

#include

voidmain()

{

chars1[40];

inti=0;

printf("\nInputastring:

");

scanf("%s",s1);

while(s1[i]!

='\0'){

if(s1[i]>='A'&&s1[i]<='Z')

s1[i]=s1[i]+32;

i++;}

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

}

【选项】

(31)

程序运行时,输入abc30DCA,输出___(31)__。

[A]62[B]abc30dca[C]abc[D]DCA

(32)

程序运行时,输入Face,输出___(32)__。

[A]Face32[B]FACE[C]face[D]f

(4)【程序说明】运行程序并回答问题。

【程序代码】

#include

voidmain(){

FILE*fp;

inti,j,k,x,y;

scanf("%d%d",&i,&j);

fp=fopen("t.dat","w");

fprintf(fp,"%d\n",i);

if(i

k=j;

elseif(i>j)

k=i;

else

k=i+j;

fprintf(fp,"%d\n",k);

fclose(fp);

fp=fopen("t.dat","r");

fscanf(fp,"%d%d",&x,&y);

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

fclose(fp);

}

【选项】

(33)

程序运行时,输入2012输出___(33)__。

[A]x=20,y=20[B]x=20,y=12[C]x=12,y=20[D]x=12,y=12

(34)

程序运行时,输入1035输出___(34)__。

[A]x=45,y=45[B]x=10,y=10[C]x=10,y=35[D]x=35,y=35

(35)

程序运行时,输入1212输出___(35)__。

[A]x=24,y=24[B]x=12,y=12[C]x=24,y=12[D]x=12,y=24

四、

程序设计题(本题共30分,每小题10分)

(1)编写程序,要求从键盘上输入一个数给x,计算并输出分段函数y的值。

x+1010

0≤x≤10

5x-3x<0

提示:

平方根函数为:

sqrt(),指数函数为:

exp(),正切函数为:

tan(),正弦函数为:

sin(),所有这些函数在math.h头文件中。

(2)从键盘输入一个正整数n,编写程序计算1/1!

+1/2!

+1/3!

+……+1/n!

的值并输出结果,要求定义和调用函数fact(n)计算n的阶乘。

(3)随机产生20个大于等于1小于等于100的数,并按从大到小排序。

请输出排序后的数,要求每行输出5个数。

浙江理工大学2005/2006下学期期末考试---C程序设计试题

参考答案与评分标准

一、单选题(本题共20分,每小题2分)

题号

1

2

3

4

5

6

7

8

9

10

答案

B

C

C

B

C

A

C

D

A

A

二、程序填空题(本题共30分,每小题2分)

题号

11

12

13

14

15

16

17

18

19

20

答案

B

C

B

C

A

B

C

A

B

C

题号

21

22

23

24

25

答案

B

D

A

C

C

 

三、程序阅读题(本题共20分,每小题2分)

题号

26

27

28

29

30

31

32

33

34

35

答案

B

C

A

C

D

B

C

A

C

D

四、编程题(本题共30分,每小题10分)

1、

#include

#include

voidmain(){

floatx,y;

scanf("%f",&x);

if(x>10)y=x+10;

elseif(x>=0)y=(sqrt(5*x)+exp(x))/(x+1);

elsey=tan(x)*sin(x);

printf("y=%f\n",y);

}

2、

#include

floatfact(intn){

floatt=1.0;inti=1;

while(i<=n)

t=t*i++;

return(t);

}

voidmain(){

intn,i;floatsum=1.0;

scanf("%d",&n);

for(i=2;i<=n;i++)

sum=sum+1.0/fact(i);

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

}

3、

#include

#include

voidmain(){

inti,j,n=0,temp,x[20];

srand(time(NULL));

printf("原始数据:

\n");

for(i=0;i<=19;i++){

x[i]=rand()%100+1;//产生20个随机数

if(i%5==0)printf("\n");

printf("%-6d",x[i]);

}

printf("\n");

for(i=0;i<19;i++){//从大到小排序

for(j=0;j<19-i;j++)

if(x[j]

temp=x[j];

x[j]=x[j+1];

x[j+1]=temp;

}

}

printf("排序后数据:

\n");

for(i=0;i<20;i++){

if(i%5==0)printf("\n");

printf("%-6d",x[i]);

}

printf("\n");

}

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

当前位置:首页 > 农林牧渔 > 林学

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

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