2012年9月全国计算机二级C语言上机题库详解及部分编程练习

需积分: 8 22 下载量 79 浏览量 更新于2024-07-28 1 收藏 285KB DOC 举报
2012年9月全国计算机等级考试二级C语言上机题库涵盖了多种编程练习题型,旨在测试考生对C语言基础知识和实践能力的理解。以下是题库中涉及的部分知识点: 1. 程序填空: 这部分题目考察了结构体数组的操作和字符串比较。考生需要理解如何使用`struct student`来存储学生信息,包括学号、姓名和成绩,并利用`strcmp`函数实现按照姓名字典序排序。通过遍历结构体数组,利用条件语句如`if(strcmp(a[i].name,a[j].name)>0)`判断当前元素与前一个元素的姓名大小关系,进行升序排列。 2. 程序修改: - 第一题要求找出字符串中ASCII码值最大的字符,并将其移到首位。这涉及到字符串操作和数组索引的理解,考生需要知道如何使用`q=p+i`来跟踪最高值的位置,以及如何通过`while`循环进行元素交换。 - 第二题是对数组元素的排序,这里可能用到了选择排序算法。考生需掌握基本的比较和交换操作,以便在`for`循环中找到最小值并交换到相应位置。 3. 程序设计: - 函数`fun`在不同场景中都有应用,如筛选特定分数范围的学生、删除链表中的重复元素、对数组进行排序以及查找符合条件的整数。这些题目涉及数据结构(如链表)、数组操作、条件判断和循环控制等C语言核心概念。 - 学生数据筛选函数:需要遍历整个数组,使用`if`条件判断学生分数是否在指定范围内,并将满足条件的元素添加到目标数组中,同时返回筛选后的元素数量。 - 删除重复元素:涉及链表操作,通过`free()`释放不再需要的节点,然后更新指针指向下一个值,直到链表中的重复数据被消除。 - 排序函数:选择法排序可能涉及到临时变量和循环嵌套,确保每次选择出当前未排序部分的最小值。 - 整数查找函数:通过`for`循环和条件逻辑,计算符合条件的整数个数,并将其存储在数组中。 这些题目全面检验了考生对C语言基础语法、数据结构和算法应用的理解,旨在提升他们的编程技能和解决问题的能力。通过解答这些题目,考生能够巩固和加深对C语言核心知识的理解,并熟悉常见的编程技巧。