《西南大学2022年网络与继续教育[0039]《C语言程序设计》大作业试题(资料).doc》由会员分享,可在线阅读,更多相关《西南大学2022年网络与继续教育[0039]《C语言程序设计》大作业试题(资料).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、西南大学网络与继续教育学院课程考试试题卷类别: 网教 2022年 6月课程名称【编号】: C语言程序设计 【0039】 A卷大作业 满分:100 分 一、大作业题目1.简述题(共30分) (1)“构建程序设计的思想和方法、提升阅读程序能力和编写程序能力”是C语言程序设计的课程学习目标。请简要说明你在C语言程序设计学习过程中学习了哪些内容?通过C语言的学习,你有哪些收获和体会?要求:回答问题真实真情表达(10分)(2) 采用C语言编写程序的基本步骤有哪些?在VC6.0或DEVc+环境下,若要调试一个c语言程序,其基本过程是什么?调试程序过程中常见的错误有哪些?简述程序设计语言与程序的区别与联系(
2、10分)(3)在C语言为什么规定对所有用到的变量要先定义,后使用”?这样的做有什么好处?请给出C语言的主要数据类型,请你给出至少2种以上的数据类型实例。(10分)2.编程题(1) 编程计算sum=1+2+3+n的值。从键盘输入n的值。(2)编写一个程序从键盘输入一串字符串,统计该字符串中的数字字符和字母字符,然后输出。(3) 编写一个函数fun求出分数序列的前n项之和,再写一主函数测试其功能。(4)编写一个程序,计算分段函数的值。要求有输入输出提示,计算结果精度为2位。 f(x,y)= (5)编一程序找出所有三位数的水仙花数”并在屏幕上输出。其中水仙花数”是指一个三位数,其各位数字立方和等于该
3、数本身。例如:153是一水仙花数”,因为153=13+53+33。(6)从键盘输入20正的整数,找出其中的素数并按降序排列这些素数并输出。要求:(a)编写一个函数int prime(int n)判断n是否是素数。(b)除prime函数外,其余功能在主函数内完成。(c)程序必须有输入输出提示。3. 依据下列提供的程序回答问题#include int fun(int m, int n) int r; while(r=m%n) m=n; n=r; return(n);int main() int m, n,k; printf(请输入两个正整数:n ); scanf(%d,%d,&m,&n); pri
4、ntf(num1= %d,num2= %dn,m,n); k=fun(m,n); printf(The answer is %dn,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语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学
5、习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,这不但是学习c语言,也时对任何一门学科学习的不二门法。(2)/先使用编辑工具如windows的记事本或vc+环境,或linux的vim编辑器创建一个hello.c文件/打开文件后,如下步骤写程序#include/首先要引入c语言的标准输入输出库文件,因为这个文件里有已经定义好的可以使用的函数/接下来需要写一个main函数,这也是c语言程序里必不可少的一个函数,叫主函数,他是整个程序的入口函数,程序所有的功能实现都要在这个函数中体现。但是这个函数有且仅有一个intmain()/这是main函数的函数体,要实现什么功能
6、,就把实现功能的语句写到这里面/比如我要实现打印HelloWorld字符,那么我就调用printf()标准输出语句printf(HelloWorld!n);/这个语句表示原样输出引号内的字符,n表示换行return0;/最后,因为main函数有一个int的返回类型限定,那么我们使用return语句返回一个int类型的值0./这样就结束了。一个简单的但又完整的C程序就有了,/下一步就是使用编译器编译成目标的可执行文件:/如果是windows下的vc+,那么需要分别点击编译,链接两个按钮生成hello.exe可执行文件/如果是linux下直接在shell中使用gcchello.c就可以编译成可执行
7、文件a.out/最后就是运行了,windows下直接点击vc+的运行或双击hello.exe可以出现dos窗口运行,并显示结果,linux下使用“./a.out”可以直接运行,运行结果会显示在shell中。/这就是整个完整的流程,包括每一步。调试过程:设置断点,调试命令,察看变量,查看内存,常见错误:C 语言程序设计的错误可分为语法错误、连接错误、逻辑错误和运行错误。VC+ 和DEV C+都是C+语言的开发工具。如果只是做些小程序,基本上看不出区别。两者DEBUG和RELEASE上的时间有所不同。还有一点就是,通常如果是在VC+下编写的代码,不是很规范,拿到DEV C+上会报错。而反过来则可以
8、运行。这里涉及到GCC的问题,它对标准的支持表现在不支持非标准的东西,但是 DEV C+有个最大的好处就是体积小,没有VC+这么大,可以装到U盘里。(3)1 对于编译器处理更方便。在编译的时候,编译器需要为变量定义符号列表,有显式的变量定义,可以让编译器更方便的查找到变量列表,从而确定变量符号列表,执行后续的编译操作。2 不容易出错。 可以识别出变量名的手打错误。比如定义了var_name, 在调用的时候如果写作了var_nane, 如果没规定要先定义后使用,那么var_nane就会被当做一个新的变量使用,只到运行时才会发生错误。而按照C语言的规定,在编译阶段就可以发现该错误。3 程序更清晰。
9、 变量定义时,直接指明类型,这样在阅读程序时不需要为查知变量类型而花费额外时间。2、(1)#include main() int i,n,sum=0; printf(input n:); scanf(%d,&n); for (i=1;i=n;i+) sum+=i; printf (sum=%dn,sum); (5)#include#includeint main()int i = 0;for(; i = 999; i+)int tmp = 0;int sum = 0;int count = 1;tmp = i/把i赋值给tmpwhile(tmp/10)/用while循环判断有几位数count
10、+;/满足条件,计数器+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);return 0;(6)#include#include#defineN 5intpriN;int flag=0;/判断有无素数无则返回1,有则返回0int count=0;/素数个数voidprime(int ar,int n);main()int aN
11、;int i,j,temp;printf(input %d numbers below:,N);for(i=0; iN; i+)scanf(%d,&ai);prime(a,N);for(i=0; icount; i+)for(j=i+1;jprij)temp = prii;prii = prij;prij =temp;if(flag = 1)printf(After sorting:n);for(i=0; icount; i+)printf(%dn,prii);printf(n);return 0;void prime(int ar,int n)int i,j,m;for(i=0; in; i+)m=(int)(sqrt(ari)+1);for(j=2; jm)flag=1;pricount+=ari;printf(%4dn,ari);printf(No primern);3、(1)fun的功能是求m个数的平均值 (3)这些偶数的平均值是16 - 4 -