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

下载本文档

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

文档简介

03级计算机科学与技术专业专业(本科)《高级语言程序设计》课程期末试卷(B)班级姓名学号题号一二三四附加题总分得分【注意】1、考试时间120分钟2、考试结束本试卷连同答题纸须所有上交,供讲评和存档用,不交者按缺考计3、所有答题结果均应写在答题纸上,写在试卷上无效一、单项选择题(1~10每题1分,11~20每题2分,共30分)在C语言中,用户能使用的对的标记符是【1】。A)学生B)intC)8stuD)Int2、以下【2】是对的的C语言常量。A)543210LB)05078C)-0x41D)123453、以下程序的运营结果是什么【3】。main(){intx,a;x=(a=3*5,a*4),a+5;printf(“x=%d,a=%d\n”,x,a);}A)x=20,a=15B)x=60,a=15C)x=20,a=25D)x=25,a=254、下面关于C语言变量的叙述中,错误的描述是【4】。A)变量名必须由字母或下划线开头B)变量按所定义的类型存放数据C)不同基本类型的变量之间不能混合运算D)变量的类型拟定了变量的取值范围5、判断char型变量c1是否小写字母的对的表达式为【5】。 A)'a'<=c1<='z' B)(c1>='a')&&(c1<='z')ﻩC)(c1>=a)&&(c1<=z) D)('a'<=c1)||('z'>=c1)6、以下程序的运营结果是【6】。main(){intx=1,y=2,z;z=x>y?++x:++y;printf("%d,%d,%d\n",x,y,z);}A)1,2,2B)1,3,3C)2,3,3D)2,2,37、下列程序段的运营结果为【7】。chara[]="continue",*p;p=a;while(*p!='i'){printf("%c",*p-32);p++;}A)continueﻩB)CONTINUE C)CONTﻩD)contINUE8、下列对一维数组a的对的说明语句为【8】。ﻩA)inta(10);ﻩﻩB)intn=10,a[n]; C)intn; D)#defineSIZE10 scanf("%d",&n); inta[SIZE]; inta[n];9、以下叙述中不对的的是【9】。A)在不同的函数中可以使用相同名字的变量B)程序中有调用关系的函数必须放在同一个源文献中C)在一个函数内定义的变量,其变量名只在本函数范围内有效D)函数中的形式参数是局部变量10、以下程序段的运营结果是【10】。main(){charval[]="01234",*p=val;intsum=0;while(*p){sum+=*p-'0';p++;}printf("%d\n",sum);}A)10 B)11ﻩC)12ﻩD)1311、以下程序的运营结果是【11】。main(){structst_type{charname[10];floatscore[3];};unionu_type{inti;unsignedcharch;structst_typestudent;}t;printf("%d\n",sizeof(t));}A)25B)12C)3D)2212、下列程序的输出结果为【12】。voidfun(int*x){staticinta=5;*x=++a;}main(){intt;fun(&t);fun(&t);printf("%d\n",t);}A)8ﻩB)7 C)10 D)1113、以下程序的输出结果是【13】。floatfun(intn){staticfloatf=1.0;f*=n;returnf;}main(){inti;floats;for(i=1;i<=5;i++)s=fun(i);printf("%-8.2f\n",s);}A)120.00B)24.00C)5.00D)720.0014、以下程序通过编译连接后得到的可执行文献名为teacher.exe,在dos提醒符下输入【14】,则在屏幕上将显示MynameisJianhui。#include<stdio.h>main(intargc,char*argv[]){inti;for(i=1;i<argc;i++)printf("%s%c",argv[i],(i<argc-1)?'':'\n');}A)MynameisJianhuirB)teacherMynameisJianhuiC)teacherJianhuirisMynameD)JianhuirisMyname15、以下程序的运营结果是【15】。#defineA3#defineBA+5#defineCB*B/Amain(){printf("C=%d,",C);printf("3*C=%d\n",3*C);}A)C=8,3*C=24B)C=12,3*C=36C)C=19,3*C=25D)C=11,3*C=2316、执行语句printf(“%d\n”,strlen(“abc\x41\n”));输出结果是【16】。A)5B)7C)abcAD)abc\x4117、下列程序的输出结果为【17】。main(){inta[3][4]={1,2,3,4,5,6,7};int*pa=*a;printf(“%d,%d\n”,*(pa),pa[6]);} A)1,7B)5,6C)2,7D)2,618、若定义inti;则以下循环语句的循环执行次数是【18】。for(i=2;i==0;)printf("%d",i--);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[1][2]的表达式为【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,3 B)3,3 C)3,3 D)3,3 9,4ﻩ6,3 9,3 6,4二、程序分析题(每题4分,共24分)1、执行以下程序时,假如从键盘输入0,输出的结果是【1】。main(){enumcolor{red,green,blue,white};enumcolorfc;printf("请输入色号:");scanf("%d",&fc);switch(fc){casered:printf("这是红旗的颜色!");break;casegreen:printf("这是森林的颜色!");break;caseblue:printf("这是大海的颜色!");break;casewhite:printf("这是云彩的颜色!");break;default:printf("其他的颜色!");}}2、以下程序的运营结果是【2】。#include<stdio.h>main(){char*s="0123214";intv1=0,v2=0,v3=0;while(*s){switch(*s){default:v3++;case'1':v1++;break;case'2':v2++;}s++;}printf("%d,%d,%d\n",v1,v2,v3);}3、以下程序的运营结果是【3】。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]='\0';}4、以下程序的输出结果是。#defineFUN(x,y)(x)>(y)?(x):(y)main(){inta=1,b=2,t;t=10*FUN(a,b);printf("%d\n",t);}5、以下程序的输出结果是【5】。main(){intbj();printf("%d\n",bj("abGxyz","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由键盘输入):1x2x3x4x5x6xS=──-──+──-──+──-──+...1!2!3!4!5!6!#include<math.h>main(){inti,n;floats,s1;printf("请输入n=");scanf("%d",&n);s=0,s1=1;for(i=1;i<=n;i++){【1】;【2】;}printf("Sum=%.0f\n",s);}2、以下程序通过简朴选择排序方法,由小到大输出各字符串。#include<string.h>main(){char*name[]={"China","Japen","America","Korea","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[k],【4】)>0)k=j;if(k!=i){temp=name[i];name[i]=;name[k]=temp;}}for(i=0;i<n;i++)printf("%s\n",name[i]);}3、invert()函数的功能是将一个字符串str的内容倒序存放。例如:字符串str原内容为:abcde,函数调用后变为:edcba。voidinvert(charstr[]){inti,j,k;j=【6】;for(i=0;【7】;i++,j--){k=str[i];str[i]=str[j];str[j]=【8】;}}main(){chartest[]="abcde";invert(test);printf("%s\n",test);}4、下列程序的功能是显示如下形式的数字:100000210000321000432100543210654321main(){inta[6][6],i,j;for(i=0;i<6;i++){for(j=0;j<6;j++)if(【9】)a[i][j]=0;else【10】;}for(i=0;i<6;i++){for(j=0;j<6;j++)printf("%3d",a[i][j]);printf('\n');}}四、编程题(第三题10分,其余8分,共26分)编写的程序请写在另发的答题白纸上。答题白纸上必须写上考生姓名、班级和学号。1、编写一个程序,求3~100之间的所有非素数之和。2、有15个数按从小到大顺序存放在一个数组中,当输入一个数值时,规定用折半查找法找出该数是数组中第几个元素的值;假如该数不在数组中,则显示相应的提醒。defineN15main(){inti,num,a[N];printf("请按从小到大顺序输入15个数(a[i]>a[i-1])\n");scanf("%d",&a[0]);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("Inputsearcheddata:");scanf("%d",&num);search(a,num);}search(int*a,intnum){/*请将此处编写的程序段写在答题白纸上*/}3、有一个班4个学生,5门课。①求第一门课的平均分;②找出有2门以上课程不及格的学生,输出他们的学号和所有课程成绩和平均成绩;③找出平均成绩在90分以上或所有课程成绩在85分以上的学生。分别编三个函数实现以上规定。附加题(每空2分,共10分)已知head指向一个带头结点的单向链表,链表中每个结点包含一整型数据成员(data)和指针成员(next)。写一个函数删除数据成员data值为num的结点。请填空。structnode{intdata;structnode*next;};structnode*del(【1】*head,intnum){structnode*p1,*p2;if(【2】){printf(“\n这是个空表!\n”);gotoend;}p1=head;while(num!=p1->num&&p1->next!=NULL){p2=p1;p1=【3】}if(num==p1->num){if(p1==head)head=【4】;elsep2->next=【5】;printf(“删除:%d\n”,num);n=n-1;}elseprintf(“%d结点未找到!\n”,num);end:return(head);}ﻬ03级计算机科学与技术专业高级语言程序设计期末考试卷(B)答题纸【注意】1、考试时间120分钟2、考试结束本试卷连同答题纸须所有上交,供讲评和存档用,不交者按缺考计3、所有答题结果均应写在答题纸上,写在试卷上无效班级学号姓名成绩一、单项选择题(1~10每题1分,11~20每题2分,共30分)【1】【2】【3】【4】【5】【6】【7】【8】【9】【10】【11】【12】【13】【14】【15】【16】【17】【18】【19】【20】二、程序分析题(每题4分,共24分)【1】【2】【3】【4】【5】【6】三、程序填空题(每空2分,共20分)【2】【3】【4】【5】【6】【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【11】D【12】B【13】A【14】B【15】C【16】A【17】C【18】B【19】A【20】A二、程序分析题(每题4

温馨提示

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

评论

0/150

提交评论