二级考试---计算机

上传人:第*** 文档编号:49826693 上传时间:2018-08-03 格式:PPT 页数:16 大小:150.50KB
返回 下载 相关 举报
二级考试---计算机_第1页
第1页 / 共16页
二级考试---计算机_第2页
第2页 / 共16页
二级考试---计算机_第3页
第3页 / 共16页
二级考试---计算机_第4页
第4页 / 共16页
二级考试---计算机_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《二级考试---计算机》由会员分享,可在线阅读,更多相关《二级考试---计算机(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(“

2、%lf“,【2】); printf(“s=%lfn“,fun(【3】); 【参考答案】 (1)r*r (2)scanf( )函数的形式 ,其一般形式为“scanf(“格式控制字符串“,地址表列 );“,注意地址是由地址运算符“printf( )函数的形式,其一般形式为“printf(“格式 控制字符串“,输出表列);“;函数实参调用,函数作为 另一个函数调用的实际参数出现。 【解题思路】 填空1:计算圆的面积,公式为:*r。 填空2:scanf( )函数一般形式为scanf(格式控制,地 址表列),因此填入“,则主要考查 后面的地址表列【 】,注意地址是由地址运算符 “if(*str【1】ch

3、) str0=ch;【2】=0; void main() char s81,c;system(“CLS“);printf(“nPlease enter a string : “); gets(s);printf(“n Please enter the character to search : “);c=getchar();fun(【3】);printf(“nThe result is %sn“,s); 【参考答案】 (1) != (2) str1或*(str+1) (3) s,c 【考点分析】 本题考查:if语句,一般掌握条件表达式的判定。函数的调用, 其一般形式为“函数名(实际参数表)“。

4、 【解题思路】 填空1:根据题意“若相同什么也不做“,则应填入 != 。 填空2:若不同则插在串的最后,那么0就在字符串的倒数第二 了。 填空3:函数传递的参数为输入的两个字符串,则填入s,c。 【解题宝典】 if语句的条件表达式一般会考查三个方面的内容: 条件判断,即与=、 #include #include int fun(int n) int flag=0;if(n%4=0) if (【1】) flag=1;if (【2】) flag=1;return【3】; void main() int year;system(“CLS“);printf(“Input the year:“);sca

5、nf(“%d“,if (fun(year) printf(“%d is a leap year. n“,year);else printf(“%d is not a leap year.n“,year); 【参考答案】 (1) n%100!=0或n%100 (2) n%400=0 (3) flag 【考点分析】 本题考查:判断闰年的算法,年份能被4整除但不能被100 整除,或者年份能被400整除。return语句,负责将函数值 返回给主调函数。一般情况下,flag在C语言中作为一种标 志来使用,本书中有多个题目都使用了flag标志。 【解题思路】 填空1:判断闰年的方法是,年份能被4整除但不能

6、被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!=0) flag=1; if(n%400=0) flag=1; 请补充函数fun,该函数的功能是:整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输 出。 例如当x=2

7、0时,依次输出: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;int bb100;system(“CLS“);printf(“nPlease input X=“);scanf(“%d“,fun(k,bb); 【参考答案】 (1)i=1 (2)k%i

8、=0表达式2;表达式3) 语句 最简单的应用形式也是最容易理解的形式如下: for(循环变量赋初值;循环条件;循环变量增量) 语句 循环变量赋初值是一个赋值语句, 它用来给循环控制变量赋初值 ;循环条件是一个关系表达式,它决定什么时候退出循环;循环变 量增量,定义循环控制变量每循环一次后按什么方式变化,这三个 部分之间用“;“分开。 请补充函数fun,该函数的功能是:求出数组的最大元素在数组中的下标,并存放在k所指的存储单元中。 例如,输入如下整数:876 675 896 101 301 401 980 431 45l 777,则输出结果为:6,980。 注意:部分源程序给出如下。 请勿改动m

9、ain函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include int fun(int *s,int t,int 【1】) int I,max;max=s0;for(I=0;Imax (3) i 【考点分析】 本题考查:函数定义;if条件表达式。 【解题思路】 填空1:根据函数的传递规则,显然这里填入的 是一个指针。 填空2:要求出最大元素,需要进行目前最大元 素与当前元素的比较。 填空3:这里要存储元素的下标,下标是i。 【解题宝典】 指针型变量做函数参数,如果实参变量中出 现取地址符号“return

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

11、.0;/*found*/if n=0return 1.0;while(n1int I; /*found*/for(I=2;I #include char fun(char c) /*found*/if(c=A /*found*/t=x;x=y; /*found*/return(y); void main() int a=3,b=8;system(“CLS“);printf(“%d %dn “,a,b);b=fun(printf(“%d %dn “,a,b); 【参考答案】 (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的花括号中填入所编写的若干语句 。 试题程

13、序: #include #include #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;i #include #include #define M 81 int fun(char *ss, char c) void main() FILE *wf;char aM, ch;system(“CLS“);printf(“nPlease enter

15、a string: “); gets(a);printf(“nPlease enter a char: “); ch=getchar();printf(“nThe number of the char is: %dn“, fun(a,ch); 【参考答案】 int fun(char *ss, char c) int i=0; for(;*ss!=0;ss+) if(*ss=c) i+; /*求出ss所指字符串中指定字符的个数*/ return i; 【考点分析】 本题考查:字符串结束标识0;for循环语句,如何遍历字 符串;通过if条件语句,判断是否相同。 【解题思路】 从字符串ss中找出子字符串的方法是:从第1个字符开始, 对字符串进行遍历;若ss串的当前

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

当前位置:首页 > 办公文档 > 解决方案

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