作业5 程序设计_函数

合集下载

C++(2)

C++(2)

C++面向对象程序设计习题要求从下面题目中至少选1题,并且独立作业。

设计可以按照题目的要求进行设计,可以自己进行扩展类的定义和设计,但必须完成规定的基本内容。

不要抄袭,独立思考!祝大家学有所获。

注意:以下程序需要有输入输出,其中输入输出都需要有从标准设备(键盘显示器)和文件中输入输出。

并且所有的程序有界面操作,为用户提供相应的操作选项,1.定义一个分数类Rational。

该类存放分数形式的有理数。

要求如下所述。

1)定义带默认参数值的构造函数,默认分数为1。

2)定义私有变量X和Y分别存放分子和分母。

同时分子分母要以最简形式存放。

例如:分数3/9应该以1/3形式存放。

3)定义成员函数Add、sub、Mul和Div。

计算结果仍然以最简形式存放。

4)以X/Y的形式打印分数。

5)以浮点数形式打印分数。

6)再由分数类组合成一个实数类. 在实数类中实现比较两个实数的大小。

7)再由实数派生出一个复数类,定义一个复数类Complex,要求实现复数的加、减、乘、除、共轭,、求模运算,并且能实现分别读取以及设置复数的实部,虚部的操作,能按复数的形式进行输入输出。

在main函数中能输入不同的数,并由用户完成指定操作(加、减等)。

2定义一个点类Point,1)要求实现求两点间的距离,点到原点的距离,点的X坐标的变化,Y坐标的变化,点沿X轴对称后的坐标,沿Y轴对称后的坐标,并且能实现分别读取X坐标Y坐标的操作,能按点的坐标形式进行输入输出。

2)并由点类组合出一个线类Line,在线类中实现求通过两点直线的方程,并把该方程输出。

在main函数中能由用户输入不同的点,并由用户指定完成相应的操作(如求点的距离,等)3定义一个矩形类Rectangle,该类中的私有成员变量存放Rectangle的长和宽,并且设置它们的默认值是1.1)要求实现Move():从一个位置移动到另一个位置。

Size():改变矩形的大小。

Where():返回矩形左上角的坐标值。

第5章作业答案-C语言程序设计(第4版)-马靖善-清华大学出版社

第5章作业答案-C语言程序设计(第4版)-马靖善-清华大学出版社

第5章作业题一、单项选择题1.以下叙述不正确的是( B )。

A. 一个C源程序可由一个或多个文件组成B. C程序中,注释说明只能位于语句的后面C. 在对一个C程序进行编译时,编译系统不能发现注释中的拼写错误D. 一个C源程序必须包含一个main函数2.定义为void类型的函数,其含义是(C )。

A. 调用函数后,被调用的函数的返回值为任意的类型B. 调用函数后,被调用的函数不返回C. 调用函数后,被调用的函数没有返回值D. 以上三种说法都是错误的3.在说明语句:int *f();中,标识符f代表的是( C )。

A. 一个用于指向整型数据的指针变量B. 一个用于指向一维数组的行指针C. 一个返回值为指针型的函数名D. 一个用于指向函数的指针变量4.下列说法中错误的是( B )。

A. 静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值B. 静态全局变量可以被其他的编辑单位所引用C. 若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽D. 所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失5.下面对C语言的描述中,正确的是(A )。

A. 在C语言中,调用函数时,只能将实参的值传递给形参B. C语言函数既可以嵌套定义又可以递归调用C. 函数一定有返回值,否则无法使用函数D. C语言程序中有调用关系的所有函数都必须放在同一源程序文件中6.以下说法中不正确的是( B )。

A. 不同的函数中可以使用相同名字的变量B. 主函数main()中定义的变量在整个文件或程序中有效C. 形式参数是局部变量D. 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效7.以下说法中不正确的是( C )。

A. 主函数中定义的变量只在主函数内部有效B. 形式参数是局部变量C. 当全局变量与局部变量同名时,局部变量不起作用D. 在函数内部定义的变量只在本函数范围内有效8.下面关于全局变量的描述中,错误的是( B )。

C语言作业(实验报告

C语言作业(实验报告

《程序设计基础》(c语言)实践报告专业: 计算机科学与技术班级: 信息大类1303姓名: 蒋国辉学号: 1130299090教师:《程序设计基础》(c语言)课程组教师寄语课程简介《程序设计基础》是计算机相关专业的专业基础课,其目的是为了培养学生程序设计的技能,使学生掌握程序设计的基本思想和方法,培养学生用计算机解决实际问题的能力。

该课程是后续理论和实践教学的基础和重要工具,将直接影响到专业兴趣的培养,后续专业课程教学内容的实施。

课程内容本课程教学的主要内容包括:1、程序与程序设计的基本概念;算法与算法的表示;结构化程序设计方法等。

2、C语言的基本组成,C程序的基本结构;C程序的上机过程;C语言的数据类型和各类运算规则。

3、顺序程序设计;选择结构程序设计;循环控制;函数;指针;结构体和文件等。

4、C程序的模块化结构;函数的定义与调用,包括函数的递归调用;变量存储属性;工程文件的建立和使用;编译预处理;库函数简介;文件的概念;文件的建立、打开与关闭;各种文件的读写方法。

补充说明1、本课程作为一种与计算机“沟通”的语言工具,在某种程度上讲,和普通话、英语有一些类似。

对初学者而言,最好的学习方式就是在基本的语法规则框架下,不断的模仿和重复训练,最畏惧和担心的就是灵活与多变。

只有不畏惧,才能敢模仿,敢写、敢调试。

才能避免掉入语法漩涡止步不前。

2、课程共设8个单元,对于每个单元的实践内容,按照基础训练和差异化训练相结合的思想,设置了多道编程题目,同学们在每个单元可以根据实际情况,可选做3道,鼓励在有精力的情况下尽可能多练习。

3、课程的源码可以手写也可以打印出来粘贴,对程序运行结果打印粘贴。

4、单元内容即是平时基本功的训练,也可当做理论考试的复习。

实验1 顺序结构程序设计一、实验目的1. 熟悉C语言的编程环境,掌握C程序运行的一般步骤;2. 掌握C语言中数据的输入输出方法,常用输入/输出函数的使用;3. 掌握顺序结构程序设计方法,能编写简单的C程序;二、实验内容1、编写程序,输入一个四位数,打印输出其个位数、十位数、百位数和千位数。

作业5-第08章习题

作业5-第08章习题

作业5_第08章课后习题要求:(第17周周五前上传至FTP作业区)1.阅读教材,完成简答题;(做在书上)2.第08习题:8-6,8-8,8-9完成程序编写和程序调试,上传至FTP作业区。

3.完成下列题目:全国高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.面向对象程序设计中的数据隐藏指的是()A.输入数据必须输入保密口令B.数据经过加密处理C.对象内部数据和代码合并在一起D.对象内部数据结构的不可访问性2.在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()A.int Fun(int x){return x*x;}B.inline int Fun(int x){return x*x;}C.int inline Fun(int x){return x*x;}D.int Fun(int x){inline return x*x;}3.下面关于重载函数的叙述中正确的是()A.重载函数必须具有不同的返回值类型B.重载函数的形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数的函数名可以不同4.若有定义“int x=17;”,则语句“cout<<oct<<x;”的输出结果是()A.11B.0x11C.21D.0215.下列关于析构函数的描述中正确的是()A.析构函数可以重载B.析构函数可以是虚函数C.析构函数名与类名相同D.析构函数的返回类型为void6.下列关于纯虚函数的描述中,正确的是()A.纯虚函数是一种特殊的虚函数,它是个空函数B.具有纯虚函数的类称为虚基类C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数D.具有纯虚函数的类不能创建类对象7.下列关于运算符重载的描述中,正确的是()A.可以改变运算符的目数B.可以改变运算符的优先级C.可以改变运算符的结合性D.可以改变运算符的功能8.要将类A说明是类B的虚基类,正确的描述是()A.class virtual B:public AB.class B:virtual public AC.virtual class B:public AD.class B:public A virtual9.下面关于静态成员的描述中,正确的是()A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象访问10.假设Sample是个类,则语句“Sample a[2],*p[3];”调用构造函数的次数为()A.0 B.2 C.3 D.5二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

C语言课后作业题参考答案

C语言课后作业题参考答案

C 语言课后作业题参考答案第二章2.2 用赋值表达式表示下列计算1) c b a x y +=2) 2/5262)(lne d a x -+= 3) y X aX X=+sin cos π24) R R R R =++1111123 5)232)4(7)2(5)2(31x x x x x y ++++=参考答案:1) y=pow(x,a+pow(b,c))或者:exp((a+exp(c*log(b)))*log(x))2) x=pow(log(sqrt(a+d*d))-exp(26),5.0/2)或者:exp(5.0/2*log(log(sqrt(a+d*d))-exe(26)))3) y=sin(x)/(a*x)+fabs(cos(3.1415926*x/2))4) R=1.0/(1.0/R1+1.0/R2+1.0/R3)5) y=x/(1+(x/(3+(pow(2*x,2)/5+(pow(2*x,3)/(7+pow(4*x,2)))))))2.6 编写程序,输入两个整数,分别求它们的和、差、积、商、余数并输出。

参考答案:#include<stdio.h>void main(){int m,n;printf("请输入2个整数\n");scanf("%d%d",&m,&n);printf("%d+%d=%d\n",m,n,m+n);printf("%d-%d=%d\n",m,n,m-n);printf("%d*%d=%d\n",m,n,m*n);printf("%d 除以%d :%f\n",m,n,(float)m/n);printf("%d 除以%d 的余数:%d\n",m,n,m%n);} 2.9 已知摄氏温度C 与华氏温度F 的转换关系是)32(95-=F C ,编写一个摄氏温度与华氏温度转换的程序,输入C ,输出F.参考答案:#include<stdio.h>void main(){float f,c;printf("请输入摄氏温度的值:\n");scanf("%f",&c); //输入33//f=9*c/5+32; //结果为91.4f=9.0/5*c+32; //结果为91.4//f=9/5*c+32; //结果为65printf("转换为华氏温度是:%f\n",f);} 第3章 分支程序设计3.3 编写程序,输入一个字母,若其为小写字母,将其转换成相应的大写字母,然后输出。

《C语言程序的设计》大作业

《C语言程序的设计》大作业

南昌大学软件学院C语言程序设计工程实训大作业班级:09软件技术(2)班学号:8001509107姓名:吴承增指导老师:危建国2010年12月10日系统说明书1.问题描述:该程序包内容包括以下的模块,均用子函数完成:(1)主菜单(2)输入若干条记录并保存文件(指学生的信息)(3)学生信息录入、修改、删除、查询、存储。

(4)学生信息的浏览及排序(冒泡排序算法)。

(5)学生成绩的录入、修改。

(6)统计及格和优秀人数(7)退出系统2.程序设计和程序流程图:解决方案:主函数流程图:各部分功能的流程图:录入学生成绩流程图:统计功能流程图如图3所示:图3 统计模块流程图冒泡排序流程图:排序学生信息流程图:删除学生成绩信息流程图:3.系统的基本功能(主要数据和函数功能描述):char xh[15]; //以字符串数组形式存储学生学号char name[25]// 以字符串数组形式存储学生姓名char sex[5]; //性别float sxcj; //数学成绩float yycj; //英语成绩float Cyycj; //C语言成绩float ave; //平均成绩float sum; //总成绩#define N 4 //宏定义学生#define MAX 60 //学生最大个数int nCOUNT=0; //记录当前学生个数struct student //定义结构体学生int ScoreNew() //录入学生成绩int average() //求平均数int xsxscj() //显示输入学生信息、将学生打印到屏幕上int xsxsxx() //显示学生信息int xhcjpx() //按学生学号排序学生信息int sxcjpx()按数学成绩排序学生信息int yycjpx()按英语成绩排序学生信息int Cyypx() //按C语言成绩排序学生信息int zcjpx()按总成绩排序学生信息int pxxsxx()//排序学生信息int axhcx() //按学号查询int axmcx() //按姓名查询int SearchStud() //查询学生成绩信息int zjxsxx() //增加学生信息int xgxsxx() //修改学生信息int scxsxx() //删除学生信息int gxxscj() //更新学生信息int tjxscj() //统计学生成绩int save() //保存到文件((fp=fopen("stu_list.txt","wb"))==NULL) //以只读方式打开文件stu_list.txt (fwrite(&str[i],sizeof(struct student),1,fp)!=1) //创建文件并以二进制形式打开int xswj() //显示文件信息int main() //主函数mainmemu4.拟采用开发平台:Visual C++,Borland C++等。

大学《Python程序设计》试题及答案

大学《Python程序设计》试题及答案

大学《Python程序设计》试题及答案大学《Python程序设计》试题及答案一、选择题1、在Python中,以下哪个选项可以正确表示小于等于操作符? A) <=B) <* C) .≤ D) 以上都不是答案:A) <=2、下列哪个模块可用于绘制图形? A) math B) plot C) canvas D) none of the above 答案:C) canvas3、在Python中,如何将字符串转换为整数? A) str() B) int() C) float() D) 以上都不是答案:B) int()4、若要打印出所有的素数,以下哪个循环结构可以实现? A) whileB) for C) do-while D) switch-case 答案:B) for5、以下哪个选项可以用于导入模块? A) import math as m B) include math as m C) #include <math.h> D) #import <math.h> 答案:A) import math as m二、填空题1、Python中的注释符号是_____。

答案:#2、在Python中,所有变量都必须具有_____。

答案:类型(types)3、Python中的逻辑运算符用于执行_____运算。

答案:逻辑(logical)4、以下哪个函数可以用于将字符串转换为浮点数? A) str() B) int() C) float() D) none of the above 答案:C) float()5、以下哪个循环结构可以用于打印出所有的偶数? A) for i in range(0, 10): print(i2) B) for i in range(0, 10): if i % 2 == 0: print(i2) C) for i in range(0, 10): if i % 2 != 0: print(i2) D) none of the above 答案:B) for i in range(0, 10): if i % 2 == 0: print(i2)三、编程题编写一个Python程序,打印出所有的水仙花数(Narcissistic Number)。

程序设计基础作业答案

程序设计基础作业答案

《程序设计基础(C)》作业第1章c语言的基本构成一、选择题1.(A )是构成C语言程序的基本单位。

(A)函数(B)过程(C)子程序(D)文件2. (B )是C语言提供的合法的数据类型关键字。

(A) Float (B)sig ned(C) integer (D)Char3.以下选项中不合法的用户标识符是( A )。

(A) abc. c (B)file(C) Main (D)PRINTF4.以下选项中不合法的用户标识符是(AB )(A) 123 (B)printf(C) A$(D)Dim5.合法的C语言长整型常数是( A )。

(A)0 L (B)5712700(C)(D)6. C语言中,要求运算数必须是整型的运算符是( A )。

(A) % (B)/(C) < (D)!7 .以下选项中正确的整型常量是( B )。

(A) 12. (B)—20(C) l , 000 (D)04588 .以下选项中不正确的实型常量是( B )。

(A)- 1 (B)(C)(D)456e—29. C语言中运算对象必需是整型的运算符是( D )o(A) \ (B)+(C) * (D)%二、程序调试题1.编辑、调试以下程序步骤1 :在Visual C++环境下新建文件可用[开始]T[程序]T[Microsoft Visual C++]宀[Microsoft Visual C++]T[文件]T[新建]T[文件]T[C++ Sourse File], 输入文件名,程序代码如下:# include<> /* 文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/ int add(i nt x,i nt y){int乙函数的说明,告诉系统在主函数中要调用 add 函数*/ 变量的定义*/函数调用*/ ,%d 为格式控制符,依次用后面的变量值填充,以整数形请思考文件由几个函数构成? 由个函数构成 调用了那几个系统函数?调用2个系统函数,分别是 scanf 和printf此程序中用到了哪几个保留字?哪几个用户自定义标识符? 保留字:int , return 自定义表示符: z ,x ,y ,a , b ,c步骤3:编译并运行程序,程序运行时输入两个整数, 20 40,观察程序运行的结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作业五程序设计_ 函数班级_________ 学号________姓名________ 成绩_________一、选择题1. 下面叙述中不正确的是 D 。

A. 对于用户自己定义的函数,在使用前必须加以说明B. 说明函数是必须明确其参数类型和返回类型C. 函数可以通过return语句返回一个值,也可以使用void 什么值也不返回D. 空函数不完成任何操作,所以在程序设计中没有用处2. 下面叙述中正确的是 B 。

A. 调用函数的实参,只能是有确定值的变量B. return()语句的括号中,可以是变量,常量或有确定值的表达式C. C语言中,函数调用时,实参变量和形参变量间的参数传递方式都是值传递D. 实参和形参若类型不匹配,编译时将报错3. 下面叙述中错误的是 A 。

A. 主函数中定义的变量在整个程序中都是有效的B. 在其他函数中定义的变量在主函数中也都不能使用C. 形式参数也是局部变量D. 复合语句中定义的变量只在该复合语句中有效4. 下面叙述中正确的是BA. 全局变量在定义它的文件中的任何地方都是有效的B. 全局变量在程序的全部执行过程中一直占用内存单元C. 同一文件中的变量不能重名D. 使用全局变量有利于程序的模块化和可读性的提高5. 若函数的类型和return语句中表达式的类型不一致,则 B 。

A. 编译时出错B. 运行时出现不确定结果C. 不会出错,且返回值的类型以return语句中表达式的类型为准D. 不会出错,且返回值的类型以函数的类型为准6. 在函数的说明和定义时若没有指出函数的类型,则 A 。

A. 系统自动认为函数类型为整型B. 系统自动认为函数类型为字符型C. 系统自动认为函数类型为实型D. 编译时会出错7. 将一个函数定义为void *类型,则 C 。

A. 此函数不会返回任何值B. 此函数被定义为空函数C. 此函数将返回一个空指针D. 非法的定义形式8. 任何一个C语言的可执行程序都是从 B 开始执行的A.程序中的第一个函数B.main()函数的入口处C. 程序中的第一条语句D. 编译预处理语句9. C程序的基本结构单位是 C 。

A.文件B语句C函数D表达式10. C语言中若不特别声明,则变量的类型被认为是 D 。

A externB staticC registerD auto11.在函数调用语句fun1(fun2(x,y),(x,y),z=x+y);中,fun1的实际参数的个数是 A 。

A. 3B. 7C. 4D. 512.对函数的调用不可以出现在 B 。

A. 对一个变量赋初值B. 函数的形式参数C. 调用函数时传递的实际参数D. 引用数组元素[ ]的运算符中13.以下程序运行后,输出结果是 D 。

func ( int a, int b){ int m=0 ,i=2i+=m+1;m=i+a+b ;return(m);}main(){ int k=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p); } A) 8,15 B) 8,16 C) 8,17 D) 8,814.以下程序运行后,输出结果是 A 。

int d=1;fun (int p){ int d=5;d+=p++;printf("%d",d); }main(){ int a=3;fun(a);d+=a++;printf("%d\n",d); }A)84 B)99 C)95 D)4415.以下叙述中不正确的是 D 。

A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是局部变量C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效16. 有以下程序void fun (int a,int b,int c){ a=456; b=567; c=678;}main(){ int x=10, y=20,z=30;fun (x,y,z);printf("%d,%d,%d\n",x,y,z); }输出结果是 B 。

A)30,20,10 B)10,20,30C)456,567,678 D)678,567,45617. 有以下程序#include "stdio.h"int abc(int u,int v);main (){ int a=24,b=16,c;c=abc(a,b);printf(“%d\n”,c);}int abc(int u,int v){ int w;while(v){ w=u%v; u=v; v=w;}return u;}输出结果是 C 。

A) 6 B) 7 C) 8 D) 918. 函数调用:strcat(strcpy(str1,str2),str3)的功能是 C 。

A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str319. 以下对C语言函数的有关描述中,正确的是 A 。

A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递归调用C) 函数必须有返回值,否则不能使用函数D) C程序中有调用关系的所有函数必须放在同一个源程序文件中20. 以下叙述中不正确的是 D 。

A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值.B)在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容.C)在C中,外部变量的隐含类别是自动存储类别.D)在C中,函数形参可以说明为register变量.21. 有如下函数调用语句 A 。

func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是。

A) 3 B) 4 C) 5 D) 有语法错22. 有如下程序int func(int a,int b){return(a+b);}main(){ int x=2,y=5,z=8,r;r=func(func(x,y),z);p rintf(“%d\n”,r); }该程序的输出的结果是 D 。

A) 12 B) 13 C) 14 D) 1523. 有如下程序long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else return(2); }main(){ printf(“%d\n”,fib(3));}该程序的输出结果是 B 。

A) 2 B) 4 C) 6 D) 824. 在C语言中,函数的隐含存储类别是 A 。

A) auto B) static C) extern D) 无存储类别25. 下列程序执行后的输出结果是 A 。

main( ){ char arr[2][4];strcpy(arr[0],"you"); strcpy(arr[1],"me");arr[0][3]='&';printf("%s\n",arr); }A) you&me B) you C) me D) err26. 以下程序的输出结果 C 。

int d=1;fun(int p){ static int d=5;d+=p;printf("%d ",d);return(d);} main( ){ int a=3;printf("%d\n",fun(a+fun(d)));}A)6 9 9 B)6 6 9 C)6 15 15 D)6 6 15二、填空题1.高级语言中一般都有子程序的概念,在C语言中,子程序的功能是由函数来实现的,源文件由一个或者多个函数组成。

2.函数直接或者间接地自己调用自己,被称为函数递归。

在C语言中,某函数在一个程序中被调用的次数是不限制的。

3.在C语言中,编译是源文件为单位的,一个C程序可以由一个或多个函数组成。

4. C语言中,唯一不能被别的函数调用的函数主函数。

5.从用户的角度看,C语言中的函数有两种,标准函数和用户自定义。

从接口形式上分类,函数分为有参和无参。

6.在定义函数时,函数名后面的括号中的变量名称为形式参数,在调用函数时函数名括号后面的变量名称为实际参数。

7.在函数内部定义只在本函数内有效的变量是局部变量,在函数外定义的变量是全局变量。

8.着眼于变量的生存期,可将变量分为动态存储和静态存储两种类型。

相关文档
最新文档