您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 2012年湖南省对口高考C语言试题(含答案)
湖南省计算机应用类专业综合知识高考(2012)C语言试题含答案1/82012年湖南省对口高考计算机C语言试题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,本大题共3小题,每小题5分,共15分)2012年20.以下正确的C语言自定义标识符是A.intB.a.3C._7cD.5d_2012年21.已知i=3,执行j=i++后,i和j的值分别为A.i=4-2B.i=4j=3C.i=3j=3D.i=3j=22012年22.C语言中,以下语句能跳过循环体中未执行的语句,接着执行本循环下一次迭代的语句是A.空语句B.break语句C.return语句D.continue语句二、基本操作题(每空3分,共12分)2012年28.C语言中,文件操作fopen函数的原型为FILE*fopen(char*filename,char*mode),用于打开一个指定文件,若成功则返回一个与之关联的流,否则返回①NULL(或0);代码片段FILE*fp=fopen(C:\\test.dat,a)的含义是以②追加的方式打开路径C:\\test.dat对应的文件,当访问的文件是二进制文件时,还需要在字符串“a”后增加一个字符③b,以上代码片段对应的关闭文件的C语言代码是④fclose(fp);。三、综合应用题(每小题20分,每空5分,共20分)2012年31.30人参观博物馆共花50美元,其中成年男子门票为3美元/人,成年女子2美元/人,小孩1美元/人。编程输出成年男子、成年女子和小孩人数的所有组合。题目分析如下:设x,y,z分别代表成年男子、成年女子和小孩人数。按题目要求,可得下面方程:x+y+z=30(1)3x+2y+z=50(2)用程序求此不定方程的非负整数解,可先通过(2)-(1)式得:2x+y=20(3)由(3)式可知,x变化范围是①0-10根据以上分析编写程序如下:#includestdio.hmain(){intx,y,z;/*x,y,z分别代表成年男子、成年女子、小孩人数*/printf(MenWomenChlidren\n);for(x=0;②x=10;x++){湖南省计算机应用类专业综合知识高考(2012)C语言试题含答案2/8___③y=20-2*x___________;/*按照(3)式根据x求y*/___④_z=30-x-y_________;/*由(1)式求得z*/if(3*x+2*y+z==50)/*当前得到的一组解是否满足式(2)*/printf(%d%d%d\n,x,y,z);}}四、程序分析题(本大题共3小题,共75分)2012年33.阅读程序,写出运行结果(每空5分,共25分)(1)#includestdio.hmain(){inta=3,b=4;a%=b+=a+=(a+b);printf(%d,%d,a,b);}运行结果是____10,14__(2)#includestdio.hmain(){intx=2,y=7,z=5;switch(x2){case1:switch(y0){case1:printf(1);break;case2:printf(2);break;}case0:switch(z==5){case0:printf(3);break;case1:printf(4);break;default:printf(5);break;}default:printf(6);}}运行结果是__46____(3)#includestdio.hmain(){inta=8,y=0;do{a+=2:y+=a;if(y30)break;湖南省计算机应用类专业综合知识高考(2012)C语言试题含答案3/8}while(a=10);printf(a=%dy=%d\n,a,y);}运行结果是_a=12y=34_____(4)#includestdio.hfunc(inta,intb){returna=a+b,a%b;}main(){intx=9,y=7,z=3,rels;rels=func(func(x,y),z);printf(%d\n,lrels);}运行结果是_4_____(5)#includestdio.hmain(){charch[2][5]={1981,0921},*p[2];inti,j,s=0;for(i=0;i2;i++)p[i]=ch[i];for(i=0;i2;i++)for(j=1;j=3;j+=2)s=10*s+p[i][j]-'0';printf(%d,s);}运行结果是_9191_____2012年34.程序填空。按照题目要求,将正确内容填入答题卡相应位置,使程序完整(每空5分,共25分)(1)下面程序输出x,y,z三个数中的最大值。#includestdio.hmain(){intx=3,y=7,z=6;inta,b;a=xy?y:x①;b=az?z:a②;printf(%d,b);}(2)下面程序接受键盘上的输入,直到按回车键为止,然后将输入的字符串输出,输出时如果原输入字符是英文大写字母则转成小写字母输出,如果是小写湖南省计算机应用类专业综合知识高考(2012)C语言试题含答案4/8字母则转成大写字母输出,如果有连续的一个以上的空格时只输出一个空格。#includestdio.hmain(){charcx,pre='\0';while((cx=getchar())③!='\n'){if(cx!='')if(cx='a'&&cx='z')putchar(cx-32);elseif(cx'z'&&cx='A')if(cx=’A’&&cx=’Z’)putchar(cx+32)④___;elseputchar(cx);elseif(pre!='')putchar(cx);__⑤pre=cx_____;};}2012年35.阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误所在的行号,并给出该行修改后的程序代码。(每空5分,共25分)(1)以下程序用于输入两个学生的姓名和成绩,然后输出这两个学生的平均成绩,运行结果如图7所示。程序中存在3处错误。图7Ll#includestdio.hL2defineN2改为:#defineN2L3structStudentL4{L5charname[4];L6floatscore;L7};L8main()L9{inputscoresofstudent1name:Lilyscore:05inputscoresofstudent2name:Lucyscore:09avgscoreis:07.0湖南省计算机应用类专业综合知识高考(2012)C语言试题含答案5/8L10structStudentstu[N];L11inti=0;L12for(;iN;i++)L13{L14printf(inputscoresofstudent%d:\n,i+1);L15printf(name:);L16scanf(%s,stu[i].name);L17printf(score:);L18scanf(%f,stu[i].score);改为:scanf(%f,&stu[i].score);L19}L20floatrels=0;L21for(;iN;i++)改为:for(i=0;iN;i++)L22{L23rels+=stu[i].score;L24}L25printf(avgscoreis:%3.2f,rels/N);L26}(2)以下程序将数组中元素逆序输出,运行结果如图8所示。程序中存在2处错误。图8L1#includestdio.hL2main()L3{L4char*array[]={aa,bb,cc,dd};L5char(**pt)[];改为:char**pt;L6intj;L7pt=array+3;L8for(j=3;j=0;j--)L9printf(%s,*(pt)[j]);改为:printf(%s,*(pt--));L10}五、程序设计题(本大题25分,每空5分)2012年36.Merge函数用于将两个升序的链表head1和head2合并成一个链表,并保持合并后链表依然升序。排序的依据为结构体类型Node中的data成员,合并中不得删除节点。下面给出Merge函数的主体框架,在空出的五个位置补充该主体框架缺失的代码段。注意:不能定义新的变量,可不用已定义的某些变量。typedefstructNode{intdata;structNode*next;}Node;Node*Merge(Node*head1,Node*head2)ddccbbaa湖南省计算机应用类专业综合知识高考(2012)C语言试题含答案6/8{if(head1==NULL)returnhead2;if(head2==NULL)returnheadl;Node*head=NULL;//head指针用于指向合并后链表的头结点Node*pl=NULL;Node*p2=NULL;if(headl-datahead2-data){head=headl;_p1=head1-next;___①______p2=head2;}else{head=head2;_p2=head2-next;_____②____pl=headl;}}Node*pcurrent=head;while(p1!=NULL&&p2!=NULL){if(pl-data=p2-data){pcurrent-next=p1;___pcurrent=p1;___③______p1=pl-next;}else{pcurrent-next=p2;____pcurrent=p2;__④______p2=p2-next;}}if(pl!=NULL)__pcurrent-next=p1;____⑤______if(p2!=NULL)pcurrent-next=p2;returnhead;}湖南省计算机应用类专业综合知识高考(2012)C语言试题含答案7/82012年湖南省对口高考计算机C语言试题答卷含答案一、单选题(每小题5分,共15分)123CBD二、基本操作题(每空3分,共12分)1NULL(或0)2追加3b4fclose(fp);三、综合应用题(每小题20分,每空5分,共20分)10-102x=103y=20-2*x4z=30-x-y四、程序分析题(本大题共3小题,共75分)33.阅读程序,写出运行结果(每空5分,共25分)(1)运行结果是____10,14__(2)运行结果是____46__(3)运行结果是____a=12y=34___(4)运行结果是____4__(5)运行结果是____9191___34.程序填空。按照题目要求,将正确内容填入答题卡相应位置,使程序完整(每空5分,共25分)(1)①y:x(2)②z:a(3)③(cx=getchar())(4)④putchar(cx+32)(5)⑤pre=cx_35.阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误所在的行号,并给出该行修改后的程序代码。(每空5分,共25分)(1)L2defineN2改为:#defineN2L18scanf(%f,stu[i].score);改为:scanf(%f,&stu[i].score);L21for(;iN;i++)改为:for(i=0;iN;i++)(2)L5char(**pt)[];改为:char**pt;L9printf(%s,*(pt)[j]);改为:printf(%s,*(pt--));湖南省计算机应用类专业综合知识高考(2012)C语言试题含答案8/8五、程序设计题(本大题25分,每空5分)36.①p1=head1-next;②p2=head2-next;③pcurrent=p1;④pcurrent=p2;⑤pcurrent-next=p1;
本文标题:2012年湖南省对口高考C语言试题(含答案)
链接地址:https://www.777doc.com/doc-6281251 .html