0039-2020春大作业

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1-西南大学培训与继续教育学院课程考试试题卷学期:2020年春季课程名称【编号】:C语言程序设计【0039】A卷考试类别:大作业满分:100分一、大作业题目1.简述题(1)“构建程序设计的思想和方法、提升阅读程序能力和编写程序能力”是C语言程序设计主要的课程学习目标。请简要说明你在本学期的课程学习过程中学习了哪些内容?主要通过哪些途径进行学习?通过C语言的学习,你有哪些收获和体会?要求:回答问题真实真情表达。答:途径:(1)理解和记忆程序基本结构(2)熟练上机调试技能(3)灵活掌握编程技巧(4)以考促学(5)锻炼创新能力学习了掌握三种基本结构程序设计思想,阅读、分析和设计算法的能力,必要的程序设计基本技能训练以及掌握调试程序的基本技能等内容C语言是一门很有用的、对于我们的就业很实际的语言,学习好C语言是一项必须而实际的任务。我们必须要好好掌握。(2)简述算法、程序设计语言与程序的异同。在C语言中程序中有哪三种基本结构?分别简述这三种基本结构内涵。答:区别:算法(Algorithm)就是对解决某问题所采用的方法和步骤的描述。程序设计语言设计上就是一组符号及规则的集合。它是由语法、语义、语用三个要素组成。一个程序一般包括数据类型和算法两个方面的内容。其中数据类型(即数据结构)是对程序中的数据进行描述,指定数据在程序中的类型和数据的组织形式,它决定了数据的在内存中所占的存储空间和数据在内存中存放形式。而算法是对程序中数据的操作描述,是解决“做什么”和“怎么做”的问题,源程序中的操作语句就是算法的体现。正如著名计算机科学家沃思(NikiklausWirth)所提出的观点:程序=数据结构+算法。联系:程序设计语言是编写程序实现算法的语言工具。算法就是求解问题的方法和步骤。这里的方法和步骤是一组严格定义了运算顺序的规则;每一个规则都是有效的,且是明确的;按此顺序将在有限次数下终止。算法的描述方式有:自然语言,流程图,伪代码等。1、自然语言的优势:自然语言即人类语言,描述的算法通俗易懂,不用专门的训练,较为灵活。2、流程图的优势:流程图描述的算法清晰简洁,容易表达选择结构,不依赖于任何具体的计算机和计算机程序设计语言,从而有利于不同环境的程序设计。3、伪代码的优势:回避了程序设计语言的严格、烦琐的书写格式,书写方便,同时具备格式紧凑,易于理解,便于向计算机程序设计语言过渡的优点。(3)请你简述C语言中的数据类型主要包括哪些?请给出至少4种数据类型关键字或定义形式。在C语言中,为什么要定义变量的数据类型?答:主要数据类型有:C语言包括基本类型(整型、字符型、浮点型(单、双精度型)枚举类型)、构造类型(数组、结构体、共用体类型)、指针类型、空类型。对所有用到的变量进行先定义,后使用”的原因:凡未被事先定义的,C语言不把他认作变量,这样的目的能是为了保证程序中的变量能被正确的使用。好处:(1)每一个变量被指定为一个确定类型,在编译时C语言就能为其分配相应的存储单元。(2)指定每一个变量属于一个类型,便于在编译时检查在程序变量进行的运算合法性。2.编程题(1)从键盘输入三个整数a、b和c,按照由小到大的顺序输出(2)编写一个程序实现从键盘输入三条边a、b和c,若能构成三角形则输出其面积,否则输出不能构成三角形的提示信息“Notriangle”。-2-2cba,其中))()((:三角形面积计算公式scsbsassarea答案:#includestdio.h#includemath.hintmain(){floata,b,c;floats,area;printf(请输入三角形的三条边:\n);scanf(%f,%f,%f,&a,&b,&c);if(a+bc&&b+ca&&a+cb){s=(a+b+c)/2;area=(float)sqrt(s*(s-a)*(s-b)*(s-c));printf(三角形的面积是:%f\n,area);}elseprintf(Notriangle\n);}(3)程序的功能是:输入n(n≥1),计算1+(1+2)+(1+2+3)+...+(1+2+3+…+n)的值,要求有输入输出提示。(4)任意输入一个三位正整数,十位上的数字不动,将个位和百位上的数字交换,构成一个新的正整数后输出。(例如:523变为325)答:#includestdio.h#includemath.hintmain(){intm,temp;inta[3];//a[0]、a[1]、a[2]依次存放三位整数的百位、十位和个位printf(请输入一个三位正整数:\n);scanf(%d,&m);a[0]=m/100;a[1]=m/10%10;a[2]=m%10;temp=a[0];a[0]=a[2];a[2]=temp;m=a[0]*100+a[1]*10+a[2];printf(新的三位整数为%d\n,m);}(5)编写程序计算函数)0其中(2),(fyxyxyxxyx的值,要求有输入输出提示,结果保留小数点后3位(6)写一个函数fun用于计算字符串的长度,再写一个测试函数测试其功能。不允许使用strlen函数(7)先编写一个函数intfun(intm,intn)用于求两个正整数m,n的最大公约数。再编写一个测试程序从键盘上任意输入2个正的整数求出其最大公约数并输出。要求:程序中必须有相应的输入输出提示。答:#includestdio.hintfun(intm,intn){intr;while(r=m%n){m=n;n=r;}return(n);}intmain(){intint_num1,int_num2;-3-printf(请输入两个正的整数(之间用逗号隔开):\n);scanf(%d,%d,&int_num1,&int_num2);printf(int_num1=%d,int_num2=%d\n,int_num1,int_num2);printf(Themaximuncommondivisoris%d\n,fun(int_num1,int_num2));}3.阅读下列程序,按照要求回答下列问题#includestdio.hintfun(intn){ints=0,i;for(i=1;i=n;i++)s=s+i;returns;}intmain(){inti,n;intsum=0;printf(请输入一个正整数(n≥5):\n);scanf(%d,&n);for(i=1;i=n;i++)sum=sum+fun(i);printf(1+(1+2)+(1+2+3)+......+(1+2+3+...+%d)=%d\n,n,sum);}(1)上述程序中函数fun的功能是什么?答:上述程序中函数fun的功能是求n之内的自然数求和(2)依据函数fun的功能画出其流程图。(3)当输入n的值为5时,其输出结果是什么?答:当输入n的值为5时,其输出结果是1+(1+2)+(1+2+3)+......+(1+2+3+...+5)=35二、大作业要求大作业共需要完成3个大题:第1题满分30分;第2题(1)-(6)小题任选两题完成,各15分,(7)小题必做,10分,满分40分;第3题(1)-(3)必做,满分30分。

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功