大连艺术学院地址

更新时间:2022-12-30 00:37:08 阅读: 评论:0


2022年12月30日发(作者:湖北省高考改革)

2022年大连艺术学院公共课《C语言》科目期末试卷B(有答案)

一、填空题

1、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交

换,即把b中的值给a,把c中的值给b,把a中的值给c。例如:交换前,a=10、

b=20、c=30;交换后,a=20、b=30、c=10。请填空。

_______;a=b;b=c;_______;

2、C语言的源程序必须通过【】和【】后,才能被计算机执行。

3、C语言源程序的基本单位是________

4、C语言中的标识符可分为关键字、_______和_______3类。

5、假设m是一个3位数,从左到右依次用a、b、c表示各位的数字,则从左到右各

位数字是b、a、c的3位数的表达式是_______。

6、请读程序段:

unsigneda=16;

printf("%d,%d,%dn",a>>2,a=a>>2,a);以上程序段的输出结果是

_______。

7、执行下面程序段后,k的值是_______。

k=1;n=263;

do{k*=n%10;n/=10;}while(n);

8、设有宏定义如下:

#defineMIN(x,y)(x)>(y)?(x):(y)

#defineT(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值

为_______。

inta=1,b=3,c=5,s1,s2;

s1=MIN(a=b,b-a);

s2=T(a++,a*++b,a+b+c);

9、若有定义floata[3][5];则a数组所含数组元素个数是_______,a数组所占的字

节数是_______。

10、请填空:

建立如图所示存储结构所需的说明语句是_______。

建立如图所示为变量a输入数据的输入语句是_______。

建立如图所示存储结构所需的赋值语句是_______。

二、选择题

11、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()

A.7B.8C.6D.2

12、sizeof(float)是()。

A.一个双精度型表达式B.一个整型表达式

C.一种函数调用D.一个不合法的表达式

13、以下叙述正确的是

A.在C程序中,main函数必须位于程序的最前面

B.C程序的每行中只能写一条语句

C.C语言本身没有输入输出语句

D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误

14、以下叙述不正确的是()

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

15、若有说明:inta[3][4];,则对a数组元素的正确引用是()。

A.a[3][4]B.a[1,3]C.a[i+1][0]D.a(2)(1)

16、以下C程序的运行结果是。(注:口表示空格)

#include

intmain()

{longy=-43456;printf("y=%-8ldn",y);

printf("y=%-08ldn",y);

printf("y=%08ldn",y);

printf("y=%+8ldn",y);

return0;

}

A.y=囗囗-43456y=-囗囗43456y=-0043456y=-43456

B.y=-43456y=-43456y=-0043456y=+囗-43456

C.y=-43456y=-43456y=-0043456y=囗囗-43456

D.y=囗囗-43456y=-0043456y=00043456y=+43456

17、若要对a进行++运算,则a应具有下面说明()

[3][2];*a[]={"12","ab"};(*A.[3];[10],*a=b;

18、若用数组名作为函数调用的实参,则传递给形参的是()

A.数组的首地址B.数组第一个元素的值

C.数组中全部元素的值D.数组元素的个数

19、以下正确的描述是()。

ue语句的作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句或continue语句的作用相同

D.从多层循环嵌套中退出时,只能使用goto语句

20、语句while(!E);中的表达式!E等价于()。

A.E==0B.E!=1C.E!=0D.E==1

21、以下程序()。

#include

intmain()

{inta=5,b=0,c=0;

if(a=b+("***n");

elprintf("$$$n");

return0;

}

A.有语法错不能通过编译B.可以通过编译但不能通过连接

C.输出***D.输出$$$

22、下面程序段的功能是输出两个字符串中对应相等的字符,请选择填空()。

charx[]="programming";

chary[]="Fortran";

inti=0;

while(x[i]!='o'&&.y[i]!='o')

if(x[i]==y[i])printf("%c",【】);

eli++;

A.x[i++]B.y[++i]C.x[i]D.y[i]

23、下面程序的运行结果是()。

#include

intmain()

{charstr[]="SSSWLIA",c;intk;

for(k=2;(c=str[k])!=o';k++)

{switch(C.

{ca'I':++k;break;

ca'L':continue;

default:putchar(C.;continue;

putchar('*’);

}

return0;

}

***

24、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-

y)的值,请选择填空。

#include

#include

floatf(float,float);

intmain()

{floatx,y,z,sum;

scanf("%f%1%f",8.x,&y,8.z);

sum=f(【】)+f(z+y,z-y);

printf("sum=%fNn",sum);

return(0);

}

floatf(floata,floatB.

{floatvalue;

value=a/b;

return(value);

}

A)x-y,x+yB)x+y,x-yC)z+y,z-yD)z-y,z+y

25、假设等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小

于100的最大n,请选择填空。()

#include

intmain()

{inta=1,g=2,n=0,sum=0;

do

{【1】;

++n;a*=g;

}while(sum<100);

n-=1;

printf("%dn",n);

return0;

}

+++==a+aD.a+=sum

三、读程序填空

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

#include

intmain()

{inta=252;

printf("a=%oa=%#on",a,a);

printf("a=%xa=%#xn",a,a);

return0;

}

27、以下程序的输出结果为_______。

#include

intmain()

{charc='x';

printf("c:dec=%d,oct=%o,hex=%x,ASCIl=%cn",c,c,c,c);

return0;

}

28、以下Check函数的功能是对value中的值进行四舍五入,若计算后的值与

pon值相等,则显示WELLDONE!,否则显示计算后的值。已有函数调用语句

Check(pon,value);请填空。

voidCheck(intpon,floatvalue)

{intval;val=_______;

printf("计算后的值:%d",val);

if(_______)printf("nWELIDONE!!n");

elprintf("nSorrythecorrectansweris%dn",val);

}

29、函数yanghui能够按以下形式构成一个杨辉三角形。请填空。

1

11

121

1321

14321

#include

#defineN1

voidyanghui(inta[][N])

{inti,j;

for(i=0;i

for(_______;i

for(j=2;_______;j++)a[i][j]=_______+a[i-1][j];

}

30、下面程序的功能是完成用100元人民币换成1元、2元、5元的所有兑换方案。

请填空。

#include

intmain()

{inti,j,k,L=1;

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

for(j=0;j<=50;j++)

{k=_______;

if(_______)

{printf("%2d%2d%2d",i,j,k);

L=L+1;

if(L%5==0)printf("n");

return0;

}

31、下面程序的功能是给一维数组a输入6个任意整数,假设为:

748915

然后建立一个具有以下内容的方阵并打印。请填空。

574891

157489

915748

891574

489157

748915

#include

intmain()

{inta[6],i,j,k,m;

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

scanf("%d",&.a[i]);

for(i=5;i>=0;i--)

{k=a[5];for(_______;j>=0;j-一)

a[j+1]=a[j];

_______;

for(m=0;m<6;m++)

printf("%d",a[m]);

printf("n");

}

return0;

}

32、假设奖金税率如下(a代表奖金,r代表税率):

500≤a<1000r=5%

1000≤a<2000r=8%

2000≤a<3000r=10%

以下程序的功能是:对输入的一个奖金数,求税率和应交税款以及实得奖金数(扣

除奖金税后)。题中r代表税率,t代表税款,b代表实得奖金数。请填空。

#include

intmain()

{floata,r,t,b;

intc;

scanf("%f",8&a);

if(a>=3000)c=6;

elc=_______:

switch(c)

{ca0:r=0;break;

ca1:r=0.05;break;

ca2:

ca3:_______;break;

ca4:

ca.5:r=0.1;break;

ca6:r=0.15;break;

}

t=a*r;

b=a-t;

printf("r=%f,t=%f.b=%",r,t,b);

return0;

}

33、以下程序的运行结果是_______。

#include

voidpp(inta,int*b);

int*p;

intmain()

{inta=1,b=2,c=3;

p=&b;

pp(a+c,&b);

printf("(1)%d%d%dn",a,b,*p);

return(0);

}

voidpp(inta,int*b)

{intc=4;

*p=*b+c

a=*p-C;

printf("(2)%d%d%dn",a,*b,*p);

}

四、编程题

34、每个苹果0.8元,第一天买2个苹果;从第二天开始,每天买前一天的2倍,直

至购买的苹果个数达到不超过100的最大值,编写程序求每天平均花多少钱。

35、假设A、B两名工人生产同一产品,两人每月生产的数量如下:

其中各行的3个数据分别表示月份、A工人生产量、B工人生产量。请编写程序,将

这些数据写到d盘file1文件夹中的二进制文件中。

参考答案

一、填空题

1、【1】t=a【2】c=t

2、【1】编译【2】连接

3、函数

4、【1】用户标识符【2】预定义标识符

5、m/10%10*100+m/100*10+m%10

6、1,4,16

7、36

8、【1】3【2】28

9、【1】15【2】60

10、【1】chara,*p;【2】scanf("%c",8.a);【3】p=8.a;

二、选择题

11、B

12、B

13、C

14、D

15、C

16、C

17、D

18、A

19、B

20、A

21、D

22、A

23、B

24、B

25、B

三、读程序填空

26、a=374囗囗a=0374

a=fc囗囗a=0xfc

(注:答案中的囗代表空格)

27、c:dec=120,oct=170,hex=78,ASCII=x

28、【1】(int)((value*10+5)/10)【2】pon==val

29、【1】i=1【2】j<=i-1【3】a[i-1][j-1]

30、【1】100-i*5-j*2【2】k>=0

31、【1】j=4【2】a[0]=k

32、【1】a/500【2】r=0.08

33、(1)166

(2)266

四、编程题

34、#include

intmain()

{intday=0,buy=2;

floatsum=0.0,ave;

do

{sum+=0.8*buy;

day++;buy*=2;

}while(buy<=100);

ave=sum/day;

printf("%f",ave);

return0;

}

35、#include

structworkertintmonth;intworka;intworkb;};

intmain()

{inti;

structworkerwk;

FILE*fp;

fp=fopen("d:filelel2_","wb");

if(fp==NULL)

{printf("Error!n");

exit(O);}

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

{scanf("%d%d%d",&.,,);

fwrite(&.wk,sizeof(structworker),1,fp);)

fclo(fp);

}

return0;

}

本文发布于:2022-12-30 00:37:08,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/56413.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图