您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 2015年湖南省对口升学第二次模拟考试C语言试卷
12015年平江县职业技术学校高考C语言模拟测试第五套姓名:__________总分:____________一、单选题(每题5分,共10分)21、若有如图1所示存储结构,且变量定义为structnode{intdata;structnode*next;}p,q,r;若要实现图2所示的存储结构,可选的赋值语句是()pqrpqr图1图2A.p=r;B.p=q->next;C.p->next=q;D.p->next=q->next;22、语句while(!E);括号中的表达式!E等价于()A.E==0B.E!=1C.E!=0D.E==1二、基本操作题(每空3分,共12分)28.输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。mian(){intm,n,k,i=0;for(m=100;m<=1000;m++){__①__;n=m;do{k=k+__②__;n=n∕10;}__③__;if(k%15==0){printf(“%5d”,m);i++;if(i%10==0)__④__;}}}三、综合应用题(每空5分共20分)31.题目:以下程序的功能是统计从键盘输入字符串,统计输入字符串中的字母、数字、空格和其他字符的个数。(每空5分)main(){chars1[80];inta[4]={0};intk;_______①_______;gets(s1);________②______;puts(s1);for(k=0;k4;k++)printf(%4d,a[k]);}voidfun(chars[],intb[]){inti;for(i=0;s[i]!='\0';i++)2if(s[i]='a'&&s[i]='z'||s[i]='A'&&s[i]='Z')b[0]++;elseif(_____③_____)b[1]++;elseif(_____④_____)b[2]++;elseb[3]++;}四、程序分析题(本大题共3小题,共25分)(1)以下程序的输出结果是__main(){inta,b;for(a=1,b=1;a10;a++)if(a%3==1){b+=3;continue;}printf(%d,b);getch();}(2)以下程序的输出结果是__intf(){staticinti=0;ints=1;s+=i;i++;returns;}voidmian(){inti,a=0;for(i=0;i5;i++)a+=f();printf(“%d\n”,a);}(4)以下程序运行后的输出结果是___structNODE{intk;structNODE*link;};mian(){structNODEm[5],*p=m,*q=m+4;inti=0;while(p!=q){p-k=++i;p++;q-k=++i;q――;}q-k=i;for(i=0;i5;i++)printf(“%d”,m[i].k);printf(“\n”);}34、程序填空。按照题目要求,将正确内容填入相应位置,使程序完整。(每空5分,共25分)(1)验证哥德巴勒猜想:任何一个大于6的偶数均可表示为两个素数之和。要求将6–100之间的偶数都表示为两个素数之和。素数只能被1和自身整除的正整数,1不是素数,2是素数。请填空。intprime(intn){intk;for(k=2;k=n/2;k++)(5)以下程序的输出结果是______swap(int*p1,int*p2){int*temp;temp=p1;p1=p2;p2=temp;}main(){intx=20,y=15;if(xy)swap(&x,&y);printf(%d,x);}(3)阅读下列程序,写出程序运行的结果。__main(){inta[8]={1,0,1,0,1,0,1,0},i;for(i=2;i8;i++)a[i]+=a[i-1]+a[i-2];printf(%d,a[i-1]);printf(\n);getch();}3if(n%k==0)return0;return____①_____;}main(){intj,k;for(j=6;j=100;j+=2)for(k=2;k=j/2;k++)if(____②_____){printf(%2d=%2d+%2d\t,j,k,j-k);break;}getch();}(2)有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组。main(){inta[11]={1,4,6,9,13,16,19,28,40,100};inttemp1,temp2,number,end,i,j;printf(arraya:\n);for(i=0;i10;i++)printf(%5d,a[i]);printf(\n);printf(insertdata:);scanf(%d,&number);end=a[9];if(numberend)____③______;elsefor(i=0;i10;i++){if(a[i]number){____④_____;a[i]=number;for(j=i+1;j=10;j++){temp2=a[j];a[j]=temp1;______⑤______;}break;}}for(i=0;i11;i++)printf(%5d,a[i]);getch();}35、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误所在的行号,并给出该行修改后的程序代码。(每处5分,共25分)1、给定程序MODI1.C中函数fun的功能是:将既在字符串s中出现又在字符串t中出现的字符构成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符。例如:当s=“ABBCDE”,t=“BDFC”时,u中的字符串为:“BBD”。请改正程序中的2个错误,使他能得出正确结果。Modil.cL1voidfun(char*s,char*t,char*u)L2{inti,j,s1,t1;L3s1=strlen(s);t1=strlen(t);L4for(i=0;is1;i++)L5{for(j=0;jt1;j++)4L6if(s[i]==t[j])break;L7if(j=t1)L8*u++=s[i];}L9*u='0';L10}L11main()L12{chars[100],t[100],u[100];L13printf(\nPleaseenterstrings:);scanf(%s,s);L14printf(\nPleaseenterstringt:);scanf(%s,t);L15fun(s,t,u);L16printf(Theresultis:%s,u);}2、函数fun的功能是:根据整型形参m的值,计算如下公式的值。t=1-1/2×2-1/3×3-…-1/m×m例如,若m=5,则应输出:0.536389请改正程序中的3处错误,使它得出正确的结果。L1doublefun(intm)L2{doubley=1.0;L3inti;L4for(i=2;im;i--)L5y-=1/(i*i);L6returnm;L7}L8mian()L9{intn=5;L10printf(“\ntheresultis%lf\n”,fun(n));}五、程序设计题(本大题25分,每空5分)36.【问题描述】以下程序不断地从键盘输入字符,直到输入EOF为止。对于输入的小写字符,先转换为相应的大写字符,其他字符不变,然后逐个输出到文件text.txt中,行结束符回车(’\n’)也作为一个字符对待,最后统计文件中的字符个数和行数。mian(){FILE*fp;charc,str[256];inti=0,no=0,line=0;if((fp=fopen(“text.txt”,”____①_____”))==NULL){printf(“can’topenthistfile.\n”);exit(0);}printf(“pleaseinputastring.\n”);while((____②____)!=EOF){if(c=’a’&&c=’z’)_____③____;fputc(c,fp);}fclose(fp);if((fp=fopen(“text.txt”,”r”))==NULL){printf(“can’topenthistfile.\n”);exit(0);}while(!_____④_____){c=fgetc(fp);no++;if(_______⑤_______)line++;}printf(“line=%dcharacter_no=%d\n”,line,no);fclose(fp);}
本文标题:2015年湖南省对口升学第二次模拟考试C语言试卷
链接地址:https://www.777doc.com/doc-1670883 .html