计算机二级考试必备:80题库详解,填空、改错、编程全涵盖
需积分: 9 153 浏览量
更新于2024-07-30
1
收藏 623KB DOC 举报
"计算机二级上机考试80题库讲解"
计算机二级上机考试是对考生计算机基础知识和应用能力的测试,通常包含填空题、改错题和编程题等多种题型。以下是对给定的三道典型题目的解析:
1. **填空题**
这个题目要求编写一个计算1/4圆周长的函数。已给出的函数`fun`接受圆的直径`d`,并返回1/4圆周长。函数内部的计算是正确的,但需要注意的是,主函数`main`中的输出格式可能需要调整以匹配题目要求的输出样例。程序应该首先提示用户输入圆的直径,然后调用`fun`函数,并将结果输出。在实际考试中,考生应确保输出的格式符合题目要求,如保留小数点后足够位数的精度。
2. **改错题**
在`fun`函数中,其目的是计算正整数`m`各位数字的乘积。目前的实现中存在一个问题:如果输入的`m`是0,函数会进入无限循环,因为`n/=10;`这行代码在`n`等于0时仍会执行。为修复此问题,可以在`while`循环条件前添加检查`n!=0`的条件,以避免在`n`为0时继续循环。修正后的代码如下:
```c
while(n != 0) {
r *= n % 10;
n /= 10;
}
```
这将确保在`n`为0时,循环停止。
3. **编程题**
此编程题要求编写一个函数`fun`,找出1到`m`之间(含`m`)能被7或11整除的所有整数,并将它们存入数组`b`中,同时返回这些数的个数。题目中给出的函数`fun`有一些问题:
- 函数`fun`的参数`*n`用于返回整数的个数,但不应该在函数内部初始化为0。
- `Return(n);`应更改为`*n=j; return;`,因为函数不返回任何值。
- 函数签名应更改为`void fun(int m, int b[], int* n)`,避免在函数内对`n`进行赋值操作。
- 在`for`循环中,当`i`满足能被7或11整除的条件时,应检查数组`b`是否有足够的空间存储新元素。
修正后的`fun`函数如下:
```c
void fun(int m, int b[], int* n)
{
int i, j = 0;
for (i = 1; i <= m; i++)
{
if (i % 7 == 0 || i % 11 == 0)
{
if (j < N) // 确保数组有空间
{
b[j] = i;
j++;
}
else
{
printf("Array overflow, cannot store more numbers.\n");
break;
}
}
}
*n = j; // 返回存储的整数个数
}
```
在实际考试中,考生需确保程序的正确性和效率,同时注意代码的可读性,因为这是评分的一部分。对于编程题,还需要注意内存管理,防止数组溢出等问题。在完成题目后,考生应进行测试,确保程序能处理各种边界情况。
106 浏览量
2010-08-17 上传
2022-12-01 上传
2021-10-10 上传
2010-03-15 上传
2021-10-08 上传
2021-10-13 上传
2013-03-19 上传
k5445455
- 粉丝: 0
- 资源: 2
最新资源
- ejercicios-1.9
- hiccup-d3:D3-用Clojure编写的图表
- 递18集运代运助手-crx插件
- documentdb-node-getting-started:此示例向您展示如何快速开始使用Microsoft Azure DocumentDB服务和Node.js
- SoundTestMobile:一个Android手机声音应用程序,用于声音测试的实验,例如频率、延迟等
- hackthenorth-frontend-challenge:提交Hack The North Front-end Challenge
- 步骤8
- confetti:with五彩纸屑效果,新年快乐
- 惠喵-优惠直播-crx插件
- 电子功用-用于检测分布式发电机的孤岛运行的方法
- i18n-cn-autotrans-loader:翻译插件
- OIM-API-Samples:我的第一个 Git 存储库
- EC20 R2.1.7z
- 简历-
- Jeapordy
- d3Chart:d3图表