2013年二级C语言上机考试题库解析
需积分: 10 102 浏览量
更新于2024-07-21
收藏 782KB DOC 举报
"这是一个关于2013年二级C语言上机考试的题库,包含了100套题目,每套有3道题,包括程序填空、程序修改和程序设计。考生需理解所有题库内容以确保考试成功。提供的部分题目涉及到函数fun的功能,该函数用于去除输入数中各位为偶数的数字,并保留奇数位,重组后的数字通过指针传回。此外,还有一个计算阶乘的函数fun作为另一道题目的示例。"
在C语言编程中,给定的代码段用于处理一个特定的问题,即从一个整数中移除所有偶数位数字,并保留奇数位数字。这个过程通过定义一个名为`fun`的函数来实现,它接受一个无符号长整型指针`n`作为参数。以下是这个功能的详细解释:
1. 首先,函数`fun`创建了一个无符号长整型变量`x`和一个整型变量`i`,初始化为1。`x`用于存储处理后的数字,`i`用于记录当前数字的位权。
2. 使用`while`循环,只要`n`指向的值不为0,就会持续执行循环体。在循环内,`t`通过`*n % 10`获取`n`的个位数字,这是第一处填空,应填10,因为我们要获取的是个位数。
3. 接下来,`if`语句检查`t`是否为奇数,即`t % 2 != 0`,这是第二处填空,应填0,表示判断条件为`t`不是偶数。
4. 如果`t`是奇数,那么将`t`与`i`的乘积累加到`x`,并更新`i`为`i * 10`,这样可以将数字移动到正确的位上。
5. 最后,用`*n = *n / 10;`去除`n`中的最低位(已处理过的偶数位或奇数位),继续处理下一位。
6. 当所有位都被处理后,将`x`赋值回`*n`,这是第三处填空,应填`x`,因为我们要更新`n`指向的值为新计算出的数字。
在主函数`main`中,用户被要求输入一个在0到100000000之间的非负数,然后调用`fun`函数处理这个数,并打印结果。
此外,另一个示例提到的`MODI1.C`中的函数`fun`是为了计算阶乘。对于输入的整数`n`,`fun`函数会计算从1到`n`的所有整数的乘积,即`n!`(n的阶乘)。阶乘在数学和计算机科学中都有广泛的应用,例如组合数学和概率计算。
这些题目旨在测试考生对C语言基本语法、逻辑控制和数值处理的理解,以及在实际问题中应用这些知识的能力。通过解决这样的练习题,考生可以提高他们的编程技巧和解决问题的能力。
2010-09-21 上传
2023-03-14 上传
2012-12-02 上传
2009-07-30 上传
2009-06-20 上传
2014-06-18 上传
duhuiduhui
- 粉丝: 0
- 资源: 1
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析