二级考试---计算机.ppt

上传人:灯火****19 文档编号:136441582 上传时间:2020-06-28 格式:PPT 页数:16 大小:84.50KB
返回 下载 相关 举报
二级考试---计算机.ppt_第1页
第1页 / 共16页
二级考试---计算机.ppt_第2页
第2页 / 共16页
二级考试---计算机.ppt_第3页
第3页 / 共16页
二级考试---计算机.ppt_第4页
第4页 / 共16页
二级考试---计算机.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《二级考试---计算机.ppt》由会员分享,可在线阅读,更多相关《二级考试---计算机.ppt(16页珍藏版)》请在金锄头文库上搜索。

1、机试题型,填空 /改错 / 编程,给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:2,在程序中定义的变量名要与公式的变量相同)。 例如,输入圆的半径值:19.527,输出为:s=598.949991。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。 试题程序: #include double fun( double r) return 3.14159*【1】/2.0; void main() double x; printf(Enter x: ); scanf(%lf,

2、【2】); printf(s=%lfn,fun(【3】); ,【参考答案】 (1)r*r (2),则主要考查后面的地址表列【 】,注意地址是由地址运算符 if(n%4=0) if (【1】) flag=1; if (【2】) flag=1; return【3】; void main() int year; system(CLS); printf(Input the year:); scanf(%d, ,【参考答案】 (1) n%100!=0或n%100 (2) n%400=0 (3) flag 【考点分析】 本题考查:判断闰年的算法,年份能被4整除但不能被100整除,或者年份能被400整除。r

3、eturn语句,负责将函数值返回给主调函数。一般情况下,flag在C语言中作为一种标志来使用,本书中有多个题目都使用了flag标志。 【解题思路】 填空1:判断闰年的方法是,年份能被4整除但不能被100整除,或者年份能被400整除。n不能被100整除,即对100取余非零。 填空2:能被400整除的年份也是闰年,n能被400整除,即对400取余为零。 填空3:flag标记年份n是否为闰年,当flag为1时,是闰年,当flag为0时,不是闰年。 【解题宝典】 掌握判定闰年的算法,即年份能被4整除但不能被100整除,或者年份能被400整除。 理解如下关键代码: if(n%4=0) if(n%100!

4、=0) flag=1; if(n%400=0) flag=1;,请补充函数fun,该函数的功能是:整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。 例如当x=20时,依次输出:20 10 4 2。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include void fun(int k,int bb) int I; int j=0; for(【1】;I=0;I-) printf(%d ,bbI); void main() int k=1; i

5、nt bb100; system(CLS); printf(nPlease input X=); scanf(%d, ,【参考答案】 (1)i=1 (2)k%i=0分开。,请补充函数fun,该函数的功能是:求出数组的最大元素在数组中的下标,并存放在k所指的存储单元中。 例如,输入如下整数:876 675 896 101 301 401 980 431 45l 777,则输出结果为:6,980。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include int f

6、un(int *s,int t,int 【1】) int I,max; max=s0; for(I=0;Imax (3) i 【考点分析】 本题考查:函数定义;if条件表达式。 【解题思路】 填空1:根据函数的传递规则,显然这里填入的是一个指针。 填空2:要求出最大元素,需要进行目前最大元素与当前元素的比较。 填空3:这里要存储元素的下标,下标是i。 【解题宝典】 指针型变量做函数参数,如果实参变量中出现取地址符号 return 1; void main() int k=10; system(CLS); printf(%d!=%ldn ,k,fun(k); ,【参考答案】 错误:if k1 正

7、确:if(k1) 【考点分析】 本题考查:if语句条件表达式的格式。 【解题思路】 简单语法错误,不作介绍了。,下列给定程序中函数fun的功能是:计算n!。例如,给n输入5,则输出120.000000。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include double fun(int n) double result =1.0; /*found*/ if n=0 return 1.0; while(n1 ,【参考答案】 (1)错误:if n=0 正确:if(n=0) (2)错误:res

8、ult =n-; 正确:result *=n-; 【考点分析】 本题考查:if语句,一般情况下,需要根据题目要求确定条件表达式的内容,同时需要注意其格式。计算阶乘的方法,n!=n*(n-1)!。 【解题思路】 (1)这里是一个简单的格式错误,if条件应该加括号。 (2)根据阶乘的概念,从n开始,n!=n*(n-1)!,直到1,所以应该为result *=n-;。,下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值: 请改正函数fun()中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #

9、include #include double fun(int m) double y=1.0; int I; /*found*/ for(I=2;Im;I+) /*found*/ y-=1/(I*I); return(y); void main() int n=5; system(CLS); printf(nThe result is %1fn, fun(n); ,【参考答案】 (1)错误:for(i=2;im;i+) 正确:for(i=2;i=m;i+) (2)错误:y-=1/(i*i); 正确:y-=1.0/(i*i); 【解题思路】 该题是一道简单的计算题,循环条件for(i=2;i=

10、A ,【参考答案】 (1)错误:c=c-32; 正确:c=c+32; (2)错误:c=c-5; 正确:c=c+5; 【考点分析】 本题考查:大写字母转换为小写字母的方法,即大写字母ASCII码+32=小写字母ASCII码。 【解题思路】 从ASCII码表中可以看出,小写字母的ASCII码值比对应大写字母的ASCII值大32,所以大写字母转换成小写字母要加32。将大写字母转换成对应小写字母之后的第五个字母,所以要加5。,下列给定程序中,函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

11、请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include #include int fun(int *x,int y) int t; /*found*/ t=x;x=y; /*found*/ return(y); void main() int a=3,b=8; system(CLS); printf(%d %dn ,a,b); b=fun( ,【参考答案】 (1)错误:t=x;x=y; 正确:t=*x;*x=y; (2)错误:return(y); 正确:return(t); 【解题思路】 本

12、题考查指针变量做函数参数。同样,这里也涉及一个交换规则,另外,根据题目主函数中函数fum的调用方式,说明函数fum的参数应当为指针类型。交换结束后返回变量t。,总结: 错误通常在found下面的第一行。内容涉及数据(参数)类型、循环的取值范围、初值设定、表达式表述等,编写函数fun,它的功能是:求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。 例如,n为1000时,函数值应为s=96.979379。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #inc

13、lude #include #include double fun(int n) void main() FILE *wf; system(CLS); printf(s=%fn, fun(1000); /*/ wf=fopen(out.dat,w); fun(s); fprintf (wf,%s,s); fclose(wf); /*/ ,【参考答案】 double fun(int n) double s=0.0; int i; for(i=0;i中)对s求平方根。,注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:

14、 #include #include #include void fun (int array33) void main() FILE *wf; int i,j; int array 33=100,200,300,400,500,600,700,800,900; system(CLS); for (i=0;i3;i+) for (j=0;j3;j+) printf(%7d ,arrayij); printf(n ); fun(array); printf(Converted array:n ); for (i=0;i3;i+) for (j=0;j3;j+) printf(%7d ,array

15、ij); printf(n ); ,【参考答案】 void fun (int array33) int i,j,t; for(i=0;i3;i+) /*将右上三角和左下三角对换,实现行列互换*/ for(j=i+1;j3;j+) t=arrayij; arrayij=arrayji; arrayji=t; 【解题思路】 注意:对矩阵转置后仍然存回其本身时,只能循环矩阵中的一个角(本程序是右上半三角)。控制右上半三角的方法是在第2个循环中j从i+1或i开始,控制左下半三角的方法是在第2个循环中写成for(j=0;ji;j+),若要控制所有元素则在第2个循环要写成for(j=0;j=a&ssi=z

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

当前位置:首页 > IT计算机/网络 > 其它相关文档

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