作业5 程序设计_函数
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章作业题一、单项选择题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语言)实践报告专业: 计算机科学与技术班级: 信息大类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章课后习题要求:(第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 语言课后作业题参考答案第二章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语言程序设计工程实训大作业班级: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程序设计》试题及答案一、选择题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、B 世界上第一台电子数字计算机研制成功的时间是(1946)年。
2、B 计算机的发展阶段通常是按计算机所采用的(逻辑元件)来划分的。
3、C 从第一代电子计算机到第四代计算机的体系结构都是相同的,都是由运算器、控制器、存储器以及输入/输出设备组成的,称为(冯.诺依曼)体系结构。
4、C 一个完整的计算机系统应该包括(硬件系统和软件系统)5、A 主要决定微机性能的是(CPU)6、B 计算机应用广泛,而其应用最广泛的领域是(数据处理)7、B 计算机硬件系统中最核心的部件是(CPU )8、A、D 计算机的主存储器一般由(ROM和RAM)组成,主存储器比辅存储器(读写速度快)9、C 解释程序的功能是(解释执行高级语言程序)10、D 下述所列程序中哪种程序不属于语言处理程序?(操作系统)11、C 在下列计算机语言中,哪个依赖于具体的机器?(机器语言、汇编语言)12、A 解释程序和编译程序同属于语言处理程序,下列关于它们的叙述中哪一个是正确的?(解释程序产生目标程序)13、B 计算机硬件能直接执行的语言只有(机器语言)14、D 下述语言(1)JAVA(2)FORTRAN(3)C哪个一般是编译型语言?((2)和(3))15、A 在软件方面、第一代计算机主要使用(机器语言)16、D 计算机软件是指:(计算机程序及其有关文档)17、C 用高级语言编写的程序:(具有通用性和可移植性)二、填空题1、计算机的五大应用领域是(科学计算)、(数据处理)、(过程控制)、(计算机辅助系统)和(人工智能)2、总线是连接(CPU)、(存储器)和(外部设备)的公共信息通道。
通常由三部分组成:(数据总线)、(地址总线)、(控制总线)3、计算机是一类智能机器,这是因为它除了完成自述运算外,还能完成某些(逻辑运算)。
4、世界上第一台计算机取名为(ENIAC)5、个人计算机简称PC,这种计算机属于(微)型计算机6、目前制造计算机所采用的电子器件是(超大规模集成电路)7、CPU是(中央处理器)的英文缩写,它主要由(运算器)和(控制器)组成8、计算机的系统组成部分是(硬件系统)和(软件系统)9、计算机的硬件系统一般可分为(运算器)、(控制器)、(存储器)和(输入/输出设备)等几个部分。
《C程序设计》作业内容
实验一C语言的运行环境的使用一、目的与要求1. 了解Windows系统下C语言的运行环境,熟悉C程序调试、运行的基本操作方法。
2. 熟练掌握编辑、编译、连接和运行C程序的方法。
3. 通过运行简单的C程序,初步了解C源程序的特点。
4. 初步理解C语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。
二、实验例题在C语言运行环境下,按以下例题要求完成程序的编辑、编译、连接和运行,直至取得正确的运行结果。
【例1】编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for.(1)输入如下程序:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");return 0;}(2)将输入的程序以文件名example.c存盘。
(3)编译:通过“组建”(Build) 下拉菜单中的“编译”(compile)命令,编译example.c,若出现编译错误,则修改程序,重新编译,直至编译成功,系统自动生成目标文件example.obj。
(4)连接:通过“组建”(Build)下拉菜单中的“组建”(Build)命令,生成以.exe为扩展名的可执行文件example.exe。
(5)运行:通过“组建”菜单下的“执行”(Excute)命令运行程序并观察运行结果。
【例2】编写程序,将两个整数相加,并输出结果。
#include <stdio.h>int main(){ int a,b,sum;a=123;b=456;sum=a+b;printf(“sum is %d\n”,sum);return 0;}运行方法例1,运行结果为:sum is 579。
C语言程序设计作业五(指针,文件)
C语言程序设计作业五1.对于类型相同的指针变量,不能进行哪种运算?(单选)A. +B. -C. =D. = =2. 若有以下说明和语句,且0<=i<10, 则下面哪个是对数组元素的错误引用?(单选)int a[]={1,2,3,4,5,6,7,8,9,0}, *p, i;p=a;A. *(a+i)B. a[p-a]C. p+iD. *(&a[i])3. 若有以下说明和语句,且0<=i<10,则下面哪个是对数组元素地址的正确表示?(单选)int a[]={1,2,3,4,5,6,7,8,9,0}, *p,i;p=a;A. &(a+1)B. a++C. &pD. &p[i]4. 以下程序的输出结果是___。
#include <stdio.h>main(){int a[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf("%d,%d\n",*p,*(p+3));}A. 0,5B. 1,5C. 0,6D. 1,65. 以下程序的输出结果是哪一项?(单选)#include <stdio.h>main(){int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}, *p[4],i;for(i=0;i<4;i++)p[i]=&a[i*3];printf("%d\n",p[3][2]);}A. 输出项不合法B. 6C. 8D. 126. 如果有以下的定义:(多选)struct person{char name[20];int age;char sex;};struct person a={"xiao min",20,'m'},*p=&a;则对字符串"li ning"的引用方式可以是下面哪些?A. (*p).nameB. C. D. p->name7. 下面哪些定义的结构在内存分配是等价的。
南开大学《程序设计基础(下)》在线作业5
《程序设计基础(下)》在线作业
在一个具有n个顶点的有向图中,若所有顶点的入度之和为s,则所有顶点的度之和为( )。
A:s
B:s+1
C:s-1
D:2s
参考选项:D
已知类X中的一个成员函数说明如下:
Void Set(X 其中,X
参考选项:C
对于一个具有n个顶点的无向连通图,它包含的连通分量的个数为( )。
A:0
B:1
C:n
D:n+1
参考选项:B
对基类和派生类的描述中错误的是( )。
A:派生类是基类的具体化
B:基类继承了派生类的属性
C:派生类是基类定义的延续
D:派生类是基类的特殊化
参考选项:B
下面对友元的错误描述是( )。
A:关键字friend用于声明友元
B:一个类的成员函数可以是另一个类的友元
C:友元函数访问对象的成员不受访问特性影响
D:友元函数通过this指针访问对象成员
参考选项:D
下列描述中,()是抽象类的特性。
A:可以说明虚函数
B:可以定义友元函数
C:可以进行构造函数重载
D:不能说明其对象
参考选项:D
下列静态数据成员的特性中,( )是错误的。
1。
《C程序设计》作业参考答案(1-4章)
第1章C语言概述习题(P13):1.3 写出一个C程序的构成。
答:C程序由一个main函数和0个或多个自定义函数构成,每个函数的构成如下:函数类型函数名(函数参数列表){说明部分执行部分}1.4 C语言以函数为程序的基本单位,有什么好处?答:一个函数实现一个相对独立的功能,便于实现程序的模块化。
1.5 请参照本章例题,编写一个C程序,输出以下信息:*************************************************Very good!*************************************************答:参照例1.1编程如下# include <stdio.h>void main(){printf("********************************************\n");printf(" Very good!\n");printf("********************************************\n");}1.6 编写一个C程序,输入a、b、c 3个值,输出其中最大者。
答:参照例1.3编程如下法一:修改例1.3的主函数,自定义max函数不变。
# include <stdio.h>void main(){int max(int x,int y); /*函数声明*/int a,b,c,m; /*定义4个变量,m用于存放最大值*/scanf("%d%d%d",&a,&b,&c);/*从键盘上输入3个整数*/m=max(a,b); /*第一次调用max函数求出前两个数的最大值放在m中*/m=max(m,c); /*再调max函数求出m和第三个数的最大数*/printf("max is %d\n",m); /*输出结果*/}int max(int x,int y) /*定义求两个数的最大数的函数max */{int z;if(x>y) z=x;else z=y;return(z);}法二:修改例1.3的主函数和max函数,将max函数改为求3个数的最大数。
C语言程序设计实验报告(函数)
C语言程序设计实验报告(实验名称:函数)1实验目的(1)掌握函数的定义方法、调用方法、参数说明以及返回值;(2)掌握实参与形参的对应关系,以及参数之间的“值传递”的方式;(3)掌握函数的嵌套调用及递归调用的用的设计方法;(4)在编程过程中加深理解函数调用的程序设计思想。
2实验内容(1)编写一个函数primeNum(int x),功能是判别一个数是否为素数。
要求:①在主函数中输入一个整数x(直接赋值或从键盘输入);②函数类型为空值(void),调用primeNum( )函数后,在函数中输出x是否为素数的信息,输出格式为“x is a prime number”或”x is not aprime number”;③分别输入一下数据:0,1,2,5,9,13,59,121,并运行程序,检查结果是否正确。
(2)编写函数 mulNum(int a,int b),它的功能是用来确定a和b是否是整数倍的关系。
如果a是b的整数倍,则函数返回值为1,否则函数返回值为0。
要求:①在主函数中从键盘输入一对整型数据a和b;②调用函数后,根据返回值对a和b的关系进行说明。
例如,在主函数中输入:10,5,则输出“10 is a multiple of 5”;③分别输入下面几组数据进行函数的正确性测试:1与5,5与5,6与2,6与4,20与4,37与9。
3算法描述流程图(1)primeNum(int x)(判别一个数是否是素数)函数流程图①主函数流程图:②判断素数函数流程图:(2)mulNum(int a,int b)(确定a和b是否是整数倍的关系)函数流程图①主函数流程图:②判断倍数流程图:4源程序(1)判断某个数是否是素数#include <stdio.h>int primNum(int x) /*编写函数判断某个数是否是素数*/ {int i;if (x==0||x==1) /*当x等于1或等于0时判断是否为素数*/return 0;for (i=2;i<x;i++) /* 当x大于2时判断不为素数的数*/{if (x%i==0)return 0;}if (x%i) /* 当x等于2或不满足上述条件时时判断出该数是素数*/ return 1;}void main(){int n ;printf("Please input an integer:"); /* 提示从键盘输入一个数x */scanf("%d",&n);if (primNum(n)==1) /* 调用定义的函数*/ printf("%d is a prime number\n",n); /* 由函数得出结论判断是否为素数*/ elseprintf("%d is not a prime number\n",n);}(2)个数是否是整数倍关系#include <stdio.h>int mulNum(int a,int b)/* 定义函数确定两个数是否有整数倍关系*/{if (a%b==0) /* 判断出a是b的整数*/return 1;else /* 判断出a不是b的整数*/return 0;}void main (){int m,n;printf ("please input tow integers:\n"); /*提示从键盘输入两个数*/scanf ("%d%d",&m,&n); /*从键盘输入两个数的值*/if(mulNum(m,n)==1) /*调用定义的函数并判断输出相应的结果*/printf("%d is a multiple of %d\n",m,n);elseprintf("%d is not a multiple of %d\n",m,n);}5测试数据(1)实验(1)测试数据为0,1,2,5,9,13,59,121 运行结果当测试数据0时当测试数据1时当测试数据2时当测试数据5时当测试数据9时当测试数据13时当测试数据59时当测试数据121时(2)实验2测试的数据1与5,5与5,6与2,6与4,20与4,37与9。
C语言程序设计下mooc答案
2016.03.28—06.30 北京理工大学 MOOCC语言程序设计(下)网上作业答案第一周编程作业1、求最大公约数和最小公倍数(15分)题目内容:编写程序,在主函数中输入两个正整数 a,b,调用两个函数 fun1() 和 fun2(),分别求a 和 b 的最大公约数和最小公倍数,在主函数中输出结果。
输入格式:两个正整数输出格式:最大公约数和最小公倍数输入样例:12,40[回车]输出样例:最大公约数:4[回车]最小公倍数:120[回车]时间限制:500ms内存限制:32000kbCode:#include <stdio.h>int fun1(int m,int n){int r;r=m%n;return r==0?n:fun1(n,r);}int fun2(int m,int n){int t;t=m*n/fun1(m,n);return t;}int main(){ int t,m,n;scanf("%d,%d",&m,&n);if(m<n){t=m;m=n;n=t;}printf("最大公约数:%d\n",fun1(m,n));printf("最小公倍数:%d\n",fun2(m,n));return 0;}2、排序并插入(15分)题目内容:编写程序,在主函数中定义一个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出。
输入格式:9个整数和1个整数输出格式:10个整数输入样例:2,3,1,5,6,76,89,31,90[回车]7[回车]输出样例:1,2,3,5,6,7,31,76,89,90[回车]时间限制:500ms内存限制:32000kbCode:#include <stdio.h>int main(){int t,j,i,n[10];for(i=0; i<9; i++){scanf("%d", &n[i]);if(i<8) scanf(",");}scanf("%d",&n[9]) ;for(i=0;i<9;i++){for(j=0;j<= 8-i;j++){if(n[j] > n[j+1]){t = n[j];n[j] = n[j+1];n[j+1] = t;}}}for(i=0;i<10;i++){printf("%d",n[i]);if(i<9) printf(",");}return 0;}第二周编程作业1、最大公约数(15分)题目内容:输入两个整数m,n,用递归算法实现计算两个数的最大公约数。
Python语言程序设计(工作手册式) 作业习题及答案 第五章
第五章一、单选题(共2题,10分)1、关于IiSt和String下列说法错误的是:A、IiSt可以存放任意类型。
B、1ist是一个有序集合,没有固定大小。
C、用于统计string中字符串长度的函数是string.IenO。
D、string具有不可变性,其创建后值不能改变。
正确答案:D2、关于字符串下列说法错误的是()A、%f用于格式化输出浮点类型数据B、字符串的子串查找函数find。
只能返回第一个符合子串的位置,否则返回为0。
C、既可以用单引号,也可以用双引号创建字符串D、在三引号字符串中可以包含换行回车等特殊字符正确答案:B二、简答题(共38题,190分)1、【字符串基础训练】在当前目录下创建一个"test.Iog w文件。
在test文件中写入w.查找当前文件操作标记的a He11oWord wβ在test文件“He11oWord“后面输入"Python位置(提示:Seek())。
把文件操作符的位置移动最前面。
以二进制方式输出test文件。
关闭test文件。
删除test文件。
编写代码输出当前Pythor1脚本工作的目录路径。
正确答案:2、【文件内容合并】有两个磁盘文件A和B,各存放一行字母,要求编写代码实现将这两个文件中的信息合并,并按字母先后顺序排列,最后输出到一个新文件C中。
正确答案:3、【文件存储】从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件'test'中保存,并实现循环输入,直到输入一个#为止。
正确答案:4、写出下面程序的功能。
假设文件a origina1”内容为Upgrcynpmepyk.Writeaprogram.那么文件αsavetoo”内存储的内容应该是什么?正确答案:5、使用之前所学的循环语句以及列表完成这样的一个输出结果(字典方法可能能更加方便的完成)正确答案:6、编写函数判断两个字符串是否包含相同的字母正确答案:7、现有字符串str=,thisisstringexamp1e....wow 编写代码把字符串的atex1分别改为12345并去除其中的s和h正确答案:8、添加指定长度字符串如a=“12345"b="abcde”从键盘读取n,若n=1则输出字符串“12345a”若n=2则输出字符串“12345ab”正确答案:9、已知a="aAsmr3idd4bgs7D1sf9eAF”请将a字符串的数字取出,并输出成一个新的字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.着眼于变量的生存期,可将变量分为动态存储和静态存储两种类型。