2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx

上传人:b**** 文档编号:14647865 上传时间:2023-06-25 格式:DOCX 页数:17 大小:85.74KB
下载 相关 举报
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第1页
第1页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第2页
第2页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第3页
第3页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第4页
第4页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第5页
第5页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第6页
第6页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第7页
第7页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第8页
第8页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第9页
第9页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第10页
第10页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第11页
第11页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第12页
第12页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第13页
第13页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第14页
第14页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第15页
第15页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第16页
第16页 / 共17页
2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx

《2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx》由会员分享,可在线阅读,更多相关《2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx(17页珍藏版)》请在冰点文库上搜索。

2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案).docx

2022年武汉东湖学院公共课《C语言》科目期末试卷A(有答案)

一、填空题

1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。

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

3、一个C语言源程序由若干函数组成,其中至少应含有一个________

4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。

5、若有定义语句:

ints=6;则表达式s%2+(s+1)%2的值为_______

6、函数process是一个可对两个整型数a和b进行计算的通用函数;函数max()可求这两个数中的较大者,函数min()可求它们中的较小者。

已有调用语句process(a,b,max);和process(a,b,min);。

请填空。

voidprocess(_______)

{intresult;

result=(*fun)(x,y);

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

}

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

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

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

8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。

union

{intn;doublex;}num;

num.n=10;

num.x=10.5;

printf("_______",_______);

9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。

#include

intmain()

{inta,b;

floatx,y;

charcl,c2;

scanf("a=%db=%d",&.a,&.b);

scanf("x=%fy=%",8.x,8.y);

scanf("c1=%cc2=%c”,8.cl,8.c2);

printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);

return0;

}

10、在C语言中,二维数组元素在内存中的存放顺序是_______。

二、选择题

11、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值为()。

A.4B.16C.32D.52

12、下面4个选项中,是正确的数值常量或字符常量的选项是()

13、以下程序的运行结果是()。

#include

intmain()

{intm=5,n=10;

printf("%d,%d\n",m++,--n):

return0;

}

A.5,9B.6,9C.5,10D.6,10

14、有输入语句:

scanf("a=%d,b=%d,c=%d",&a,&b,&C.;为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是()。

(注:

囗表示空格)

A.132<回车>B.1,3,2<回车>

C.a=1囗b=3囗c=2<回车>D.a=1,b=3,c=2<回车>

15、判断字符串s1是否大于字符串s2,应当使用()。

A.if(s1>s2)B.if(strcmp(s1,s2))

C.if(strcmp(s2,s1)>0)D.if(strcmp(s1,s2)>0)

16、一个C程序的执行是从()

A.本程序的main函数开始,到main函数结束

B.本程序的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序的第一个函数开始,到本程序main函数结束

17、以下不是无限循环的语句为()。

A.for(y=0,x=1;x>++y;x=i++)i=x;

B.for(;;x++=i):

C.while

(1){x++;}

D.for(i=10;;i-一)sum+=i;

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

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

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

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

A.inta[3][2];B.char*a[]={"12","ab"};C.char(*A.[3];D.intb[10],*a=b;

20、若需要建立如图9-3所示的存储结构,且已有说明float*p,m=3.14;则正确的赋值语句是()

A)p=m;B)p=&m;C)*p=m;D)*p=&m;

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

#include

intf(intx,inty)

{return(y-x)*x;}

intmain()

{inta=3,b=4,c=5,d;

d=f(f(a,C.,f(a,B.+f(c,B.);

printf("%d\n",D.;

return(0);

}

A.-48B.58C.-58D.47

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

#include

intmain()

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

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

=\o';k++)

{switch(C.

{case'I':

++k;break;

case'L':

continue;

default:

putchar(C.;continue;

putchar('*’);

}

return0;

}

A.SSW*B.SW*C.SW*AD.SW

23、下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。

请选择填空。

()

#include

intmain()

{chars[80],c1,c2='';inti=0,num=0;

gets(s);

while(s[i]!

='\o')

{c1=s[i];

if(i==0)c2='';

elsec2=s[i-1];

if(【】)num++;

i++;

printf("Thereare%dwords.\n",num);

return0;

}

A.c1==′′&&c2==''B.cl!

=''&&c2==''C.c1==''&&c2!

=''D.cl!

=''&&c2!

=''

24、以下程序()。

#include

intmain()

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

if(a=b+C.printf("***\n");

elseprintf("$$$\n");

return0;

}

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

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

25、有一堆零件(100~200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。

下面程序是求这堆零件的总数,请选择填空()。

#include

intmain()

{inti;

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

if((i-2)%4==0)

if(!

((i-3)%7))

if([])

printf("%d",i);

return0;

}

A)i%9=5B)i%9!

=5C)(i-5)%9!

=0D)i%9==5

三、读程序填空

26、以下printf语句中*号的作用是_______,输出结果是_______。

#include

intmain()

{inti=1;printf("##%*d\n",i,i);

i++;

printf("##%*d\n",i,i);

i++;

printf("##%*d\n",i,i);

return0;

}

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

#include

intmain()

{intx=1,y=2;

printf("x=%dy=%d*sum*=%d\n",x,y,x+y);

printf("10Squaredis:

%d\n",10*10);

return0;

}

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

#include

intmain()

{intal,a2,bl,b2;

Inti=5,j=7,k=0;

al=!

k;a2=i!

=j;

printf("a1=%d\ta2=%d\n",al,a2);

b1=k&&j;b2=k||j;

printf("b1=%d\tb2=%d\n",bl,b2);

returnO;

}

29、以下程序的功能是:

输入一个小写字母,将字母循环后移5个位置后输出。

例如’a’变成’f’,w’变成b’。

请填空。

#include

intmain()

{charc;

c=getchar();

if(c>='a'8&&.c<='u')【l】:

elseif(c>='v√8&8.c<='z)_______;

putchar(c);

return0;

}

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

#include

intmain()

{inti,t,sum=0;

for(t=i=1;i<=10;)

{sum+=t;++i;

if(i%3==0)t=-i;

elset=i;

}

printf("sum=%d,sum);

return0;

}

31、以下程序的运行结果是_______,其算法是_______。

#include

voidsort(inta[]);

intmain()

{inta[5]={5,10,一7,3,7},i,t,j;

sort(a);

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

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

return(0);

voidsort(inta[])

{inti,j,t;

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

for(j=0;j<4一i;j++)

if(a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

}

32、以下程序的功能是求1000以内的水仙花数。

(提示:

所谓水仙花数是指一个3位正整数,其各位数字的立方之和等于该正整数。

例如:

407=4×4×4+0×

0×0+7×7×7,故407是一个水仙花数。

)请填空。

#include

intmain()

{intx,y,z,a[8],m,i=0;

printf("Thespecialnumbersare:

\n");

for(_______;m++)

{x=m/100;

y=_______:

z=m%10;

if(x*100+y*10+z==x*x*x+y*y*y+z*z*z)

{_______:

i++;}

}

for(x=0;x

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

return0;

}

33、设有5个学生,每个学生考4门课,以下程序能检查这些学生有无考试不及格的课程。

若某一学生有一门或一门以上课程不及格,就输出该学生的序号(序号从0开始)和其全部课程成绩。

请填空。

#include

intmain()

{intscore[5][4]={{62,87,67,95},{95,85,98,73},{66,92,81,69},

{78,56,90,99},{60,79,82,89}};

int(*p)[4],j,k,flag;

p=score;

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

{flag=0;

for(k=0;k<4;k++)

if(_______)flag=1;

if(flag==1)

{printf("No.%disfail,scoresare:

\n",j);

for(k=0;k<4;k++)

printf("%5d",_______);

printf(\n");

}

return(0);

}

四、编程题

34、编写程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串,请用指针完成。

35、已有变量定义和函数调用语句intx=57;isprime(x);函数isprime()用来判断一个整型数a是否为素数;若是素数,则函数返回1,否则返回0。

请编写isprime函数。

intisprime(inta)

{

}

参考答案

一、填空题

1、00001111

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

3、主函数(或main函数)

4、【1】10【2】6

5、1

6、intx,inty,int(*fun)(int,int)

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

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

8、【1】%If【2】num.x

9、a=3囗b=7x=8.5囗y=71.82c1=ADc2=a<回车>

(注:

答案中的囗代表空格)

10、按行主顺序存放

二、选择题

11、C

12、D

13、A

14、D

15、D

16、A

17、A

18、A

19、D

20、B

21、A

22、B

23、B

24、D

25、D

三、读程序填空

26、【1】可以使同一输出语句中的输出宽度得以改变。

【2】##1

##囗2

##囗囗3

27、x=1y=2*sum*=310Squaredis:

100

28、al=1a2=1,b1=0b2=1

29、【1】c=c+5【2】c=c-21

30、sum=19

31、【1】-735710【2】冒泡法排序

32、【1】m=100;m<1000【2】m/10-x*10【3】a[i]=m

33、【1】*(*(p+j)+k)<60【2】*(*(p+j)+k)

四、编程题

34、#include

intmain()

{staticcharx[]="computer";

char*p;

for(p=x;p

putchar(*p);

printf("\n");

return0;

}

35、intisprime(inta)

{inti;

for(i=2;i

if(a%i==0)return0;

return1;

}

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

当前位置:首页 > 初中教育 > 语文

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

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