收藏 分销(赏)

二级C应试辅导.ppt

上传人:pc****0 文档编号:13348005 上传时间:2026-03-05 格式:PPT 页数:59 大小:242KB 下载积分:10 金币
下载 相关 举报
二级C应试辅导.ppt_第1页
第1页 / 共59页
二级C应试辅导.ppt_第2页
第2页 / 共59页


点击查看更多>>
资源描述
<p>单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,二级C应试辅导,*,二级C应试辅导,全国计算机等级考试,1,二级,C,考试方式及要求,一、了解考试方式,:,1.,笔试:,120,分钟,满分,100,分。,题型:,选择题,(,50,道单项选择题,其中,110,题每小,题,2,分、,1150,题每小题,1,分,共,60,分),填空题,(共,20,空,每空,2,分,共,40,分),内容:,公共基础知识,部分的,30,分(其中:,20,分选择,题、,10,分填空题),C,语言程序设计,部分,70,分(其中:,40,分选择,题、,30,分填空题),2,二级C应试辅导,2.,机试:,60,分钟,满分,100,分。,题型:,由三种题型组成:一道填空题,(30,分,),、,一道改错题,(30,分,),、一道编程题,(40,分,),内容:,均为,C,语言程序设计,二、熟悉考试范围,:,1.,了解最新最全的考试要求。,2.,仔细阅读最新的,考试大纲,,熟悉考试范围。,(,报名时完成,),3,二级C应试辅导,一、程序修改题常见错误类型,:,1,、语法错误,以下是一些常见错误:,(1),变量未定义,(2),变量大小写不统一,(3),变量类型不匹配,(4),字符常量与字符串常量混淆,(5),语句末尾少了分号,(6),函数的首部(即整个函数的第一行)以分号结束,(7),if,语句后的表达式两侧没有圆括号,2,程序修改题(改错题),4,二级C应试辅导,2,、逻辑错误(语义错误),以下是一些常见错误:,(1),循环语句、,if,语句、复合语句的花括号后多加了分号,(2),赋值号与等号混淆,(3),引号或括号不对称(只有一边),(4),复合语句少了“”,(5),将数字“,0”,写成了字母“,o”,,,或将字母“,o”,写成了数字“,0”;,将数字“,1”,写成了小写字母“,l”,,,或将小写字母“,l”,写成了数字“,1”;,(6),变量的初值不正确或未赋初值,5,二级C应试辅导,2,、逻辑错误(语义错误),以下是一些常见错误:,(7),利用,scanf,(),函数给变量赋值时忘记加地址运算符“,&amp;”,(8),输入输出的数据类型与所用格式说明符不一致,(9),输入数据时,企图规定精度,如:,scanf(%7.2f,(10)switch,语句中漏写,break,语句,(11),在引用数组元素时,将定义数组时的下标值作为数组最后一个元素的下标,(12),使用,scanf,(),函数时,输入数值型数据的方式与要求不符,或输入字符格式与要求不一致,(此类错误虽不方便出改错题,但对任何,C,程序设计的学习者来说却是必须注意的地方),6,二级C应试辅导,3,、算法错误,因不同的问题有不同的算法,同一个问题也有不同的算法,因此算法错误难于归纳和总结,也就是说算法错误的种类实在太多,要修改此类错误不仅要掌握常用的算法、审清题目,还且要善于对程序(段)的功能进行分析。,7,二级C应试辅导,二、程序修改题举例,:,例:,下列给定程序的功能是:读入一个整数,k,(,2,=k,=10000,),,打印它的所有质因子(即所有为,素数,的,因子,)。例如,若输入整数,2310,,则应输出:,2,、,3,、,5,、,7,、,11,。,请改正程序中的错误,使程序能得出正确的结果。,注意:不要改动,main,函数,不得增行或删行,也不得更改程序的结构!,试题程序如下:,8,二级C应试辅导,#include,conio.h,#include,stdio,h,/*found*/,IsPrime,(,int,n),;,int,i,,,m,;,m,1,;,for(i,2,;,i,n,;,i+,),/*found*/,if !(n%i,),m,0,;,break,;,return,(,m,);,9,二级C应试辅导,main(),int,j,k,;,clrscr,(),;,printf(“nPlease,enter an integer number between 2 and 10000:”),;,scanf(“%d,”,k),;,printf,(“,nnThe,prime factor(s)of%d is(are):”,,,k),;,for(j=2,;,j=k,;,j+),if(!(,k%j)&amp;(IsPrime(j,),printf(“n,%4d”,,,j),;,printf(”n,”),;,10,二级C应试辅导,改正后的,IsPrime,函数,#include,conio.h,#include,stdio,h,/*found*/,IsPrime,(,int,n),int,i,,,m,;,m,1,;,for(i,2,;,i,n,;,i+,),/*found*/,if (!(n%i),m,0,;,break,;,return,(,m,);,11,二级C应试辅导,例:,下列给定程序中,,函数,fun,的功能是:,将,a,所指字符串中的字符和,b,所指字符串中的字符,按排列的顺序交叉合并到,c,所指数组中,过长的字符放在,c,的尾部,如:,a=“,abcdefg,”,,,b=“1234”,,则,c=a1b2c3d4efg,请改正程序中的错误,使它能得出正确的结果。,注意:不要改动,main,函数,不得增行或删行,也不得更改程序的结构!,试题程序如下:,12,二级C应试辅导,#include ,#include ,#include ,/*found*/,fun(char a,char b,char c),while(*a&amp;*b),*c=*a;c+;a+;,*c=*b;c+;b+;,if(*a=0),/*found*/,while(*b)*c=*b;c+;b+;,else,/*found*/,while(*a)*c=*a;c+;a+;,*c=0;,13,二级C应试辅导,main(),char s1100,s2100,t200;,clrscr,();,printf(nEnter,s1 string:);scanf(%s,s1);,printf(nEnter,s2 string:);scanf(%s,s2);,fun(s1,s2,t);,printf(nThe,result is:%sn,t);,14,二级C应试辅导,改正后的,fun,函数,#include ,#include ,#include ,/*found*/,void,fun(char,*,a,char,*,b,char,*,c),while(*a&amp;*b),*c=*a;c+;a+;,*c=*b;c+;b+;,if(*a=0),/*found*/,while(*b),*c=*b;c+;b+;,else,/*found*/,while(*a),*c=*a;c+;a+;,*c=0;,15,二级C应试辅导,例:,下列给定程序中,,函数,fun,的功能是:根据形参,m(9=m=2),的值,在,m,X,m,的二维数组中存放如下所示的数据,由,main(),函数输出,例如:若输入,2,若输入,4,则输出,1 2,则输出,1 2 3 4,2 4,2 4 6 8,3 6 9,12,4 8 12 16,请改正程序中的错误,使它能得出正确的结果。,注意:不要改动,main,函数,不得增行或删行,也不得更改程序的结构!,16,二级C应试辅导,#include,#include,#define M 10,int,aMM=0;,/*found*/,fun(int,*,a,int,m),int,j,k;,for(j=0;jm;j+),for(k=0;km;k+),/*found*/,ajk=k*j;,17,二级C应试辅导,main(),int,i,j,n;,clrscr,();,printf(Enter,n:);scanf(%d,&amp;n,);,fun(a,n);,for(i=0;in;i+),for(j=0;jn;j+),printf(%4d,aij);,printf(n,);,18,二级C应试辅导,改正后的,fun,函数,#include,#include,#define M 10,int,aMM=0;,/*found*/,void,fun(int,aMM,int,m),int,j,k;,for(j=0;jm;j+),for(k=0;km;k+),/*found*/,ajk=,(k+1)*(j+1),;,19,二级C应试辅导,例:,下列给定程序中,,函数,fun,的功能是:删除数列中值为,x,的元素,,n,中存放的是数列元素的个数,请改正程序中的错误,使它能得出正确的结果。,注意:不要改动,main,函数,不得增行或删行,也不得更改程序的结构!,20,二级C应试辅导,#include,#define N 20,fun(int,*,a,int,n,int,x),int,p=0,i;,an=x;,while(x!=ap),p=p+1;,/*found*/,if(P=n)return-1;,else,for(i=p;in;i+),/*found*/,ai+1=ai;,return n-1;,21,二级C应试辅导,main(),int,wN=-3,0,1,5,7,99,10,15,30,90,x,n,i;,n=10;,printf(The,original data:n);,for(i=0;in;i+)printf(%5d,wi);,printf(nInput,x(to,delete):);scanf(%d,&amp;x,);,printf(Delete,:%dn,x);,n=fun(w,n,x);,if(n=-1),printf,(*Not be found!*nn);,else,printf(The,data after deleted:n);,for(i=0;in;i+)printf(%5d,wi);printf(nn);,22,二级C应试辅导,改正后的,fun,函数,#include,#define N 20,fun(int,*,a,int,n,int,x),int,p=0,i;,an=x;,while(x!=ap),p=p+1;,/*found*/,if(,p,=n)return-1;,else,for(i=p;in;i+),/*found*/,a,i,=a,i+1,;,return n-1;,23,二级C应试辅导,4,程序填空题,说明,机试的程序填空题是在取消,DOS,的命令的操作题后,在,2005,年上半年开始推出的新题型,满分是,30,分。,程序填空题主要考查考生阅读程序的能力,掌握常用的算法和提高阅读程序的能力是解决此类问题的关键。,24,二级C应试辅导,程序填空题举例,例:,下列给定程序中函数,fun(),的功能是:先将在字符串,s,中的字符按逆序存放到,t,串中,然后把,s,中的字符按正序连接到,t,串的后面。例如:当,s,中的字符串为,ABCDE,时,则,t,中的字符串应为,EDCBAABCDE,。,请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。,注意:,源程序存放在考生文件夹下的,BLANK1.C,中,不得增行或删行,也不得更改程序的结构!,25,二级C应试辅导,试题程序:,#include ,#include ,#include ,void fun(char*s,char*t),int,i,s1;,s1=,1,;,for(i=0;is1;i+),ti=s,2,;,for(i=0;is1;i+),ts1+i=si;,t,3,=0;,main(),char s100,t100;,printf(nPlease,enter string s:);,scanf(%s,s,);,fun(s,t);,printf,(The result is:%sn,t);,26,二级C应试辅导,试题程序,(,答案,),:,#include ,#include ,#include ,void fun(char*s,char*t),int,i,s1;,s1=,strlen(s,),;,for(i=0;is1;i+),ti=s,s1-1-i,;,for(i=0;is1;i+),ts1+i=si;,t,2*s1,=0;,main(),char s100,t100;,printf(nPlease,enter string s:);,scanf(%s,s,);,fun(s,t);,printf,(The result is:%sn,t);,27,二级C应试辅导,例:,函数,fun(),的功能是:实现,B=A+A,,,即把矩阵,A,加上,A,的转置,存放在矩阵,B,中。计算结果在,main(),函数中输出。,例如,输入下面矩阵:,1 2 3,4 5 6,7 8 9,其转置矩阵为:,1 4 7,2 5 8,3 6 9,则程序输出:,2 6 10,6 10 14,10 14 18,请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。,注意:,源程序存放在考生文件夹下的,BLANK1.C,中,不得增行或删行,也不得更改程序的结构!,28,二级C应试辅导,试题程序:,#include,#include,1,fun(,int,a33,int,b33),int,i,j;,for(i=0;i3;i+),for(j=0;j3;j+),bij=aij+,2,;,main(),FILE*,wf,;,int,a33=1,2,3,4,5,6,7,8,9,t33;,int,i,j;,fun(a,3,);,29,二级C应试辅导,试题程序:,for(i=0;i3;i+),for(j=0;j3;j+),printf(%7d,tij);,printf(n,);,wf,=,fopen(out.dat,w,);,for(i=0;i3;i+),for(j=0;j3;j+),fprintf(wf,%3d,tij);,fclose(wf,);,30,二级C应试辅导,试题程序(答案):,#include,#include,void,fun(,int,a33,int,b33),int,i,j;,for(i=0;i3;i+),for(j=0;j3;j+),bij=aij+,aji,;,main(),FILE*,wf,;,int,a33=1,2,3,4,5,6,7,8,9,t33;,int,i,j;,fun(a,t,);,31,二级C应试辅导,试题程序(答案):,for(i=0;i3;i+),for(j=0;j3;j+),printf(%7d,tij);,printf(n,);,wf,=,fopen(out.dat,w,);,for(i=0;i3;i+),for(j=0;j3;j+),fprintf(wf,%3d,tij);,fclose(wf,);,32,二级C应试辅导,例:,下列给定程序中,函数,fun(),的功能是:将字符串,p,中所有字符复制到字符串,b,中,要求每复制,3,个字符之后插入一个空格。例如,在调用,fun(),函数之前给字符串,a,输入,ABCDEFGHIJK,,,调用函数之后,字符串,b,中的内容则为,ABC DEF GHI JK,。,请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果,。,注意:,源程序存放在考生文件夹下的,BLANK1.C,中,不得增行或删行,也不得更改程序的结构!,33,二级C应试辅导,试题程序:,#include ,void fun(char*p,char*b),int,i,k=0;,while(,1,),i=0;,while(,2,&amp;*p),bk=*p;,k+;p+;i+;,if(*p),b,3,=;,bk=0;,34,二级C应试辅导,试题程序:,main(),char a80,b80;,printf(Enter,a string:);gets(a);,printf(The,original string:);puts(a);,fun(a,b);,printf(nThe,string after insert space:);,puts(b);,printf(nn,);,35,二级C应试辅导,试题程序(答案):,#include ,void fun(char*p,char*b),int,i,k=0;,while(,*p,),i=0;,while(,i3,&amp;*p),bk=*p;,k+;p+;i+;,if(*p),b,k+,=;,bk=0;,36,二级C应试辅导,试题程序(答案):,main(),char a80,b80;,printf(Enter,a string:);gets(a);,printf(The,original string:);puts(a);,fun(a,b);,printf(nThe,string after insert space:);,puts(b);,printf(nn,);,37,二级C应试辅导,例:,下列给定程序中,函数,fun(),的功能是:求整数,x,的,y,次方的低,3,位值。例如,整数,5,的,6,次方为,15625,,此值的低,3,位值为,625,。,请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果,。,注意:,源程序存放在考生文件夹下的,BLANK1.C,中,不得增行或删行,也不得更改程序的结构!,试题程序如下:,38,二级C应试辅导,1,long,fun(int,x,int,y,long*p),int,i;,long t=1;,for(i=1;,2,;i+),t=t*x;,*p=t;,3,;,return t;,main(),long t,r;,int,x,y;,printf(nInput,x and y:);,scanf(%ld%ld,&amp;x,&amp;y,);,t=fun(x,y,printf(“nnx,=%d,y=%d,r=%ld,last=%ldnn”,x,y,r,t);,39,二级C应试辅导,试题程序(答案):,#include,long,fun(int,x,int,y,long*p),int,i;,long t=1;,for(i=1;,i=y,;i+),t=t*x;,*p=t;,t=t%1000,;,return t;,main(),long t,r;,int,x,y;,printf(nInput,x and y:);,scanf(%ld%ld,&amp;x,&amp;y,);,t=fun(x,y,printf(“nnx,=%d,y=%d,r=%ld,last=%ldnn”,x,y,r,t);,40,二级C应试辅导,常考的算法,连加与连乘(累加与累乘),如:求,1-1/2+1/4-1/6+,+1/n,的值,直到最后一项的绝对值小于,1e-3,为止,注意之点:,连加的初值一般为,0,对于连加,一般设,3,个变量:部分和,s,、,项号,i,、,i,项的值,t,,,关键是求,t,的值。,求通项,t,的,值主要有两种方法:,(1),依通项公式来得到;(,2,)后一项可由前一项得到,连乘与连加的处理方法类似,只不过把“”号变成“*”号,注意乘积的初值一般为,1,3,编程题,41,二级C应试辅导,数的算法,求素数,求同构数(同构数是指该数出现在它的平方数的右边的数),求水仙花数(水仙花数是这样三位数:其各位数字的立方和等于该数本身),求最大公约数和最小公倍数,排序算法,比较交换法,选择交换法,冒泡法,42,二级C应试辅导,求一维数组的最大值、最小值及其下标,注:常用选择交换法,与二维数组有关的算法,求二维数组行或列的和,求二维数组的最大值、最小值及下标,矩阵转置,与字符串有关的算法,从字符串中删除某个字符,求字符串的长度(不用,strlen,函数),字符串的合并,比较字符串的大小(不用,strcmp,函数),注意:,在有关字符串的算法中,通常都涉及到,字符串结束标记,。一般情况下都是利用循环来对字符串中的全部字符或符合条件的字符进行处理,循环结束条件一般是遇到空字符,0,43,二级C应试辅导,编程题举例,例:,编写函数,void,fun(int,*a,int,*n),,,它的功能是求出,1,到,100,之内能被,7,或,11,整除的所有整数放在数组,a,中,通过,n,返回这些数的个数。,注意:部分源程序存在文件,prog.c,中,(,现给出如下)。,请勿改动主函数,main,和其它函数中的任何内容,仅在函数,fun,的花括号中填入所编写的若干语句,44,二级C应试辅导,文件,PROG.C,的内容如下:,#include,#include,#define M 100,void,fun(int,*a,int,*n),main(),int,aaM,n,k;,clrscr,();,fun(aa,for(k=0;kn;k+),if(k+1)%10=0),printf(“n,”);,printf(“%4d”,aak,);,45,二级C应试辅导,文件,PROG.C,的内容如下:,#include,#include,#define M 100,void,fun(int,*a,int,*n),int,i,b=0;,for(i=1;i=M;i+),if(i%7=0|i%11=0),ab+=i;,*n=b;,main(),46,二级C应试辅导,编程题举例,例:,编写函数,该函数,fun,的功能是:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。,例如:若程序执行时输入字符串为:,turbo c and,borland,c+,从,键盘上输入字符,n,,,则输出后变为:,turbo c ad,borlad,c+,,,如果输入的字符在字符串不存在,则字符串照原样输出,注意:部分源程序给出如下。,请勿改动主函数和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句,47,二级C应试辅导,试题程序:,#include,#include,int,fun(char s,int,c),main(),static char,str,=“turbo c and,borland,c+”;,char,ch,;,printf,(“,原始字符串:,%,sn”,str,);,printf,(“,输入一个字符,:”),scanf(“%c”,&amp;ch,);,fun(str,ch,);,printf(“str,=%,sn”,str,),;,48,二级C应试辅导,试题程序:,#include,#include,int,fun(char s,int,c),int,i=0;char*p;,p=s;,while(*p),if(*p!=c),si=*p;i+;,p+;,si=0;,main(),49,二级C应试辅导,编程题举例,例:,m,个人的成绩存放在,score,数组中,请编写函数,fun(),,,它的功能是将高于平均分的人数作为函数值返回,将高于平均分的分数放在,up,所指的数组中。,例如,当,score,数组中的数据为,24,,,35,,,88,,,76,,,90,,,54,,,59,,,66,,,96,时,函数返回的人数应该是,5,,,up,中的数据应为,88,,,76,,,90,,,66,,,96,。,注意:,部分源程序给出如下。,请勿改动主函数,main,和其他函数中的任何内容,仅在函数,fun,的花括号中填入所编写的若干语句。,50,二级C应试辅导,试题程序:,#include,#include,#include,int,fun(int,score,int,m,int,up),main(),int,i,n,up9;,int,score9=24,35,88,76,90,54,59,66,96;,clrscr,();,n=fun(score,9,up);,printf(nup,to the average score are:);,for(i=0;in;i+),printf(%d,upi);,51,二级C应试辅导,试题程序:,#include,#include,#include,int,fun(int,score,int,m,int,up),int,i,j=0;,float,av,=0.0;,for(i=0;im;i+),av,=,av+scorei/m,;,for(i=0;i,av,),upj+=scorei;,return j;,main(),52,二级C应试辅导,编程题举例,例:,请编写一个函数,fun(),,,它的功能是将一个数字字符串转换为一个整数,(,不得调用,C,语言提供的将字符串转为整数的函数,),。,例如,若输入字符串“,-1234”,,则函数把它转换为整数值,-1234,。,注意:,部分源程序给出如下。,请勿改动主函数,main,和其他函数中的任何内容,仅在函数,fun,的花括号中填入所编写的若干语句。,53,二级C应试辅导,试题程序:,#include,#include,long fun(char*p),main(),char s6;,long n;,printf(Enter,a string:n);,gets(s);,n=fun(s);,printf(%ldn,n,);,54,二级C应试辅导,试题程序,(,答案,),:,#include,#include,long fun(char*p),long n=0;,int,flag=1;,if(*p=-),/*,负数时置,flag,为,-1*/,p+;flag=-1;,else if(*p=+),/*,正数时置,flag,为,1*/,p+;,while(*p!=0),n=n*10+*p-0;,/*,将字符串转换成相应的整数*,/,p+;,return n*flag;,main(),55,二级C应试辅导,编程题举例,例:,请编写一个函数,void fun(char*,tt,int,pp),,,统计在,tt,字符串中,a,到,z,26,个字母各自出现的次数,并依次放在,pp,所指数组中。,例如:当输入字符串,abcdefgabcdeabc,后,程序的输出结果应该是:,3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,注意:,部分源程序给出如下。,请勿改动主函数,main,和其他函数中的任何内容,仅在函数,fun,的花括号中填入所编写的若干语句。,56,二级C应试辅导,试题程序:,#include,#include,void fun(char*,tt,int,pp),main(),char aa1000;,int,bb26,k,n;,clrscr,();,printf(nPlease,enter a char string:);,scanf(%s,aa,);,fun(aa,bb,);,for(k=0;k26;k+),printf(%d,bbk);,printf(n,);,57,二级C应试辅导,试题程序,(,答案,),:,#include,#include,void fun(char*,tt,int,pp),int,i;,for(i=0;i=a&amp;*,tt,=z),pp*,tt,-a+;,/*,将,tt,字符串中,a,到,z26,个字母各自出现的次数,依次放在,pp,数组中,任一个小写字母减去,a,后所得结果正好是它对应的下标*,/,main(),58,二级C应试辅导,59,二级C应试辅导,</p>
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服