您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 2017西南 秋季 大作业 C语言程序设计【0039】答案
-1-西南大学网络与继续教育学院课程考试试题卷类别:网教专业:计算机科学与技术2017年12月课程名称【编号】:C语言程序设计【0039】A卷大作业满分:100分一、大作业题目1.简述题(共30分)(1)学习C语言程序设计的意义在于构建程序设计的思想和方法、提升阅读程序能力和编写程序能力。请简要说明你在C语言程序设计学习过程中主要通过哪些途径来学习?学习了哪些内容?通过C语言的学习,你有何感受和体会?在回答问题要求真实真情表达(10分)答:途径:(1)理解和记忆程序基本结构(2)熟练上机调试技能(3)灵活掌握编程技巧(4)以考促学(5)锻炼创新能力学习了掌握三种基本结构程序设计思想,阅读、分析和设计算法的能力,必要的程序设计基本技能训练以及掌握调试程序的基本技能等内容C语言是一门很有用的、对于我们的就业很实际的语言,学习好C语言是一项必须而实际的任务。我们必须要好好掌握。(2)C语言程序设计是一种结构化程序设计语言,请问结构化程序的基本思想是什么?(6分)答:结构化程序设计是指在程序的构成上只使用顺序、选择(即分支)和循环3种结构组成的编程方式。它强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路,是把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。结构化程序设计提倡模块化的设计方法(3)函数是构成C语言程序设计的基本单位,请问函数由哪两部分构成?在VC6.0环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?如何排除这些错误?(14分)答:函数由首部和函数体两部分构成。基本步骤:(1)编辑(2)编译(3)连接(4)运行程序程序中常见的错误有:语法错误、超出系统允许范围的错误和逻辑错误。1语法错误:在编写程序时违反了C语言的语法规定。语法不正确、关键词拼错、标点漏写、数据运算类型不匹配、括号不配对等都属于语法错误,在进入程序编译阶段,编译系统会给出出错行和相应“出错信息”。我们可以双击错误提示行,将光标快速定位到出错代码所在的出错行上。根据错误提示修改源程序,排除错误。2连接错误:如果使用了错误的函数调用,比如书写了错误的函数名或不存在的函数名,编译系统在对其进行连接时便会发现这一错误。纠正方法同1。3逻辑错误:虽然程序不存在上述两种错误,但程序运行结果就是与预期效果不符。逻辑错误往往是因为程序采用的算法有问题,或编写的程序逻辑与算法不完全吻合。逻辑错误比语法错误更难排除,需要程序员对程序逐步调试,检测循环、分支调用是否正确,变量值是否按照预期产生变化。4运行错误:程序不存在上述错误,但运行结果时对时错。运行错误往往是由于程序的容错性不高,可能在设计时仅考虑了一部分数据的情况,对于其他数据就不能适用了。例如打开文件时没有检测打开是否成功就开始对文件进行读写,结果程序运行时,如果文件能够顺利打开,程序运行正确,反之则程序运行出错。要避免这种类型的错误,需要对程序反复测试,完备算法,使程序能够适应各种情况的数据。2.编程题(1)编写一个函数计算函数1),(3yxyxf的值,要求有输入输出提示,输出结果保留小数点后2位。答:#includestdio.h#includemath.hvoidmain()-2-{doublex,y,result;printf(请分别输入x,y的值:);scanf(%lf%lf,&x,&y);result=sqrt(y+1)+x*x*x;printf(函数f(%.0lf,%.0lf)=%.2lf\n,x,y,result);(2)编写程序输出1-1000之间能够被5整除的所有整数,并求出这些整数的和输出。(3)从键盘输入10个正的整数,找出其中的素数输出。答:#include#includeintf(intx){inti;for(i=2;i=sqrt(x);i++)if(x%i==0)return0;return1}voidmain(){inta[10],i,n=0,j,t;for(i=0;i10;i++)scanf(%d,&a[i]);for(i=0;i10;i++)if(f(a[i])n++;elsea[i]=0;for(i=0;i9;i++)for(j=0;j9-i;j++)if(a[j]A[J+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}printf(共有%d个素数,它们是:,n);(4)编写程序打印下列图案(5)写一个函数计算一个字符串的长度,再写一个测试函数测试其功能。不允许使用strlen函数(6)从键盘上任意输入50个整数存放在a数组中,找出a数组中所有偶数存放在数组b中,并对b数组的值按降序排列。要求:(a)编写一个sort(intn,intb[])函数实现排序功能。(b)除sort函数外,其余在主函数内完成,但主函数必须调用sort函数实现排序功能。(c)程序必须有输入输出提示。答:#includestdio.hvoidsort(inta[],intn){inti,j,t;for(i=0;in;i++)for(j=0;jn-i;j++)if(a[j]a[j+1])t=a[j];a[j]=a[j+1];a[j+1]=t;printf(排序以后的数:);for(i=1;i=n;i++)printf(%d,a[i]);printf(\n);}intmain()intarray[50];intb[50];inti,j=0;printf(请输入50个整数:);for(i=0;i50;i++){scanf(%d,&array[i]);if(array[i]%2==0)b[j++]=array[i];}printf(这50个整数中,偶数的有:);for(i=0;ij;i++)printf(%d,b[i]);printf(\n);sort(b,j);return0;}3.依据下列提供的程序回答问题#includestdio.hintfun(inta,intb){intr;while((r=a%b)!=0)-3-{a=b;b=r;r=a%b;}return(b);}main(){intnum1,num2,a;printf(请输入两个整数:);scanf(%d,%d,&num1,&num2);printf(num1=%dnum2=%d\n\n,num1,num2);a=fun(num1,num2);printf(%d和%d中的最大公约数是%d\n\n,num1,num2,a);}(1)上述提供程序中,函数fun的功能是什么?(2)请依据提供的函数fun的程序代码,画出该算法的传统流程图或N-S图或自然语言描述。(3)在VC6.0环境下,运行上述程序时,若输入的num1和num2分别为49和21,则输出结果是什么?答:(1)函数fun的功能是:求两个非零正整数的最大公约数(2)(3)若num1和num2分别为49和21,则输出的最大公约数为7二、大作业要求大作业共需要完成3个大题:第1题,满分30分;第2题(1)-(5)任选两题完成,各15分,(6)题必做,10分,满分40分;第3题(1)-(3)必做,满分30分。
本文标题:2017西南 秋季 大作业 C语言程序设计【0039】答案
链接地址:https://www.777doc.com/doc-4822965 .html