西南大学网络与继续教育学院课程考试试题卷 类别: (网教/成教) 专业:计算机科学与技术,计算机应用技术,计算机教育,计算机科学与技术(计算机科学教育) 2024年 3 月 课程名称【编号】: C语言程序设计 【0039】 A卷 大作业 满分:100 分 一、大作业题目 1. 简述题(30分) (1)“构建程序设计的思想和方法、提升阅读程序能力和编写程序能力”是C语言程序设计的课程学习目标。请简要说明你在C语言程序设计学习过程中学习了哪些内容?通过C语言的学习,你有何感受和体会?在回答问题要求真实真情表达(10分) (3) 编写一个程序的一般过程是什么?在VC6.0或DEVc++环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?(8分) 答: 编写C语言程序的一般步骤:分析问题、构建算法、描述算法、编 码、调试。 在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行 调试程序中常见的错误有语法错误和逻辑错误。其中语法错误通过编 译来实现,逻辑错误通过单步追踪和设置断点的方法来发现逻辑错 误。 2.编程题(40分) (1) 编写一个函数,当x大于等于-1的时候,f(x,y)?的时候,f(x,y)?x?1?y3,当x小于-1且y大于等于-1 x3?y?1,其余情况f(x,y)=0.000, 要求有输入输出提示,结果精度为3位。 (2)输出1-500之间的所有能被9整除的数,并求出这些数的平均值输出。 (3)编写一个函数fun计算公式s?1?33?55?7(2?n?1)?(2?n?1)的???...?2222246(2?n)答:学习C语言的内容:变量、数据类型、表达式、顺序型程序、选择型程序、循环型程序、数组、函数、指针。 学习C语言的感受:C语言是一门高级语言,可以做到想明白一个问题数学上怎么解决了,就可以编程了。C语言学习的编程工具对新手的提示比较少,调试程序难度较大。某些算法比较难,比如排序不太好理解。 (2)简述结构化程序设计的核心思想是什么? C语言程序是如何实现结构化思想的?C语言程序中的自定义函数由哪两部分组成?各自的作用是什么?(12分) 答 : 结构化程序设计方法是一种自顶向下、逐步求精、模块化的程序 设计方法。按照结构化程序设计方法的思想,就是将给定的一个功能 较多的复杂问题合理地划分为若干个较简单的子问题,还可以将这些 子问题再分解为若干功能更简单的子任务(可将每个子任务看作一个 模块),以便于“分而治之” C语言在模块划分时,应该尽可能地保证数据的独立性和模块功能的唯 一性。也就是说,各模块间的耦合性要尽量弱,即一个模块最好像是 一个黑盒子,模块间的数据交换要尽量少;模块的内聚性要尽量强, 即每个模块只完成单一的功能。 结构化程序设计强调程序设计风格和程序结构的规范化,提倡 结构清晰。良好的程序设计风格可以使程序结构清晰合理,使程序代 码便于维护。著名的“清晰第一,效率第二”的论点已成为当今主导的 程序设计风格。 采用结构化程序设计方法的好处是:可以使每个模块功能明 确,模块间的关系简单、清晰(即可读性强),每个模块内部的修改 尽可能不影响其他模块(即独立性好),同时每个模块的正确性容易 验证(即可维护性好)。 由函数的首部和函数体组成的,函数的首部即是函数的第一行,包括函数名、函数类型、函数参数名、参数类型;函数体一般包括声明部分和执行部分。 前n项之和,再写一主函数测试其功能。 答: #include \void fun(int n) { } void main() { int n; printf(\请输入自然数N(N>1):\\n\scanf(\fun(n); double s = 0.0, t; int i; for (i = 1;i <= n;i++) { } printf(\此数列的前N项的和是:%.3lf\\n\t = 2 * i; s = s + (t - 1) * (t + 1) / (t*t); - 1 -
} } for (i = 0;i < n;i++) for (j = 0;j < n - i;j++) if (a[j] > a[j + 1]) { } t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; (4)编写程序打印下列图案 # ## ### #### ##### 答: #include \void main() { int i,j; } for (int i = 0;i <= 4;i++) { } for (int j = 0;j <= i;j++) { } printf(\ printf(\#\printf(\排序以后的数:\for (i = 1;i <= n;i++) printf(\printf(\int main() { int n; int a[]; int i,j=0; printf(\请输入n值:\ (5)编一程序求n!,其中n从键盘输入。 (6)利用随机函数产生n个100-300的随机整数放入数组a中,n由键盘输入,然后对数组中的数字进行升序排序。 要求: (1)编写一个函数sort(int n,int a[]),对数组a进行排序。 (2)主函数中产生随机整数,并调用sort函数进行测试。 (3)程序必须有相应的输入输出提示。 答: #include \void sort(int a[],int n) { int i, j, t; scanf(\ for (i = 0;i < n;i++) { } printf(\这n个整数为:\for (i = 0;i < n;i++) printf(\a[i] = rand() % 201 + 100 printf(\sort(a,n); - 2 - } return 0; 3.依据下列提供的程序回答问题 #include