2013年3月计算机二级C语言上机考试题库解析
需积分: 1 85 浏览量
更新于2024-07-26
收藏 1.57MB DOC 举报
"计算机二级题库,C语言,程序设计,上机考试,试题解析"
这篇内容涉及的是计算机二级考试中的C语言上机试题,主要考察考生对于C语言基础语法、逻辑思维以及程序设计的能力。试题的形式是编程填空,目的是让学生理解和应用C语言中的整数操作、条件判断以及数据传递等基本概念。
首先,题目给出的函数`fun`的目标是处理一个无符号长整型数值,去除其中所有偶数位上的数字,保留奇数位上的数字,然后将结果以原顺序返回。这需要对数值进行逐位处理,因此使用了一个循环来遍历每一位。`while(*n)`的循环条件是基于指针`n`指向的数值不为零,意味着遍历直到整个数字处理完为止。
在循环内部,`t=*n%10;`这一行代码用于获取`n`所指变量的个位数,`10`是取模运算的基数,因此这里填写`10`是正确的。接下来的条件判断`if(t%2!=0)`用来检查这个个位数是否为奇数,`0`表示偶数,`1`表示奇数,所以这里填写`0`表示判断是否是偶数。
如果当前位是奇数,即`t%2!=0`,则将其累加到结果变量`x`中,并将`i`乘以`10`,这样可以确保新数的位序保持不变。之后,`*n=*n/10;`这一步是将原数的个位数移除,相当于向左移动一位。最后,`*n=x;`将处理后的新数赋值回`n`所指的变量,这样通过调用`fun`函数,原数就被转换为了只包含奇数位的新数。
在主函数`main`中,首先有一个输入验证的过程,确保用户输入的数值在`0`和`100000000`之间。然后调用`fun`函数处理这个数,并打印出结果。
另一个提及的函数`fun`(MODI1.C中的)是计算阶乘的,即输入一个正整数`n`,返回`n!`(n的阶乘)。这通常涉及到递归或者循环的实现,递归版本的函数可能会是这样的:
```c
unsigned long long fun(int n) {
if (n == 0 || n == 1) return 1;
else return n * fun(n - 1);
}
```
而循环实现则是用一个累乘的过程,从1乘到`n`。
总结起来,这部分内容主要涵盖了C语言的基本数据类型操作、指针的使用、循环控制、条件判断、函数参数传递以及简单的算法设计。考生需要熟悉这些基础知识,并能灵活应用到实际问题解决中,才能成功解答这类题目。
2024-02-05 上传
2019-03-20 上传
2023-09-24 上传
2024-07-04 上传
2024-11-26 上传
w1413593184
- 粉丝: 0
- 资源: 2
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录