C语言实验报告6——函数

学生实验报告学号 : 日期 : 20140622
}
运行结果:
2、阅读下面程序并执行,理解程序并记录程序运行结果#include "stdio、h"
void main
{
int a=2,i;
for (i=0;i<3;i++)printf("%4d",f(a));
}
f(int a)
{
int b=0;
int c=3;
b++;
c++;
return(a+b+c);
}
运行结果:
3、调试运行教材146页156页例7、1例7、3页程序,理解并掌握程序改进所采用得程序设计技术。

7、1题
运行结果:
7、2题
#include "stdio、h" long Fact(int n);
int main
{
int m;
long ret;
printf("Input m:"); scanf("%d",&m);
}
运行结果:
7、3题
#include "stdio、h"
unsigned long Fact(unsigned int n); int main
{
运行结果;
4、编程设计教材186页7、7题(1)、(2),并在VCC++环境下运行、7、7
(1)穷举法:源程序
#include "stdio、h"
int Gcd(int a,int b); /*函数声明*/
int main
{
int a,b,t;
}
}
在VCC++环境下运行:
运行结果:
(2)欧几里得算法
#include "stdio、h"
int Gcd(int a,int b); /*函数声明*/ int main
{
c=b; /*保存当前得除数*/
b=r; /*将当前得余数复制给下一次运算得除数*/
a=c; /*将当前得除数福中给下一次运算得被除数*/
r=a%b; /*记录当前得余数*/
}
return b; /*输出两数得最大公约数*/
}
在VCC++环境下运行;
实验总结:
通过本节实验课,进一步熟悉了函数得基本用法与功能,初步学会了函数得调用方法,并且掌握了用迭代法编程计算一些简单得实际问题。

函数就是程序得基本单元,要学好这门课就要从基本工作做起,学好每一块语言知识,慢慢总结经验,掌握更多得编程技巧。

合集下载

c语言实验报告实验

c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。

二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。

三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。

熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。

2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。

运用 switch 语句进行多分支选择,处理不同的情况。

利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。

3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。

掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。

4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。

实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。

5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。

掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。

6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。

了解共用体的概念和使用场景,比较结构体和共用体的区别。

四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。

函数实验报告总结

函数实验报告总结

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C语言实验报告函数

C语言实验报告函数

C语言实验报告函数
简介
本实验报告旨在介绍C语言中的函数,包括函数的定义和调用、参数传递、返回值以及递归等内容。

通过实验,我们将深入了解函数在C 语言程序中的作用和使用方法。

函数定义和调用
在C语言中,函数是一段完成特定任务的独立代码块。

函数可以在程序中被多次调用,提供代码的模块化和重复使用性。

函数通常由函数名、参数列表、返回值类型和函数体组成。

函数定义的一般形式如下所示:
返回值类型函数名(参数列表) {
// 函数体
// 执行特定任务的代码
return 返回值;
}
函数定义中的返回值类型指定了函数的返回类型,函数体中的代码完成特定的任务,并通过 return 语句返回一个值。

函数的调用发生在程序的其他地方,通过函数名和对应的参数来调用函数。

函数调用的一般形式如下所示:
返回值变量 = 函数名(参数1, 参数2, ...);
函数调用会执行函数体中的代码,并返回一个值。

返回值可以保存在变量中供后续使用。

参数传递
在C语言中,参数传递可以通过值传递或地址传递来进行。

当使用值传递时,函数的参数是实际参数的副本,任何对参数的修改不会影响实际参数的值。

而当使用地址传递时,函数可以通过指针来修改实际参数的值。

值传递
值传递是指将实际参数的值复制给形式参数,在函数内部对形式参数的修改不会影响实际参数的值。

下面是一个示例:
``` #include <stdio.h>
void changeValue(int num) { num = 10; printf(。

C语言实验报告函数1

C语言实验报告函数1
}
return s;
}_
题目6:#include<stdio.h>
#include <string.h>
void chang(char *);
int main()
{
char a[50];
printf("enter char:");
scanf("%s",a);
printf("no change char:");
printf("%s\n",a);
chang(a);
retura[])
{
char b[50],l=0;
int i;
l=strlen(a);
for(i=0;i<l;i++)
b[i]=a[l-i-1];
b[i]='\0';
printf("chage char:");
六、教师评语
签名:
日期:
成绩
附源程序清单:
题目2:
#include<stdio.h>
#include <math.h>
double funp(double c);
main()
{
double pi;
pi=sqrt(funp(0));
printf("pi=%f\n",pi);
return 0;
}
double funp(double x)
题目5:以下程序的功能是计算s= ,补足所缺语句。
#include “stdio.h”
long fun(int n)
{ int I;

C语言:函数的应用实验报告

C语言:函数的应用实验报告

课程名称:结构化程序设计与C语言开课实验室:年月日一、实验目的用C语言编写和调试函数的程序。

从而对函数的定义、调用、全局变量的灵活运用有比较深入的了解。

二、内容及结果1、程序一素数函数1)程序要求:写一个判断是否是素数的函数,在主函数输入一个整数,调用它后输出结果。

2)代码:#include<stdio.h>#include<math.h>int prime(int n){ int i,k;k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0) break;if(i<=k)return 0;elsereturn 1;}int main(){ int prime(int n); int n;printf("Please enter n:"); scanf("%d\n",&n);if(prime(n)==1)printf("%d is a prime number",int(n));elseprintf("%d is not a prime number",int(n)); }3)运行截图:2、程序二 用递归方法求n 阶勒让德多项式的值 1)程序要求:递归公式为: 当n=0,=)(x P n 1 当n=1, =)(x P n x;当n>=1, =)(x P n ((2n-1)x-P n-1(x)-(n-1)P n-2)x))/n 2)代码:#include<stdio.h>#include<math.h>int p(int n,int x);void main(){int n,x;scanf("%d",&x);for(n=0;n<=10;n++)printf("p(%d,%d)=%d\n",n,x,p(n,x));}int p(int n,int x){if(n==0)return 1;elseif(n==1)return x;elsereturn((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n; }3)运行截图:3、程序三成绩统计程序1)程序要求:输入10个学生5门课的成绩,分别用函数实现以下功能:计算每个学生的平均分;计算每门课的平均分;找出所有50个分数中最高的分数所对应的学生和课程;计算平均方差。

C语言实验报告函数

C语言实验报告函数

实验名:函数的定义及调用一、实验目的1、掌握C语言函数定义及调用的规则。

2、理解参数传递的过程。

二、实验内容(一))题目11、题目内容描述1、上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。

main(){int,y;printf(“%d\n”,sum(x+y));int sum(a,b){int a,b;return(a+b);}}2、编写并调试一个求n!(n为整数)的递归函数,希望能在程序运行过程中动态地显示递归函数被调用的轨迹。

三、分析讨论1、针对以上实验内容写出相应的参数传递过程并分析结果。

2、讨论参数的传递的几种形式。

2、输入和输出信息描述及数据类型确定;、输入数据(1)序号输入数据描述数据类型1 x,y int2 a,b int(2)输出数据序号输出数据描述数据类型1 x+y int3、程序源代码(填写程序调试正确后的代码)#include <stdio.h>int main(){int sum(int a,int b); //对被调用函数sum 的声明int x,y,z;scanf("%d,%d",&x,&y);z=sum(x,y); //调用sum 函数,将其值赋给zprintf("%d\n",z); //输出函数结果zreturn 0;//返回值为0}int sum(int a,int b) //定义sum函数{return(a+b); //将a+b的值作为返回值返回到调用sum的位置}4、程序调试错误序号错误信息(列出出错语句以及出错提示)是否解决解决方法1 In function 'main':|int,y;是改为int x,y;2 error: stray '\241' in program|error: expected expressionbefore '%' token|error: stray '\' in program|printf(“%d\n”,sum(x+y));是将整段改为int sum(int a , int b);int x,y,z;z=sum(x,y);printf("%d\n",z);3 error: 'a' redeclared asdifferent kind of symbol|error: 'b' redeclared asdifferent kind of symbol|int a,b;是去掉整句话4 warning: 'x' is useduninitialized in this function[-Wuninitialized]|是加上scanf("%d,%d",&x,&y);5 error: static declaration of'sum' follows non-staticdeclaration|是将int及后面的语句块都移到main外面5、测试与结果分析(1)、测试数据与结果测试序号测试用例选取原因测试输入数据测试输出结果是否正确结果分析1 测试用例4,5 9 是可运算范围内2 测试用例55555,7933 63488 是可运算范围内3 测试用例-89,-79 -168 是可运算范围内(2)、相关问题回答2、编写并调试一个求n!(n为整数)的递归函数,希望能在程序运行过程中动态地显示递归函数被调用的轨迹。

c语言函数实习报告

c语言函数实习报告c语言函数实习报告程序设计(C语言)实验报告实验目的(1)掌握函数的定义方法,调用方法,参数说明以及返回值;(2)掌握实参与形参的对应关系,一集参数之间的“值传递”的方式;(3)掌握函数嵌套调用及递归调用的设计方法;(4)在编写过程中加深理解函数调用的程序设计思想。

实验内容(1)编辑,编译,运行实验指导中的程序,并分析输出结果(2)编写一个函数primeNum(intx),功能是判别一个数是否是素数。

(3)编写函数mulNum(inta,intb),功能是判定a是否是b的整数倍实验1方法一:源程序:#include#includeintputeNum(intx) {intsum,a,b,c,d,e; sum=0;x=abs(x);a=x/10000;b=(x%10000)/1000; c=(x%1000)/100; d=(x%100)/10;e=(x%10)/1;sum=a+b+c+d+e;returnsum;}main(){inta,b;printf("Pleaseinputaninteger:");scanf("%d",&a);b=puteNum(a);printf("thesumofalldigitsis%d\n",b); }输入一个整数123运行结果如图输入整数98341验证运行结果如图方法二:#include#includeintputeNum(intx) {intsum,i,t;sum=0;x=abs(x);for(i=4;i>=0;i--) {t=pow(10,i);if(x>=t){sum=sum+x/t;x=x-(x/t)*t;}}returnsum;}main(){inta,b;printf("Pleaseinputaninteger:");scanf("%d",&a);b=puteNum(a);printf("Thesumofalldigitsis%d\n:",b);} 输入整数456运行结果如图输入整数98341验证运行结果如图实验2:源程序:#includevoidmove(chargeton,charputon){printf("%c->%c\n",geton,puton);}voidHanoi(intn,charone,chartwo,charthree){ if(n==1)move(one,three);else{Hanoi(n-1,one,three,two);move(one,three);Hanoi(n-1,two,one,three);}}voidmain(){intm;printf("Inputthenumberofdiskes:");scanf("%d",&m);printf("Thestepsofmoving%ddiskes:\n",m);Hanoi(m,'A','B','C' );}输入3运行结果如下:输入4运行结果如下:实验2:源程序:#includeinti,a,x;intprimeNum(intx){for(i=2;i {a=x%i;if(a==0)return0;}return1;}main(){printf("Pleaseinputx!\n");scanf("%d",&x);if(x printf("wronginput!\n"); else{a=primeNum(x);if(a==0)printf("%disnotaprimenumber!\n",x);else printf("%disaprimenumber!\n",x);}}输入数据0运行结果如下:输入数据1运行结果如下:输入数据2运行结果如下:输入数据3运行结果如下:输入数据9运行结果如下:输入数据13运行结果如下:输入数据59运行结果如下:输入数据121运行结果如下:实验3:源程序:#includeintmulNum(inta,intb){inti,c;c=a%b;if(c>0)i=0;elsei=1;returni;}main(){inta,b,s;printf("pleaseinputaandb:\n");scanf("%d%d",&a,&b);s=mulNum( a,b);if(s==1)printf("%disamultipleof%d\n",a,b);elseprintf("%disnotamultipleof%d\n",a,b);}输入数据1和5运行结果如下:输入数据5和5运行结果如下:输入数据6和2运行结果如下:输入数据6和4运行结果如下:输入数据20和4运行结果如下:输入数据37和9运行结果如下:出现的问题及解决方法:编译过程中常出现因错漏而使语句不规范的现象。

C语言 函数 实验报告

实验报告
设计思想的简单描述:
在试验一中,利用了对变量类型的定义以及使用制表符,是数据以表格的形式输出。

在实验二中,使用了指针变量的间接运算,和变量之间的赋值。

在实验三中,利用了字符数组。

在实验四中,使用了PrintfStringArray函数,并在主函数中调用了此函数。

程序结构及流程的简单描述:
变量地址安排规律:定义的时间越早,其地址所代表的十六进制
数值越大。

地址的变量规律:定义的时间越早,其地址所代表的十六进制数值越小。

实验心得体会:在这次试验中我的体会是要利用好各种函数的调用,在主函数中调用函数可以使程序更加简洁,明了。

c语言函数实验报告

c语言函数实验报告C 语言函数实验报告一、实验目的1、深入理解 C 语言中函数的概念、定义和使用方法。

2、掌握函数的参数传递机制,包括值传递和地址传递。

3、学会使用函数来实现程序的模块化设计,提高代码的可读性、可维护性和可重用性。

4、通过实验,熟练掌握函数的调用、返回值的处理以及函数之间的相互协作。

二、实验环境1、操作系统:Windows 102、编译环境:Visual Studio 2019三、实验内容(一)函数的定义与声明1、定义一个名为`add` 的函数,用于计算两个整数的和,并返回结果。

```cint add(int a, int b) {return a + b;}```2、在主函数之前对`add` 函数进行声明。

```cint add(int, int);```(二)函数的调用1、在主函数中调用`add` 函数,计算 5 和 10 的和,并输出结果。

```cint main(){int result = add(5, 10);printf("5 + 10 =%d\n", result);return 0;}```(三)值传递与地址传递1、定义一个函数`swap`,通过值传递方式交换两个整数的值。

```cvoid swapValue(int a, int b) {int temp = a;a = b;b = temp;}```2、定义一个函数`swapPointer`,通过地址传递方式交换两个整数的值。

```cvoid swapPointer(int a, int b) {int temp = a;a = b;b = temp;}```3、在主函数中分别调用这两个函数,观察交换结果。

(四)函数的递归调用1、定义一个递归函数`factorial`,计算一个整数的阶乘。

```cint factorial(int n) {if (n == 0 || n == 1) {return 1;} else {return n factorial(n 1);}}```2、在主函数中调用`factorial` 函数,计算 5 的阶乘,并输出结果。

函数实验内容及要求实验报告

函数实验内容及要求实验报告引言函数是计算机编程中非常重要的概念之一,它能够将一系列的指令封装成一个独立的模块,使得代码的复用和维护更加简单和高效。

在本次实验中,我们将学习和掌握函数的定义、调用和返回值等基本概念,以及函数的参数传递的特点和使用方法。

实验目的通过本次实验,我们的目标是:1. 理解函数的概念和作用;2. 掌握函数的定义和调用方法;3. 掌握函数的参数传递和返回值的使用;4. 能够设计并实现简单的函数。

实验方法本次实验分为以下几个步骤:1. 了解函数的概念和作用;2. 学习函数的定义和调用方法;3. 理解函数的参数传递和返回值的概念;4. 设计并实现一个简单的函数;5. 运行并测试实现的函数。

实验过程1. 理解函数的概念和作用函数是一段封装了一系列指令的代码块,它可以被其他代码通过调用的方式来执行。

函数的作用主要有两个方面:- 提高代码的复用性:将一些常用的功能封装成函数,可以在多个地方进行调用,避免了重复编写相似的代码。

- 提高代码的可维护性:将复杂的逻辑拆分成多个函数,分工明确,易于理解和修改。

2. 学习函数的定义和调用方法函数的定义一般由以下几个部分组成:- 函数名:标识符,用于调用函数;- 参数列表:函数执行时需要接收的参数;- 返回值类型:函数执行完毕后返回的结果类型;- 函数体:包含了具体的代码实现。

函数的调用方法为直接使用函数名,后跟参数列表(如果有的话)。

3. 理解函数的参数传递和返回值的概念函数的参数传递可以通过值传递和引用传递两种方式进行。

值传递是指将参数的值复制一份传递给函数,而引用传递是指将参数的地址传递给函数。

函数可以通过返回值将计算结果返回给调用者。

返回值可以是单个值,也可以是一个列表或对象等复杂类型。

4. 设计并实现一个简单的函数我们将设计一个简单的函数,用于计算两个整数的和。

函数定义如下:pythondef add(a, b):return a + b5. 运行并测试实现的函数我们可以在程序中调用这个函数来计算两个整数的和。

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