计算机二级上机题库很有用 题目就是里面出的
【主要考点】指针操作;函数传值;while条件。
第9套上机考试答案解析:
1、程序填空题
【答案及难度指数】★
(1)d (2)z
【一起来审题】
(1)该程序功能是计算1/4的圆周长。从已给部分源程序的main主函数开始入手,主函数通过键盘输入获得圆的直径,通过调用printf输出语句中fun函数计算1/4的圆周长。
(2)进入fun函数,根据前面的定义,计算四分之一的圆周长并返回。
【解题思路】
第一空:"return 3.14159*___1___/4.0;"这里根据return 知道该语句是返回四分之一的圆周长,根据圆周长公式,很容易知道这里缺少圆的直径参数,结合函数fun的定义"double fun(double d)"中的参数d,第一空应填d。
第二空:"scanf("%lf",&___2___);"是获得由键盘输入的参数值,"&"是C语言中的求地址运算符。主函数初始定义了参数z,因此填z。其中,&z为输入项。
第三空:"printf(" L=%lf\n ",fun(___3___));"输出函数fun的计算结果,将直径参数传给函数定义中的d,根据前面的定义和输入,这里应该填z。
【主要考点】函数调用;参数传值。
2、程序改错题
【答案及难度指数】★★
(1)long r=1; (2)n/=10;
【一起来审题】
(1)本题中函数的功能是计算正整数各个位上的数字之积。首先要对正整数进行截取,取得该正整数的各个位上的数字,然后对求得的数进行累积。
(2)从已给定源程序的main主函数开始入手,通过键盘输入一个正整数m,语句"printf("\n%ld\n",fun(m));"调用fun函数求得m各个位上的数字之积。
【解题思路】
(1)第一个错误标识下的r是函数的返回值,子函数fun中在执行"r*=n%10;"之前,只进行了定义,却没有赋初值,编译的时候会指出在无定义前使用了变量r。r代表了各个位上的数字之积,其初值应为1。因此,第一个标识下的"long r;"改为"long r=1;"。
(2)第二个标识下的符号"\"是非法字符,根据题意,这里应该是进行除法运算,所以"n\=10;"应该改为"n/=10;"。
【主要考点】变量初始化;算术表达式语法。
3、程序设计题
【答案及难度指数】★★★
int i,j=0;*n=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0)
{
b[j]=i;
j++;
}
*n=j;
【一起来审题】
该题是求某范围内能被7或11整除的数。该程序的解题思路可以分解为以下几步:判断是否被7整除→判断或者是否被11整除→按要求返回计算结果。
【解题思路】
进入fun函数,根据前面的分析:
(1)数i能否被7或11整除,它的逻辑表达式为"(i%7==0||i%11==0)"。
(2)其中满足被7或11整除的数的个数,可以用累加器j来计数。
【主要考点】指针操作;for循环语句;数组操作。
(3)z
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库c上机模拟详细参考答案_whc0909(10)在线全文阅读。
相关推荐: