程序设计与算法语言Ⅱ考试试题——改错与编程

0 下载量 39 浏览量 更新于2024-08-04 收藏 39KB DOC 举报
"11-12程序设计及算法语言Ⅱ上级考试试卷A(电类).doc" 是一份针对2010级电类学生的程序设计与算法语言Ⅱ的机试考试试卷,主要包含两个部分:改错题和编程题。 改错题(50分): 此部分要求学生在给定的C++源代码中查找并修正语法错误和少量逻辑错误。源代码是一个实现选择排序的程序,用于对字符串"Hello World!"进行排序,目标排序结果为"roollledWH!"。考生不能添加或删除语句,只能修改,并在修改后的语句后注明错误编号。提供的源代码存在错误,例如主函数调用SelectSort时传入了错误的参数,以及在输出排序后的字符串时也使用了错误的索引。 含错误的源程序分析: 1. 主函数`main()`中调用`SelectSort(list[n])`时,应该传入数组的地址,即`list`而不是`list[n]`,这是错误1。 2. 在输出排序后的字符串时,`cout<<"已排序字符串:"<<list[n]<<endl;`应改为`cout<<"已排序字符串:"<<list<<endl;`,因为要输出整个字符串,不是第n个字符,这是错误2。 3. `SelectSort`函数内部,`for(j=0;j<=n;j++)`循环应该只到`j<n`,否则会访问越界,这是错误3。 编程题(50分): 这部分要求学生编写一个C++程序,定义一个链表类`List`,存储整型数据。链表应能从当前目录下的文件"ListA.txt"中读取数据,并将数据输出到控制台。这涉及到文件I/O操作、链表结构的设计和流运算符的重载。考生需要创建一个链表对象,读取文件数据,然后将链表内容输出。 关键知识点: 1. C++程序设计基础:包括语法、变量声明、函数调用等。 2. C++流I/O:`ifstream`用于从文件读取,`ofstream`用于向文件写入,`cin`和`cout`用于标准输入输出。 3. 链表数据结构:理解链表节点的定义和操作,如插入、删除、遍历。 4. 文件操作:正确打开、读取和关闭文件。 5. 类与对象:定义类,实现成员函数,可能包括构造函数、析构函数和重载运算符。 6. 错误调试:识别并修正语法和逻辑错误,理解错误提示。 7. 标准库的使用:如`<iostream>`和`<fstream>`库的使用。 为了完成这两道题,考生需要具备扎实的C++基础知识,对链表操作有深入理解,同时熟悉文件I/O和错误调试技巧。通过这样的考试,可以评估学生在程序设计和算法应用上的能力。