2018年12月西南大学网络教育[0039]《C语言》大作业答案

同汇编语言相比,C语言将与硬件相关的部分也通过库函数或其他相关函数来实现,不再依赖于具体的机器,广泛地移植到了各种类型计算机上,从而体现了C语言的易移植性。 西南大学网络与继续教育学院课程考试试题卷 类别:网教 专业:计算机教育 2018年12月 (4)C语言的运行效率高 课程名称【编号】:C语言程序设计【0039】 A卷 用C语言编写的程序可通过编译获得高效的可执行代码编写C语言程序的一般步骤: 大作业 满分:100分 分析问题、构建算法、描述算法、编码、调试。 在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行 调试程序中常见的错误有语法错误和逻辑错误。其中语法错误通过编译来实现,逻辑错误通过单步追踪和设置断点的方法来发现逻辑错误。 (2)通过你对C语言程序设计课程的学习,你认为C语言具有哪些特点?在C语言中程序有哪三种基本结构?在C语言中,实现这三种基本结构的主要语句有哪些? (12分) C语言程序包括哪些三种基本结构:顺序结构、选择(或分支)结构、循环结构. 三种基本结构图示依据作业情况评定 Ø 顺序结构 顺序结构是一种最基本、最简单的程序结构。先执行A,再执行B,A与B是按照顺序执行。 Ø 选择(或分支)结构 根据条件是否成立而去执行不同的程序模块。当条件P为真时,执行A,否则执行B,即要么执行A,要么执行B。 - 1 -

一、大作业题目 1.简述题(共30分) (1)“构建程序设计的思想和方法、提升阅读程序能力和编写程序能力”是C语言程序设计的课程学习目标。请简要说明你在C语言程序设计学习过程中学习了哪些内容?通过C语言的学习,你有何感受和体会?在回答问题要求真实真情表达(10分) 答:(1)C语言是一种结构化的语言 一个C语言程序是由一个或多个函数组成,函数是C语言的基本单位。 (2)C语言有强大的表现能力和处理能力 C语言具有丰富的运算符和数据类型,并且引入了结构、指针、地址、位运算、寄存器存储等功能,使C语言实现了对硬件编程操作,大大提高了C语言的表现能力和处理能力。 (3)C语言程序易于移植 Ø 循环结构 循环结构是指重复执行某些操作,重复执行的部分称为循环体。 (3)简述算法、程序设计语言与程序的区别与联系。(8分) 答: 区别:算法(Algorithm)就是对解决某问题所采用的方法和步骤的描述。程序设计语言设计上就是一组符号及规则的集合。它是由语法、语义、语用三个要素组成。一个程序一般包括数据类型和算法两个方面的内容。其中数据类型(即数据结构)是对程序中的数据进行描述,指定数据在程序中的类型和数据的组织形式,它决定了数据的在内存中所占的存储空间和数据在内存中存放形式。而算法是对程序中数据的操作 } printf(\函数f(%.0lf,%.0lf)=%.3lf\\n\(2)输出100-200之间的所有偶数,并求出这些数的平均值输出。 #include“stdio.h” void main() { int x, sum = 0, count = 0; for (x = 1;x <= 200;x++) if (x % 2 == 0) { } printf(\sum += x; count++; 描述,是解决“做什么”和“怎么做”的问题,源程序中的操作语句就是算法的体现。 正如著名计算机科学家沃思(Nikiklaus Wirth)所提出的观点:程序=数据结构+算法。 联系:程序设计语言是编写程序实现算法的语言工具 2..编程题 (1) 编写一个函数计算函数f(x,y)=x2-y2+sin(x)的值,要求有输入输出提示,结果保留小数点后3位。 答: #include #include } printf(\这些偶数的平均值是:%d\\n\ (3)编写一个函数max(int x,int y,int z),返回三个数中的最大值,再写一主函数测试其功能。 void main() { double x, y,result; printf(\请分别输入x,y的值:\scanf(\ result = x*x + y*y + sin(x); (4)编写程序打印下列图案 1+1=2 1+2=3 2+2=4 1+3=4 2+3=5 3+3=6 - 2 -

1+4=5 2+4=6 3+4=7 4+4=8 (5)编写一个程序从键盘输入一串字符串,将其中的所有大写字母改为小写字母,若有数字字符,则将其中加1(字符9变为0),去掉字母数字以外的字符,然后输出。不允许使用字符串函数实现。 (6)从键盘上任意输入10个2位或3位整数存放在array数组中,找出array数组中的能够被9整除的数存放在数组b中,并对b数组的值按降序排列。 要求: (a)编写一个sort(int word,inta[])函数实现排序功能。 (b)除sort函数外,其余在主函数内完成,但主函数必须调用sort函数实现排序功能。 (c)程序必须有输入输出提示。 #include \void sort(int a[],int n) { int i, j, t; 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; } int main() { } 3. 依据下列提供的程序回答问题 #include #include int f(int x){ - 3 -

int array[10]; int b[10]; int i,j=0; printf(\请输入10个整数:\for (i = 0;i < 10;i++) { } printf(\这10个整数中,能被9整除的有:\for (i = 0;i < j;i++) printf(\scanf(\ if (array[i] % 9 == 0) b[j++] = array[i]; printf(\sort(b, j); return 0; printf(\排序以后的数:\for (i = 1;i <= n;i++) printf(\int i; for(i=2;i<=sqrt(x);i++) printf(\ if(x%i==0) return 0; (3)输出结果 97 17 3 11 43 7 89 满足条件的数的个数是7 二、大作业要求 大作业共需要完成3个大题: 第1题,满分30分; 第2题(1)-(5)任选两题完成,各15分,(6)题必做,10分,满分40分; 第3题(1)-(3)必做,满分30分。 return 1; } int main(){ int a[10],i,n=0; for(i=0;i<10;i++){ printf(\请输入a[%d]:\scanf(\ } for(i=0;i<10;i++) if( f(a[i]) ){ printf(\ n++; } } printf(\满足条件的数的个数为%d\return 0; (1)上述提供程序中,函数f的功能是什么? (2)请依据提供的函数f的代码程序,画出其的传统流程图或N-S图或自然语言描述。。 (3)在VC6.0环境下,运行上述程序时,若输入的数据序列为97,36,17,110,3,12,45,43,7,89其输出结果是什么? 答:(1)提供程序的功能是什么? 判断x是否是素数 (2)依据考生答题给分 - 4 -

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4