全国计算机等级考试上机课件

上传人:痛*** 文档编号:243940006 上传时间:2024-10-01 格式:PPT 页数:31 大小:167KB
返回 下载 相关 举报
全国计算机等级考试上机课件_第1页
第1页 / 共31页
全国计算机等级考试上机课件_第2页
第2页 / 共31页
全国计算机等级考试上机课件_第3页
第3页 / 共31页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,全国计算机等级考试上机考试,重点难点及注意事项讲解,填空题的特点和注意事项,上机填空题一般包含三个空。,试题中用,“,/*found*/,”,来提示在下一行在有填空。,要填空的位置用,1,、,2,、,3,表示。,考生在考试时应删除标识,1,、,2,、,3,及下划线并填入相应的代码。,特别要注意的是:只能在要填空的位置上进行修改,不要添行、删行、合并或分解行,不要改动程序的顺序,不要自己另编程序。,填空题的特点和注意事项,填写参数时注意主调函数与被调函数类型一致。数组名作形参可以不指定大小。,如:,P37,(,1,)、,P51,(,1,),根据题目意思,再从函数中找出对应的变量填写表达式。如,P16,(,1,),例,P16,(,1,)在主函数中从键盘上输入若干个数放入数组,a,中,用,0,结束输入但计入数组。下列给定程序中,函数,fun,的功能是:输出数组元素中小于平均值的元素。,#include,/*found*/,void fun(,1,int,n),double count=0.0;,double average=0.0;,int,i=0;,for(i,=0;i,n;i,+),/*found*/,2,;,/*found*/,average=,3,;,for(i,=0;i,n;i,+),if(ai,average),if(i%5=0),prinf(“n,”);,printf(“%d”,ai,);,main(),int,a1000;,int,i=0;,do,scanf(“%d”,&ai,);,while(ai,+!=0);,fun(a,i-1);,int,a,count+=,ai,count/n,改错题的特点和注意事项,上机改错题通常有两个(或三个)错误需要修改。,试题中用“,/*found*/”,来提示在下一行(或下面第二行)有错。,错误的性质基本分为语法错误和逻辑错误两种,也有些试题要求把语句添加在下划线处。,特别要注意的是:只能在出错的行上进行修改,不要添行、删行、合并或分解行,不要改动程序的顺序,更不要自己另编程序。,改错题的特点和注意事项,求分数和的时候请注意,整除,问题。如,P16(2),循环的初值、条件、和终值问题。如,P16(2),注意关键词:如,NULL,与,Null,的区别,如,P17,(,2,);“,0”,与,0,的区别,如,P19,(,2,)。,大小写问题:,P,与,p,,,S,与,s,, 如,P26,(,2,)、,P53,(,2,)。,形态相似字符:小写字符,l,与数字,1,的区别如,P24,(,2,) ,字符,o,与数字,0,的区别,P26,(,2,) 。,符号问题:,与,/,的区别,如,P26,(,2,);,=,与,=,的区别。,如,P46,(,2,),注意比较值时,指针(位置)与指针值(内容)的问题。如,P19,(,2,),如,P17,(,2,)。,注意理解题意,如:,P69,(,2,),改错题的特点和注意事项,参数或变量类型不一致的问题。如指针与普通变量。如,P33,(,2,)、,P56,(,2,)、,P59,(,2,)、,P65,(,2,),参数及函数名前面的类型一般不可以省,如,P67,(,2,),9.,两个数相互交换应该借助临时变量来实现,而不能直接赋值。如,x,与,y,互换,借助,t,,则:,t=x; x=y; y=t;,带参宏定义的时候展开的时候有括号就有括号,没括号不要画蛇添足。反过来,如果展开的时候必需要有括号,那个在定义的时候请加上括号。,如:,P44,(,2,),改错题的特点和注意事项,变量有没有定义及赋初值。如,P47,(,2,),如,s,为指针变量,请注意,s,与*,s,的区别及用法。,如,P49,(,2,)、,P55,(,1,),13. C,语言的结束标志为封号(,;,),写在同一行上的一段代码,如果是尾于不同的语句应用封号隔开。,如,int,a, b, float c;,应改为:,int,a, b; float c;,如,P51,(,2,),是否,漏写,了,C,语言的结束标志为封号(,;,),,如,P53,(,2,),是否,多写,C,语言的结束标志为封号(,;,),,如,P60,(,2,),例,P16,(,2,)在给定程序中,函数,fun,的功能是:根据整型形参,m,,计算如下公式的值。,y=1+1/(2*2)+1/(3*3)+1/(4*4)+,+1/(m*m),例如:若,m,中的值为,5,,则应输出,1.463611,。,#include,double fun(,int,m),double y=1.0;,int,i=0;,/*found*/,for(i,=2;i,m;i,+),/*found*/,y+=1/(i*i);,return y;,main(),int,n=5,printf(“nThe,result is %lf,n”,fun(n,);,i=m,y+=1.0/(i*i),例,P44,(,2,)在给定程序中,函数,fun,的功能是:计算函数,F,(,x,y,z,)=(,x+y)/(x-y)+(z+y)/(z-y,),的值。其中,x,和,y,的值不等,,z,和,y,的值不等。,例如:当,x,的值为,9,、,y,的值为,11,、,z,的值为,15,时,函数值为,-3.50,。,#include,#include,#include,/*found*/,#define,FU(m,n,) (,m/n,),float fun( float a, float b, float c),float value;,value=,FU(a+b, a-,b)+FU(c+b,c-b,);,/*found*/,return(Value,);,main(),float x, y, z, sum;,printf(“Input,x y z:”);,scanf(“%f%f%f”,&x,&y,&z,);,printf(“x,=%,f,y,=%,f,z,=%,fn”,x,y,z,);,if(x,=,y|y,=z),printf(“data,error!n”);exit(0);,sum=,fun(x,y,z,);,printf(“The,result is :%5.2fn”,sum);,(,m)/(n,),value,编程题经典范例和注意事项,求和问题。,(,1,),(,循环控制变量)计数器的范围。,如,P20,(,1,)、,P16,(,2,),(,2,)和变量的初值一般为,0,。如,P20,(,1,)、,P16,(,2,),(,3,)如是分数求和,请注意整除问题。如,P16,(,2,),(,4,)如是编程题,在确保前三个条件的情况下,按编程的思路,一步步完善。如,P22,(,3,),2.,求乘积问题。,(,1,)积变量的初值一般为,1,。如,P17,(,1,),(,2,)乘积表达式作分母的时候,是一个整体,请加括号。如,P20,(,1,),例,P22,(,3,)编写函数,fun,,其功能是:根据以下公式计算,s,将结果作为函数值返回,,n,通过形参伟入:,s=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+4)+,+1/(1+2+3,+m),#include,float fun(,int,n),main(),int,n;,float s;,printf(“nplease,enter N:”);,scanf(“%d”,&n,);,s=,fun(n,);,printf(“nThe,result is %,fn”,s,);,float s=,0.0,;,int,k, t=,0,;,for(k,=,1,;k,=,n,;k,+),t+=k;,s+=,1.0,/t;,return s;,编程题经典范例和注意事项,3.,找最大值、最小值问题。,首先将,首元素(行首、列首等)的值赋给保存最大值,(或最小值)的变量,如,max,(或,min,),然后将,max,(或,min,)和后面的元素一一比较,如果出现更大的值(或更小的值),则将该值赋给,max,(或,min,),直到全部比完为止。,一维数组的首元素为,a0,二维数组的首元素为,a00,二维数组的行首元素为,ai0,二维数组的行首元素为,ai0,二维数组的行首元素为,a0i,。,如,P17,(,1,),所示。,例,P17,(,1,)在给定的程序中,函数,fun,的功能是:找出,N*N,矩阵中每列元素中的最大值,并按顺序依次存放于形参,b,所指的一维数组中。,#include,#define N 4,void fun(,int,(*,a)N,int,*b),int,i, j;,for(i,=0;i,N;i,+),/*found*/,bi,=,;,for(j,=0;j,N;j,+),/*found*/,if(bi,aji,),bi,=,aji,;,main(),int,xNN,=12,5,8,7,6,1,9,3,1,2,3,4,2,8,4,3,yN, i, j;,printf(“nThe,matrix:n”);,for(i,=0;i,N;i,+),for(j,=0;j,N;j,+),printf(“%4d”,xij);,printf(“n,”);,/*found*/,fun(,);,printf(“nThe,result is”);,for(i,=0;iN;i+)printf(“%3d”,yi);,printf(“n,”);,a0i,(,或,=),x, y,编程题经典范例和注意事项,4.,(,1,)上、下三角问题。,(设为,N,维矩阵),i=0,n-1,(行标范围),j=0,i,(列标范围),i=0,n-1,(行标范围),j=i,n-1,(列标范围),如,P19,(,3,)。,(,2,)矩阵相关运算。,a.,转置;,aij,与,aji,,赋值实现。,b.,行或列互换及移位,;,c.,加、减、乘、除及对角线求和;,如,P19,(,3,)、,P35,(,1,),、,P44,(,1,)、,上三角,下三角,例,P35,(,1,)在给定的程序中,函数,fun,的功能是:将,a,所指,3,5,矩阵中第,k,列的元素左移到第,0,列,第,k,列以后的每列元素依次左移,原来左边的各列依次绕到右边。,#include,#define M 3,#define N 5,void fun(,int,(*,a)N,int,k),int,i,j,p,temp,;,/*found*/,for(p,=1;p=,;p+),for(i,=0;i,M;i,+),temp=ai0;,/*found*/,for(j,=0;j,;j+),aij,=aij+1;,/*found*/,aiN-1=,;,main(),int,xNN,=1,2,3,4,5,1,2,3,4,5,1,2,3,4,5, i, j;,printf(“The,array before moving:n”);,for(i,=0;i,M;i,+),for(j,=0;j,N;j,+),printf(“%3d”,xij);,printf(“n,”);,fun(x,2);,printf(“The,array after moving:n”);,for(i,=0;i,M;i,+),for(j,=0;jy,(,1,)将两数中的大数去除以小数,如果除不断,转入(,2,),(,2,)将小数变成被除数,它们的余数为除数,再相除。如果除不断,转入(,2,)。若能整除,转入(,3,)。,(,3,)则此除数为最大公约数。,编程题经典范例和注意事项,7.,字符串问题。,(,1,)串重新组合问题。,原串中去掉一部分组成成分(如数字、*号),如,P16,(,3,)、,P19,(,2,)、,P44,(,3,),、,P72(3),奇数或偶数重排,如,P28,(,3,),(,2,)在串中查找字符或字符串问题。如,P33(2),、,P78,(,3,),(,3,)前两个问题中涉及到的字符移动问题(前移、后移),如前移,P19,(,2,)、,P29,(,2,),、,P69(3),(,4,)将串中的某些前移,某些后移,,实质是,先选出来,存在不同和数组中,再重新合并。如,P29,(,1,),、,P29,(,3,),编程题经典范例和注意事项,7.,字符串问题。,(,5,)字符型的数字转换为成其面值相同的整数,并进行相关运算。如,5,转换为数值,5,怎么转换?,5,-,0,=5,或,5,-48=5,如,P44,(,1,),(,6,)字符大小写转换。如,A,转换为,a,怎么转换?,A,-,a,=-32,或,a,-32=,A,如,P48,(,1),例,P44,(,3,)规定输入的字符串中只包含字母和*号。请编写函数,fun,,它的功能是将字符串中的前导*号全部删除,中间和尾部的*号不删除。,#include,void fun( char *a),main(),char s81;,printf(“Enter,a string:n”);,gets(s,);,fun(s,);,printf(“The,string after deleted:n”);,put(s,);,int,k=0, j=0, n=,strlen(a,);,while(ak,=*)k+;,for( ;kn+1;k+),aj,+=,ak,;,例,P29,(,1,)在给定的程序中,函数,fun,的功能是:将形参,s,所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。,#include,#include,#include,#include,char *fun( char *s),int,i, j, k, n; char *p, *t;,n=strlen(s)+1,t=(char*),malloc(n,*,sizeof(char,);,p=(char*),malloc(n,*,sizeof(char,);,j=0,k=0;,for(i,=0;i,n;i,+),if(isdigit)(si,),/*found*/,p,=,si;j,+;,else,tk,=,si;k,+;,/*found*/,for(i,=0;i,;,i+)pj+i,=,ti,;,pj+k,=0;,/*found*/,return,;,main(),char s80;,printf(“please,input:”);,scanf(“%s”,s,);,printf(“the,result is :%,sn”,fun(s,);,j,k,p,或(,p),例,P29,(,2,)在给定的程序中,函数,fun,的功能是:从,s,所指字符串中删除所有小写字母,c,。,#include,void fun( char *s),int,i, j;,for(i,=j=0;si!=0;i+),if(si,!=c),/*found*/,sj,=,si,;,/*found*/,si,=0;,main(),char s80;,printf(“enter,a string:”);,gets(s,);,printf(“The,original string:”);,put(s,);,fun(s,);,printf(“The,string after deleted:”);,puts(s,);,printf(“n,”);,sj,+=,si,sj,=0,这是前移问题,请注意赋值号左右两端的数组下标(或指针)都得往后移,同时注意字符串的末尾手动加一个结束标志,0,。,例,P44,(,1,)在给定程序中,函数,fun,的功能是将,a,和,b,所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含,9,个以下数字字符。如输入,32486,和,12345,,输出得:,44831,。,/*found*/,return,;,main(),char,sN, s2N;,do,printf(“Input,string s1:”);,get(s1);,while(strlen(s1)N);,do,printf(“Input,string s2:”);,get(s2);,while(strlen(s2)N);,printf(“The,result is :%ldn”,fun(s1,s2);,#include,#include,#include,#define N 9,long,ctod,( char *s),long d=0;,while(*s),if(isdigit,(*s),/*found*/,d=d*10+*s-,;,/*found*/,;,return d;,long,fun(char,*a, char *b),0,s+,ctod(a)+ctod(b,),编程题经典范例和注意事项,8.,排序问题(假定有,n,个元素)。,(,1,)冒泡排序。,i (,循环次数,n-1,次,): 0-n-2,如果,ai,ai+1,t=,ai;ai,=,aj;aj,=t; ,则为升序,(,2,)选择排序。,i (,循环次数,n-1,次,): 0-n-2,j (,被比较元素的下标,),:,i+1 -n-1,如果,ai,aj,t=,ai;ai,=,aj;aj,=t; ,则为升序,编程题经典范例和注意事项,8.,排序问题(假定有,n,个元素)。,(,3,)插入排序。,插入排序:,aj+1=,aj,假定,t,为要插入的元素,,如果后退条件为,t,ai,,则为降序,如果后退条件,t,ai,,则为升序,(,4,)快速查找(有序数列)。设待找元素为,x,数列为升序。,low=0,high=n-1,mid=(low+high)/2;,while(low,mid),则,low=low+1,if,(,xmid),则,high=low-1,if (x=mid),则找到,未找到。,编程题经典范例和注意事项,9.,逆序、对调问题(假定有,n,个元素)。,(,1,)对称元素,0 n-1,1 n-2(n-1-1),2 n-3(n-1-2),3 n-4(n-1-3), ,i n-1-i,如,P47,(,2,),(2),数组重排问题,P70(3) P69(3),(,3,)对角线问题,P70,(,1,),编程题经典范例和注意事项,10.,逻辑与(,&),和逻辑或,(|),的应用。,(,1,)求,100,以内能被,5,整除或,7,整除,但不能被,11,整除。,if(i%5=0|i%7=0)&i%11!=0),如,P24,(,3,),11.,算术运算符,%,与,/,的应用。,求商用,/,求余数用,%,(,1,)截尾数问题,取一个数的后,n-1,位。如,P21,(,3,),(,2,)求一个数的每一位上的数字。,如,P24,(,1,)、,P31,(,1,)、,P32,(,2,)、,P34,(,2,),(,3,)奇数:,X%2=1,;偶数:,X%2=0,;,编程题经典范例和注意事项,12.,结构体编程问题,引用时字符型数组(如,name,)、各种类型的普通成员变量,采用*,.*,或者*;除字符类型外的其它类型数组引用一般采用循还语句和*,.*i,。,如,P30,(,1,),、,P50,(,1,) 。,请区分,b.scorei,与,bi.score,如,P51,(,1,),结构体指针,P71(3) P77,(,3,),13.,结点引用类似,*,*,。如,P41,(,1,),、,P43,(,3,)、,P52,(,1,),14.,两个数重新合并成一个新数。,如,P31,(,3,),、,P47,(,3,),编程题经典范例和注意事项,15.,请掌握指针文件相关函数及字符串相关函数的使用方法。,FILE *,fp;fopen(fp,),与,fclose(fp,),对称,如,P54,(,1,),本,题相当一部分同学不会做,但其实就根据文档的内容可以,推出来,遇到类似的题目请不要慌。,16.,统计字符串中单词的个数,单词中间用若干个空格隔开。,如,P55,(,3,),17.,递归法,#include,#include,struct,student,long,sno,;,char name10;,float score3;,;,void fun(,struct,student a),struct,student b;,int,i;,/*found*/,b=,;,b.sno,=10002;,/*found*/,strcpy,(, “,LiSi,”);,printf,(“,学号:,%d,姓名:,%-8s,各科成绩:”,,b.sno,b.name,);,for(i,=0;i3;i+),/*found*/,printf(“%6.2f”,b.,);,printf(“n,”);,void main(),struct,student s=1001,“zhangsan”,95,80,88;,int,i;,printf,(“,学号:,%d,姓名:,%-8s,各科成绩:”,,s.sno,s.name,);,for(i,=0;i3;i+),printf(“%6.2f”,s.scorei,);,printf(“n,”);,a,scorei,b.name,P30,(,1,)在给定程序中,通过对结构体变量的定义,存储了学生的学号、姓名和,3,门课的成绩。函数,fun,的功能是将该学生的结构体变量整体赋值,修改新变量中的学号和姓名并打印出来。,#include,#include,void fun(,int,a,int,b, long *c),main( ) /*,主函数*,/,int,a, b; long c;,system(“cls,”);,printf(“Input,a,b,:”);,scanf(“%d%d”,&a,&b,);,fun(a,b,&c,);,printf(“the,result,is:%ldn”,c,);,P31,(,3,)函数,fun,的功能是:将两个三位数的正整数,a,、,b,合并形成 一个长整数放在,c,中。合并的方式是将,a,数的百位、十位和个位放在,c,数的十万位、千位和十位上,,b,数的百位、十位和个位放在,c,数的万位、百位和个位个。,*,c=a/100;,*c=*c*10+b/100;,*c=*c*10+(a/10)%10;,*c=*c*10+(b/10)%10;,*c=*c*10+a%10;,*c=*c*10+b%10;,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!