2012年湖南省对口高考C语言试题(含答案)8页

上传人:文库****9 文档编号:180017331 上传时间:2021-04-15 格式:DOCX 页数:9 大小:27.43KB
返回 下载 相关 举报
2012年湖南省对口高考C语言试题(含答案)8页_第1页
第1页 / 共9页
2012年湖南省对口高考C语言试题(含答案)8页_第2页
第2页 / 共9页
2012年湖南省对口高考C语言试题(含答案)8页_第3页
第3页 / 共9页
2012年湖南省对口高考C语言试题(含答案)8页_第4页
第4页 / 共9页
2012年湖南省对口高考C语言试题(含答案)8页_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《2012年湖南省对口高考C语言试题(含答案)8页》由会员分享,可在线阅读,更多相关《2012年湖南省对口高考C语言试题(含答案)8页(9页珍藏版)》请在金锄头文库上搜索。

1、2012年湖南省对口高考计算机C语言试题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,本大题共3小题,每小题5分,共15分)2012年20以下正确的C语言自定义标识符是 Aint Ba.3 C_7c D5d_2012年21已知i=3,执行j=i+后,i和j的值分别为 Ai=4 -2 Bi=4 j=3 Ci=3 j=3Di=3 j=22012年 22C语言中,以下语句能跳过循环体中未执行的语句,接着执行本循环下一次迭代的语 句是 A空语句 Bbreak语句 Creturn语句Dcontinue语句二、基本操作题(每空3分,共12分)2012年28C语言中,文件操作fopen函数

2、的原型为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年3130人参观博物馆共花50美元,其中成年男子门票为3美元/人,成年女子2美元/人,小孩1美元/人。编

3、程输出成年男子、成年女子和小孩人数的所有组合。题目分析如下:设x,y,z分别代表成年男子、成年女子和小孩人数。按题目要求,可得下面方程:x+y+z=30(1)3x+2y+z=50(2)用程序求此不定方程的非负整数解,可先通过(2)-(1)式得:2x+y=20 (3)由(3)式可知,x变化范围是0-10 根据以上分析编写程序如下:#includemain()int x,y,z; /*x,y,z分别代表成年男子、成年女子、小孩人数*/printf(Men Women Chlidrenn);for(x=0; x=10 ;x+) _y=20-2*x_; /*按照(3)式根据x求y*/_z=30-x-y

4、_ _; /*由(1)式求得z*/if(3*x+2*y+z=50) *当前得到的一组解是否满足式(2)*/printf(d d dn,x,y,z); 四、程序分析题(本大题共3小题,共75分)2012年33阅读程序,写出运行结果(每空5分,共25分) (1) #include main() int a=3,b=4; a=b+=a+=(a+b); printf(d,d,a,b); 运行结果是_10,14_(2) #include main() int x=2,y=7,z=5;switch(x2) case 1:switch(y0) case 1:printf(1);break; case 2:p

5、rintf(2);break; case 0:switch(z=5) case 0:printf(3);break; case 1:printf(4);break; default:printf(5);break; default:printf(6); 运行结果是_46_(3) #include main() int a=8,y=0; do a+=2: y+=a; if(y30) break; while(a=10); printf(a=d y=dn,a,y); 运行结果是_a=12 y=34_(4) #include func(int a,int b) return a=a+b,ab; ma

6、in() int x=9,y=7,z=3,rels; rels=func(func(x,y),z); printf(dn,lrels); 运行结果是_ 4_ (5) #include main() char ch25=1981,0921,*p2; int i,j,s=0; for(i=0;i2;i+) pi=chi; for(i=0;i2;i+) for(j=1;j=3;j+=2) s=10*s+pij-0; printf(d,s); 运行结果是_ 9191_2012年34程序填空。按照题目要求,将正确内容填入答题卡相应位置,使程序完整(每空5分, 共25分) (1)下面程序输出x,y,z三个

7、数中的最大值。 #include main() int x=3,y=7,z=6; int a,b; a=xy? y:x ; b=az? z:a ; printf(d,b); (2)下面程序接受键盘上的输入,直到按回车键为止,然后将输入的字符串输出,输出时如果原输入字符是英文大写字母则转成小写字母输出,如果是小写字母则转成大写字母输出,如果有连续的一个以上的空格时只输出一个空格。 #include main() char cx,pre=0; while( (cx=getchar() !=n) if(cx!= ) if(cx=a&cx=z) putchar(cx-32); else if(cx=A

8、) if(cx=A&cx=Z) putchar(cx+32) _; else putchar(cx); else if(pre!= ) putchar(cx); _pre=cx_; ; 2012年35阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题 卡中指出错误所在的行号,并给出该行修改后的程序代码。(每空5分,共25分) (1)以下程序用于输入两个学生的姓名和成绩,然后输出这两个学生的平均成绩,运行结果如图7所示。程序中存在3处错误。input scores of student1name:Lilyscore:05input scores of student2nam

9、e:Lucyscore:09avg score is : 07.0图 7 Ll #include L2 define N2 改为:#define N 2 L3 struct Student L4 L5 char name4; L6 float score; L7 ; L8 main() L9 L10 struct Student stuN; L11 int i=0; L12 for(;iN;i+) L13 L14 printf(input scores of student%d:n,i+1); L15 printf(name:); L16scanf(s,stui.name); L17 prin

10、tf(score:); L18scanf(f,stui.score); 改为:scanf(f,&stui.score); L19 L20float rels=0; L21for(;iN;i+) 改为: for(i=0;iN;i+) L22 L23rels+=stui.score; L24 L25printf(avg score is:3.2f,relsN); L26 (2)以下程序将数组中元素逆序输出,运行结果如图8所示。程序中存在2处错误。dd cc bb aa图8 L1#include L2main() L3 L4char *array=aa,bb,cc,dd; L5char (*pt)

11、; 改为:char *pt; L6int j; L7pt=array+3; L8for(j=3;j=0;j-) L9printf(s ,*(pt)j);改为:printf(s ,*(pt-); L10 五、程序设计题(本大题25分,每空5分)2012年36Merge函数用于将两个升序的链表head1和head2合并成一个链表,并保持合并后链表依然升序。排序的依据为结构体类型Node中的data成员,合并中不得删除节点。下面给出Merge函数的主体框架,在空出的五个位置补充该主体框架缺失的代码段。注意:不能定义新的变量,可不用已定义的某些变量。 typedef struct Node int data; struct Node *next; Node; Node *Merge(Node *head1,Node *head2) if ( head1=NULL) return head2; if(head2=NULL) return headl; Node *head=NULL;/head指针用于指向合并后链表的头结点 Node *pl=NULL; Node *p2=NULL; if(headl-datadata)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号