2012年3月全国计算机二级C语言上机题库:结构体操作与链表管理

需积分: 1 0 下载量 79 浏览量 更新于2024-07-29 收藏 1.31MB DOC 举报
计算机等级考试主要考察C语言编程基础和应用能力,以下是从提供的三个题目中提炼的关键知识点: 1. 程序填空与排序算法 - 第一套题目涉及到结构体数组的排序,使用了C语言中的`strcmp()`函数来比较学生姓名,这是一个字符串比较操作。函数`fun`的目的是对结构体数组按照姓名字典序进行升序排序,通过`if(strcmp(a[i].name,a[j].name)>0)`判断元素顺序,实现冒泡排序或者快速排序的思想。 2. 修改字符串处理函数 - 在第二套题目中,函数`fun`的目标是找到给定字符串中ASCII码值最大的字符,并将其移到第一位。通过`q=p+i;`和`while(q>p)`的循环结构,实现了字符数组的遍历和交换操作。 3. 数据结构与筛选函数 - 第三个题目涉及链表操作,`fun`函数用于删除链表中重复的数据,仅保留每个数据域值的一个节点。使用了链表节点的指针操作,如`free(q)`释放内存,`q=p->next`和`q=q->next`用于遍历链表和节点的删除。 4. 数组排序与筛选 - 第二套的第二个题目是用选择排序方法对数组进行升序排列,通过两个指针`p`和`j`交替更新,找到最小值并进行交换。 5. 求和与计数函数 - 第三个题目要求编写一个函数`fun`,计算1到`m`之间能被7或11整除的整数,通过变量`*n`记录符合条件的数的个数,并将它们存入数组`a`。 以上知识点涵盖了C语言的基础数据结构操作(如链表、数组),排序算法(选择排序),以及基本的算法设计(查找、筛选和计数)。掌握这些技能对于通过计算机等级考试的二级C语言部分至关重要。在实际编程过程中,考生需要熟练运用这些原理解决实际问题。