第7章 用函数实现模块化程序设计

简介: 第7章 用函数实现模块化程序设计

7.1 为什么要用函数

在设计一个较大的程序时,往往把它分为若干个程序模块,每一个模块包括一个或多个函数,每个函数实现一个特定的功能。一个C程序可由一个主函数和若干个其他函数构成。由主函数调用其他函数,其他函数也可以互相调用。

7.2 怎样定义函数

定义函数包括以下几个内容:

(1)指定函数的名字,以便以后按名调用。

(2)指定函数的类型,即函数返回值的类型。

(3)指定函数的参数的名字和类型。

(4)指定函数应当完成的操作,也就是函数的功能

7.3 调用函数

1.形式参数和实际参数

在定义函数时函数名后面括号中的变量名称为“形式参数”(简称“形参”)或“虚拟参数”。在主调函数中调用一个函数时,函数名后面括号中的参数称为“实际参数”(简称”实参“)。

7.3.1 函数的返回值

(1)函数的返回值是通过函数中的return语句获得的。

(2)函数值的类型。

int max(float x,float y) //函数值为整型

char letter(char c1,char c2) //函数值为字符型

double min(int x,int y) //函数值为双精度型

(3)在定义函数时指定的函数类型一般应该和return语句中的表达式类型一致。

7.4 对被调用函数的声明和函数原型

例7.4 输入两个实数,用一个函数求出它们之和。

编写程序:

#include<stdio.h>
int main(){
    float add(float x,float y);
    float a,b,c;
    printf("Please enter a and b:");
    scanf("%f,%f,&a,&b");
    c=add(a,b);
    printf("sum is %f\n",c);
    return 0;
}
float add(float x,float y){
    float z;
    z=x+y;
    return(z);
}

7.6 函数的递归调用

直接或间接地调用该函数本身,称为函数的递归调用。

int f(int x){
    int y,z;
    z=f(y);   //在执行f函数的过程中又要调用f函数
    return(2*z);
}
相关文章
|
7月前
|
C语言 开发者
模块化程序设计
模块化程序设计
71 0
|
7月前
|
C语言
C语言模块化程序设计
C语言模块化程序设计
88 0
|
4天前
|
C语言 开发者
C语言中的模块化编程思想,介绍了模块化编程的概念、实现方式及其优势,强调了合理划分模块、明确接口、保持独立性和内聚性的实践技巧
本文深入探讨了C语言中的模块化编程思想,介绍了模块化编程的概念、实现方式及其优势,强调了合理划分模块、明确接口、保持独立性和内聚性的实践技巧,并通过案例分析展示了其应用,展望了未来的发展趋势,旨在帮助读者提升程序质量和开发效率。
17 5
|
6月前
|
算法 Java 程序员
面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性
【6月更文挑战第15天】面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性。封装可使用结构体封装数据和方法,如模拟矩形对象。继承则通过结构体嵌套实现静态继承。多态可通过函数指针模拟,但C不支持虚函数表,实现复杂。C语言能体现OOP思想,但不如C++、Java等语言原生支持。
64 7
|
7月前
|
C语言
C语言模块化程序设计探讨
C语言模块化程序设计探讨
96 0
|
7月前
第七章 用函数实现模块化程序设计
第七章 用函数实现模块化程序设计
24 0
|
7月前
|
C语言
【C语言】用函数实现模块化程序设计
【C语言】用函数实现模块化程序设计
|
存储 Java C语言
从C语言的面向过程编程过渡理解面向对象编程风格中的封装
从C语言的面向过程编程过渡理解面向对象编程风格中的封装
92 0
|
存储 机器学习/深度学习 程序员
C语言总结(第7章 用函数实现模块化程序设计)
为什么要用函数 为了更好的实现模块化程序设计 函数(function)也有功能的意思
309 0
|
编译器
chapter 7 用函数实现模块化设计(上)
chapter 7 用函数实现模块化设计
112 0
chapter 7 用函数实现模块化设计(上)