C语言程序设计——第五章 函数

本文介绍了函数在编程中的基本概念,包括函数的定义(包括函数头和函数体)、调用方法及注意事项,以及函数声明的好处和方式。还涵盖了无参数无返回值、单参数有返回值的函数实例和设计原则,如单一功能、返回值处理和参数检查等。
摘要由CSDN通过智能技术生成

目录

5.1函数概念

5.2函数的定义

函数包括两个部分:函数头和函数体

函数定义需要注意的问题

5.3函数的调用

语法

函数调用需要注意的问题

5.4函数的声明

声明的好处

声明的方式

5.5函数的几种形式

无参数无返回值

单个参数,有返回值

函数的设计原则


5.1函数概念


        函数是完成一个个特定任务的语句集合,他能完成你所想要的某种特定任务,当你要用时,只需要调用它即可,在后续的修改或是维护过程中,只需要针对这一个进行修改即可

使用函数的好处:减少程序的代码量、代码复用、使程序具有良好的结构

#include<stdio.h>

//主函数

int main(){

        printf("***\n");

        return 0;

}


5.2函数的定义


函数包括两个部分:函数头和函数体

返回值数据类型 函数名(数据类型 形参1,数据类型 形参2...)//函数头

{

        函数体

}

void printfStart  (void)

{

        printf("***********\n");

return;

}

int:整型,函数的返回值类型

main:函数名

void:空的,函数的参数,函数的形式参数

函数定义需要注意的问题

函数的返回值和参数可以是任意类型,包括空类型!当函数无返回值或无形参列表时,建议用void指明

函数名是一种标识符,必须符合标识符的命名规则!建议单词首字母不大写,从第二个单词起首字母大写

函数的参数可以没有,也可以有多个参数

一个项目必须要有一个主函数,没有主函数,程序找不到执行的入口,代码无法运行

函数头要有头注释(功能,参数,返回值),函数定义不可以嵌套

函数如果不被调用,就不会执行

5.3函数的调用


语法

函数名(实际参数1,实参2,...);

#include<stdio.h>

void printStar(void)

{

        printf("******");

        return;

}

int main(void)

{

        printStar();//调用函数

        return 0;

}

函数调用需要注意的问题

如果是A函数调用B函数,则A函数叫主调函数,B叫被调用函数

如果函数返回值类型是void,函数中的return可以省略

 

5.4函数的声明


声明的好处

函数列表更加一目了然,方便使用

便于多人合作共同开发

可以用于商业,保护知识产权

声明的方式

只保留函数头且后面加分号,通常放在包含头文件的下面

void printStar(void);

5.5函数的几种形式


无参数无返回值

1.定义一个函数,输出1-10之间的数据

分析:函数中所需要的数据已经唯一确定,不要其他函数传递数据进行辅助计算

#include<stdio.h>
void printData(void);//函数声明
int main(void) {
    printData();//函数调用
    return 0;
}

void printData(void) {//函数定义
    int i = 0;
    for (i= 1; i <= 10; i++) {
        printf("%d\n", i);
    }
}

运行结果

2.定义一个函数,输出1-n之间的数据

#include<stdio.h>
void printData(int n);
int main(void) {
    int n = 0;
    printf("请输入n的值");
    scanf_s("%d", &n);
    printData(n);
    return 0;
}

void printData(int n) {
    int i = 0;
    for (i= 1; i <= n; i++) {
        printf("%d\n", i);
    }
}

运行结果

单个参数,有返回值

3.定义一个函数,计算1*2*3*...*n,并将结果返回给主调函数

#include<stdio.h>
int sum(int n);
int main() {
    int su = 0;
    int m = 0;
    printf("请输入m的值");
    scanf_s("%d", &m);
    su=sum(m);
    printf("1+2+...+%d=%d\n", m,su);
    return 0;
}

int sum(int n) {
    int i = 0;
    int s = 0;
    for (i = 1; i <= n; i++) {
        s = s + i;
    }
    return s;
}

运行结果

函数的设计原则

一个函数实现一个功能

返回值的原则:如果计算有结果需要加返回值

形参的设计原则:如果计算的过程需要有数值进行辅助,则需要加参数

如果函数有形式参数则必须进行参数检查,检查参数是否有异常

通常用分支结构(选择结构)进行参数检查,如果有错误则返回

函数体的设计思路:1定义变量2逻辑关系运用,选择结构还是循环结构还是综合运用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值