文档库 最新最全的文档下载
当前位置:文档库 › 7、函数程序设计作业

7、函数程序设计作业

7、函数程序设计作业

1-1 上机作业7

1. 编写一个函数,将字符串中的小写字母转换为大写字母,主函数输入字符串并输出结果。

2. 编写一个函数求N !。在主函数中输入N ,调用函数求N !,输出结果。

3. 编写函数,求级数S=1+2+3+...n ,并在主函数中求:

)

7654321()654321()54321()4321()321(+++++++++++++++++++++++=y 4. 编写一个函数,求一维数组最大值。

5. 输入10个数,编写一个函数,按降序对其排序。

6. 编写一个函数,求N 阶二维矩阵的主对角线元素之和。

7. 设计一个函数,用以判断一个整数是否为素数,如果是,则返回1;如果不是,则返回0,并利用此函数,找出100-200之间的所有素数。

8. 设计一个函数,将任意n ×n 的矩阵转置,并在主函数中调用此函数将一个4×4的矩阵转置。

9. 设计一个函数,找出任意2个整数的最大公约数,并在主函数中调用此函数。

C语言程序设计 第六章 函数 试题及答案

C语言程序设计第六章函数试题及答案 1 选择题 *6.1建立函数的目的之一,以下正确的说法是。 A)提高程序的执行效率B)提高程序的可读性 C)减少程序的篇幅D)减少程序文件所占内存 参考答案:B *6.2 以下正确的说法是。 A)用户若需要调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失去原有意义 C)用户系统根本不允许用户重新定义标准库函数 D)用户若需要调用库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动寻找该文件。 参考答案:B 6.3 以下正确的函数定义形式是。 A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)doubel fun(int x;int y); 参考答案:A *6.4 以下正确的函数形式是。 A)double fun(int x,int y){z=x+y;return z;} B)double fun(int x,y){int z;return z;} C)fun(x,y){int x,y;double z; z=x+y; return z;} D)double fun(int x,int y){double z;z=x+y;return z;} 参考答案:D *6.5以下正确的说法是。 A)实参和与其对应的形参占用独立的存储单元 B)实参和与其对应的形参共占用一个存储单元 C)只有当实参和与其对应的形参同名时才共占用一个存储单元 D)形参是虚拟的,不占用存储单元 参考答案:A 参考分析:本题并不严谨,因为实参可以是表达式,当实参为表达式时,实参并不单独占用独立的存储单元。 6.6 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数。 A)没有返回值B)返回若干个系统默认值 C)返回一个用户所希望的函数值D)返回一个不确定的值 参考答案:D 参考分析:函数有没有返回值是由函数类型所决定的,当没有retrun语句,系统不能返回一个确定的值而已。 6.7 以下不正确的说法是,C语言规定。 A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式 C)实参可以是任意类型 D)实参应与其对应的形参类型一致

第7节 函数的零点练习

(1)函数与方程的关系:函数f(x)有零点?方程f(x)=0有根?函数f(x)的图象与x轴有交点?f(x)与g(x)有交点?f(x)=g(x). (2)函数f(x)的零点存在性定理:如果函数f(x)在区间[a,b]上的图象是连续不断的曲线,并且有f(a)·f(b)<0,那么,函数f(x)在区间(a,b)内有零点,即存在c∈(a,b),使f(c)=0.注:①如果函数f(x)在区间[a,b]上的图象是连续不断的曲线,并且函数f(x)在区间[a,b]上是一个单调函数,那么当f(a)·f(b)<0时,函数f(x)在区间(a,b)内有唯一的零点,即存在唯一的c∈(a,b),使f(c)=0. ②如果函数f(x)在区间[a,b]上的图象是连续不断的曲线,并且有f(a)·f(b)>0,那么,函数f(x)在区间(a,b)内不一定没有零点. ③如果函数f(x)在区间[a,b]上的图象是连续不断的曲线,那么当函数f(x)在区间(a,b)内有零点时不一定有f(a)·f(b)<0,也可能有f(a)·f(b)>0. 判定函数零点的方法:①解方程法;②利用零点存在性定理判定;③数形结合法,尤其是方程两端对应的函数类型不同的方程多以数形结合求解 1.(2013·重庆)若a0,f(b)=(b-c)(b-a)<0,f(c)=(c -a)(c-b)>0.因此有f(a)·f(b)<0,f(b)·f(c)<0,又因f(x)是关于x的二次函数,函数的图象是连续不断的曲线,因此函数f(x)的两零点分别位于区间(a,b)和(b,c)内,故选A. 2.函数f(x)= ?? ? ??ln x-x2+2x(x>0), 2x+1(x≤0), 的零点个数是() A.0 B.1 C.2 D.3 数学练习 作业 练习7:函数的零点 第二部分函数、导数及其应用

汇编语言程序设计实验七

实验七子程序的应用 【实验目的】 1.掌握子程序的定义 2.掌握子程序中的参数传递 3.掌握子程序的调用。 【实验环境】 配有汇编语言开发环境的计算机 【实验内容】 十进制数到十六进制数转换程序。程序要求从键盘取得一个十进制数,然后把该数以十六进制形式在屏幕上显示出来。 【实验过程、结果】 ;程序名:t6-2.asm ;功能:从键盘获取一个十进制数, ;用十六进制的形式输出 decihex segment assume cs:decihex ;主程序部分 main proc far call decibin call crlf

call binihex call crlf main endp ;*************************** decibin proc near mov bx,0 ;从键盘获取一个数字,转换为二进制 ;结果放在bx寄存器中 newchar: mov ah,1 int 21h ;从键盘输入一个字符并显示在屏幕上 sub al,30h ;转换成ASCII码 jl exit cmp al,9d jg exit cbw ;从al扩展到ax,数字现在存放在ax中 xchg ax,bx mov cx,10d mul cx xchg ax,bx add bx,ax jmp newchar

exit: ret decibin endp ;子程序结束 ;将二进制转换为十六进制子程序binihex proc near mov ch,4 rotate: mov cl,4 rol bx,cl ;循环移位 mov al,bl and al,0fh add al,30h cmp al,3ah jl printint add al,7h printint: mov dl,al mov ah,2 int 21h dec ch jnz rotate ret

2020高考文科数学一轮总复习课标通用版作业:第2章 函数 课时作业7

课时作业7二次函数 一、选择题 1.(2019年陕西省西安市第一中学模拟)函数y=x2+2x-1在[0,3]上最小值为() A.0 B.-4 C.-1 D.-2 解析:化简y=x2+2x-1=(x+1)2-2,函数图象对称轴为x=-1,开口向上,函数在区间[0,3]上单调递增,所以当x=0时,函数取得最小值为-1,故选C. ★答案★:C 2.(2019年陕西省西安市第一中学月考)已知m<-4,点(m-1,y1),(m,y2),(m+1,y3)都在二次函数y=x2+6x-1的图象上,则() A.y1

?????-(x -a )2,x ≥0, -x 2-2x -3+a ,x <0, 若?x ∈R ,f (x )≤f (0)恒成立,则a 的取值范围为 ( ) A .[-2,1] B .(-3,1) C .[-2,0] D .[-2,0) 解析:∵当x ≥0时,f (x )=-(x -a )2,又f (0)是f (x )的最大值,∴a ≤0;当x <0时,f (x )=-(x +1)2-2+a ≤a -2,当x =-1时取等号,要满足?x ∈R ,f (x )≤f (0),需a -2≤f (0)=-a 2,即a 2+a -2≤0,解之得,-2≤a ≤1, ∴a 的取值范围是[-2,0],故选C. ★答案★:C 4.(2019年浙江诸暨中学高二下学期模拟)若f (x ),g (x )都是定义在实数集R 上的函数,且x -f (g (x ))=0有实数解,则以下函数①3x -1,②2x 2-x +1,③x 2+x +1,④e x -1 2中,不可能是g (f (x ))的有 ( ) A .1个 B .2个 C .3个 D .4个 解析:因为x =f (g (x )), 所以g (x )=g [f (g (x ))]?t =g [f (t )]?x =g [f (x )], 因为x -f (g (x ))=0有实数解, 所以x =g [f (x )]有实数解. 因为x =3x -1?x =1 2,所以A 可能是g (f (x )),

实验七-网络程序设计综合实验汇总

网络程序设计 实验报告 实验名称:winsock 编程接口实验实验类型:设计型 指导教师:贾浩 专业班级:信安1204 姓名:马灿 学号:20123252 电子邮件: 实验地点:东6 E307 实验日期:

实验成绩:__________________________

实验七网络程序设计综合实验 摘要:本课程设计包含了文件传输协议的简单设计与实现。文件传送协议是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。文件传输协议的简单设计与实现建立在计算机网络实验环境TCP/IP网络体系结构之上,使用socket编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),利用了已有网络环境设计并实现简单应用层协议。本设计包括了具体设计任务,基本思路及所涉及的相关理论,设计流程图,调试过程中出现的问题及相应解决办法,实验运行结果,核心程序,个人体会及建议等。 关键词:SOCKET编程,FTPclient/server程序 一.问题描述及设计思路 1.1 问题描述 服务器端: 1.指定一个目录作为FTP目录(之后所有的文件操作均在此目录下进行) 2.接收客户端的命令请求并提供相应的服务。 客户端:完成与FTP用户的人机界面,以命令的方式向服务器请求服务,主要的命令有:1.CONNECTIP地址端口号 2.指定FTP服务器的IP地址和端口号,连接到服务器。响应:连接成功/失败。 3.LOGIN用户名 4.用户登录(假设在服务器端有用户管理功能)

5.响应:若用户不存在,提示“无此用户”;若用户存在,提示“密码:”;用户输入密码后,若正确提示“登录成功”;若不成功,提示“密码错误”。6.3.DIR 7.显示FTP服务器的FTP目录的文件列表(假设无子目录) 8.响应:目录列表(只要文件名即可)。 9.4.GET文件名 10.将FTP目录下的文件下载到本地,支持断点续传 11.响应:传送成功/失败/无此文件。 12.5.PUT文件名 13.将本地文件上传到FTP目录,支持断点续传 14.响应:传送成功/失败/无此文件。 15.6.HELP(客户端和服务器端均有该功能) 16.实验环境本次实验采用MFC工程工程采用MFC对话框界面工程名称为MyServer和FTPSOCKET。 17.详细设计过程 1.2 设计思路 1. FTP协议基础 FTP 是TCP/IP 协议组中的协议之一,该协议是Internet文件传送的基础,它由一系列规格说明文档组成。目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。简单的说,FTP就是完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上或从自己计算机中拷贝至远程计算机上。在TCP/IP协议中FTP标准命令TCP端口号为21,Port

C语言程序设计实验报告(实验大纲+过程)之欧阳家百创编

《C程序设计》实验教学大纲 欧阳家百(2021.03.07) 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分: 4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解C 语言的特点,熟练掌握C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 五、实验项目与学时分配

注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。 2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每

高中数学课时分层作业7函数的图象(含解析)苏教版必修1

高中数学课时分层作业7函数的图象(含解析)苏教版必修1 课时分层作业(七) 函数的图象 (建议用时:60分钟) [合格基础练] 一、选择题 1.函数y =|x +1|的图象为( ) A [将y =|x |左移1个单位即得到y =|x +1|的图象.] 2.函数y =|x | x +x 的图象是( ) C [函数y =|x | x +x 的定义域为{x |x ≠0}, 故图象与y 轴交点处应为空心小圆圈,故排除A 、B.当x <0时,y =-1+x <0,故排除D.] 3.已知函数y =ax 2 +b 的图象如图所示,则a 和b 的值分别为( ) A .0,-1 B .1,-1 C .1,0 D .-1,1 B [由图象可知,当x =1时,y =0; 当x =0时,y =-1, 即????? a + b =0,b =-1, 解得??? ?? a =1, b =-1. ] 4.如图,函数f (x )的图象是曲线OAB ,其中点O ,A ,B 的坐标分别为(0,0),(1,2),(3,1),

则f ? ?? ??1f (3)的值等于( ) A .0 B .1 C .2 D .3 C [由题意知,f (3)=1,所以f ? ?? ??1f (3)=f (1)=2.] 5.函数y =1- 1 x -1 的图象是( ) B [y =-1x 的图象向右平移1个单位,再向上平移1个单位,即可得到函数y =1-1 x -1的 图象.] 二、填空题 6.函数y =x 2 -4x +6,x ∈[0,3]的值域为________. [2,6] [∵y =x 2 -4x +6=(x -2)2 +2,∴函数的图象是以直线x =2为对称轴,以(2,2)为顶点的开口向上的抛物线,如图所示,由图可知,函数的值域为[2,6]. ] 7.如图是张大爷晨练时所走的离家距离(y )与行走时间(x )之间函数关系的图象,若用黑点表示张大爷家的位置,则张大爷散步行走的路线可能是________.

C++程序设计实验-1-7 - 完整

二、参照例1-2,用结构化方法编程实现: 1、 根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每 分钟的花费。(1学分=18学时) 2、 P43编程题1,2,3 1.输入一个三位整数,将它反向输出。 2.输入平面上某点横坐标x 和纵坐标y ,若该点在由图 3.1表示的方块区域内,则输出1;否则,输出0。 图1.11 正方形 3.输入三个整数,求出其中最小数(要求使用条件表达式)。 根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。使得本校不同专业,不同课程的同学都能用它来计算。(1学分=18学时) 提示: 1、定义一个类, 类的数据成员包括:每学年学费、专业总学分、课程学分; 类的成员函数包括: 设置每学年学费、专业总学分、课程学分; 显示每学年学费、专业总学分、课程学分; 计算上某课程的总花费; 计算上某课程的每学时花费; 计算上某课程的每分钟的花费; 1.输入某学生成绩,若成绩在85分以上输出“very good ”,若成绩在60分到85分之间输出“good ”,若成绩低于60分输出“no good ”。 2.输入三个整数,按从小到大的顺序输出它们的值。 3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。 4.输入百分制成绩,并把它转换成五级分制,转换公式为: ?????????-----=59 069607970898010090(不合格)(合格)(中等)(良好)(优秀)(级别)E D C B A grade 5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s (表示剪刀)或r (表示石头)或p (表示纸),要求两个游戏者交

单片机实验4 子程序设计-- BCD码转换为二进制

实验4. 子程序设计----BCD 码转换为二进制 单字节可存放两位压缩BCD 码(0—99) 为0 —9) 单字节BCD 码转换为二进制子程序 入口:(R0)= 压缩BCD 码的地址 出口:(A)= 转换结果 DSFR::MOV A,@R0 ANL A,#0F0H ;取十位数 SWAP A ;变为标准BCD 码 MOV B,#10 MUL AB ;(A)=D1×10 MOV R7,A ;D1× 10暂存 R7 MOV A,@R0 ANL A,#0FH ;取个位 ADD A,R7 ;A=D1×10+D0 RET 1、实验内容: 子程序设计要点: 1) 子程序一般为多次返复使用的程序段,一般应说明入口条件,DSFR 子程序的 入口条件是:被转换为二进制的单字节BCD 码为间接寻址,间接寻址寄存器为R0。要调用DFSR 子程序必需先将压缩BCD 码的存放地址赋与R0。而出口条件是指最后结果在哪儿存放。本子程序转换结果在ACC 内。 2) 主程序调用子程序,在调试时一般要先调试子程序、再调试主程序。

2、实验步骤 1)打开PV32编程序。汇编正确进入调试界面。否则修改程序重新汇编直到通过。 2)打开DATD窗口给20H、21H、R6、R7赋值 3)单步调试DSFR子程序观察并记禄寄存器、内存的变化。判断程序是否正确。若发现 问题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。 4) 设断点调试主程序观察并记禄寄存器、内存的变化。判断程序是否正确。若发现问 题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。 3.实验报告 1.写出主程序流程图、子程序流程图、程序清单 2.根据记渌数据给程序加注解 3.调试心得

实验05 函数程序设计

计算两个复数之积(调试示例error05_1)程序填空,不要改变与输入输出 有关的语句。 分别输入两个复数的实部与虚部,编程调用函数实现计算两个复数之积。 若两个复数分别为:c1=x1+(y1)i, c2=x2+(y2)i,则: c1*c2 = (x1*x2-y1*y2) + (x1*y2+x2*y1)i 输入输出示例:括号内是说明 输入 1 2 (x1=1, y1=2) -2 3 (x2=-2, y2=3) 输出 product of complex is (-5.000000)+(1.000000)i #include /*---------*/ int main(void) { float imag1, imag2, real1, real2; scanf("%f%f", &real1, &imag1); scanf("%f%f", &real2, &imag2); complex_prod(real1, imag1, real2, imag2); printf("product of complex is (%f)+(%f)i\n", result_real, result_imag); return 0; } /*---------*/ 使用函数求1! + 2! + … + m!(改错题error05_2)程序填空,不要改 变与输入输出有关的语句。 求1! + 2! + … + 10!,要求定义并调用函数fact(n)计算 n!,函数形参 n 的类型是int,函数类型是double。 输入输出示例:括号内是说明 输出: 1!+2!+...+10! = 4037913.000000 #include

作业7

作业7_微波炉辐射分布检验 摘要:本文先假设所给出微波炉辐射数据服从题目中提出的分布,然后进Kolmogorov-Smirnov检验,得出五个分布假设是否符合的结果。然后找出最符合的分布函数。 关键字:参数估计单样本的Kolmogorov-Smirnov检验微波炉辐射分布检验 一、问题重述 一共给出42台微波炉辐射(开门时)的数据,请回答: ①以上数据满足正态分布吗? ②以上数据满足gamma分布吗? ③以上数据满足Weibull分布吗? ④以上数据满足均匀分布吗? ⑤以上数据满足对数正态分布吗? 二、问题分析 这是一个单样本数据,使用单样本的Kolmogorov-Smirnov检验。先假设所给出微波炉辐射数据服从题中提出的分布,然后进行Kolmogorov-Smirnov检验。其中,有些可以直接使用K-S检验,有些需要先用参数估计函数找出分布函数拟合度大区间估计或点估计,然后再使用K-S检验。 三、模型的建立与求解 (1)检验正态分布 在Matlab软件包中做K-S检验。 程序如下: x=[0.30,0.09,0.30,0.10,0.10,0.12,0.09,0.10,0.09,0.10,0.07,0.05,0.01,0 .45,0.12,0.20,0.04,0.10,0.01,0.60,0.12,0.10,0.05,0.05,0.15,0.30,0.15, 0.09,0.09,0.28,0.10,0.10,0.10,0.30,0.12,0.25,0.20,0.40,0.33,0.32,0.12 ,0.12]; [h,p,ks,cv]=kstest(x) 程序执行后,得到结果如下: h = 1 p = 4.3541e-010 ks = 0.5040 cv = 0.2052 分析:“h=1”说明在α=0.05的显著水平下,应该考虑拒绝X服从正态分布的原假设;“p =4.3541e-010”说明有p =4.3541e-010的可能X服从正态分布;“cv = 0.2052”说明拒绝X服从正态分布的临界值为0.2052; 检验值ks = 0.5040>cv = 0.2052说明在α=0.05 的显著水平下,应该考虑拒绝X服从正态分布的原假设。 结论:以上三项指标均表示应该考虑拒绝X服从正态分布的原假设。 (2)检验gamma分布

实验一简单程序设计实验

实验一:简单程序设计实验 (1)编写一个 32 位无符号数除法的程序,要求将存放在 NUM1 中的 32 位无符号数与存放 在 NUM2 中的 16 位无符号数相除,结果存放在 NUM3 和 NUM4 中。 程序流程图略。 参考源程序: DATA SEGMENT NUM1 DD 2A8B7654H NUM2 DW 5ABCH NUM3 DW ? NUM4 DW ? DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS:CODE START: MOV AX,DATA ;数据段寄存器初始化 MOV DS,AX MOV AX, WORD PTR NUM1 MOV DX, WORD PTR NUM1+2 DIV NUM2 MOV NUM3,AX MOV NUM4,DX MOV AH,4CH ;正常返回DOS 系统 INT 21H CODE ENDS END START (2)编写一个拆字程序。要求将存放在 ARY 单元的 2 位十六进制数 X 1X 2 拆为 X 1 和 X 2 两 部分,并以 0X 1 和 0X 2 的形式分别存入 ARY+1 和 ARY+2 单元中。 程序流程图略。 参考源程序: DATA SEGMENT ARY DB 2AH,?,? DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS:CODE START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET ARY ;取ARY 的偏移地址 MOV AL,[SI] ;取16进制数至AL

MOV BL,AL AND AL,0F0H ;取16进制数的高四位,即X1 SHR AL,4 MOV [SI+1],AL ;存0X1 MOV AL,BL AND AL,0FH ;取16进制数的低四位,即X2 MOV [SI+2],AL ;存0X2 MOV AH,4CH INT 21H CODE ENDS END START

matlab实验四函数编写与程序设计

实验四:函数编写与程序设计 一、实验目的1 . 掌握M文件的创建。 2.掌握函数的编写规则。 3.掌握函数的调用。 4 . 掌握基本的输入输出函数以及显示函数的用法。 5.会用Matlab程序设计实现一些工程算法问题。 二、实验内容 1 . 设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。a=input('请输入一个数: ')

b=input('请输入一个数:'); fuhao=input('请输入一个运算符号(+-*/):','s'); switch fuhao case {'+'} he=a+b; disp(['和=',num2str(a),'+',num2str(b),'=',num2str(he)]); case {'-'} he=a-b; disp(['减=',num2str(a),'-',num2str(b),'=',num2str(he)]) case {'*'} he=a*b; disp(['乘=',num2str(a),'*',num2str(b),'=',num2str(he)]) case {'/'} he=a/b; disp(['除=',num2str(a),'/',num2str(b),'=',num2str(he)]) otherwise disp('请输入正确的符号'); end 2 . 求下列分段函数的值 2 2 2 6,0 56, 1, y χχχχ χχχχχ χχ ?+-<≠ ? =-+≤≠≠? ?-- ? 且-3 0<10,2且3 其他

2015年10月自考C++程序设计(04737)试题及答案解析

2015年10月高等教育自学考试全国统一命题考试 C++程序设计试卷 (课程代码04737) 本试卷共10页,满分100分,考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答o 4.合理安排答题空间,超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共20小题,每小题1分。共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。 1.在C++语言中用于注释的标识符是 A.& B.//C.* D./ 2.编写C++程序一般需经过的几个步骤依次是 A.编辑、调试、编译、连接B.编译、调试、编辑、连接 C.编译、编辑、连接、运行D.编辑、编译、连接、运行 3.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用 A.内联函数B.重载函数C.内部函数D.函数模板 4.设x=8,执行语句Y=x++,则y等于 A.6 B.7 C.9 D.8 5.下列运算符中,优先级最高的是 A. * B.一> C.&& D.>= 6.关于new运算符的下列描述中,错误的是 A.它可以用来动态创建对象和对象数组 B.使用它创建的对象和对象数组可以使用运算符delete删除 C.使用它创建对象时要调用构造函数 D.使用它创建对象数组时必须指定初始值 7.存储下列数据,占用存储字节最多的是 A. 0 B.‘0’C.〝0〞D.0.0 8.关于类和对象不正确的说法是 A.类是一种类型,它封装了数据和操作B.对象是类的实例 C.一个类的对象只有一个D.一个对象必属于某个类 9.下列有关构造函数的描述中,正确的是 A.构造函数可以带有返回值B.构造函数的名字与类名完全相同 C.构造函数必须带有参数D.构造函数必须定义,不能缺省 10.假定a为一个整型数组名,则元素a[4]的字节地址为 A. a+4 B.a+8 C.a+16 D.a+32 11.类中能访问静态成员的函数是

汇编语言程序设计实验报告三(子程序设计实验)

汇编语言程序设计实验报告三(子程序设计实验) 一、实验目的 1、掌握主程序与子程序之间的调用关系及其调用方法。 2、掌握子程序调用过程中近程调用与远程调用的区别。 3、熟练掌握码型变换的程序。 二、实验内容 1、从键盘输入二位非压缩BCD数,存入AX寄存器中,编程实现将其转换为二进制 数,并在屏幕上显示。要求码型转换程序用远程子程序编写,字符显示用近程子程序编写。数据可循环输入,遇‘00’结束。 三、实验准备 1、预习子程序设计的基本方法,根据实验内容要求编写出实验用程序。 2、熟悉键盘输入和字符显示的程序段的编制。 四、实验步骤 1、编辑、汇编源程序,生成可执行文件。 2、执行程序,检查输入、输出结果,看是否正确。如不正确,用DEBUG检查,修改 源程序,再汇编、运行,直到程序正确为止。 3、用DEBUG的T命令或P命令跟踪程序的执行,观察在远程和近程调用过程中,堆 栈的变化情况。 五、实验报告要求 1、分析近程调用和远程调用的主要区别。用DEBUG命令观察执行过程有何不同。 2、分析实验结果及所遇到的问题的解决方法。 主程序流程图 转换子程序TRAN流程图

七、程序清单 STA SEGMENT STACK ’STACK’ DB 100 DUP(0) STA ENDS GSAG SEGMENT PARA ‘CODE’ ASSUME CS:CSAG MAIN PROC FAR STRA T: PUSH DS SUB AX,AX PUSH AX REV: MOV AH,1 INT 21H MOV BL,AL INT 21H MOV AH,AL MOV AL,BL CMP AX,3030H JE ENDTRAN CALL NEAR PTR TRAN CALL FAR PTR CON MOV AL,0DH CALL FAR PTR DISP MOV AL,0AH CALL FAR PTR DISP MOV AL,0AH CALL FAR PTR DISP JMP REV ENDTRAN: RET MAIN ENDP TRAN PROC NEAR AND AX,0F0FH MOV BL,AL MOV BL,AL MOV CL,3 SHL AL,CL MOV CL,1 SHL BL,CL ADD AL,BL ADD AL,AH RET TRAN ENDP CSAG ENDS CSBG SEGMENT PARA’CODE’ ASSUME CS:CSBG

大学生C语言程序设计(第四版 谭洪强)实验7 答案

实验七 参考答案(参考答案) (1) (sy7-1.c )请编写函数fun ,它的功能是:计算并输出n (包括n )以内能被5 或9 整除的所有自然数的倒数之和。例如,若主函数从键盘给n 输入20后,则输出为s=0.583333。 注意:n 的值要求不大于100。 算法分析: 使用for 循环i ,遍历n 包含n 以内的所有整数,逐一判断每个i ,是否满足条件(能被5 或9 整除),如果满足,则把它的倒数累加到累加器里。注意:i 的倒数要表示成:1.0/i; 参考子函数如下: double fun(int n) { double sum=0; int i; for(i=5;i<=n;i++) if(i%5==0||i%9==0) sum=sum+1.0/i; return sum; } (2) (sy7-2.c ) 请编写函数fun ,其功能是:根据以下公式计算s ,并计算结果作为函数值返回,n 通过形参传入。 n s ?++++?++++++=321132112111 例如:若n 的值为11时,函数的值为1.83333 算法分析: 等式右边从第二项(i=2)开始,其分母等于前一项的分母加上i ;一共有n 项;求出每项的分母,然后把每项进行累加。 参考子函数如下: float fun(int n) { float sum=1; //sum 中已经累加了第一项的值 int i,m=1; //m 表示每项的分母; for(i=2;i<=n;i++) { m=m+i; sum=sum+1.0/m; } return sum; }

(3) (sy7-3.c)请编写函数fun,其功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。合并的方式是:将 a 数的十位和个位依次放在c 数的十位和千位上,b 数的十位和个位数依次放在c 数的个位和百位上。 例如,当a=45,b=12,调用该函数后,c=5241。 算法分析: 对一个两位数n,它的各位可以通过n%10求的,它的十位数可以通过n/10求的;所以分别用上述方法求的a和b的个位和十位,同时按照要求累加到c里。 参考子函数如下: long fun(int a, int b) { long c=0; c=a%10*1000+a/10*10+b/10+b%10*100; return c; } (4) (sy7-4.c)请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。例如:实型数为1234.567, 则函数返回1234.570000;实型数为1234.564, 则函数返回1234.560000。 算法分析: 先把这个数乘以100,然后再加0.5(实现四舍五入),再把这个数存放到一个长整型变量中,目的是把小数点后的小数去除,最后把这个数转换成浮点型数除以100,即可得出所的结果。 参考自定义函数如下: float fun ( float h ) { long w ; w = h * 100 + 0.5 ; return (float) w / 100 ; } (5) (sy7-5.c)请编写一个函数unsigned fun ( unsigned w ),w 是一个大于10的无符号整数,若w 是n (n ≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。 例如:w 值为5923,则函数返回923;w 值为923 则函数返回23。 算法分析: 首先应求出w的位数,有一位,i就乘以10(如果有4位,i就等于10000);然后通过求模运算舍弃最高位; 参考子函数如下: unsigned fun ( unsigned w ) { int i=1;//i用来存放整数的位数

西安交通大学程序设计基础选择题

一、单选题(60分) 1、关于建立函数的目的,以下正确的说法是()。 A、提高程序的执行效率 B、提高程序的可读性 C、減少程序的篇幅 D、减少程序文件所占内存 正确答案:B 学生答案:Bv 2、下列程序段的输出结果为()。Int x=3.y=2.printf("%d".(x-=y.x*=y+8/5)); A、1 B、7 C、3 D、5 正确答案:C 学生答案:CV 3、fgets(str.n.fp)函数从文件中读入一个字符串,以下正确的叙述是()。 A、字符串读入后不会自动加入".0' B、fp是file类型的指针 C、fgets函数将从文件中最多读入n-1个字符 D、fgets函数将从文件中最多读入n个字符 正确答案:C 学生答案:CV

4、若有说明.int lj=2,"p=&1',则能完成=赋值功能的语句是()。 A、i="p; B."p=*&); C、i=&j;; D、I=**p; 正确答案:B 学生答案:Bv 5、以下正确的说法是()。 A、用户若需调用标准库函数,调用前必须重新定义 B、用户可以重新定义标准库函数,若如此,该函数将失去原有含义 C、系统根本不允许用户重新定义标准库函数 D、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 正确答案:B 学生答案:Bv 6、C语言中,定义结构体的保留字是()。 A、union B、struct C、enum D、typedef 正确答案:B 学生答案:Bv

7、以下语句中,不能实现回车换行的是()。 A、printf("n"); B、putchar("n"); c、tprintf(stdout,"in"); D、fwrite("n",1.1.stdout); 正确答案:B 学生答案:Bv 8、若有inta[10]=10.1.2,3.4,5,6,7.8.9)."p=a.则输出结果不为5的语句为()。 A、printf("%d","(a+5)); B、printf("%d",p[5]); C、printf("%d"."(p+5)): D、printf("%d"."p[5]); 正确答案:D 学生答案:DV 9、下列程序的输出结果为()。main((int m=7.n=4jfloata=38.4,b=6.4.x.x=m/2+n*a/b+1/2.printf%n".x);j A、27 B、27.5 C、28 D、28.5 正确答案:A 学生答案:AV

汇编语言 实验七子程序设计2

实验七子程序设计 实验类型:综合性 实验目的: 1、掌握主程序与子程序之间的调用关系及调用方法。 2、掌握子程序调用过程中近程调用与远程调用的区别。 3、掌握通过堆栈转送参数的方法。 实验步骤: 1、进入DOS环境 2、输入命令:path c:\windows\command;c:\turbo\masm保证实验过程中使用的所有命令都在当前路径直接调用 3、启动EDIT编辑器输入程序代码 4、检查语法错误,如无错误以ASM为后缀名保存文件(如文件名chen.asm) 5、运行命令MASM CHEN.ASM生成OBJ文件 6、如果出错请回到第3步再纠正错误 7、运行命令LINK CHEN.OBJ(此时提示没有堆栈错误请忽略)生成EXE文件 8、运行DEBUG调入可执行程序DEBUG CHEN.EXE(以下DEBUG 命令请参看第一次实验内容) 9、执行反汇编U 10、查看程序结束地址 11、运行G 命令运行程序 12、运行D和R命令查看相应的内存单元和寄存器的数据是否与结果一致,如果不一致回到第3步纠正错误,也可以运行T命令逐条运行程序寻找错误指令位置再做修改。 实验内容: 从键盘输入一组十进制数据,按从小到大的顺序排列,并以十进制的形式输出。 要求:输入过程有键盘锁;输入、输出有提示;输入和输出之间换行。

data segment a dw 7 dup(?) data ends decihex segment main proc far assume cs:decihex,ds:data push ds mov ax,0 push ax mov ax,data mov ds,ax mov cx,07h lea si,a loop1:call decibin mov [si],bx add si,2 call crlf loop loop1 ;******************************** mov cx,7 dec cx

函数程序设计 -C语言程序实验报告

安徽工程大学 高级语言程序设计实验报告 班级姓名同组者/ 成绩 日期2019\11\21 指导教师 实验名称函数程序设计 一、实验目的 1.掌握定义函数的方法。 2.掌握函数实参与形参的对应关系,体会“值传递”的方式。 3.掌握函数的嵌套调用和递归调用的方法。 4.掌握全局变量和局部变量、动态变量和静态变量的概念与使用方法。 5.理解数组作为函数参数的传递方式。 6.理解宏的概念,掌握宏的定义。 7.了解文件包含的概念,掌握其用法。 二、实验内容 1.完成程序,求解n! 具体要求:输入并完善源程序;对源程序进行编译、连接和运行;写出程序运行结果。 2.计算s=1的k次方+2的k次方+3的k次方+……+N的k次方。 具体要求:输入并完善源程序;对源程序进行编译、连接和运行;写出程序运行结果。 3.写出下面3个程序的输出结果,说明每个程序中的各个x有何不同。 4.阅读程序,理解程序的功能,写出预期结果并上机验证。 5.编程并上机调试运行。 (1)编写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息。(2)输入一个整数,将它逆序输出。要求定义并调用函数rverse(number),它的功能是返回number的逆序数。如reverse(12345)的返回值是54321。 (3)用递归法求n阶勒让德多项式的值,递归公式为 P(x)=1,n=0;P(x)=x,n=1;P(x)= [(2n-1)*x-Pn-1(x)-(n-1)Pn-2(x)]/n, n>1 (4)编写一函数,由实参传递一个字符串,统计此字符串中字母、数字、空格和其他

字符的个数,在主函数中输入字符串并输出上述结果。 (5)带参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出交换后的两个值。 (6)编写函数,实现两个字符串的连接,在主函数中输入两个字符串并输出连接后的结果(不要使用库函数中的strcat函数)。 (7)请编写函数fun,它的功能是:求出1~1000之内能被7或11整除,但不能同时被7和11整除的所有整数,并将它们放在a所指的数组中,通过n返回这些数的个数,在主函数中输出这些整数,并给出统计的总数。 (8)设有未完成的函数: char GetChar(char c) { char s[]="9038571426"; …… } 字符串s中无序地存储了10个数字字符,没有重复。函数的功能是: 如果字符c不是数字字符,函数原样返回该字符;否则,在s中查找字符C,并返回其在s 中的前一个字符。如果该字符位于s的最前面(字符'9') ,则返回最后一个字符6'。 如GetChar(4)得到字符'I', GetChar(T)得到字符T。请完成该函数并在主函数中调用。*思考题 1.请分析不返回值的函数定义与有返回值的函数定义有什么不同,思考这两类函数在实际编程中的作用。 2.请观察本次实验中使用的函数都有几个返回值,当个函数需要有多个返回值时,应该如何处理? 3.数组作为函数参数有哪几种方式?这些方式中有没有能解决之前“函数多值返回问题”的方法? 4.请分析下面程序的作用。 /*format.h*/ #define DIGIT(d) printf("整数输出:%d\n",d) #define FLOAT(f) printf("实数输出:%10.2f\n",f) #define STRING(s) printf("字符串输出:?号s\n",s) /*user's program*/

相关文档
相关文档 最新文档