C程序设计等级考试复习1-6模拟题参考答案范文讲课稿_第1页
C程序设计等级考试复习1-6模拟题参考答案范文讲课稿_第2页
C程序设计等级考试复习1-6模拟题参考答案范文讲课稿_第3页
C程序设计等级考试复习1-6模拟题参考答案范文讲课稿_第4页
C程序设计等级考试复习1-6模拟题参考答案范文讲课稿_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、模拟测试(一)一、填空题(20)1、x+y>=10&&x+y<=30、sqrt(b*b-4*a*c)/(2*sin(334159/4)Sqrt(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1)2、13、10,144、24245、按行的顺序6、117、68、109、110、-1,65535二、单项选择题(20)(把正确答案填入下表各对应的题号下)12345678910ADCACB|dD|CA三、程序填空(15)n+21、fabs(t)<=1.0E-62、 j<9ai>ai+1i+ai3、 int *nk&g

2、t;=0 && x<vkvk+1四、阅读程序并写出程序的输出结果(20)1、Max=12, row=2, colum=13、Max of array A=643,2,5, 3,3,5 4,2,6, 3,4,67五、5、程序设计(25分)1、用二重循环建立以下数组,并打印出来(不用scanf()函数和静态数组)main()int a55,i,j;/* for(i=0;i<5;i+)/*定义数组和变量*/用二重循环产生二维数组*/-1-10-1-1-1-1-1-1-1-12、编一程序打印输出如下图案ABBBCCCCCDDDDDDDEEEEEEEEEfor(j=0;j&l

3、t;5;j+)if (i<j) aij=1;else if(j>j) a皿=-1;else aij=0;for(i=0;i<5;i+) /*for(j=0;j<5;j+)printf("%d ",aij);printf("n");/*打印输出*/输出一行后换行*/main() int i,j;char ch= ' A ',space= ' '/* for(i=1;i<6;i+) /*i for(j=1;j<40-i;j+) /* printf("%c",space);

4、for(j=0;k<2*i-1;k+) /* printf("%c",ch);打印2*i-1个字符,即第一行打印1个.*/ch+; /*printf("n");/*3、编一个函数void输出一行后,让ch增加1,即变为相邻的下一字符 输出一行后,换行*/*/fun( char *ss),它的功能是:把 ss字符串中的字符按逆序存放。例如:若输定义字符变量ch,space*/循环控制打印行数,共5*/输出39-i个空格,即将第一行打印在第40列上.*/#include "string.h" void fun( char *ss)

5、int i,j,k; char ch;k=strlen(ss); /* for(i=0;i<k/2;i+) /* j=k-i-1;入字符串为ABCDEFG,则逆置后的字符串为GFEDCBA。在主函数main调用该函数实现输入任意字符串,按逆置打印输出。求出字符串的长度*/将字符串倒置,即第O个与第k-1个交换,.*/ch=*(ss+i);*(ss+i)=*(ss+j);*(ss+j)=ch;main()charstr80;/*定义一字符数组,存放字符串数据*/输入字符串*/调用函数,倒置字符串*/printf("Enterthestringn");scanf(&quo

6、t;%s",str);/*fun(str);/*printf("%s",str);模拟试题二一、填空题(10)1、322、交换x和V变量的值3、11134、55、9.56、2、单项选择题(20)(把正确答案填入下表各对应的题号下)12345678910ADCDADDDA三、写出程序的输出结果(20)1、62、8113、100104、8,175、CDG四、根据各编程题意填空(25)1、"bi.dat"、&j、fp2、inta口、ak!=a0、k3、printf("Enterthe10numbern")、&ai、

7、k=i、ai五、编程题(20)1 .请编一个函数intfun(intpm),它的功能是:判断pm是否是素数。若pm是素数,返回1;若不是素数,返回0。pm的值由主函数从键盘读入。intfun(intpm)inti;for(i=2;i<=pm/2;i+)if(pm%2=0)return0;return1;main()intx,k;scanf("%d",&x);k=fun(x);if(k)printf("%d是素数n",x);elseprintf("%d不是素数n",x);2 .请编写函数voidfun(int*a,int*

8、n,inty),它的功能是:把y值插入到a数组中,a数组中的数由主函数按由小到大的次序从键盘读入,y的值也从键盘读入。插入后,数组中的数仍然有序。voidfun(int*a,int*n,inty)intk,i;k=*n;for(i=0;i<*n;i+)if(y<ai)k=i;break;if(k<*n)for(i=*n;i>k;i-)ai=ai-1;ak=y;(*n)+;main()inta=intn=1,y,i;scanf("%d",&y);fun(a,&n,y);for(i=0;i<n;i+)printf("%d&

9、quot;,ai);模拟试题三一、填空题(10)1、是指向含有n个兀素的一维数组的指针变量的指针变量2、13、.1234、45、9006、存储单元7、28、89、非010、y<=x&&y>=z二、单项选择题(20)(把正确答案填入下表各对应的题号下)12345678910CDCCADDABD三、写出程序的输出结果(20)1、i=6j=7202、Theoutputof5.3is:3、Theoutputof5.521->10101123->7B四、根据各编程题意填空(25)1、t=-t*x*x/(n*(n+1)、n+=2、epsil<=02、 i=j、

10、i-、j+3、"r"、"w"、!feof(fp1)五、编程题(20)1 .编一个C函数是将字符数组中的小写字母转换成大写字母,或者将字符数组中的大写字母转换成小写字母。voidstruplw(char*pc)while(*pc!='0')if(*pc>='A'&&*pc<='Z')*pc+=32;elseif(*pc>='a'&&*pc<='z')*pc-=32;pc+;2 .请编一个函数intfun(floats口,i

11、ntn),它的功能是:求高于平均分的人数,并作为函数值返回。数组s中存放n位学生的成名数组s的值由主函数从键盘读入,用-1来结束输入。intfun(floats口,intn)inti,k=0;floataver,y=0;for(i=0;i<n;i+)y=y+si;aver=y/n;for(i=0;i<n;i+)if(si>y)k+;returnk;main()floats100,x,m,n=0;scanf("%f",&x)while(x!=-1&&n<100)sn=x;n+;scanf("%f",&

12、x);m=fun(s,n);printf("m=%d",m);模拟测试(四)、单项选择题(14)(把正确答案填入下表各对应的题号下)二、填空题(14)10111213141、690.5*a*b3、5、fabs(a+b)*fabs(a-b) 4m%n=0 或!(m%n)6a>b && a>c7、-17m=1F9、5*3=151011、1213、fopen("a.dat","rw") 14int a5,*p=a4地址传递三、写出程序的输出结果(20)1、1 0 2 2 5 7 13 20bcdefgacdefg

13、abdefgabc四、根据各编程题意填空(22)1、 int s1=0,s2=0;ch=getchar()、| ch> 'A' && ch<'Z'2、printf("%d,%d",s1,s2)int ,int n, char *chprintf("%c",chi)、printf("")、 printf("n")3、 head!=NULL、p=p.next、no=p.num五、编程题(30)1 .输入20个整数,输出其中能被组中其它元素整除的那些数组元素。m

14、ain()inta20,i,j,k;printf("Enterthenumber=n");for(i=0;i<20;i+)scanf("%d”,&ai);for(i=0;i<20;i+)k=1;/*用k判断ai是否被其它元素整除,首先设为1,即表示能被其它元素整除*/for(j=0;j<20;j+)/*判断ai是否被其它元素整除*/if(i!=j)/*此条件可以不要;即此语句可以不用,因为自身除自身一定能整除*/if(ai%aj!=0)/*如果被其中一个整除了则k=0,并中断j的循环,判断下一个ai*/k=0;break;if(k=1)p

15、rintf("%d",ai);2 .编写一个函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计数返回(不考虑a0和anT),要求以指针变量而不是数组名作参数。intcount(float*a,intn)inti,num;num=0;/*置num的初值为0*/for(i=1;i<n-1;i+)/*依次比较ai与相邻元素的关系*/if(ai>ai-1&&ai>ai+1)/*如果比相邻元素大,则计数*/num+;returnnum;3 .把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中除英文字符和数字

16、以外的其它内容。#include"stdio.h"main()FILEfp1,fp2;/*定义两个文件类型指针变量*/charch;fp1=fopen("d1.dat","r");/*以读方式打开文件d1.dat*/fp2=fopend("d2.dat","W");/*以写方式打开文件d2.dat*/while(!feof(fp1)/*如果没遇到文件结束标志,则循环地读一个字符*/ch=fgetc(fp1);/*从文件d1.dat中读出一个字符*/if(!(ch>="A"

17、;&&ch<="Z")|(ch>="a"&&ch<="z")|(ch>="0"&&ch<="9")fputc(ch,fp2);/*如果不是字母或数字字符,则写入到文件d2.dat中*/fclose(fp1);/*关闭文件d1.dat*/fclose(fp2);模拟测试(五)、填空题(15)1、(-b+sqrt(b*b-4*a*c)/(2*a)2、!(ch>='0'&&ch<=

18、'9')3、2.44、105、int(或整型)6、10,127、128、0,-19、8,u10、our11、312、513、3、单项选择题(20)(把正确答案填入下表各对应的题号下)12345678910CCBCABDDCB三、写出程序的输出结果(20)1、18262、3,2,5-3,3,54,3,63,4,63、144、4321四、根据各编程题意填空(22)1、sk.aver2、 int *m3、 char*smaxsub=kvk+1、digit=10*digit+sk-'0'sk.aver>smaxsub.averk>=0&&x&

19、lt;vksign=-1;k+;、digit=0五、编程题(30)1,输入m和n(m>n>0)后,计算一m一表达式的值并输出。要求将计算阶乘的运算写成函数n!(mn)!fact(n),函数返回值的类型为float。floatfact(intn)inti;floats=1.0for(i=1;i<=n;i+)s=s*i;returns;main()intn,m;floatydo/*输入m,n,如果m<n或n<0,则重输入:即要求m>=n>=0*/scanf("%d%d",&m,&n)while(m<n11n<

20、0);y=fact(m)/(fact(n)*fact(m-n);printf("%fn",y);3.统计当前目录下文本文件data.txt中字符'$'出现的次数,并将统计结果写入当前目录下的文本文件res.txt。#include"stdio.h"main()FILEfp1,fp2;charch;intn;fp1=fopen("data.txt","r");fp2=fopen("res.txt","w");while(ch=fgetc(fp1)!=EOF)if

21、(ch='$')n+;fprintf(fp2;"%d",n);/*把数值数据写入文本文件中要用fprintf()函数*/fclose(fp1);fcolse(fp2);模拟测试(六)、单项选择题(14)(把正确答案填入下表各对应的题号下)1234567891011121314CDDBBCDCCAABAB、填空题(14)1、162、sqrt(x2-x1)*(x2-x1)+(x2-x1)*(y2-y1)3、a/sin(alfa/180*3.14159)4、ch>='A'&&ch<='Z'5、a+b!=0&&a*b=06、4、4、10、67、258、1779、7+15=2210、chara15="continue"11、9512、windows13、printf("%d'n",m)14三、写出程序的输出结果(20)1、 425271623、142114321四、根据各编程题意填空(22)1、#include"math.h"、for(i=0;i<20;i+)scanf("%f",&ai)、pjz=pjz/20

温馨提示

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

评论

0/150

提交评论