实验五 使用函数编写程序

合集下载

C语言实验指导3--用函数进行程序设计

C语言实验指导3--用函数进行程序设计

《C语言程序设计》实验指导书软工2010级2班m a oS W U实验环境Windows,Visual C++实验目录实验三用函数进行程序设计实验目的1、掌握C语言函数定义及调用的规则,理解参数传递的过程。

2、掌握函数嵌套调用过程及递归调用过程。

3、理解数组元素作参数和数组名作参数的不同。

4、编程验证全局变量、局部变量,动态变量、静态变量。

实验内容1、编程验证基本的函数定义和调用下面的程序,在主函数main中输入2个整数,并传给函数max。

函数max返回最大值。

#include <stdio.h>int max(int x,int y){ /*本函数返回x和y中的最大值*/int z;if(x>y) z=x;else z=y;return z;}main(){int a,b;printf("请输入a和b,用空格分开:\n");scanf("%d %d",&a,&b);printf("最大值是%d\n",max(a,b));}2、编程验证函数嵌套调用的执行过程执行下面的程序,分析嵌套调用的过程。

再分析一下,如果没有函数声明,编译时有何问题。

#include<stdio.h>void f1(void);/*这3行是函数声明*/void f2(void);void f3(void);void f1(){printf("I am f1\n");f2();}void f2(){f3();printf("I am f2\n");}void f3(){printf("I am f3\n");}main(){f1();f2();}3、编程验证函数的递归调用过程#include <stdio.h>int f(int a[],int n){if(n>=1){printf("要计算f(a,%d),先计算f(a,%d)\n",n,n-1);return f(a,n-1)+a[n-1];}else return 0;}main(){int aa[5]={1,2,3,4,5},sum;sum=f(aa,5);printf("数组aa[5]中5个元素的总和是%d\n",sum);}4、编程验证数组元素及数组名作参数有何不同数组元素作参数以及数组名作参数(1)把数组元素作参数。

函数实验报告总结

函数实验报告总结

函数实验报告总结函数实验报告总结引言:函数是计算机编程中的重要概念,它能够将一组输入映射为输出,是程序设计中模块化和可重用性的基石。

为了更好地理解函数的概念和使用方法,我们进行了一系列的函数实验。

本文将对这些实验进行总结和归纳,探讨函数在实际编程中的应用。

实验一:函数的定义和调用在这个实验中,我们学习了函数的基本概念和语法。

通过定义一个简单的函数,我们了解了如何使用关键字“def”来定义函数,并通过调用函数来执行其中的代码块。

这个实验让我们明白了函数的封装性和可复用性,可以将一段代码封装成函数,供其他地方调用。

实验二:函数的参数传递在这个实验中,我们学习了函数的参数传递方式。

通过定义带有参数的函数,我们了解了函数参数的不同类型,包括位置参数、关键字参数和默认参数。

我们还学习了如何在函数调用时传递参数,并探讨了参数传递的机制和注意事项。

这个实验让我们对函数的灵活性和可变性有了更深入的理解。

实验三:函数的返回值在这个实验中,我们学习了函数的返回值。

通过定义带有返回值的函数,我们了解了如何使用关键字“return”来返回函数执行的结果。

我们还学习了函数返回值的类型和用途,包括返回单个值、返回多个值和返回空值。

这个实验让我们明白了函数的结果可以被其他代码使用,提高了代码的灵活性和可扩展性。

实验四:递归函数在这个实验中,我们学习了递归函数的概念和用法。

通过定义递归函数来解决问题,我们了解了递归的原理和应用场景。

我们还学习了递归函数的优缺点,包括代码简洁但可能导致性能问题。

这个实验让我们对递归思想和算法有了更深入的认识,提高了问题解决的能力。

实验五:高阶函数在这个实验中,我们学习了高阶函数的概念和用法。

通过定义接受函数作为参数或返回函数的函数,我们了解了高阶函数的特点和应用场景。

我们还学习了匿名函数和函数式编程的基本概念,以及如何使用内置函数和自定义函数来实现高级功能。

这个实验让我们对函数的扩展性和灵活性有了更深入的理解。

实验05函数程序设计

实验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<stdio.h>/*---------*/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 <stdio.h>double fact(int n);int main(void){int i;double sum;/*---------*/printf("1!+2!+...+10! = %f\n", sum);return 0;}/*---------*/使用函数判断数的符号程序填空,不要改变与输入输出有关的语句。

C语言实验报告之利用函数进行程序设计

C语言实验报告之利用函数进行程序设计

一、实验的目的1、掌握定义函数的方法。

2、掌握函数的实参与形参的对应关系以及“值传递”的方式。

3、掌握函数的嵌套调用及其递过调用的方法。

4、掌握全局变量与局部变量的使用。

二、要求及内容本实验主要完成函数的的应用训练,总共要求完成四个问题的源代码的编辑、编译、连接与运行,最终产生相关的运行结果,按规定要求提交相应的实验报告。

具体要求完成的问题如下:1、编程求100—200之间的素数,该区间的数据从主函数中传出,由一个判别素数的函数进行判别后返回主函数输出。

2、编写一个程序,由主函数传来一个字符串,在函数中分别统计出字母、数字、空格和其它字符的个数,在主函数中打印输出。

3、用递归算法将一个整数n转换成相应的字符串。

4、输入10个学生5门课的成绩,分别用函数实现下列各项功能:(1)计算出每个学生的平均分;(2)计算出每门课程的平均分;(3)找出所有50个分数中最高分数所对应的学生和课程。

三、算法设计思想或程序流程图1、根据素数是不能被2到本身的开平方之间的任何一个整数整除的整数,设计一个判别一个整数是不是素数的函数,即为“sushu”,然后在主函数中调用并求出100—200中的所有素数。

2、编写一个判断字母、数字、空格以及其他字符的函数,即“jisuan”,从主函数中输入一个字符串,调用函数对其计算相关字符的个数。

3、从主函数中输入一个n。

设计函数“zfc”,如果n整除10为0,则输出其对应的ASCLL码,如果不为0,则继续返回函数“zfc”,即递归调用,直到为0为止。

主函数中,判断n是否大于0,若不大于0,则输出时求出n的相反数并在其之前加一个“-”号。

4、设计一个“score”函数,结合for循环语句和数组计算每个学生和每门课程的平均分并且找出所有50个分数中最高分数所对应的学生和课程,然后再main函数中调用。

四、所使用的软硬件平台软件平台:Microsoft Windows XP专业版SP3,Microsoft Visual C++ 6.0。

C语言实验五最简单的C语言程序设计

C语言实验五最简单的C语言程序设计

C语⾔实验五最简单的C语⾔程序设计实验5:最简单的C语⾔程序设计⼀、实验⽬的:(1)掌握C语⾔中使⽤最多的⼀种语句——赋值语句的使⽤⽅法。

(2)掌握各种类型数据的输⼊输出的⽅法,能正确使⽤各种格式转换符。

(3)进⼀步掌握编写程序和调试程序的⽅法。

⼆、实验内容和步骤:1、通过下⾯的程序掌握各种格式转换符的正确使⽤⽅法。

(1)输⼊以下程序:/* Note:Your choice is C IDE */# includeint main( ){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61,b=62;c1='a';c2='b';d=3.56;e=-6.87;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%1d\np=%u,q=%u\n",f,g,m,n,p,q);显⽰结果:(2)运⾏此程序并分析结果。

(3)在此基础上,将程序第10~14⾏改为c1=a,c2=b;f=3157.890121;g=0.123456789;d=f;e=g;运⾏程序,分析结果。

/* Note:Your choice is C IDE */#include"stdio.h"int main(){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\n",f,g,m,n,p,q);}显⽰结果:(4)⽤sizeof运算符分别检测程序中各类型的数据占多少字节。

C语言程序设计实验五:函数(5篇范例)

C语言程序设计实验五:函数(5篇范例)

C语言程序设计实验五:函数(5篇范例)第一篇:C语言程序设计实验五:函数C语言程序设计实验五:函数1、定义函数返回两个数中较大的数,在主函数中通过调用该函数求三个数中较大的数并输出,编写主函数调用该函数。

说明:(1)请大家按学号来坐,便于考勤和管理。

(2)请珍惜宝贵的实验时间!不要做与实验无关的事情,比如聊QQ、上网或打游戏。

(3)直接把C语言代码粘贴到相应的实验题目下方,上交实验报告时只交word文档。

(4)文档名称:班级+学号后2位+姓名+实验编号,例如12通1班12张山实验五.doc。

第二篇:C语言程序设计实验七:函数、数组、指针C语言程序设计实验七:函数、数组、指针1、程序运行后,用户任意输入一个字符串,求出字符串长度,然后输出字符串内容及个数。

不能使用strlen函数。

求字符串长度函数的函数原型必须如下:int MyStrLenPt(char *str)若输入:nihao123!则输出:nihao123!:9 chars2、编写一个对一维数组进行排序的程序。

要求:写两个函数,一个主函数,一个sort函数。

在主函数中完成数组的输入和输出,通过调用sort函数对数组进行排序。

sort函数的原型为:voidsort(int*p, intn);说明:(1)请大家按学号来坐,便于考勤和管理。

(2)请珍惜宝贵的实验时间!不要做与实验无关的事情,比如聊QQ、上网或打游戏。

(3)直接把C语言代码粘贴到相应的实验题目下方,上交实验报告时只交word文档。

(4)文档名称:班级+学号后2位+姓名+实验编号,例如11电1班12张山实验七.doc。

第三篇:C语言程序设计—函数—实验报告实验报告专业软件工程班级X班学号_ XXXXXXXXXXX_姓名实验日期:201X年X月X日报告退发(订正、重做)课程C程序设计实验实验名称函数一、实验目的① 熟练掌握C程序中函数的定义;② 掌握函数的调用,函数参数的传递;③ 熟练掌握函数的嵌套调用和递归调用;二、实验环境(描述实验的软件、硬件环境)① 软件环境:windows xp/win7等操作系统,Microsoft Visual C++ 6.0编译器;② 硬件环境:PC机一台三、实验内容、步骤和结果分析题目一:编写一个用来判断质数(素数)的函数。

实验五、函数程序设计

实验五、函数程序设计

实验五函数程序设计一、实验目的1.掌握函数的定义、函数的说明和调用。

2.掌握函数的参数及其传递方式,函数值的正确返回。

二、实验设备及分组1.Windows XP操作系统;2.Visual C++6.0语言环境;3.每人一台PC机。

三、实验内容1.[目的]掌握标准库函数的说明和调用方法。

[题目内容]编写一个程序,首先显示一个菜单,然后根据用户的选择,输入数据后,执行相应的操作。

[输入]用户选择和函数自变量值[输出]如下菜单:=======MENU======1.。

sin2.。

cos3.。

pow4.。

sqrt0.。

exit==================[提示]使用标准库函数、多分支选择结构。

2.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。

[题目内容]编写一个用户自定义函数,该函数有一个整型参数,函数的功能是:当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时,返回值为1 。

编写一个程序,从键盘输入任意10个整数,分别调用用户自定义函数来判断这10个整数的奇偶性。

[输入]任意10个整数[输出]这10个整数的奇偶性[提示]在主函数中使用循环结构输入10个整数。

根据子函数的返回值输出相应的判断结果信息。

3.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。

[题目内容]编写一个用户自定义函数,该函数有三个整数参数,函数的功能是:求解这三个整数的最大值,函数的返回值为三个参数的最大值。

编写一个程序,从键盘输入任意5个整数,分别两次调用用户自定义函数来求出这5个整数中的最大值。

[输入]任意5个整数[输出]这5个整数的最大值[提示]先用前三个整数调用函数,求出的最大值作为参数之一,再与另两个整数一起求出最大值即为所求。

4.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。

[题目内容] n m A 表示从m 各元素中抽出n 个元素的排列的个数。

它的计算公式为:)!(!n m m A n m -=。

C语言实验报告(函数应用)

C语言实验报告(函数应用)

C语言程序设计II实验报告题目:实验五函数应用院系名称:计算机学院专业名称:计算机科学与技术班级:学号:学生姓名:指导教师:实验日期:2017年4月1日报告提交截止日期:2017年4月11日一、实验目的1、掌握C语言函数的定义方法、函数的声明及函数的调用方法及调用过程;2、掌握主调函数和被调函数之间的参数传递方式;二、实验内容与要求:1、求两个整数的最大公约数和最小公倍数。

用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数。

(提示:设两个整数是a,b,最大公约数是p,最小公倍数是q,那么ab=pq)2、用牛顿迭代法求方程f(x)=ax3+bx2+cx+d=0的根。

系数a、b、c、d由主函数输入。

求根过程写成函数。

(提示:牛顿迭代法是先给定方程f(x)=0的一个较好的初始近似根x0,然后重复使用迭代公式:求x的近似解,直至相邻两次的近似解相差很小为止,如差值的绝对值小于1e-07。

x0可以从键盘输入或直接设定。

)3、定义一个函数,功能是计算n个学生的成绩中高于平均成绩的人数,并作为函数返回值。

用主函数来调用它。

统计30个学生成绩中高于平均成绩的有多少人。

4、∑=+++==ninpppipns1)()2()1()()(,!)(iip=5、编写和调用函数,给定圆筒的内径、外径和高,计算该圆筒的体积;给定圆锥的高、底面半径,计算该圆锥的体积和表面积。

6、编写和调用函数,求出10000以内的所有素数、绝对素数、水仙花数、完全数(或称完数)、互满数。

提示:一个素数经过任意次调换位,仍然为素数,则称其为绝对素数,例如13和31就是一个绝对素数。

水仙花数是指一个三位整数,其各位数字立方之和等于该数。

例如,153就是一个水仙花数:153=1*1*1+5*5*5+3*3*3。

完全数是指一个数正好是它的所有约数(本身除外)之和。

例如,6就是一个完全数,因为6的因子有1、2、3,并且6=1+2+3。

如果有两个数,每一个数的所有约数(除它本身以外)之和正好等于对方,则称这两个数为互满数。

五C语言程序设计

五C语言程序设计

五《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。

2、掌握选择结构的程序设计。

3、掌握分支结构的嵌套。

二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。

自变量x与函数值均采用双精度类型。

(2)自变量x值从键盘输入,且输入前要有提示信息。

(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。

记录结果。

(5)源程序以sy4_1.c存盘。

2、编程,将一个百分制成绩转换成等级制成绩。

具体要求如下:(1)百分制与等级制的对应关系如下:(2)用switch语句实现该功能。

(3)用键盘输入百分制成绩,输入前要有提示信息。

(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。

(5)输出结果中应包含百分制成绩和成绩等级。

(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。

记录结果。

(7)源程序以sy4_2.c存盘。

三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。

2、掌握三种常用的循环语句的格式和功能。

3、初步掌握循环结构的编程方法。

二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。

要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。

2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。

Python语言程序设计形考二实验五

Python语言程序设计形考二实验五

Python语言程序设计形考二实验五实验目的本实验旨在通过使用Python语言编程,练并巩固对于函数的理解和运用。

实验要求编写一个Python程序,实现以下功能:1. 输入一个字符串,检查该字符串中是否包含字母和数字。

若包含,输出字符串中的字母和数字个数;若不包含,输出提示信息。

2. 输入一个字符串,对该字符串进行反转,输出反转后的字符串。

3. 输入两个字符串,判断第二个字符串是否是第一个字符串的子串。

若是,输出提示信息;若不是,输出提示信息。

实验步骤1. 定义函数`check_alphanumeric`- 输入:一个字符串`str`- 输出:检查结果字符串- 过程:检查输入字符串是否包含字母和数字,统计其中的字母和数字个数,并返回检查结果字符串。

2. 定义函数`reverse_string`- 输入:一个字符串`str`- 输出:反转后的字符串- 过程:将输入字符串反转后返回。

3. 定义函数`check_substring`- 输入:两个字符串`str1`和`str2`- 输出:检查结果字符串- 过程:判断第二个字符串是否是第一个字符串的子串,若是,返回检查结果字符串;若不是,返回提示信息。

4. 调用上述函数,实现需求功能。

实验代码示例def check_alphanumeric(str):检查字符串是否包含字母和数字if any(c.isalpha() for c in str) and any(c.isdigit() for c in str):统计字母和数字个数alpha_count = sum(1 for c in str if c.isalpha())digit_count = sum(1 for c in str if c.isdigit())return f"该字符串包含字母和数字。

字母个数为{alpha_count},数字个数为{digit_count}。

"else:return "该字符串不包含字母和数字。

实验5函数程序设计

实验5函数程序设计

实验5函数程序设计实验目标:通过实验,学习函数的基本概念和使用方法,掌握如何使用函数设计和实现程序。

实验内容:1.函数概念的理解2.函数的定义和调用3.函数的参数传递4.函数的返回值5.函数重载6.递归函数的使用一、函数概念的理解函数是一个独立的代码块,用于执行特定的任务。

它将一些输入参数转换成输出结果,可以被多次调用,提高代码的可维护性和代码的重用性。

二、函数的定义和调用函数的定义包括函数的声明和函数体。

函数的声明用于向编译器说明函数的返回值类型、函数名和参数列表,可以定义在函数调用之前或者在函数体之前,以告诉编译器函数的存在。

函数的函数体用于实现函数的具体功能。

函数的调用是通过函数名和实参列表来完成的。

当函数被调用时,程序执行会转移到函数体中执行相应的代码,函数执行完毕后返回到调用函数的地方继续执行。

调用函数时,可以将实参的值传递给形参。

三、函数的参数传递参数传递是指调用函数时将实参的值传递给形参的过程。

参数传递可以分为按值传递、按引用传递和按指针传递三种方式。

按值传递是指将实参的副本传递给形参。

在函数体中对形参的修改不会影响实参的值。

按引用传递是指将实参的引用传递给形参,即形参是实参的别名。

在函数体中对形参的修改会影响实参的值。

按指针传递是指将实参的地址传递给形参,即形参是实参的指针。

在函数体中对指针指向的值的修改会影响实参的值。

四、函数的返回值函数返回值是指函数执行完毕后返回给调用函数的值。

函数可以返回一个值或者不返回值。

函数返回值的类型和个数需要在函数声明或者定义时指定,函数体中使用return语句返回具体的值。

函数返回值可以通过赋值给变量来使用。

五、函数重载函数重载是指在同一作用域内定义多个同名函数,但是函数的参数列表不同。

编译器会根据不同的参数列表选择调用对应的函数。

函数重载的实现要注意参数的类型和个数,不能只是返回值不同。

六、递归函数的使用递归函数是指在函数的定义中调用函数本身的函数。

C语言程序设计第五次实验报告

C语言程序设计第五次实验报告

C语⾔程序设计第五次实验报告C程序设计实验报告实验项⽬:C语⾔程序设计第五次实验报告姓名:彭佳乐实验地点:家中实验时间:2020年4⽉21⽇⼀、实验⽬的与要求1、熟练地掌握函数的定义⽅法和调⽤规则。

2、掌握再 C语⾔程序种主调函数和被条⽤函数之间进⾏数据传递的规则。

3、了解函数的返回值及其类型,并正确使⽤它4、了解局部变量和全局变量的作⽤城及它们与存储分类的关系,理解变量的存在性和可见性的概念5、练习递归函数的使⽤⼆、实验内容6.3.1.1 已知三⾓形的三边,求⾯积6.3.1.2 求N的阶乘6.3.1.3 求两个整数的最⼤公约数6.3.1.4 打印出指定的图形6.3.2.1 求500以内的所有亲密数对6.3.3.1 编写计算x的y次幂的递归函数6.3.3.2 编写计算学⽣年龄的递归函数1、实验练习:6.3.1-1 已知三⾓形的三边,求⾯积(1)问题的简单描述:编写程序,从键盘输⼈三⾓形的3条边,调⽤三⾓形⾯积函数求出其⾯积,并输出结果。

(2)实验代码:#include<math.h>#include<stdio.h>float area(float a,float b,float c){float s,p,area;s=(a+b+c)/2;p=s(s-a)(s-b)*(s-c);area=sqrt(p);return(area);}main(){float a,b,c,ts;printf("请输⼊三⾓形的三条边a,b,c:\n");scanf("%f%f%f",&a,&b,&c);ts=area(a,b,c);if(a+b>c&&a+c>b&&b+c>a)printf("area=%f\n",ts);elseprintf("Data error!");}(3)问题分析:求三⾓形的⾯积采⽤的是浮点型,具有返回值,刚开始写成了调⽤函数后来发现不对将函数调⽤改成函数表达式带⼊程序可以正常运⾏2、实验练习:6.3.1-2 求N的阶乘(1)问题的简单描述:编写函数,求出从主调函数传来的数值i的阶乘值,然后将其传回主调函数并输出(2)实验代码:#include<stdio.h>#define N 5long function(int i)static long f=1;f=f*i;return f;}main(){long product;int i;for(i=1;i<=N;i++){product=function(i);printf("%d的阶层为%d\n",i,product);}}(3)问题分析:定义N为五的时候很纠结忘了define函数,后来问了同学后解决了3、实验练习:6.3.1-3 求两个整数的最⼤公约数(1)问题的简单描述:编写程序,从键盘输⼊两个整数,调⽤gdc()函数求他们的最⼤公约数,并输出结果。

程序设计基础实验报告

程序设计基础实验报告

实验一 用C 语言编写简单程序一、实验目的1. 熟悉VC6.0的编程环境,掌握运行C 程序的基本步骤。

2. 了解C 程序的基本框架,模仿例题编写简单的C 语言程序。

3. 正确书写算术表达式、赋值表达式和关系表达式。

4. 掌握基本输入输出函数的使用,正确调用C 语言提供的数学库函数。

5. 掌握简单的单步调试方法。

二、实验环境Windows XP ;Visual C++ 6.0。

三、实验内容1.在屏幕上显示一个句子“What is a computer?”。

2.求华氏温度150F 对应的摄氏温度。

计算公式如下:其中,c 表示摄氏温度;f 表示华氏温度。

3.输入x ,计算下列分段函数的值(保留2位小数),请调用sqrt 函数求平方根,调用pow 函数求幂。

4. 输入一个正整数m (0100)m ≤≤,求100i m i =∑。

四、实验要求1. 将上机验证正确的源代码写到实验报告上。

2.根据自己的真实感受,认真填写实验分析和实验心得以及问题和建议。

3.按时提交实验报告。

553299c f =⨯-⨯21(1)2 x<02()0x x f x ⎧+++⎪=≥一、实验目的1.熟练掌握关系表达式的使用。

2.熟练掌握使用else-if 语句实现多分支结构程序设计。

二、实验环境Windows XP ;Visual C++ 6.0。

三、实验内容1.输入x ,计算并输出下列分段函数sign(x)的值。

2.输入月薪salary ,输出应交的个人所得税tax (保留2位小数)。

按照2011年开始实行的新的个人所得税法,计算公式为:tax = rate*(salary-3500)-deduction 。

当salary≤3500时,rate=0、deduction=0当3500<salary≤5000时,rate=3%、deduction=0当5000<salary≤8000时,rate=10%、deduction=105当8000<salary≤12500时,rate=20%、deduction=555当12500<salary≤38500时,rate=25%、deduction=1005当38500<salary≤58500时,rate=30%、deduction=2775当83500<salary 时,rate=45%、deduction=135053.输入一个正整数n ,再输入n 个学生的百分制成绩,统计各等级成绩的个数。

函数c语言实验报告

函数c语言实验报告

函数c语言实验报告《函数c语言实验报告》在计算机编程中,函数是一种非常重要的概念。

它可以将一组相关的代码封装起来,使得程序更加模块化和易于维护。

在C语言中,函数也是一种非常常见的编程结构,它可以帮助我们更好地组织代码和提高代码的重用性。

在本次实验中,我们将通过几个实例来演示C语言中函数的使用方法和特点。

首先,我们将从最简单的函数开始,即不带参数和返回值的函数。

我们将创建一个名为“hello”的函数,它的作用是打印“Hello, World!”这个字符串。

通过调用这个函数,我们可以在程序中任何需要的地方打印出这个字符串,而不需要重复编写打印代码。

接下来,我们将介绍带参数但不带返回值的函数。

我们将创建一个名为“sum”的函数,它的作用是计算两个整数的和并打印结果。

通过传入不同的参数,我们可以在程序中多次调用这个函数,而不需要重复编写计算和打印的代码。

然后,我们将介绍带参数和返回值的函数。

我们将创建一个名为“max”的函数,它的作用是计算两个整数中的最大值并返回结果。

通过调用这个函数,我们可以在程序中获取两个整数的最大值,而不需要重复编写比较的代码。

最后,我们将介绍递归函数。

递归函数是一种非常有趣的函数,它可以调用自身来解决问题。

我们将创建一个名为“factorial”的函数,它的作用是计算一个整数的阶乘。

通过递归调用这个函数,我们可以在程序中获取任意整数的阶乘,而不需要使用循环来实现。

通过这些实例,我们可以更加深入地理解C语言中函数的使用方法和特点。

函数的封装和重用性可以帮助我们更好地组织代码和提高代码的可维护性。

希望本次实验可以帮助大家更好地掌握C语言中函数的使用技巧,为日后的编程工作打下坚实的基础。

《C语言程序设计实验》指导书(实验1~6)

《C语言程序设计实验》指导书(实验1~6)

《C语言程序设计实验》指导书(简明版)**大学软件学院**年**月实验一顺序结构程序设计(2学时)一、实验目的1、熟悉C编译环境、简单C程序结构及书写方式、以及C程序的编辑、编译、连接、运行、调试的步骤;2、掌握C语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法;3、掌握C语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用;4、掌握C语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。

二、实验内容及要求1、实验内容包括8道题目,分为基本内容和选做内容两部分。

要求:(1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分);(2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分);(3)对于设计型题目,要求画出程序流程图(传统流程图和N-S图);(4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力;(5)上机结束后,应按要求认真书写实验报告(格式见附件)。

2、基本内容(1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单C程序的结构、书写格式以及上机过程;#include <stdio.h>int main( ){printf("Hello, world!\n");return 0;}(2)[验证型]通过运行下列程序,分析各种格式符的使用方法。

#include <stdio.h>int main( ){int a = 9, b = 2;float x = 32.8459, y = -792.451;char d = 'R';long n = 5461237;unsigned u = 65535;printf("%d,%d\n", a, b);printf("%3d,%3d\n", a, b);printf("%f,%f\n", x, y);printf("%-10f,%-10f\n", x, y);printf("%8.2f,%8.2\n", x, y);printf("%.4f,%.4f\n", x, y);printf("%3f,%3f\n", x, y);printf("%e,%10.2e\n", x, y);putchar(d);putchar('\n');printf("%c,%d,%o,%x\n", d, d, d, d);printf("%ld,%lo,%x\n", n, n, n);printf("%u,%o,%x,%d\n", u, u, u, u);return 0;}(3)[验证型]编辑下列程序,进行编译、连接和运行。

C语言实验报告(全)

C语言实验报告(全)

《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
《C语言程序设计》实验(上机)报告
实验报告填写说明
1.实验报告中的班级写行政班级(如道土1班),学号写完整学号(如20176000101),实
验日期不要漏写,任课教师写全名。

2.设计流程(算法描述)的书写用传统流程图、N-S流程图或伪代码中的任一种方式写出算法。

3.调试和测试结果应有内容,至少是“调试结果正确”,如果遇到错误,则写出错误信息,
及调试解决方法。

要求写出测试用的数据和测试结果,应对所有路径都进行测试。

南昌大学C++实验5 函数

南昌大学C++实验5 函数

南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合□√设计□创新实验日期:实验成绩:一、实验名称实验5 函数二、实验目的1.掌握函数的定义方法、函数的调用方法、参数说明以及返回值。

掌握实参与形参的对应关系以及参数之间的“值传递”的方式;掌握函数的嵌套调用及递归调用的设计方法;2.掌握全局变量和局部变量、动态变量与静态变量的概念和使用方法;3.在编程过程中加深理解函数调用的程序设计思想。

二.实验内容1.多模块的程序设计与调试的方法;2.函数的定义和调用的方法;3.用递归方法进行程序设计。

三.实验环境PC微机DOS操作系统或Windows 操作系统Turbo C 程序集成环境四.实验内容1.编写一个函数primeNum(int num),它的功能是判别一个数是否为素数。

如果num 是素数,返回该数;否则返回0值。

要求:(1)在主函数输入一个整数num,调用该函数后,输出num是否是素数的信息。

输出格式为:num is prime或num is not prime。

(2)分别输入以下数据:0,1,2,5,9,13,59,121,运行程序并检查结果是否正确。

2.编写一个计算组合数的函数combinNum(int m,int n)。

计算结果由函数返回。

计算组合数的公式是:c(m,n)=m!/(n!*(m-n)!)要求:(1)从主函数输入m 和n 的值。

对m>n 、m<n 和m=n 的情况作分别处理后调用函数combinNum(m,n),在主函数内输出结果值。

(2)对m>n 、m<n 和m=n 的情况各取一组数据进行测试,检查程序的正确性。

(3)修改程序,把两个函数分别放在两个程序文件中,作为两个文件进行编译、链接和运行。

3.已知xsh x sh shx sh y 32)1(++=,其中,sh 为双曲正弦函数,即2)(tt e e t sh --=,编写一个程序,输入x 的值,求y 的值。

C语言程序设计实验5 函数

C语言程序设计实验5  函数

实验5 函数
姓名:XXX 学号:XXX实验日期:XXX
1.实验目的和要求:参见实验指导书实验八
2.实验内容和步骤:
实验内容:实验指导书中的实验八
实验步骤:
2.1.实验内容的第1题,通过本题,了解到要在单步调试时能够观察自定义的函数内部变量变化情况,单步调试如何操作:
1.添加断点将光标移动到要添加断点的行中,然后按下Ctrl+F8即可。

2..观察变量现在想要观察a,b两个变量,按下Ctrl+F7,会弹出Add watch对话框,在其中填入所需观察变量a,b即可。

3.单步执行按F7执行单步跟踪操作,也可以按Ctrl+F9键执行到下一个断点。

4.终止测试按下Ctrl+F2
提问(1),请在下面粘贴运行结果画面:
实参a是否为同一变量?不是同一变量。

提问(2),请请在下面粘贴运行结果画面:
提问(3),观察结果有何变化?答:输出数据出错了。

通过本题,可以得出什么结论?
答:extern int a,b 表示a是在其它文件中定义的一个变量,需要在这里引用。

如果在外部定义了而没有引用的话输出时内存就按原来的输出也就不是输出定义值了。

2.2 实验内容部分第2题源程序代码,请贴图:
程序运行结果画面,请贴图:
2.3 实验内容部分第3题源程序代码,请贴图:
程序运行结果画面,请贴图:
2.4 选做题,若做了,请在下面给出源程序代码贴图及运行结果贴图
2.5选做题,若做了,请在下面给出源程序代码贴图及运行结果贴图
3.实验小结
通过对函数的学习,学习到了怎么样把程序模块,让我对函数的调用和定义,有了一个更深入的了解.。

实验五-MATLAB的程序设计

实验五-MATLAB的程序设计

实验五MATLAB的程序设计一、实验目的1.熟悉MATLAB 的编程环境;2.熟悉和掌握脚本文件和函数文件建立与使用方法;3.掌握MATLAB程序设计的流程控制语句;4.掌握函数调用和参数传递;5.熟悉MATLAB 程序调试方法。

二、实验仪器1.计算机2.MATLAB 软件环境三、实验指导1. M 文本文件介绍一个M 文件通常包含五个部分,函数定义语句、H1 帮助行、帮助文本、函数体或者脚本文件语句和注释语句。

一个完整的M 文件的结构为:function f = fact(n) 函数定义语句% Compute a factorial value. H1 行% FACT(N) returns the factorial of N, 帮助文本% usually denoted by N!% Put simply, FACT(N) is PROD(1:N). 注释语句f = prod(1:n); 函数体函数定义语句只在函数文件中存在,定义函数名称、输入输出参数的数量和顺序。

函数定义语句的格式为:function y = fact(x)2. 函数流程控制顺序结构顺序结构是最简单的程序结构,系统在编译程序时,按照程序的物理位置顺序执行。

这种程序容易编制,但是结构单一,能够实现的功能有限。

判断语句(if…else…end)if…endif…else…endif…elseif…else…end1)if…end此时的程序结构如下:if 表达式执行代码块end这是最简单的判断语句,只有一个判断语句,其中的表达式为逻辑表达式,当表达式为真时,执行相应的语句,否则,直接跳到下一段语句。

2)if…else…end当程序有两个选择时,可以选择if…else…end 结构,此时程序结构为:if 表达式执行代码块1else执行代码块2end当判断表达式为真时,执行代码块1,否则执行代码块2。

3)if…elseif…else…end上面的两种形式中,分别包含一个选择和两个选择,当判断包含多个选择时,可以采用elseif 语句,结构为:if 表达式1执行代码块1elseif 表达式2执行代码块2elseif ..................else执行代码块end其中可以包含任意多个elseif 语句。

函数的使用(实验报告)

函数的使用(实验报告)
提示:srand((unsigned) time(NULL));//用时间做种,每次产生随机数不一样
x=rand()%11//产生一个0-10随机数给x
编程要求:
①较好的用户输入输出提示
②使用子函数实现两个数相加的测试。此函数的输入参数是两个加数,返回值是用户运算的正确与否(用1或者0表示)。在此函数中首先读入用户输入的加法结果,并与正确结果进行比较。
for(i=1;i<=10;i++)
{
q=rand()%11;
k=rand()%11;
if(AddTest(q,k)==1)
{
printf("Right!\n");
}
else
{
x++;
printf("Not correct!\n ");
}
}
sum=100-10*x;
printf("总分为%d\n错误题目为%d\n",sum,x);
}
2.
#include<stdio.h>
int imax(int array[],int count)
{
int i;
int max;
max = 0;
for(i=0;i<count;i++)
{
if(max <= array#include<stdio.h>
double fact(int a)
{
double s=1;
return 0;
}
实验结果:
7
实验总结:通过这次实验我掌握定义函数的方法并且掌握函数实参与形参的对应关系以及“值传递”的方式;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五使用函数编写程序
【实验目的】
1.熟练掌握函数的定义和调用。

2.理解函数的实参、形参和返回值的概念。

3.熟练掌握VC程序调试方法,包括断点的设置和取消,以及单步执行跟踪进入函数和跳出函数的方法。

【实验内容】
5-1调试示例,从键盘输入一个正整数n,计算n! 的值,要求定义和调用函数fact(n),计算n!。

源程序(有错误的程序)
#include <stdio.h>
void main( )
{
int n;
long int f;
printf("Input n: ");
scanf ("%d", &n);
f=fact(n);
printf("%d!=%ld\n",n,f);
}
long fact(int m)
{
int i;
long int product;
for ( i = 1; i <= m; i++ )
product = product * i;
return product;
}
运行结果(改正后程序的运行结果)
Input n: 10
10! = 3628800
实验四中我们使用了程序运行到光标位置调试程序,本次实验需要掌握设置断点,以及单步调试进入函数和跳出函数的方法。

(1)打开源程序error5_1.cpp,编译程序,出现的错误信息:
'fact' : undeclared identifier
'fact' : redefinition; different type modifiers
双击该错误信息,箭头指向“f=fact(n);”这一行,错误信息指出函数“fact”没有定义,这是因为数据在调用前,必须先定义或声明。

在主调函数的变量定义前面加上函数声明“long fact(int m);”后,重新编译,连接,都正确。

(2)调试开始,设置2个断点(断点的作用:程序执行到断点处暂停,使用户可以观察当前的变量或其它表达式的值,然后继续运行),先把光标定位到要设置断点的位置,然后单击编译工具条上的(Inert / Remove Breakpoint (F9)),断点就设置好了(如图5.1所示)。

如果
要取消断点,只要把光标放到要取消的断点处,单击,这个断点就取消了。

图5.1 设置断点
(3)单击编译工具条(go (F5)),运行程序,用户输入n的值10后,程序运行到第一个断点位置暂停(如图5.2所示)。

图5.2 程序运行到断点位置
(4)单击(Step Into (F11))进入函数fact()调试,箭头表示程序已经执行到函数fact()
内(如图5.3所示)。

(5)使用,在函数fact()中设置程序的第3个断点(如图5.3所示)。

观察到product的值是-2903040,不正确,因为变量product未赋初值,加上语句product=1后,
按以上的步骤,重新编译、连接,运行到第3个断点处,变量窗口中product的值正确。

(7)现在需要从被调函数返回到主调函数,单击调试工具条中的(Step Out (Shift F11)),
程序返回主调函数继续执行(如图5.5所示)。

10!=3628800,与题目要求的结果一致。

(9)单击终止调试图标(Stop Debugging(Shaft+F5)),程序调试结束。

图5.3 进入函数fact()调试,并在运行时设置断点
图5.4 程序从函数fact()开始直接运行到第3个断点的位置(return前面)
图5.5 程序回到了主调函数
图5.6 程序执行到最后
5-2编程,输入两个正整数m和n,计算(m+n)! / (m! + n!)。

要求定义和调用函数fact(n)计算n!,函数类型是double。

5-3 编程,输入任意实数x和正整数n,计算x 的n 次幂。

要求定义和调用函数power(x,n)计算x 的n 次幂,其中x和n 的类型分别是double和int,函数类型是double。

输入输出示例:
输入x和n:2 10
2的10次方是1024
如何求x1+x2+x3+…+x n
5-4编程,输入x,计算并输出下列分段函数f(x) 的值。

要求定义和调用函数sign(x) 实现该分段函数。

1x>0
f(x) =0x=0
-1x<0
5-5编程,输入2个整数begin和end,分别代表摄氏温度的起止值,输出该范围内摄氏温度C和华氏温度F的转换表,摄氏温度每次增加5℃。

要求定义和调用函数ctof(celsius ),将摄氏温度C转换为华氏温度F,计算公式:F = 32 + C * 9 / 5。

5-6 编程,给定平面任意二点坐标(x1, y1)和(x2, y2),求这两点之间的距离(保留2位小数)。

要求定义和调用函数dist(x1, x2, y1, y2)计算两点间的距离。

输入输出示例:
input (x1,y1),(x2,y2):
10 10
200 100
Distance = 210.24
提示:模仿5-1,调试程序,包括设置断点、运行到断点、取消断点、单步进入函数和从函数返回到主调函数。

5-7 编程,输入三个正整数m、n和x,计算x m /m! + x n /n! 的值(保留2位小数)。

要求分别定义和调用函数fact(n) 计算n的阶乘,函数power(x,n)计算x 的n 次幂。

输入输出示例:
输入x , m , n:2 7 8
计算的结果为:0.03
5-8 编程,求f(g) = 2.1g2 + 5.78g - 32.5值,其中g(x)=5x+10.3(保留3位小数)。

要求定义和调用函数计算g(x)。

输入输出示例:
Input x:10.5
f(62.800) = 8612.548
思考:如何定义和调用2个函数分别计算g(x)和f(g)。

5-9改错,求1! + 2! + …+ 10!,要求定义函数和调用函数fact(n)计算n!,函数类型是double。

(源程序error5_2.cpp)
输入输出示例:
1! + 2! + … + 10! = 409113.000000
源程序(有错误的程序)
#include <stdio.h>
double fact(int n)
void main( )
{
int i;
double sum;
for (i = 1 ; i < 10; i++)
sum = sum + fact(i);
printf("1!+2!+…+10!= %f\n", sum);
}
double fact(int n);
{
int i;
double result;
for (i = 1 ; i <=n; i++)
fact(n)=fact(n)*i;
return result;
}
提示:模仿5-1,调试程序,包括设置断点、运行到断点、取消断点、单步进入函数和从函数返回到主调函数。

【实验报告要求】
将编程题(5-2~5-8)的程序流程图、源程序、运行结果和改错题(5-9)改正后的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,写在实验报告上。

相关文档
最新文档