全面掌握:计算机等级考试二级C语言上机题库解析
4星 · 超过85%的资源 需积分: 9 149 浏览量
更新于2024-07-30
收藏 795KB DOC 举报
"这是一个针对计算机等级考试二级C语言的上机题库,包含了100套题目,每套包括三类题目:程序填空、程序修改和程序设计。考生在实际考试中会随机抽取一套进行作答。为了确保万无一失,考生需要全面理解和掌握所有题库内容。"
在提供的部分题目中,我们有两个具体的编程问题:
1. 第一个问题是关于C语言的函数,`fun` 函数的目的是从给定的无符号长整型数值中去除所有偶数位数字,只保留奇数位数字,并保持原有的高位到低位顺序。解题思路如下:
- 第一处下划线应填写 `10`,因为 `%10` 是用来获取数值的个位数。
- 第二处下划线应填写 `0`,用以判断取模结果是否为偶数,`t%2!=0` 表示判断t是否为奇数。
- 第三处下划线应填写 `x`,因为最终需要将处理后的新数通过形参`n`返回。
修正后的代码段:
```c
void fun(unsigned long *n) {
unsigned long x = 0, i; int t;
i = 1;
while (*n) {
t = *n % 10;
if (t % 2 != 0) {
x = x + t * i;
i = i * 10;
}
*n = *n / 10;
}
*n = x;
}
```
2. 第二个问题是关于计算阶乘的`fun`函数。给定的源程序在计算阶乘时存在错误,需要改正以避免溢出和确保只处理正整数。解题思路如下:
- 第一处下划线应该将条件语句改为 `if (n == 0)`,因为0的阶乘定义为1。
- 第二处下划线的条件应去除,因为计算阶乘时不需要限制n的值在1和170之间。
修正后的代码段:
```c
double fun(int n) {
double result = 1.0;
if (n == 0)
return 1.0;
while (n > 1) {
result *= n;
n--;
}
return result;
}
```
这两个问题都需要对C语言的基本语法和逻辑有深入的理解,包括指针、条件判断、循环和数学运算等。对于计算机等级考试的考生来说,熟练掌握这些知识点至关重要。
2019-03-31 上传
2023-09-26 上传
2023-06-03 上传
2023-05-10 上传
2024-03-25 上传
2023-09-20 上传
2023-08-25 上传
604028648
- 粉丝: 0
- 资源: 5
最新资源
- 明日知道社区问答系统设计与实现-SSM框架java源码分享
- Unity3D粒子特效包:闪电效果体验报告
- Windows64位Python3.7安装Twisted库指南
- HTMLJS应用程序:多词典阿拉伯语词根检索
- 光纤通信课后习题答案解析及文件资源
- swdogen: 自动扫描源码生成 Swagger 文档的工具
- GD32F10系列芯片Keil IDE下载算法配置指南
- C++实现Emscripten版本的3D俄罗斯方块游戏
- 期末复习必备:全面数据结构课件资料
- WordPress媒体占位符插件:优化开发中的图像占位体验
- 完整扑克牌资源集-55张图片压缩包下载
- 开发轻量级时事通讯活动管理RESTful应用程序
- 长城特固618对讲机写频软件使用指南
- Memry粤语学习工具:开源应用助力记忆提升
- JMC 8.0.0版本发布,支持JDK 1.8及64位系统
- Python看图猜成语游戏源码发布