计算机二级C语言上机考试必备:100题库解析
需积分: 5 114 浏览量
更新于2024-07-24
收藏 1.14MB DOC 举报
"这份文档是2011年九月的二级C语言上机考试题库,包含了100道填空题,旨在帮助考生熟悉考试题型和备考。题目中的程序代码要求考生在指定位置填写正确的内容以完成程序功能。提供的代码示例是一个计算单向链表中所有节点数据域之和的函数。"
在C语言中,链表是一种常用的数据结构,用于存储动态数据集合。在这个给定的程序中,我们关注的是一个单向链表,其节点定义如下:
```c
typedef struct list {
int data;
struct list* next;
} SLIST;
```
这个结构体包含两个成员:`data`存储整型数据,`next`是一个指向下一个节点的指针。`SLIST`是类型别名,方便我们之后在代码中引用。
函数`fun(SLIST*h)`的目的是计算链表中所有节点的数据域之和。函数接受一个参数`h`,这是链表的头节点。为了实现这个功能,我们需要遍历整个链表。在给定的代码中,`p`被初始化为`h->next`,即链表的第一个有效节点(因为`h`本身是头节点,它的`next`指向第一个实际的节点)。然后,通过`while(p)`循环遍历链表,每次迭代将`p->data`累加到`s`中,最后返回`s`作为所有节点数据的和。
在`fun`函数中,有两处需要填写的地方:
1. `s += p->___1___;` 应该填写`data`,因为我们需要将当前节点的`data`值累加到`s`。
2. `p = p->___2___;` 应该填写`next`,这样`p`就可以移动到链表的下一个节点。
在`main`函数中,`creatlist(int a[])`函数被调用来创建链表,它接受一个整型数组`a`,并使用数组元素创建相应的链表节点。数组`a`在这里是`{12, 87, 45, 32, 91, 16, 20, 48}`,创建的链表每个节点的`data`值对应数组中的一个元素。
`outlist(head)`函数用于输出链表的所有节点数据,便于调试或验证链表的正确性。最后,`printf("\nsum=%d\n", fun(___3___));`需要填写`head`,因为`fun`函数需要头节点作为参数来计算数据和。
这份练习题库涵盖了C语言中链表的基本操作,如链表的创建、遍历以及对链表节点数据的操作,这些都是二级C语言考试中常见的考点。通过解答这些题目,考生可以提高对C语言链表的理解和实际编程能力。
183 浏览量
2022-11-07 上传
2022-07-19 上传
2021-10-10 上传
2022-07-02 上传
192 浏览量
182 浏览量
2021-11-25 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
tftftftftftf1234
- 粉丝: 0
最新资源
- 编程思想:Bruce Eckel的Thinking in Java第三版中文版
- T61系列WinXP安装教程:告别兼容模式与难题
- 基于PowerBuilder的客房管理系统设计与实现
- 理解与应对:病毒处理技术详解
- SQL SERVER分页存储过程演进分析
- SQL SERVER 2005中调用Web Service实现外汇转换
- 增值业务平台网管系统技术规划与功能详解
- C/C++常用头文件详解
- Ubuntu 8.04 教程:快速入门与安装指南
- VB.NET中Event机制详解:从基础到自定义
- Eclipse中文教程:快速入门与环境设置
- JDBC API编程实战指南
- 《EJB设计模式》:提升企业应用开发效率的秘密武器
- SQL Server存储过程详解:优势、创建及语法
- ModelMaker 6.20用户手册:基础与设计模式详解
- ASP.NET/XML实例精通:66个深度教程