C语言:(第八章)函数

文章介绍了函数在编程中的重要性,如避免重复操作和实现程序模块化。函数被定义为能完成特定功能的代码块,可以接收数据并返回处理结果。定义函数的结构包括函数名、参数列表和执行体。文中还讨论了函数的返回值类型、函数调用的顺序、形参与实参的关系以及如何在软件开发中设计有效的函数。此外,提到了一些常见的系统函数,如求平方根和绝对值的函数。
摘要由CSDN通过智能技术生成

8.1:定义

*为什么需要函数?

​         1.避免重复性操作

​         2.有利于程序的模块化

*什么叫函数?

        逻辑上:能够完成特定功能的独立的代码块

        物理上:能够接收数据(也可以不接收数据)

​                      能够对接收的数据进行处理

​                      能够将数据处理的结果返回

        总结:函数是个工具,它是为了解决大量类似问题而设计的;函数可以当作一个黑匣子

*如何定义函数?

函数的返回值  函数的名字(函数的形参列表){
       函数的执行体
}
void max(int i, int j)
{
    if (i > j)
        printf("%d\n", i);
    else
        printf("%d\n", j);
}
/*
时间:2022年3月24日09:54:23
目的:用函数进行比大小
*/
#include<stdio.h>
void max(int i, int j)   //max是函数的名字;void表示函数没有返回值;i,j表示形参(函数中用于存储值的变量)
{
    if (i > j)
        printf("%d\n", i);
    else
        printf("%d\n", j);
}
int main(void)
{
    int a, b, c, d, e, f;
    a = 1, b = 2, c = 3, d = 9, e = -5, f = 100;
    max(a, b);
    max(c, d);
    max(e, f);
​
    /*if (a > b)
        printf("%d\n", a);
    else
        printf("%d\n",b);
    if (c> d)
        printf("%d\n", c);
    else
        printf("%d\n", d);
    if (e > f)
        printf("%d\n", e);
    else
        printf("%d\n", f);
    */
    return 0;
}
/*
在vs2019中的输出结果
~~~~~~~~~~~~~~~~~~~~~
2
9
100
~~~~~~~~~~~~~~~~~~~~~
总结:。。。
*/

*函数的本质:详细描述函数之所以能够实现某个特定功能的具体方法

8.2:return表达式的含义

(1)终止被调函数,向主调函数返回表达式的值

(2)如果表达式为空,则只终止函数,不向被调函数返回任何值

(3)break是用来终止循环和switch的,return是用来终值函数的

例子: void f()

        ​ {

​                 return; //return只用来终止函数,不向主调函数返回任何值

        ​ }

​           int f()

​         {

        ​         return 10; //第一:终止函数; 第二:向主调函数返回10

​         }

*函数返回值的类型也称为函数的类型,因为如果函数名前的返回值类型和函数执行体中的return表达式中的类型不同的话,则最终函数返回值的类型以函数名前的返回值类型为准

*函数的分类

        ​ 有参函数和无参函数

        ​ 有返回值函数和无返回值函数

        ​ 库函数和用户自定义函数

        ​ 值函数和地址传递函数

        ​ 普通函数和主函数(main函数)

        一个程序必须有且只能有一个主函数;主函数可以调用普通函数,普通函数不能调用主函数;普通函数可以相互调用;主函数是程序的入口,也是程序的出口

8.3:注意问题

1 :函数调用和函数定义的顺序

​ 如果函数调用写在了函数定义的前面,则必须加函数前置声明

​ 函数前置声明:

​ (1)告诉编译器即将可能出现的若干个字母代表的是一个函数

​ (2)告诉编译器即将可能出现的若干个字母所代表的函数的形参和返回值的具体情况

​ (3)函数声明是一个语句,末尾必须加分号

​ (4)对库函数的声明是通过#include<库函数所在文件的名字.h>来实现的

2:形参和实参

​         实际参数(actual arguement):传递给函数的特定值(函数调用提供的特殊值)

​         形式参数(formal arguement):函数中用于存储值的变量

实参被赋给相应的形参

(1)个数相同

(2)位置一一对应

(3)数据类型必须相互兼容

3:如何在软件开发中合理的设计函数来解决实际问题?

(1)一个函数的功能尽量独立,单一

(2)多学习,多模仿牛人的代码

*常用的系统函数

​         double sprt(double x);

​                 求x的平方根

​         Int abs(int x);

                ​ 求x的绝对值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值