2023年级计算机本科C期末试卷B卷_第1页
2023年级计算机本科C期末试卷B卷_第2页
2023年级计算机本科C期末试卷B卷_第3页
2023年级计算机本科C期末试卷B卷_第4页
2023年级计算机本科C期末试卷B卷_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

03级计算机科学与技术专业专业(本科)

《高级语言程序设计》课程期末试卷(B)

班级姓名学号

题号—*—*四附加题总分

得分

【注意】1.考试时间120分钟

2.考试结束本试卷连同答题纸须所有上交,供讲评和存档用,不交者按缺考计

3、所有答题成果均应写在答题纸上,写在试卷上无效

一、单项选择题(1〜10每题1分,11〜20每题2分,共30分)

在C语言中,顾客能使用时对日勺标识符是【1】c

A)学生B)intC)8stuD)Int

2.如下【2】是对的日勺C语言常量。

A)543210LB)05078C)-0x41D)12345

3.如下程序H勺运行成果是什么【3】o

main()

intx,a;

x=(a=3*5,a*4),a+5;

printf(ux=%d,a=%d\n,,,x,a);

)

A)x=20,a=15B)x=60,a=15C)x=20,a=25D)x=25,a=25

4.下面有关C语言变量H勺论述中,错误的描述是【4】。

A)变量名必须由字母或下划线开头

B)变量按所定义的类型寄存数据

0不一样基本类型日勺变量之间不能混合运算

D)变量的类型确定了变量的取值范围

5.判断char型变量cl与否小写字母的对H勺体现式为【5】。

A)'a'v=c1<=z'B)(c1>='a')&&(c1<=z')

C)(c1>=a)&&(c1<=z)D)Ca'v=c1)||('z'>=c1)

6.如下程序的运行成果是【6】o

main()

{intx=1,y=2,z;

z=x>y?++x:++y;

,

printf("%d,%d,%d\n',x,yJz);

)

A)1,2,2B)1,3,3C)2,3,3D)2,2,3

7、下列程序段日勺运行成果为

chara[]="continue",*p;

P=a;

while(*p!='i')

{printf(u%c",*p-32);p++;}

A)continueB)CONTINUEC)CONTD)contINUE

8、下列对一维数组a时对啊阐明语句为[81o

A)inta(10);B)intn=10,a[n];

C)intn;D)#defineSIZE10

scanf("%d",&n);inta[SIZE];

inta[n];

9、如下论述中不对的日勺是【9】o

A)在不一样的函数中可以使用相似名字日勺变量

B)程序中有调用关系的函数必须放在同一种源文献中

C)在一种函数内定义的变量,其变量名只在本函数范围内有效

D)函数中的形式参数是局部变量

10、如下程序段的运行成果是【10】。

main()

{charval[]="01234n,*p=val;

intsum=0;

while(*p)

{sum+=*p-'O';

P++;

)

printf("%d\n”,sum);

)

A)10B)11C)12D)13

11.如下程序口勺运行成果是[11]o

main()

{structst_type

{charname[10]:

floatscore[3];

);

unionu_type

{inti;

unsignedcharch;

structst_typestudent;

}t;

printf("%d\n",sizeof(t));

)

A)25B)12C)3D)22

12.下列程序的输出成果为【12】o

voidfun(int*x)

{staticinta=5;

*x=++a;

)

main()

{intt;

fun(&t);

fun(&t);

printf("%d\rT,t);

}A)8B)7C)10D)11

13.如下程序时输出成果是[13]o

floatfun(intn)

{staticfloatf=1.0;

f*=n;

returnf;

)

main()

{inti;

floats;

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

printf("%-8.2f\nH,s);

)

A)120.00B)24.00C)5.00D)720.00

14.如下程序通过编译连接后得到日勺可执行文献名为teacher,exe,在dos提醒符下

输入【14】,则在屏幕上将显示MynameisJianhui。

include<stdio.h>

main(intargc,char*argv[])

{inti;

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

printf(u%s%c,,,argv[i],(i<argc-1)?'

)

A)MynameisJianhuirB)teacherMynameisJianhui

C)teacherJianhuirisMynameD)JianhuirisMyname

15.如下程序的运行成果是【151o

#defineA3

#defineBA+5

#defineCB*B/A

main()

{printf(,,C=%d,",C);

printf("3*C=%d\nn,3*C);

A)08,3*024B)C=12,3*036C)019,3*025D)Oil,3*023

16.执行语句printf("%d\n”,strlen("abc\x41\n”));输出成果是[16]。

A)5B)7C)abcAD)abc\x41

17、下列程序的输出成果为【17】。

main()

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

int*pa=*a;

printf(M%d,%d\n;*(pa),pa[6]);

)

A)1,7B)5,6C)2,7D)2,6

18、若定义inti;则如下循环语句的循环执行次数是【18】。

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

n

printf("%dzi--);

A)无限次B)0次C)1次D)2次

19、若有下列定义:

intx[4][3]={1,2,3,4,5,6,7,8,9,10,11,12);

int(*p)[3]=x;

则可以对的表达数组元素a[1l⑵的体现式为【19】。

A)*(*(p+1)+2)B)*((*p+1)[2])

C)*(*(p+5))D)*((*p+1)+2)

20、如下程序运行成果是【20]。

inti;

main()

{inti=1,j=2;

fun(fun(i,&j),&j);

)

fun(inta,int*b)

{staticintm=2;

i+=m+a;

m=++(*b);

printf("%d,%d\n",i,m);

return(m);

)

A)3,3B)3,3C)3,3D)3,3

9,46,39,36,4

二、程序分析题(每题4分,共24分)

1、执行如下程序时,假如从键盘输入0,输出H勺成果是【1】

main()

{enumcolor{red,green,blue,white};

enumcolorfc;

printf("请输入色号

scanf("%d",&fc);

switch(fc)

casereckprintf("这是红旗H勺颜色!)break;

casegreenprintf("这是森林日勺颜色!)break;

caseblue:printf("这是大海的颜色!)break;

casewhite:printt("这是云彩的颜色l");break;

default:printf("其他日勺颜色!");

)

)

2.如下程序日勺运行成果是【2】o

#include<stdio.h>

main()

{char*s="0123214";

intv1=0,v2=0,v3=0;

while(*s)

{switch(*s)

{default:v3++;

case*r:vl4-4-;break;

case2:v2++;

)

s++;

)

printf("%d,%d,%d\n",v1,v2,v3);

}

3.如下程序日勺运行成果是【3】o

main()

{staticcharstr[]="P#tianX#ey#an";

voidfun();

fun(str);

printf("%s\n,',str);

)

voidfun(chars[])

{inta,b;

for(a=b=0;s[a]!='\0';a++)

if(s[a]!='#')s[b++]=s[a];

elses[b++]='u,;

s[b]='\O';

)

4.如下程序ff、J输出成果是。

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

main()

{inta=1,b=2,t;

t=10*FUN(a,b);

printf("%d\rT,t);

)

5.如下程序日勺输出成果是15】o

main()

{intbj();

printfC'%d\n",bj("abGxyz"J"abg"));

)

bj(char*s1,char*s2)

{while(*s1&&*s2&&s1!=s2)

{s1++,s2++;}

if(*s1-*s2)return1;

elsereturn0;

)

6.如下程序运行时,输出成果分别是【6】。

structstu

{intx;

int*y;

)*P;

intdt[4]={10,20,30.40};

structstua[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};

main()

{P=a;

printf("%d,",++p->x);

printf("%d,",(++p)->x);

printf(',%d\n,,,++(*p->y));

)

三、程序填空题(每空2分,共20分)

请对的填充下面日勺划线部分,使其完毕所规定的功能。

1、如下程序用于求下式的前n项之和S值。(n和x由键盘输入):

lx2x3x4x5x6x

•♦♦♦•・•••••••・・•♦♦♦

1!2!3!4!5!6!

#include<math.h>

main()

inti,n;

floats,s1;

printf("请输入n=");

scant("%d",∋

s=0,s1=1;

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

[11

[2]

printf("8um=%,0f\n",s);

)

2.如下程序通过简朴选择排序措施,由小到大输出各字符串。

#include<string.h>

main()

,,H,,

{char*name[]={"China",Japen",America",Korea"J"Canada","Germany"};

char*temp;

inti,j,k,n=6;

clrscr();

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

{k=i;

for(j=i+1;j<n;j++)

if(strcmp(name[k1,[4])>0)k=j;

if(k!=i)

{temp=name[i];

name[i]=;

name[k]=temp;

)

)

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

printf(n%s\n",name[i]);

)

3.invert()函数时功能是将一种字符串str的内容倒序寄存。

例如:字符串str原内容为:abode,函数调用后变为:edcba。

voidinvert(charstr[])

{int

i=【6】;

for(i=0;【7];i++,H

{k=str[i];

str[i]=str[j];

strfi1=[81

)

)

main()

{chartest[]="abcdeH;

invert(test);

printf("%s\nn,test);

)

4.下列程序日勺功能是显示如下形式口勺数字:

100000

210000

321000

432100

543210

654321

main()

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

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

{for(j=0;j<6;j++)

if(⑼)a[i][j]=O;

else【10】;

)

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

{for(j=0;j<6;j++)

',

printf("%3dJa[i][j]);

printf(,\n,);

)

)

四、编程题(第三题10分,其他8分,共26分)

编写日勺程序请写在另发日勺答题白纸上。答题白纸上必须写上考生姓名、班级和学号。

1.编写一种程序,求3〜100之间H勺所有非素数之和。

2.有15个数按从小到大次序寄存在一种数组中,当输入一种数值时,规定用折半查找法找

出该数是数组中第几种元素的值;假如该数不在数组中,则显示对应的提醒。

defineN15

main()

{inti,num,a[N];

printf("请按从小到大次序输入15个数(a[i]>a[i-1])\n”);

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

i=1;

while(i<N)

{scanf("%d\n",&a[i]);

if(a[i]>a[i-1])i++;

else

{printf(”请重新输入a[i『);

printf("必须不小于%d\n”,a[i-1]);

)

)

printf("lnputsearcheddata:");

scanf("%dH,&num);

search(a,num);

)

search(int*a,intnum)

(

/*请将此处编写口勺程序段写在答题白纸上.*/

)

3.有一种班4个学生,5门课。①求第一门课的平均分;②找出有2门以上课程不及格的学

生,输出他们日勺学号和所有课程成绩和平均成绩;③找出平均成绩在90分以上或所有课程

成绩在85分以上的学生。分别编三个函数实现以上规定。

附加题(每空2分,共10分)

已知head指向一种带头结点的单向链表,链表中每个结点包括一整型数据组员(data)和指

针组员(next)。写一种函数删除数据组员data值为numI内结点。请填空。

structnode

{intdata;

structnode*next;

);

structnode*del(【1】*head,intnum)

{structnode*p1,*p2;

if([2]){printf("\n这是个空表!\nv);gotoend;}

p1=head;

while(num!=p1->num&&p1->next!=NULL)

{p2=p1;P1=[31)

if(num==p1->num)

{if(p1==head)head=[4】;

elsep2->next=【5】;

printf("删除:%小11”,111101);

n=n-1;

)

elseprintf("%d结点未找到!\nM,num);

end:

return(head);

03级计算机科学与技术专业

高级语言程序设计期末考试卷(B)

答题纸

【注意】1.考试时间120分钟

2.考试结束本试卷连同答题纸须所有上交,供讲评和存档用,不交者按缺考计

3、所有答题成果均应写在答题纸上,写在试卷上无效

班级学号姓名成绩

一、单项选择题(1〜10每题1分,11〜20每题2分,共30分)

[1][2][3]【4】⑸

[6][7][K]19]110]

[11][12][13][14][15]

[16][17][18][19][20]

二、程序分析题(每题4分,共24分)

[11

[2]

[3]

[4]

[5]

[6]

三、程序填空题(每空2分,共20分)

[1][2]

[3][4]

【5][6]

[7][8]

[9][10]

四、编程题(第三题10分,其他8分,共26分)

请做在另发的白纸上【白纸上请写明姓名、班级和学号)

附加题(每空2分,共10分)

[1]【2】[3]【4】【5】

03级计算机科学与技术专业

高级语言程序设计期末考试卷(B)

原则答案

、单项选择题(1〜10每题1分,11〜20每题2分,共30分)

[1]D[2]A[3]B[4]C[5]B

[6]B[7]C【8】D[9]B[10]A

Ill]D[12]B[13]A[14]B[15]C

[16]A[17]C[18]B[19]A[20]A

二、程序分析题(每题4分,共24分)

[1]这是红旗日勺颜色

[2]5,2,3

[3]PutianXueyuan

14]1

[511

[6]51,60

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论