中山大学软件工程专业C语言期末试题答案详解

需积分: 0 0 下载量 45 浏览量 更新于2024-08-05 收藏 117KB PDF 举报
本资源是中山大学软件学院2009级软件工程专业在2009秋季学期期末考试《程序设计(I)》的参考答案(A卷)。这份试卷分为两个部分:Section A - 多项选择题和Section B - 简答题。 Section A 是多项选择题,总分20分。题目涉及的知识点包括: 1. 计算两点之间的欧氏距离,通过使用距离公式 `(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)` 来求解,考察了基础数学在程序中的应用。 2. 一道涉及到求解二次方程的根的题目,给出了计算公式 `(b+sqrt(b*b-4*a*c))/(2*a)`,这展示了对一元二次方程解法的理解。 3. 结构体编程的基础,如定义结构体`circle`包含点和半径,并提供了获取圆面积和周长的方法,考察了结构体的定义和成员函数的编写。 4. 将十进制整数转换为二进制,使用循环结构逐位存储二进制结果,同时涉及到数组操作和条件判断。 5. 最后一个题目是寻找一个数组中最大值的算法,通过遍历数组并更新最大值,展示了数组操作和基本的比较逻辑。 Section B 包括简答题,总分40分,题目包括: 1. 要求学生编写一个函数,计算一组点到另一个点的欧氏距离,并返回距离。 2. 一道要求实现一个计算圆的面积和周长的函数,以及一个检查一个点是否在给定圆内的函数,体现了结构体的使用和几何计算。 3. 提供了一个将十进制整数转换为二进制字符串的函数,包括取余数、整除和逆序输出二进制数组的操作。 4. 最后一个问题是对数组进行查找最大值,强调了数组遍历和数值比较的基本算法设计。 这些题目涵盖了C语言的基本语法、数据结构、数学运算、控制流程和函数设计等知识点,对学生的程序设计能力和理解力有一定要求。对于学习或复习C语言的学生来说,这份答案是理解和掌握相关概念的重要参考材料。