IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 必看的C语言教程之函数 -> 正文阅读

[C++知识库]必看的C语言教程之函数

🍊博客主页:Geekwyz的江湖背景
🎉欢迎关注🔎点赞👍收藏??留言📝
🌟本文由 Geekwyz原创
🙏作者水平很有限,如果发现错误,欢迎留言



1.前言

在这里插入图片描述


2.函数概述

构成C程序的基本单元是函数,函数中包含程序的可执行代码,
每个C程序的入口和出口都位于main函数中,但并不需要把所有指令都放到main函数中,一般的做法是将程序划分为如干个模块,每个模块完成一个功能,这些模块我们称之为函数。我们之前已经学过scanf,prinf这些函数。

函数有三部分组成:分别是函数返回值函数名形参列表语句体组成。

在学习下一章之前,我们先了解一下什们是源文件库函数,和用户自定义函数

  • 源文件:
  • 库函数:由C语言的创造者提供,用户无需直接定义,调用前也不必做类型声明,但需要在程序开始包含有该函数原形的头文件,例如使用printf函数时需要包含stdio.h输入输出库
  • 用户自定义函数:用户编写的用来实现特定功能的

3.函数的定义和声明

  • 函数的定义
返回值类型 函数名 {
函数体
}

实现一个两数相加的函数

int add(int a,int b){
    return a + b; 
} 
  • 函数的声明
    返回值类型 函数名(形参列表);
int add(int a,int b);

4.函数参数

  • 形式参数
    形式参数就是函数后面的小括号中的东西
  • 实际参数
    调用函数时,函数名后的括号中的参数称之为实际参数
    函数的参数可以是常量,变量,数组,指针等
#include<stdio.h> int add(int a,int b);//函数的声明

int add(int a,int b){
    return a + b; }

int main(){
    add(1,2);//传入实参1,2
    return 0; 
}

  • 数组作为函数参数
    1.数组元素作为函数参数
#include<stdio.h>

void showMember(int num);

int main(){
    int array[10];
    for (int i = 0;i < 10;i++) {
        array[i] = i;//赋值
    }
    
    for (int i = 0;i < 10;i++) {
        showMember(array[i]);
    }
    return 0; }

void showMember(int num) {
    printf("%d\n",num); 
}
  • 2.数组名作为函数参数
#include<stdio.h>

void Evaluate(int array[10]); void Display(int array[10]);

int main(){
    int array[10];
    Evaluate(array);
    Display(array);
    return 0; }


void Evaluate(int array[10]){
    for (int i = 0;i < 10;i++) {
        array[i] = i;
    } } void Display(int array[10]){
    int i;
    for (int i = 0;i < 10;i++) {
        printf("%d\n",array[i]);
    } 
}
  • 3.可变长数组作为函数参数
    数组作为函数参数时,如果未指明数组大小,就属于长度可变的数组作为函数参数
    现在我们来实现两个字符串的连接
#include<stdio.h>

double getAverage(int arr[],int aize);

int main(){
    int blance[5] = {100,2,3,17,50};
    double avg;
    avg = getAverage(blance,5);
    printf("%f",avg); }

double getAverage(int arr[],int size){
    int i;
    double avg;
    double sum = 0;
    for (int i = 0;i < size;i++) {
        sum += arr[i];
    }
    avg = sum / size;
    return avg; 
}

5.函数的调用与返回值

  • 直接调用
函数名(形参);
  • 出现在表达式中
//add()是一个返回值为int类型的函数
result = 3 * add(形参)

定义一个add(int a,int b)函数,实现a,b的相加
看个例子:

#include<stdio.h> int add(int a,int b);

int add(int a,int b){
    return a + b; }

int main(){
    int c = add(1,2);
    printf("%d\n",c);
    int d = add(1,2) * 3;
    printf("%d\n",d);
    return 0; 
}
  • 函数参数的调用
    函数调用还可以出现在函数的参数中,此时函数的返回值将作为参数
#include<stdio.h> int add(int a,int b);

int add(int a,int b){
    return a + b; }

int main(){
    int a = add(add(1,2),2);//相当于add(3,2)
    printf("%d",a);
    return 0;
}

6.函数的返回值

在函数体中,经常看到这样一个语句

return 0;

这句话有两个意思

  • 退出函数,返回主程序中
  • 返回一个值,让主函数使用

7.函数的递归

函数的递归函数就是自已调用自已

#include<stdio.h>

int Rescuvie (int n){
    if (n == 0) {
        return 1;
    }
    return n * Rescuvie(n - 1); }

int main(){
    int n;
    scanf("%d",&n);
    printf("%d",Rescuvie(n));
    return 0;
}
  • 递归的过程
    1.Rescuvie(5)
    2.5 * Rescuvie(4)
    3.5 * 4 * Rescuvie(3)
    4.5 * 4 * 3 * Rescuvie(2)
    5.5 * 4 * 3 * 2 * Rescuvie(1)
    6.5 * 4 * 3 * 2 * 1
    7.5 * 4 * 3 * 2
    8.5 * 4 * 6
    9.5 * 24
    120
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-06 13:38:43  更:2022-02-06 13:40:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:04:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码