山工艺

更新时间:2023-01-03 12:59:48 阅读: 评论:0


2023年1月3日发(作者:the gossip)

2022年山东工艺美术学院公共课《C语言》科目期末试卷A(有答案)

一、填空题

1、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。

2、结构化程序由________、________、________3种基本结构组成。

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

4、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为_______。

5、表达式x=6应当读做_______

6、下面程序段的运行结果是_______。

chars[20]="abcd";

char*sp=s;

sp++;

puts(strcat(sp,"ABCD"));

7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素

交换。在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是

_______。

a[0]=1;a[1]=2;swap(a,2);

8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值

的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。

9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=_______;b=a-_______;a-=_______;

10、设有如下定义:

#defineSWAP(T,X,Y){T=X;X=Y;Y=T;}

以下程序段将通过调用宏实现变量x和y内容的交换,请填空。

Doublex=2.5,y=6.4,z;SWAP(_______);

二、选择题

11、下面4个选项中,是正确的八进制数或十六进制数的选项是()。

12、sizeof(float)是()。

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

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

13、设有以下程序:

#include

intmain()

{inta=201,b=012;

printf("%2d,%2dn",a,B.;

return0;

.}

程序执行后的输出结果是()。

A.01,12B.201,10C.01,10D.20,01

14、设有以下程序:

#include

intmain()

{charcl,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar();

c6=getchar();

putchar(c1);。

putchar(c2);

printf("%c%cn",c5,c6);

return0;

}

若运行时从键盘输入数据:

abc<回车>

defg<回车>,则输出结果是()。

15、以下不能对二维数组a进行正确初始化的语句是()。

[2][3]={0};

[][3]={{1,2},{0}};

[2][3]={{1,2},{3,4},{5,6}};

[][3]={1,2,3,4,5,6);

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

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

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

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

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

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

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

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

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

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

18、以下程序有语法性错误,有关错误原因的正确说法是()。

#include

intmain()

{intG=5,k;

voidprt_char();

-----

k=prt_char(G);

---

}

A.语句voidprt_char();有错,它是函数调用语句,不能用void说明

B.变量名不能使用大写字母

C.函数说明和函数调用语句之间有矛盾

D.函数名不能使用下划线

19、已有定义int(*p)();指针p可以()。

A.代表函数的返回值B.指向函数的入口地址

C.表示函数的类型D.表示函数返回值的类型

20、若有说明:char*language[]={"FORTRAN","BASIC","PASCAL",

"JAVA","C");则表达式*language[1]>*language[3]比较的是()。

A.字符F和字符PB.字符串BASIC和字符串JAVA

C.字符B和字符JD.字符串FORTRAN和字符串PASCAL

21、以下程序的正确运行结果是()。

#include

intf(intA.;

intmain()

{inta=2,i;for(i=0;i<3;i++)

printf("%4d",f(A.);

return(0);

}

intf(intA.

{intb=0;staticintc=3;

b++;c++;

return(a+b+C.;

}

A.777B.71013C.7911D.789

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

#include

intmain()

{charch[7]={"12ab56"};inti,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=10*s+ch[i]-'o';

printf("%dn",s);

return0;

}

A.1B.1256C.12ab56D.15

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、以下程序的输出是()。

#include

intmain()

{intx=1;

if(x=2)

printf("OK");

elif(x<2)printf("%dn",x);

elprintf("Quit");

return0;

}

.1D.无输出结果

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

#include

intmain()

{inti,b,k=0;

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

{b=i%2;

while(b-->=0)k++;

}

printf("%d,%d",k,b):

return0;

}

A)3,-1B)8,-1C)3,0D)8,-2

三、读程序填空

26、已知字母A的ASCII码值为65。以下程序的输出结果是_______。

#include

intmain()

{chara,b;

a='A'+'4'-'3';

b='A'+'6'-2';

printf("a=%d,b=%cn",a,b);

return0;

}

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

#include

intmain()

{inta=325;

doublex=3.1415926;

printf("a=%+06dx=%+en",a,x);

return0;

}

28、若有以下程序段,且grade的值为C,则输出结果是_______。

switch(grade)

{ca'A':printf("85~100n");

ca'B':printf("70~84n");

ca'C':printf("60~69n");

ca'D':printf("(60n");

default:printf("error!n");

}

29、若运行以下程序时输入:1605<回车>,则程序的运行结果是_______。

#include

intmain()

{intt,h,m;

scanf("%d”,8&t);

h=(t/100)%12;

if(h==0)h=12;

printf("%d:",h);m=t%100;

if(m<10)printf("o);

printf("%d',m);

if(t<1200||t==2400)

printf("AM");

elprintf("PM");

return0;

}

30、等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能

被4整除的所有数的和。请填空。

#include

intmain()

{inta=2,d=3,sum=0;

do

{sum+=a;

a+=d;

if(_______)printf("%dn",sum);

}while(sum<200);

return0;

}

31、下面程序的功能是:从键盘输入一个整数m(4≤m≤20),输出如下的整数

方阵(存入二维数组aa)。例如,若输入4和5,则分别输出:

请改正程序中的错误语句,使它能得出正确的结果。改正后的语句是_______和

_______。(注意:不得增行或删行,也不得更改程序的结构。)

#include

#defineM20

voidaMatrix(intn,intxx[][M])

{inti,j;for(j=0;j

xx[o][i]=(n-j)*(n-j);

for(i=1;i

{for(j=0;j

xx[i][j]=xx[i-1][j+1];

xx[i][n一1]=xx[i-1][0];

}

intmain()

{intaa[M][M],i,j,m;

printf("nPleaenteranintegernumberbetween4and20:");

scanf("%d",8&.m);

aMatrix(m,aa);

printf("nThe%d*%dmatrixgenerated:",m,m);

for(i=0;i

{printf(n");

for(j=0;j

printf("%4f",aa[i][j]);/*错误语句_______*/

return(0);

}

}

32、下面程序段的功能是将字符数组a[6]={'a',b','c','d','e','f)变为

a[6]={'f','a','b','c','d','e'}。请填空。

chart,a[6]={'a','b','c','d','e','f');inti;

_______;

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

{_______;for(i=0;i<=5;i++)printf("%c",a[i]);

33、下面程序的功能是求矩阵A的转置矩阵B,并按矩阵形式打印出两个矩阵。请

填空。

#include

intmain()

{inta[2][3]={1,2,3,4,5,6},b[3][2];

int(*p)[3],(*q)[2],i,j;

p=a;

q=b;

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

_______;

p=a;

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

{for(j=0;j<3;j++)printf("%4d",_______);

printf("n");

q=b;

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

{for(j=0;j<2;j++)printf("%4d",_______);

printf("n");

return(0);

}

四、编程题

34、试利用结构体类型编制一个程序,实现输入一个学生的数学期中和期末成绩,

然后计算并输出其平均成绩。

35、编写程序实现功能:对于给定的一个百分制成绩,改用相应的五级分成绩表

示。设:90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下

为E(要求用switch语句实现)。

参考答案

一、填空题

1、a&040或a&0×20或a&32

2、【1】顺序结构【2】选择结构【3】循环结构

3、函数

4、整型(或int型)

5、将常量6赋给变量x

6、bedABCD

7、【1】a[0]=2a[1]=1

【2】因实参是地址,已对指定地址中的内容进行了交换。

8、【1】格式控制符与变量类型不匹配。

scanf语句的正确形式应该是:scanf("%f",8.k);

【2】未指明变量k的地址。

9、【1】b【2】b【3】b

10、z,x,y或z,y,x

二、选择题

11、C

12、B

13、B

14、B

15、C

16、D

17、B

18、C

19、B

20、C

21、B

22、A

23、B

24、A

25、D

三、读程序填空

26、a=66,b=E

27、a=+00325囗囗囗x=+3.14159e+00

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

28、【1】mark/10

【2】ca0:ca1:ca2:ca3:ca4:ca5:

【3】ca9:ca10:

29、4:05PM

30、sum%4==0

31、【1】for(j=0;j

【2】printf("%4d",aa[i][j]);

32、【1】t=a[5]【2】a[i]=a[i-1]

33、【1】*(*(q+j)+i)=*(*(p+i)+j)【2】*(*(p+i)+j)【3】*(*

(q+i)+j)

四、编程题

34、#include

intmain()

{structstudyintmid;

intend;

intaverage;

}math;

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

e=(+)/2;

printf("average=%dn",e);

return0;

}

35、#include

intmain()

{intscore,temp,log;

chargrade;

log=1;

while(log)

{printf("enterscore:");

scanf("%d”,);

if((score>100)|l(score<0))

printf("nerror,tryagain!n");

ellog=0;

if(score==100)temp=9;

eltemp=(score-score%10)/10;switch(temp)

{ca0:ca1:ca2:

ca3:ca4:

ca5:grade='E';break;

ca6:grade='D';break;

ca7:grade='C';break;

ca8:grade='B';break;

ca9:grade='A';

printf("score=%d,grade=%cn",score,grade);

return0;

}

本文发布于:2023-01-03 12:59:48,感谢您对本站的认可!

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

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

上一篇:申雅岚
标签:山工艺
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图