当前位置:文档之家› 《C语言程序设计》函数测试实验报告

《C语言程序设计》函数测试实验报告

《C语言程序设计》函数测试实验报告

一、引言

C语言是一种非常常用的编程语言,被广泛应用于软件开发中。在C

语言中,函数是一种重要的代码构建块,可以通过函数的调用来实现程序

的模块化和代码复用。理解和掌握函数的使用对于编写高效、可维护的程

序至关重要。

本次实验旨在通过编写C语言程序,并测试其函数的功能和正确性,

提高学生对函数的理解和应用能力。本实验采用了多种测试方法和测试用例,旨在全面测试函数的一致性、边界条件和异常处理等。

二、实验内容

1.设计并实现一个函数,判断一个整数是否是素数,并编写相应的测

试代码。

2.设计并实现一个函数,将一个字符串中的空格替换为指定的字符,

并编写相应的测试代码。

3.设计并实现一个函数,将一个二维数组中的元素按照指定要求排序,并编写相应的测试代码。

三、实验方法

1.设计函数时,根据需求和问题描述,创建相应的函数原型,并编写

注释说明函数的功能、参数和返回值等。

2.编写测试代码时,根据函数的功能和预期结果,设计多组测试用例,包括一般情况、边界情况和异常情况等。

3.运行测试代码,通过函数返回值和输出结果进行验证和比对。

四、实验结果

1.判断是否素数的函数:

函数原型:int isPrime(int n);

函数功能:判断给定的整数n是否是素数,是则返回1,否则返回0。测试案例:

1.1输入为2,预期输出为1(2是素数)。

1.2输入为4,预期输出为0(4不是素数)。

1.3输入为11,预期输出为1(11是素数)。

1.4输入为100,预期输出为0(100不是素数)。

2.替换字符串中的空格函数:

函数原型:void replaceSpace(char *str, char ch);

函数功能:将字符串str中的空格替换为字符ch。

测试案例:

2.1 输入字符串为"Hello World",字符ch为'_',预期输出为

"Hello_World"。

2.2 输入字符串为"Hello",字符ch为'_',预期输出为"Hello"(无

空格)。

2.3 输入字符串为" Hi ",字符ch为'_',预期输出为"_Hi_"(两端

有空格)。

3.二维数组排序函数:

函数原型:void sortArray(int array[][3], int row, int column);

函数功能:将二维数组array按照从小到大的顺序排序。

测试案例:

3.1输入数组为{{1,2,3},{4,5,6},{7,8,9}},预期输出为

{{1,2,3},{4,5,6},{7,8,9}}(已经是按照顺序排序)。

3.2输入数组为{{3,2,1},{6,5,4},{9,8,7}},预期输出为

{{1,2,3},{4,5,6},{7,8,9}}。

3.3输入数组为{{9,8,7},{6,5,4},{3,2,1}},预期输出为

{{1,2,3},{4,5,6},{7,8,9}}。

五、实验总结

通过本次实验,我认识到函数的设计和测试对于程序的正确性和功能实现至关重要。在设计函数时,要充分考虑各种情况,并定义明确的参数和返回值。在编写测试代码时,要设计多组测试用例,覆盖一般情况、边界情况和异常情况等。通过实验测试,能够验证函数的功能和正确性,增强对函数的理解和应用能力。

作为一个程序员,良好的函数设计和测试能力是必备的。通过不断地实践和经验积累,我相信自己能不断提高对函数的理解和应用能力,编写更加高效和可维护的程序。

C语言实验报告—函数

C语言实验报告—函数 实验目的:熟悉C语言函数的定义和使用方法,加深对函数的理解。 实验步骤: 1.函数的定义和声明 函数在C语言中是一段具有特定功能的代码块,可以重复利用。在使 用函数之前,需要进行函数的定义和声明。 函数定义的格式如下: 返回值类型函数名(形式参数列表) 函数体; 函数声明的格式如下: 返回值类型函数名(形式参数列表); 2.函数的返回值 C语言的函数可以有返回值,也可以没有返回值。 有返回值的函数定义中,返回值类型是函数执行完毕后返回的数据类型。 没有返回值的函数定义中,返回值类型必须为void。 3.函数的调用 函数的调用是将函数定义好之后,通过函数名加括号的形式来调用函数。在调用函数时,可以将实际参数传递给形式参数,以实现函数的功能。

4.函数的嵌套调用 在函数的定义和调用过程中,还可以对函数进行嵌套调用。即在一个 函数中调用另一个函数。 5.函数的递归调用 函数的递归调用是指一个函数调用自身的过程。这种方法可以简化代 码并减少变量的使用。 实验结果: 通过对C语言函数的实验,我深入了解了函数的定义和调用方法。在 编写实验代码时,我定义了两个函数:一个函数用来计算两个数的和,一 个函数用来计算两个数的差。在主函数中,我通过函数的调用,实现了对 两个数的求和和求差。 实验总结: 通过本次实验,我对C语言函数的定义和使用方法有了更深入的了解。函数是一种重复利用的代码块,可以提高代码的复用性和可读性。在实际 编程中,我们常常会使用函数来实现特定功能,通过函数的返回值来获取 结果。在函数的定义过程中,需要注意函数名、返回值类型、形式参数的 定义和赋值。在函数的调用过程中,需要将实际参数传递给形式参数以完 成函数的功能。同时,在编写函数时,还可以进行嵌套调用和递归调用, 以进一步实现复杂的功能。通过本次实验,我对C语言函数的使用有了更 深入的理解,为以后的编程工作奠定了基础。

C语言程序设计实验报告

C语言程序设计实验报告 一、实验目的 增强学生对C语言函数的理解和应用能力,提高编程能力。 二、实验要求 利用C语言函数实现对一些文件中的数据进行读取、处理和输出,并设计函数完成相应的功能。 三、实验内容和方法 本次实验将设计一个程序,实现对一个文本文件中的数据进行读取、处理和输出的功能。 设计思路: 1.打开指定的文件,并判断文件是否能够成功打开。 2.读取文件中的数据,并存储到相应的变量中。 3.根据需要进行数据的处理和计算。 4.将处理后的数据输出到文件或屏幕上。 具体步骤: 1.首先定义一个函数,用于打开文件,并判断文件是否成功打开。函数的参数为文件名,返回一个文件指针。 2.定义一个函数,用于读取文件中的数据,并将数据存储到相应的变量中。函数的参数为文件指针和数据存储变量。

3.定义一个函数,根据需要进行数据的处理和计算,并将结果存储到相应的变量中。函数的参数为输入数据和输出数据的变量。 4.定义一个函数,将处理后的数据输出到指定的文件或屏幕上。函数的参数为要输出的数据和输出文件的指针。 四、实验过程 1.实验环境准备 确保系统中已安装C语言的编程环境,如Code::Blocks等。 2.创建源文件 在编程环境中创建一个源文件,命名为experiment.c。 3.编写源代码 ```c #include FILE* openFile(char* filename) FILE* fp = fopen(filename, "r"); if (fp == NULL) printf("Open file failed.\n"); return NULL; } return fp;

c语言函数实验报告总结

c语言函数实验报告总结 C语言函数实验报告总结 一、引言 C语言是一种广泛应用于嵌入式系统和系统编程的高级编程语言,函数是C语言的基本组成单元之一。本实验旨在通过学习C语言函数的定义、调用和参数传递等知识,掌握函数的使用方法和技巧。在实验过程中,我通过编写不同类型的函数,并进行调试和测试,深入理解了函数在程序中的作用和重要性。 二、函数的定义和调用 在C语言中,函数是一段具有特定功能的代码块,可以在程序中反复使用。函数的定义包括函数名、参数列表、返回值类型和函数体等组成部分。通过函数名和参数列表的组合,可以唯一标识一个函数,实现函数的调用。 在实验中,我通过编写简单的函数,如计算两个数的和、差、乘积和商等,掌握了函数的定义和调用方法。在调用函数时,需要根据函数的参数类型和个数,传递相应的参数值。通过调用函数,可以实现代码的模块化和复用,提高程序的可读性和可维护性。 三、函数的参数传递 C语言中的函数参数传递有两种方式:值传递和指针传递。值传递是将实参的值复制给形参,形参在函数内部进行操作,不会影响实

参的值。指针传递是将实参的地址传递给形参,通过操作指针可以改变实参的值。 在实验中,我通过编写函数,如交换两个数的值、计算数组元素之和等,学习了函数参数传递的不同方式。对于简单的数据类型,如整型、浮点型和字符型,可以使用值传递方式。而对于数组和结构体等复杂的数据类型,应使用指针传递方式,以提高程序的效率和灵活性。 四、函数的返回值 函数的返回值是函数执行完毕后返回给调用者的结果。在函数定义时,可以指定函数的返回值类型。在函数体中,通过return语句返回具体的数值或表达式的值。 在实验中,我通过编写函数,如判断一个数是否为素数、计算阶乘等,了解了函数返回值的作用和使用方法。函数的返回值可以用于判断函数执行的结果,以及作为其他函数的参数或表达式的一部分。 五、函数的嵌套调用 在C语言中,函数可以嵌套调用,即一个函数内部调用另一个函数。通过函数的嵌套调用,可以实现复杂的功能和算法。 在实验中,我通过编写函数,如计算斐波那契数列、求解最大公约数等,学习了函数的嵌套调用方法。在函数的嵌套调用过程中,需

c语言实验报告函数总结心得

c语言实验报告函数总结心得 本次实验是关于C语言函数的学习和实践,通过对各种函数的手动实现和调用掌握了 函数的概念、定义、声明、调用以及传参等知识点。在实验过程中,我遇到了许多问题, 但是通过自己的努力以及与同学和老师的交流,最终解决了这些问题,获得了许多收获和 体会。 首先,函数的概念是我们学习的第一个重要知识点。函数是一段可重用的代码,可以 通过函数名进行调用,可以在程序的不同位置多次使用,提高了代码的可读性和维护性。 在函数的定义中,需要指定返回值类型、函数名、参数数量和类型等信息。在调用函数时,需要按照函数定义中规定的参数类型和顺序传递实参,并根据需要保存函数返回值。 其次,函数的参数传递方式是我们需要掌握的难点之一。C语言中有多种参数传递方式,包括传值、传址(指针)和传数组等。函数参数的传递方式会对函数的运行效率和代 码结构产生影响。在实验中,我们通过手动实现字串反转、矩阵转置和选择排序等算法, 深入理解了参数传递方式的运用和区别。 另外,在实验中我们还需要学习函数的声明和调用方法。函数的声明是在不同文件中 搭建合理的程序框架所必需的,在函数声明中需要指定参数类型与返回值类型。函数的调 用是在程序具体实现过程中使用的,调用函数时需输入实参,确保函数的正确调用。在函 数的声明和调用中,需要注意参数与返回值的匹配问题,以保证程序的正确性。 最后,在函数实现的过程中,可以使用循环、条件语句、指针和递归等方法,实现各 种复杂的算法和操作。循环语句可以对数据进行重复操作,条件语句可以根据不同条件选 择不同的分支,指针可以提高数据的操作效率和灵活性,而递归则可以实现更复杂的算法 和数据结构。在实验过程中,我们通过实现不同的算法,对这些方法的使用和优缺点进行 了深入探讨。 总之,通过这次实验,我对C语言函数有了更加深入的理解和掌握。掌握了函数的定义、声明、调用和传参等核心知识点,同时还进一步学习了诸如指针、递归、数组、链表 等数据结构和算法。在以后的学习和实践中,我将继续巩固和拓展这些知识,提高自己的 编程能力和技术水平。

C语言实验报告 函数

实验名:函数的定义及调用 一、实验目的 1、掌握C语言函数定义及调用的规则。 2、理解参数传递的过程。 二、实验内容 (一))题目1 1、题目内容描述 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 int 2 a,b int (2)输出数据 序号输出数据描述数据类型 1 x+y int 3、程序源代码(填写程序调试正确后的代码) #include int main() { int sum(int a,int b); //对被调用函数sum 的声明 int x,y,z; scanf("%d,%d",&x,&y);

z=sum(x,y); //调用sum 函数,将其值赋给z printf("%d\n",z); //输出函数结果z return 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 expression before '%' 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 as different kind of symbol| error: 'b' redeclared as different kind of symbol| int a,b; 是去掉整句话 4 warning: 'x' is used uninitialized in this function [-Wuninitialized]| 是加上scanf("%d,%d",&x,&y); 5 error: static declaration of 'sum' follows non-static declaration| 是将int及后面的语句块都移到main外面 5、测试与结果分析 (1)、测试数据与结果 测试序号测试用例选取原 因 测试输入数 据 测试输出结果是否 正确 结果分析 1 测试用例4,5 9 是可运算范围内 2 测试用例55555,793 3 63488 是可运算范围内 3 测试用例-89,-79 -168 是可运算范围内 (2)、相关问题回答 2、编写并调试一个求n!(n为整数)的递归函数,希望能在程序运行过程中动态地显示递归函数被调用的轨迹。 1、输入和输出信息描述及数据类型确定; (1) 、输入数据 序号输入数据描述数据类型 1 n int 2 result long (2)输出数据 序号输出数据描述数据类型 1 result long

《C语言程序设计》函数测试实验报告

《C语言程序设计》函数测试实验报告 一、引言 C语言是一种非常常用的编程语言,被广泛应用于软件开发中。在C 语言中,函数是一种重要的代码构建块,可以通过函数的调用来实现程序 的模块化和代码复用。理解和掌握函数的使用对于编写高效、可维护的程 序至关重要。 本次实验旨在通过编写C语言程序,并测试其函数的功能和正确性, 提高学生对函数的理解和应用能力。本实验采用了多种测试方法和测试用例,旨在全面测试函数的一致性、边界条件和异常处理等。 二、实验内容 1.设计并实现一个函数,判断一个整数是否是素数,并编写相应的测 试代码。 2.设计并实现一个函数,将一个字符串中的空格替换为指定的字符, 并编写相应的测试代码。 3.设计并实现一个函数,将一个二维数组中的元素按照指定要求排序,并编写相应的测试代码。 三、实验方法 1.设计函数时,根据需求和问题描述,创建相应的函数原型,并编写 注释说明函数的功能、参数和返回值等。 2.编写测试代码时,根据函数的功能和预期结果,设计多组测试用例,包括一般情况、边界情况和异常情况等。

3.运行测试代码,通过函数返回值和输出结果进行验证和比对。 四、实验结果 1.判断是否素数的函数: 函数原型:int isPrime(int n); 函数功能:判断给定的整数n是否是素数,是则返回1,否则返回0。测试案例: 1.1输入为2,预期输出为1(2是素数)。 1.2输入为4,预期输出为0(4不是素数)。 1.3输入为11,预期输出为1(11是素数)。 1.4输入为100,预期输出为0(100不是素数)。 2.替换字符串中的空格函数: 函数原型:void replaceSpace(char *str, char ch); 函数功能:将字符串str中的空格替换为字符ch。 测试案例: 2.1 输入字符串为"Hello World",字符ch为'_',预期输出为 "Hello_World"。 2.2 输入字符串为"Hello",字符ch为'_',预期输出为"Hello"(无 空格)。 2.3 输入字符串为" Hi ",字符ch为'_',预期输出为"_Hi_"(两端 有空格)。

c语言程序设计实验报告

c语言程序设计实验报告 实验一 C语言程序设计实验报告 一、实验目的 通过本次实验,学生应该能够: 1.了解C语言的基本语法和函数库的使用方法; 2.了解标准输入输出库的使用方法; 3.掌握数组和字符串的使用方法; 4.掌握条件分支语句、循环语句和函数的使用方法。 二、实验环境 本次实验使用的编译器为Visual C++ 6.0。

三、实验过程 1.实验1-1 输出引言 分析问题:设计一个程序,输出以下的文字: ********************************************** Welcome to C Language World! ********************************************** 解决问题:为了输出上面的文字,我们需要使用到标准输出函数printf()。 代码如下: #include int main(void) {

printf("**********************************************\n"); printf(" Welcome to C Language World!\n"); printf("**********************************************\n"); return 0; } 2.实验1-2 计算表达式 分析问题:设计一个程序,计算表达式:789 + 456 - 123,并输出结果。 解决问题:为了计算表达式,我们需要使用到变量和算术运算符。 代码如下: #include

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

C语言程序设计实验报告(实验名称:函数) 1实验目的 (1)掌握函数的定义方法、调用方法、参数说明以及返回值; (2)掌握实参与形参的对应关系,以及参数之间的“值传递”的方式; (3)掌握函数的嵌套调用及递归调用的用的设计方法; (4)在编程过程中加深理解函数调用的程序设计思想。 2实验内容 (1)编写一个函数primeNum(int x),功能是判别一个数是否为素数。 要求: ①在主函数中输入一个整数x(直接赋值或从键盘输入); ②函数类型为空值(void),调用primeNum( )函数后,在函数中输出x是 否为素数的信息,输出格式为“x is a prime number”或”x is not a prime 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是否是整数倍的关系)函数流程图 ①主函数流程图:

c语言函数实验报告

c语言函数实验报告 C语言函数实验报告 引言: C语言作为一种高级编程语言,具有灵活、高效的特点,被广泛应用于软件开 发和系统编程领域。函数是C语言中的基本构建模块,通过函数的定义和调用,可以实现程序的模块化和重用。本篇实验报告将重点介绍C语言函数的实验过 程和结果。 实验目的: 1. 掌握C语言函数的定义和调用方法; 2. 熟悉函数参数传递的方式; 3. 理解函数返回值的作用和使用; 4. 学习函数的递归调用。 实验过程: 1. 函数的定义和调用 在实验中,我们首先学习了函数的定义和调用方法。通过定义函数,我们可以 将一段具有特定功能的代码封装成一个函数,从而实现代码的模块化和重用。 在调用函数时,我们可以直接使用函数名来执行函数中的代码,并且可以传递 参数给函数。 2. 函数参数传递 C语言中函数参数传递的方式有两种:按值传递和按引用传递。按值传递是指 将实参的值复制给形参,函数内部对形参的修改不会影响实参的值。而按引用 传递是指将实参的地址传递给形参,函数内部对形参的修改会直接影响实参的

值。 3. 函数返回值 在C语言中,函数可以有返回值,也可以没有返回值。有返回值的函数可以通 过return语句将结果返回给调用者,调用者可以根据返回值进行后续的处理。 没有返回值的函数通常用于执行某些操作而不产生结果的情况。 4. 函数的递归调用 函数的递归调用是指函数自身调用自身的过程。递归调用在某些场景下非常方便,可以简化代码逻辑,提高代码的可读性。然而,递归调用也需要注意控制 递归的结束条件,以免造成无限循环。 实验结果: 通过实验,我们成功定义和调用了多个函数,并且学习了函数参数传递和返回 值的使用方法。我们还编写了一些递归函数,验证了递归调用的正确性。 结论: 函数是C语言中非常重要的概念,通过函数的定义和调用,我们可以实现代码 的模块化和重用,提高代码的可读性和可维护性。函数参数传递和返回值的使 用方法也是我们需要掌握的基本技能。递归调用作为一种特殊的函数调用方式,在某些场景下非常有用,但也需要注意控制递归的结束条件。 通过本次实验,我们对C语言函数的概念和使用方法有了更深入的了解。在今 后的学习和工作中,我们将继续深入研究和应用函数的相关知识,提高自己的 编程能力。

《C语言程序设计》实验报告范文函数

《C语言程序设计》实验报告范文函数≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ 实验过程一、相关知识1.一个源程序文件由一个或多个函数以及其他有关内容(如指令、数据声明与定义等)组成。一个源程序文件是一个编译单位,在程序编译时是以源程序文件为单位进行编译的,而不是以函数为单位进行编译的。2.库函数,它是由系统提供的,用户不必自己定义,可直接使用它们。应该说明,不同的C语言编译系统提供的库函数的数量和功能会有一些不同,当然许多基本的函数是共同的。3.定义函数包括一下几点内容:(1)指定函数的名字,以便以后按名调用。(2)指定函数的类型,即函数返回值的类型。(3)指定函数的参数的名字和类型,以便在调用函数时向它们传递数据。对无参函数不需要这项。(4)指定函数应当完成什么操作,也就是函数是做什么的,即函数的功能。这是最重要的,是在函数体中解决的。3.函数体包括声明部分和语句部分。4.在定义函数时要用“类型标识符”(即类型名)指定函数值的类型,即指定函数带回来的值的类型。5.在调用函数过程中,系统会把实参的值传递给被调用函数的形参。或者说,形参从实参得到一个值,该过程在函数调用期间有效,可以参加该函数中的运算。6.实参可以是常量、变量或表达式,例如:ma 某(3,a+b),但要求它们有确定的值。在调用时将实参的值赋给形参。7.实参向形参的数据传递是“值传递”,单向传递,只能由实参传给形参,而不是由形参传给实参。实参和形参在内存中占有不同的存储单元,实参无法得到形参的值。8.数组元素可以用作函数实参,不能用作形参,因为形参是在函数被

调用时临时分配存储单元的,不可能为一个数组元素单独分配存储单元(数组是一个集体,在内存中占连续的一段储存单元)在用数组元素作函数实参时,把实参的值传给形参,是“值传递”方式。数据传递的方向是从实参传到形参,单向传递。9.在一个函数内部定义的变量只在本函数范围内有效,也就是说只有在本函数内才能引用它们,在此函数以外是不能使用这些变量的。在复合语句内定义的变量只在本复合语句范围内有效,只有在本身复合语句内才能引用它们。在复合语句以外是不能使用这些变量的,以上这些称为“局部变量”10.函数中的局部变量,如果不专门声明为tatic(静态)存储类别,都是动。态地分配存储空间的,数据存储在动态存储区中。函数中的形参和在函数中定义的局部变量(包括在复合语句中定义的局部变量),都属于此类。在调用该函数时,系统会给这些变量分配存储空间,在函数调用结束时就自动释放这些存储空间。因此这类局部变量称为自动变量。自动变量用关键字auto作存储类别的声明。 二、实验内容:1.写一个判断素数的函数,从主函数输入一个整数,输出是否是素数的信息;2.输入10个学生5门课的成绩,分别用函数实现下列功能:(1)计算每个学生的平均分;(2)计算每门课的平均分;3.用递归方法求n阶勒让德多项式的值,递归公式为:1(n=0)Pn(某)=某 (n=1)((2n-1).某-Pn-1(某)(n-1).Pn-2(某))/n(n>=1)三、实验过程1.写一个判断素数的函数,从主函数输入一个整数,输出是否是素数的信息编写以下程序:#include"tdio.h"#include"math.h"f(int某)/某判断某是否素数某 /{inti,ign=0;;for(i=2;i<=(int)qrt(某);i++){if(某%i==0){++ign;bre ak;}}if(ign!=0)printf("\n该数不是素数\n");eleprintf("\n该数是素数\n");}voidmain(){inta;printf("请输入一个整 数:\n");canf("%d",&a);f(a);}运行结果如下

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

实验4 函数-模块化程序设计 一、实验目的 1.掌握C函数的定义方法、函数的调用方法、参数说明以及返回值。掌握实参与形参的对应关系以及参数之间的“值传递”的方式;掌握函数的嵌套调用及递归调用的设计方法; 2.掌握全局变量和局部变量、动态变量与静态变量的概念和使用方法; 3.在编程过程中加深理解函数调用的程序设计思想。 二、实验环境 PC微机 Windows 操作系统 VS 2019 程序集成环境 三、实验内容与步骤 4.编写一个计算组合数的函数combinNum(int m,int n)。计算结果由函数返回。 计算组合数的公式是: c(m,n)=m!/(n!*(m-n)!) 要求: (1)从主函数输入m和n的值。对m>n、mn、m int fac(int m) { int sum = 1; for (int i = m; i >= 1; i--) { sum *= i; } return sum; } int combin(int m, int n) {

int a = fac(m); int b = fac(n); int N = fac(m - n); return a / (b * N ); } int main() { int m, n; scanf("%d %d", &m, &n); if (m == n || n == 0) printf("1"); else if (m < n || m < 0 || n < 0) printf("please input right number"); else printf("%d", combin(m, n)); return 0; } 实验结果: ①m > n: ②m == n: ③m < n: 实验分析: 本题首先要将m和n的所有情况讨论清楚,然后求组合数时在combin函数里嵌套三个求阶乘的函数分别求公式中三个成分的值比递归调用combin函数来求解简单。 5.整数a,b的最大公约数是指既能被a整除又能被b整除的最大整数。整数a,b的最小公倍数是指既是a的倍数又是b的倍数的最小整数。编写两个函数,一个函数gcd()的功能是求两个整数的最大公约数,另一个函数mul()的功能是求两个整数的最小公倍数。 要求: (1)两个整数在主函数中输入,并在主函数中输出求得的最大公约数和最小公倍数。 代码: #include int main()

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

一、实验项目名称 函数 二、实验目的 1.掌握C函数的定义方法、函数的调用方法、参数说明以及返回值。掌握实参与形参的对应关系以及参数之间的“值传递”的方式;掌握函数的嵌套调用及递归调用的设计方法; 2.掌握全局变量和局部变量、动态变量与静态变量的概念和使用方法; 3.在编程过程中加深理解函数调用的程序设计思想。 三、实验内容 1.多模块的程序设计与调试的方法; 2.函数的定义和调用的方法; 3.用递归方法进行程序设计。 具体内容: 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.编写函数computNum( int num),它的功能是计算任意输入的一个正整数的各位数字之和,结果由函数返回(例如:输入数据是123,返回值为6)。 要求:num由主函数输入,调用该函数后,在主函数内输出结果。 3.编写函数,mulNum(int a,int b),它的功能是用来确定a和b是否是整数倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数返回值为0。 要求: (1)在主函数中输入一对数据a和b,调用该函数后,输出结果并加以相应的说明。例如:在主函数中输入:10,5 ,则输出:10 is multiple of 5. (2)分别输入下面几组数据进行函数的正确性测试:1与5、5与5、6与2、6与4、20与4、37与9等,并对测试信息加以说明。 4.编写一个计算组合数的函数combinNum(int m,int n)。计算结果由函数返回。 计算组合数的公式是: c(m,n)=m!/(n!*(m-n)!) 要求: (1)从主函数输入m和n的值。对m>n、m

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

实验报告四 (4学时) 【实验内容】 4-1题目:用while循环实现输入一个五位正整数,将它倒序后返回给主函数输出。 例如输入12345,输出应为54321。(不采用指针、数组和递归函数) -------------------------------------------------------*/ #include int fun(int n) { /**********Program**********/ int m=0; while(n>0) { m*=10; m+=n%10; n/=10; } return m; /********** End **********/ } int main() { int n,r; scanf("%d",&n); r=fun(n); printf("%d\n", r); return 0; } 4-2 题目:若形参ch中是小写字母就转换成大写字母;若是大写字母就转换成小写字母,若是数字字符就转换成阿拉伯数字,其他字符不变。最终以ASCII值形式返回主函数输出。(不采用isupper函数和isdigit函数判断) #include int fun(char ch)

{ /**********Program**********/ if(ch>='A'&&ch<='Z') ch=ch+32; else if(ch>='a'&&ch<='z') ch=ch-32; else if(ch>='0'&&ch<='9') ch=ch-'0'; else ch=ch; return ch; /********** End **********/ } int main() { char ch; ch=getchar(); printf("%d\n",fun(ch)); return 0; } 4-3 题目:计算如样图所示的多项式求和,输入一个x就可以得到求和 -------------------------------------------------------*/ #include #include double fun(double x) { /**********Program**********/ int i; double xn=1.0,sum=0.0; sum=1; xn=0.5*x; i=2; while(fabs(xn)>=0.000001) { sum+=xn; xn=xn*(0.5-i+1)*x/i;

c语言程序设计实验报告

c语言程序设计实验报告 一、实验目的 本次实验旨在通过设计C语言程序来加深对于C语言的理解和掌握,同时也可以掌握一些实用的编程技巧和方法。通过编写程序实现对于输入输出的处理、循环语句和条件语句的运用以及函数调用等内容的练习。 二、实验内容 本次实验涉及以下三个方面的内容: 1. 程序的的输入输出 我们通过编写程序来实现一个简单的输入输出功能,即用户输入任意一个整数,程序输出该整数的两倍。 2. 循环语句和条件语句的运用

我们通过编写程序来实现以下两个功能: (1)输入一个正整数,计算该数的阶乘。 (2)输入一个正整数n,输出n行的杨辉三角形。 3. 函数调用 我们通过编写程序来实现以下两个功能: (1)输入三个整数a、b和c,求其中最大的一个数。 (2)输入一个字符串,程序输出该字符串中每个字母在字符串中出现的次数。 三、实验过程 1. 程序的输入输出

我们通过使用scanf函数来实现输入一个整数的功能: int n; scanf("%d", &n); 然后我们可以通过printf函数来输出该整数的两倍的值:printf("%d", n*2); 2. 循环语句和条件语句的运用 (1)计算阶乘 我们可以利用for循环语句来实现计算阶乘的功能: long long ans = 1; for(int i = 1; i <= n; i ++) { ans *= i;

} printf("%lld", ans); (2)输出杨辉三角 我们可以利用嵌套的for循环语句来实现输出杨辉三角的功能: for(int i = 1; i <= n; i ++) { for(int j = 1; j <= i; j ++) { if(j == 1 || j == i) printf("1 "); else printf("%d ", a[i-2][j-2]+a[i-2][j-1]); } printf("\n"); }

c语言实验报告 函数

c语言实验报告函数 标题:C语言实验报告函数 摘要: 本实验报告主要介绍了C语言中函数的概念、定义和使用方法。通过实验展示了如何在C语言中定义函数、调用函数以及函数的参数传递和返回值。通过本实验的学习,读者将能够掌握C语言中函数的基本用法,为今后的编程实践奠定基础。 关键词:C语言、函数、参数传递、返回值 引言: 函数是C语言中的重要概念,它可以将一段代码封装成一个独立的模块,方便代码的复用和维护。本实验将通过具体的示例来介绍C语言中函数的定义和使用方法,帮助读者更好地理解和掌握函数的概念和用法。 一、函数的定义和声明 在C语言中,函数的定义包括函数名、参数列表、返回类型和函数体。函数的声明包括函数名、参数列表和返回类型,用于告诉编译器函数的存在和类型信息。下面是一个简单的函数定义和声明的示例: ```c // 函数声明 int max(int a, int b); // 函数定义 int max(int a, int b) { return a > b ? a : b;

} ``` 二、函数的调用 在C语言中,可以通过函数名和参数列表来调用函数。例如,我们可以通过max函数来比较两个数的大小: ```c int a = 10, b = 20; int result = max(a, b); printf("The max number is %d\n", result); ``` 三、参数传递和返回值 函数可以通过参数列表接收外部传入的数据,也可以通过return语句返回计算结果。例如,下面的函数用于计算两个数的和: ```c int add(int a, int b) { return a + b; } ``` 四、实验结果 通过本次实验,我们成功掌握了C语言中函数的定义、声明、调用、参数传递和返回值的基本用法。在今后的编程实践中,我们可以更加灵活地使用函数来组织和管理代码,提高代码的复用性和可维护性。

c语言实验报告 函数

c语言实验报告函数 C语言实验报告:函数 引言: C语言是一种广泛应用于软件开发领域的高级编程语言,其强大的功能和灵活 性使得它成为许多程序员的首选。在C语言中,函数是一种非常重要的概念和 工具,它可以帮助我们更好地组织和管理代码,提高代码的可读性和可维护性。本实验报告将深入探讨C语言中函数的使用方法和特性。 一、函数的定义和声明 函数是C语言中的一个基本概念,它由一组语句组成,用于完成特定的任务。 在使用函数之前,我们需要先进行函数的定义和声明。函数的定义包括函数的 名称、参数列表和函数体,而函数的声明则是告诉编译器函数的名称和参数列表。函数的定义和声明通常放在程序的开头部分或者头文件中,以便其他部分 的代码可以调用这些函数。 二、函数的参数传递 在C语言中,函数的参数传递可以通过值传递和引用传递两种方式进行。值传 递是指将实际参数的值复制给形式参数,函数内部对形式参数的修改不会影响 到实际参数。而引用传递则是指将实际参数的地址传递给形式参数,函数内部 对形式参数的修改会影响到实际参数。根据实际需求,我们可以选择不同的参 数传递方式。 三、函数的返回值 函数的返回值是指函数执行完毕后返回给调用者的值。在C语言中,函数的返 回值可以是任意类型的数据,包括整型、浮点型、字符型等。通过使用return

语句,我们可以将需要返回的值传递给调用者。在函数的声明和定义中,我们需要指定函数的返回类型,以便编译器正确处理函数的返回值。 四、函数的递归调用 递归是指函数调用自身的过程,它在解决某些问题时非常有效。在C语言中,我们可以使用递归来实现一些复杂的算法和数据结构。递归函数必须包含一个终止条件,以避免无限递归的情况发生。在编写递归函数时,我们需要仔细考虑递归的边界条件和递归的终止条件,以确保函数能够正确地执行。 五、函数的库 C语言提供了许多常用的函数库,可以帮助我们更方便地进行开发和编程。这些函数库包括数学函数库、字符串函数库、输入输出函数库等。通过调用这些函数库中的函数,我们可以实现更复杂的功能和算法。在使用函数库之前,我们需要包含相应的头文件,并链接相应的库文件。 六、函数的作用域和生命周期 函数的作用域是指函数内部定义的变量在程序中的可见范围。在C语言中,函数内部定义的变量只在函数内部有效,函数外部无法访问。函数的生命周期是指函数内部定义的变量在程序运行过程中的存在时间。一般情况下,函数内部定义的变量在函数执行完毕后就会被销毁。 结论: 函数是C语言中非常重要的概念和工具,它可以帮助我们更好地组织和管理代码,提高代码的可读性和可维护性。通过合理地使用函数,我们可以将复杂的问题分解成简单的任务,并通过函数的调用来实现整体的功能。同时,函数的参数传递、返回值、递归调用、库的使用以及作用域和生命周期等方面也是我

函数c语言实验报告

函数c语言实验报告 《函数c语言实验报告》 在计算机编程中,函数是一种非常重要的概念。它可以将一组相关的代码封装起来,使得程序更加模块化和易于维护。在C语言中,函数也是一种非常常见的编程结构,它可以帮助我们更好地组织代码和提高代码的重用性。 在本次实验中,我们将通过几个实例来演示C语言中函数的使用方法和特点。首先,我们将从最简单的函数开始,即不带参数和返回值的函数。我们将创建一个名为“hello”的函数,它的作用是打印“Hello, World!”这个字符串。通过调用这个函数,我们可以在程序中任何需要的地方打印出这个字符串,而不需要重复编写打印代码。 接下来,我们将介绍带参数但不带返回值的函数。我们将创建一个名为“sum”的函数,它的作用是计算两个整数的和并打印结果。通过传入不同的参数,我们可以在程序中多次调用这个函数,而不需要重复编写计算和打印的代码。 然后,我们将介绍带参数和返回值的函数。我们将创建一个名为“max”的函数,它的作用是计算两个整数中的最大值并返回结果。通过调用这个函数,我们可以在程序中获取两个整数的最大值,而不需要重复编写比较的代码。 最后,我们将介绍递归函数。递归函数是一种非常有趣的函数,它可以调用自身来解决问题。我们将创建一个名为“factorial”的函数,它的作用是计算一个整数的阶乘。通过递归调用这个函数,我们可以在程序中获取任意整数的阶乘,而不需要使用循环来实现。 通过这些实例,我们可以更加深入地理解C语言中函数的使用方法和特点。函数的封装和重用性可以帮助我们更好地组织代码和提高代码的可维护性。希望

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

c语言程序设计实验报告

c语言程序设计实验报告 精选C语言程序设计实验报告范文(推荐篇一 一选择题(7分,每小题0.5分) 1.c语言源程序的基本单位是( )。 a 过程 b 函数 c 子程序 d 标识符 2、下列程序的输出结果是( )。 main( ) { int a=7,b=5; printf("%d",b=b/a); } a 5 b 1 c 0 d不确定值 3、假设变量a,b均为整型,表达式(a=5,b=2,ab?a++:b++,a+b)的值是( )。 a 7 b 8 c 9 d 2 4、设a为int型变量,执行下列赋值语句后,a的取值分别是( )。 a=125.534; a=(int)125.521%4; a=52; a 125,31,1 b 125,1,20 c 125,31,20 d 125.534,2,20 5、设有如下程序段,下面描述中正确的是( )。 int k=10; while(k=0) k=k-1; a 循环执行一次b循环是无限循环c循环体语句一次也不执行d循环体语句执行一次 6、以下程序的输出结果为( )。 int i; void prt( ) { for(i=5;i8;i++)printf("%c",*); printf(" "); } main( ) { for(i=5;i=8;i++)prt( ); } a *** b *** *** *** *** c *** *** d * * * 7、在c语言程序中,以下说法正确的是()。 a函数的定义可以嵌套,但函数的调用不可以嵌套 b函数的定义不可以嵌套,但函数的调用可以嵌套 c函数的定义和函数的调用都不可以嵌套 d函数的定义和函数的调用都可以嵌套 8、以下函数调用语句中含有( )个实参。 func((e1,e2),(e3,e4,e5)); a 2 b 3 c 5 d 语法错误 9、以下程序的输出结果为( )。 #define add(x) x*x main( ) { int a=4,b=6,c=7,d=add(a+b)*c; printf("d=%d",d); } a d=70 b d=80 c d=140 d d=700

相关主题
文本预览
相关文档 最新文档