版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计试卷及答案第9页(共14页)C语言程序设计笔试试题题号一二三四五六笔试(70%)综合(30%)总分分数号学号学名姓1.笔试卷面总分100分,取卷面成绩的70%计入总分;2.综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3.答题时禁止拆开试卷钉,试卷背面即为草稿纸;4.答题时间120分钟。一、单项选择题。将正确答案填入下面框中。(本题16分,每小题1分)题号12345678答案题号910111213141516答案注意行为规范遵守考试纪律注意行为规范遵守考试纪律main(){inta=1,b=0;if(!a)b++;elseif(a==0)if(a)b+=2;elseb+=3;printf(“%d\n”,b);}则程序输出(A)。A)0 B)1 C)2 D)32.有以下定义:inta;longb;doublex,y;则下列正确的是(A)。A)a%(int)(x-y) B)a=x!=y C)(a*y)%b D)y=x+y=x3.若有定义int(*p)[3];则下列说法正确的是(C)。C语言程序设计试卷及答案全文共14页,当前为第1页。C语言程序设计试卷及答案全文共14页,当前为第1页。A)定义了基类型为int的三个指针变量 B)定义了一个名为*pt、具有三个元素的整型数值C)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D)定义了基类型为int的具有三个元素的整型数组 4.有以下程序段main(){ intx=10;while(x--); printf("x=%d\n",x);}则最后的输出结果是:(B)。A)x=0 B)x=-1 C)x=1 D)5.有以下程序:intfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1
;for(i=1
;i<=2
;i++)s=fun()
;printf(“%d\n
”,s)
;}执行后的输出结果为(D)。A)0 B)1 C)8 D)6.voidmain(){intk=011;printf("%d\n",k++);}}程序输出结果是(D)A)12 B)11 C)10 D)7.以下C语言标识符中,不合法的是(C)。A)_2 B)a_b C)a--b D)AaBc8.C语言允许函数类型默认定义,此时该函数值隐含的类型是(B)。A)float B)int C)long D)double9.以下程序段运行结果是(B)。C语言程序设计试卷及答案全文共14页,当前为第2页。 enumweekday{aa,bb=2,cc,dd,ee}week=ee;C语言程序设计试卷及答案全文共14页,当前为第2页。 printf(“%d\n“,week);A)4 B)5 C)ee D)10.以下对C语言函数的描述中,不正确的是(B)。A)不同函数中可以使用相同名字变量 B)函数可以嵌套定义 C)函数可以没有返回值 D)程序由函数组成11.若有定义语句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是(D)。A)*p B)*xC)*(p+1) D)x[5]12.以下程序段运行结果是(B)。 inta=6;printf(“%d\n“,a>>1);A)12 B)3 C)6 D)13.若有定义语句:doublex,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是(B)。A)scanf(“%lf%lf”,x,y); B)scanf(“%lf,%lf”,px,py);C)scanf(“%f%f”,&x,&y); D)scanf(“%f%f”,x,y);14.以下程序运行结果是(D)。 charstr[]=“abc“;printf(“%d,%d\n“,strlen(str),sizeof(str));A)6,3 B)3,3 C)10,10 D)15.以下程序段运行结果是(A)。 #definef(x)x*x*xmain(){inta=1,b,c;b=f(a+1);c=f((a+1));printf(“%d,%d\n“,b,c);}A)4,8 B)8,4 C)8,8 D)4,416.有以下程序: main(){FILE*f;f=fopen(“fa.txt“,“w“);fprintf(f,“day“);C语言程序设计试卷及答案全文共14页,当前为第3页。fclose(f);}C语言程序设计试卷及答案全文共14页,当前为第3页。若文本文件fa.txt中原有内容为:hello,则运行以上程序后,文件fa.txt中的内容为(A)。A)day B)helloday C)daylo D)dayhello二、填空题。请按序号把答案填入下面框中,不允许出框线。(本题20分,每空2分)题号答案题号答案1a[row][col]6k<=n2x%10或x%100%107k++323hE45a8m%i==0&&n%i==04fun()9p=p->next5m++10s[i]或’\01.以下fun函数功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回。intfun(inta[N][M]){inti,j,row=0,col=0;for(i=0;i<N;i++)for(j=0;j<M;j++)if(a[i][j]>a[row][col]){row=i;col=j;}return(【1】);}2.以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位,百位的顺序拆分输出。main(){intx=123;printf(“%d-%d-%d\n”,【2】,x/10%10,x/100);}3.下列程序运行时,若输入23he45a<回车>,输出结果是【3】#include<stdio.h>main(){chara=0;ch;C语言程序设计试卷及答案全文共14页,当前为第4页。while((ch=getchar())!=’\n’)C语言程序设计试卷及答案全文共14页,当前为第4页。{if(a%2!=0&&(ch>=’a’&&ch<=’z’))ch=ch-‘a’+’A’;a++;putchar(ch);}printf(“\n”);}4.以下程序的功能是,通过函数fun输入字符并统计输入字符个数。用字符$作为输入结束标志。#include<stdio.h>long【4】;/*函数声明语句*/main(){longn;n=fun(); printf(“n=%ld\n”,n);}longfun(){longm;for(m=0;getchar()!='$';【5】);returnm;}5.有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空,是下面程序段的功能与之完全相同s=1.0;k=1;while(【6】){s=s+1.0/(k*(k+1));【7】;}printf("s=%f\n\n",s);6.以下函数的功能是求两个整数的最大公约数。fun(intm,intn){ inti=1,t; for(;i<=m&&i<=n;i++) if(【8】)t=i; return(t);}7.以下程序将三个structnode型变量链接成一个链表,并在while循环中输出链表节点数据域中的数据。structnode{intdata;structnode*next;}main()C语言程序设计试卷及答案全文共14页,当前为第5页。{structnodea,b,c,*p,*q;C语言程序设计试卷及答案全文共14页,当前为第5页。a.data=10;b.data=20;c.data=30;p=&a;a.next=&b;b.next=&c;c.next=NULL;q=p;while(p){printf(“%d,”,p->data);【9】;}printf(“\n”);}8.以下程序的功能是:删除字符串中所有的空格。main(){chars[20]=”howareyou!”;inti,j;for(i=j=0;s[i]!=’\0’if(s[i]!=’’){s[j]=s[i];j++;}s[j]=【10】;}三、请把下列程序运行结果填入答案框中,不允许出框线,用“↙”表示回车。(本题24分,每小题3分)题号12345678答案1244364121555553041.main(){inti,j,a[][2]={1,2,3,4};for(i=0;i<2;i++)for(j=i;j<2;j++)printf(“%d”,a[i][j]);printf(“\n”);}2.main(){charch[]=”453cd34”inti,s=0;for(i=0;ch[i]>’0’&&ch[i]<’9s=10*s+ch[i]-’0’printf(“%d\n”,s);}3.longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}voidmain()C语言程序设计试卷及答案全文共14页,当前为第6页。{printf(“%d\n”,fib(4));}C语言程序设计试卷及答案全文共14页,当前为第6页。4.main(){ unionexample{struct{intx;inty;}in;inta;intb;}e;e.a=2;e.b=1;e.in.x=e.a+e.be.in.y=e.a*e.b;printf(“%d\n”,e.in.y);}5.structNODE{intk;structNODE*link;};voidmain(){structNODEm[3],*p=m,*q=m+2;inti=0;while(p!=q){p->k=++i;p++;q->k=i++;q--;} q->k=i;for(i=0;i<3;i++)printf(“%d”,m[i].k);printf(“\n”);}6.main(){intj,a[]={1,3,5,7,9},*p=a+3; for(j=3;j;j--) { switch(j) {case1: case2:printf("%d",*(p++)); case3:printf("%d",*(--p));C语言程序设计试卷及答案全文共14页,当前为第7页。 }}}C语言程序设计试卷及答案全文共14页,当前为第7页。7.main(){intx;for(x=1;x<=50;x++) if(x%2==0) if(x%3==0) if(x%5==0) printf("%d",x);}8.main(){ inta,b; for(a=1,b=1;a<=50;a++) { if(b>8)break; if(b%3==1){b+=3;continue;} b-=5; } printf("%d\n",a);}四、根据功能描述改正程序中的错误。不得增行或删行,不得更改程序结构。(本题10分)1.下列给定程序中,函数fun的功能是:实现两个整数的交换。例如给a和b分别输入60和65,输出为:a=65
b=60。(本小题6分)#include
<conio.h>#include
<stdio.h>void
fun
(int
a,b){int
t;
t=b;b=a;a=t;}main(){int
a,b;
printf("Enter
a,b:");scanf("%d%d",a,b);
fun(&a,&b);
printf("a=%d
b=%dn",a,b);}C语言程序设计试卷及答案全文共14页,当前为第8页。C语言程序设计试卷及答案全文共14页,当前为第8页。答案:scanf("%d%d",a,b);改为:scanf("%d%d",&a,&b);2分fun
(int
a,b)改为:fun
(int
*a,int*b)2分t=b;b=a;a=t;改为:t=*b
;*b=*a
;*a=t
;2分2.下述代码定义了一个结构体STRU,用其声明指针变量*s,并完成对这个指针变量的赋值、输出的任务。请指出下列程序的错误,并予以更正(本小题4分)structSTRU{intnum;charname[20];floatscore;structSTRU*p1; };main(){ STRU*s=(structSTRU*)malloc(sizeof(structSTRU)); s.num=123; s->name=”zhang”; s->score=61.5; printf(“num=%d,name=%s,score=%f”,s->num,s->name,s->score);}答案:s.num=123; 改为:s->num或(*s).sum2分s->name=”zhang”;改为:strcpy(s->name,”zhang”)2分五、请用标准程序流程图描述下列问题的算法(本题10分)依次从键盘输入30个学生的《计算机实用基础》成绩,请分别统计不及格的人数和优秀(成绩不小于90)的人数,并打印输出统计结果。答案:C语言程序设计试卷及答案全文共14页,当前为第9页。C语言程序设计试卷及答案全文共14页,当前为第9页。六、编程题(本题20分)(考查课做前两道,考试课做后两道)某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。(本小题10分)答案:main(){inta,i,aa[4],t;scanf("%d",&a);aa[0]=a%10;aa[1]=a%100/10;aa[2]=a%1000/100;aa[3]=a/1000;for(i=0;i<=3;i++) {aa[i]+=5; aa[i]%=10;C语言程序设计试卷及答案全文共14页,当前为第10页。 }C语言程序设计试卷及答案全文共14页,当前为第10页。for(i=0;i<=3/2;i++){t=aa[i]; aa[i]=aa[3-i]; aa[3-i]=t;}for(i=3;i>=0;i--)printf("%d",aa[i]);}2.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。(本小题10分)例如:若字符串中的内容为****A*BC*DEF*G*******删除后,字符串内容应该是:ABCDEFGvoidfun(char*a){}main(){ints[81];gets(s);fun(s);puts(s);}参考答案:fun(char*a){inti=0;char*p=a;while(*p!='\0'){if(*p!='*'){a[i]=*p;i++;}p++;}a[i]='\0';C语言程序设计试卷及答案全文共14页,当前为第11页。}C语言程序设计试卷及答案全文共14页,当前为第11页。3.60名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun(),它的功能是:找出学生的最低分,由函数值返回。(本小题10分)#include<stdio.h>#include<stdlib.h>#defineN60structslist{doubles;structslist*next;};typedefstructslistSTREC;dou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南宁职业技术学院单招综合素质考试备考题库含详细答案解析
- 2026年河南建筑职业技术学院高职单招职业适应性测试备考题库及答案详细解析
- 2026年浙江交通职业技术学院单招综合素质考试模拟试题含详细答案解析
- 2026年威海海洋职业学院单招职业技能考试模拟试题含详细答案解析
- 2026年湖南大众传媒职业技术学院单招综合素质考试备考试题含详细答案解析
- 2026年石家庄科技职业学院单招综合素质考试备考题库含详细答案解析
- 2026雄安宣武医院公开选聘工作人员262名备考考试试题及答案解析
- 2026年山西经贸职业学院单招职业技能考试模拟试题含详细答案解析
- 2026上半年贵州事业单位联考经贸职业技术学院招聘15人参考考试试题及答案解析
- 2026四川宜宾市中医医院第一次自主招聘工作人员3人考试重点题库及答案解析
- 幕墙工程售后质量保障服务方案
- 铝合金铸造项目可行性研究报告
- 2024年西藏自治区事业单位《职业能力倾向测验(D类)》考试真题及答案
- 2025汽车行业Data+AI数智化转型白皮书
- 市政工程项目管理及表格模板全集
- 2025年甘肃省兰州市综合评标专家库考试题库(三)
- 家居行业投资合作合同(2025修订版)
- 2025年高三语文10月考联考作文汇编(解析+立意+范文)
- 2025年人工智慧行业人工智能技术与智能操作系统研究报告
- 供应商管理绩效综合评价表
- 破产业务培训课件
评论
0/150
提交评论