您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > [优质文档]2019西南大学0039C语言程序设计机考大作业答案
西南大学网络与继续教育学院课程考试试题卷类别:网教2019年6月课程名称【编号】:C语言程序设计【0039】A卷大作业满分:100分一、大作业题目1.简述题(共30分)(1)“构建程序设计的思想和方法、提升阅读程序能力和编写程序能力”是C语言程序设计的课程学习目标。请简要说明你在C语言程序设计学习过程中学习了哪些内容?通过C语言的学习,你有哪些收获和体会?要求:回答问题真实真情表达(10分)(2)采用C语言编写程序的基本步骤有哪些?在VC6.0或DEVc++环境下,若要调试一个c语言程序,其基本过程是什么?调试程序过程中常见的错误有哪些?简述程序设计语言与程序的区别与联系(10分)(3)在C语言为什么规定对所有用到的变量要先定义,后使用”?这样的做有什么好处?请给出C语言的主要数据类型,请你给出至少2种以上的数据类型实例。(10分)2..编程题(1)编程计算sum=1+2+3+…+n的值。从键盘输入n的值。(2)编写一个程序从键盘输入一串字符串,统计该字符串中的数字字符和字母字符,然后输出。(3)编写一个函数fun求出分数序列,...1321,813,58,35,23,12的前n项之和,再写一主函数测试其功能。(4)编写一个程序,计算分段函数的值。要求有输入输出提示,计算结果精度为2位。)0(2xyxf(x,y)=)0(2xyx(5)编一程序找出所有三位数的水仙花数”并在屏幕上输出。其中水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一水仙花数”,因为153=13+53+33。(6)从键盘输入20正的整数,找出其中的素数并按降序排列这些素数并输出。要求:(a)编写一个函数intprime(intn)判断n是否是素数。(b)除prime函数外,其余功能在主函数内完成。(c)程序必须有输入输出提示。3.依据下列提供的程序回答问题#includestdio.hintfun(intm,intn){intr;while(r=m%n){m=n;n=r;}return(n);}intmain(){intm,n,k;printf(请输入两个正整数:\n);scanf(%d,%d,&m,&n);printf(num1=%d,num2=%d\n,m,n);k=fun(m,n);printf(Theansweris%d\n,k);}(1)上述提供程序中,函数fun的功能是什么?(2)请依据提供的函数fun代码画出其中的传统流程图或N-S图。(3)在VC6.0或DEV环境下,运行上述程序时,若输入的数据序列为24,64其输出结果是什么?二、大作业要求大作业共需要完成3个大题:第1题,满分30分;第2题(1)-(5)任选两题完成,各15分,(6)题必做,10分,满分40分;第3题(1)-(3)必做,满分30分。1、(1)在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,这不但是学习c语言,也时对任何一门学科学习的不二门法。(2)//先使用编辑工具如windows的记事本或vc++环境,或linux的vim编辑器创建一个hello.c文件//打开文件后,如下步骤写程序#includestdio.h//首先要引入c语言的标准输入输出库文件,因为这个文件里有已经定义好的可以使用的函数//接下来需要写一个main函数,这也是c语言程序里必不可少的一个函数,叫主函数,他是整个程序的入口函数,程序所有的功能实现都要在这个函数中体现。但是这个函数有且仅有一个intmain(){//这是main函数的函数体,要实现什么功能,就把实现功能的语句写到这里面//比如我要实现打印HelloWorld字符,那么我就调用printf()标准输出语句printf(HelloWorld!\n);//这个语句表示原样输出引号内的字符,‘\n’表示换行return0;//最后,因为main函数有一个int的返回类型限定,那么我们使用return语句返回一个int类型的值0.}//这样就结束了。一个简单的但又完整的C程序就有了,//下一步就是使用编译器编译成目标的可执行文件://如果是windows下的vc++,那么需要分别点击编译,链接两个按钮生成hello.exe可执行文件//如果是linux下直接在shell中使用gcchello.c就可以编译成可执行文件a.out//最后就是运行了,windows下直接点击vc++的运行或双击hello.exe可以出现dos窗口运行,并显示结果,linux下使用“./a.out”可以直接运行,运行结果会显示在shell中。//这就是整个完整的流程,包括每一步。调试过程:设置断点,调试命令,察看变量,查看内存,常见错误:C语言程序设计的错误可分为语法错误、连接错误、逻辑错误和运行错误。VC++和DEVC++都是C++语言的开发工具。如果只是做些小程序,基本上看不出区别。两者DEBUG和RELEASE上的时间有所不同。还有一点就是,通常如果是在VC++下编写的代码,不是很规范,拿到DEVC++上会报错。而反过来则可以运行。这里涉及到GCC的问题,它对标准的支持表现在不支持非标准的东西,但是DEVC++有个最大的好处就是体积小,没有VC++这么大,可以装到U盘里。(3)1对于编译器处理更方便。在编译的时候,编译器需要为变量定义符号列表,有显式的变量定义,可以让编译器更方便的查找到变量列表,从而确定变量符号列表,执行后续的编译操作。2不容易出错。可以识别出变量名的手打错误。比如定义了var_name,在调用的时候如果写作了var_nane,如果没规定要先定义后使用,那么var_nane就会被当做一个新的变量使用,只到运行时才会发生错误。而按照C语言的规定,在编译阶段就可以发现该错误。3程序更清晰。变量定义时,直接指明类型,这样在阅读程序时不需要为查知变量类型而花费额外时间。2、(1)#includestdio.hmain(){inti,n,sum=0;printf(inputn:);scanf(%d,&n);for(i=1;i=n;i++){sum+=i;}printf(sum=%d\n,sum);}(5)#includestdio.h#includemath.hintmain(){inti=0;for(;i=999;i++){inttmp=0;intsum=0;intcount=1;tmp=i//把i赋值给tmpwhile(tmp/10)//用while循环判断有几位数{count++;//满足条件,计数器++tmp/=10;}tmp=i;//重新赋值while(tmp)//判断i是否为水仙花数{sum+=pow((tmp%10),count);//pow函数,求一个数的次方,如输入参数pow(3,3),即得27tmp/=10;}if(sum==i)//如果sum等于i,找到了,并且输出printf(%d,i);}return0;}(6)#includestdio.h#includemath.h#defineN5intpri[N];intflag=0;//判断有无素数无则返回1,有则返回0intcount=0;//素数个数voidprime(intar[],intn);main(){inta[N];inti,j,temp;printf(input%dnumbersbelow:,N);for(i=0;iN;i++)scanf(%d,&a[i]);prime(a,N);for(i=0;icount;i++)for(j=i+1;jcount;j++)if(pri[i]pri[j]){temp=pri[i];pri[i]=pri[j];pri[j]=temp;}if(flag==1){printf(Aftersorting:\n);for(i=0;icount;i++)printf(%d\n,pri[i]);printf(\n);}return0;}voidprime(intar[],intn){inti,j,m;for(i=0;in;i++){m=(int)(sqrt(ar[i])+1);for(j=2;j=m;j++)if(ar[i]%j==0)break;if(jm){flag=1;pri[count++]=ar[i];printf(%4d\n,ar[i]);}}printf(Noprimer\n);}3、(1)fun的功能是求m个数的平均值(3)这些偶数的平均值是16
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:[优质文档]2019西南大学0039C语言程序设计机考大作业答案
链接地址:https://www.777doc.com/doc-5964322 .html