C语言函数

①函数的概述

函数解决的问题:

函数可以解决代码中,【功能模块代码】大量重复的使用,

如果按照以往的方式处理,会导致以下问题:

1.代码冗余

2.代码阅读性差

3.代码维护性差

4.代码可移植性差

②main函数在C语言中的格式分析

int main(int argc, char * argv[])
{
    // 函数体
}

int :

对应当前函数的返回值类型,要求当前函数在执行之后,必须提供满足函数声明告知的返回值类型,对应的具体数值

main:

函数名称调用使用函数的必要名称,函数名具备一定的唯一性。

1.调用函数需要通过函数名

2.函数名是一个【指针变量】

要求:

1.满足命名规则

2.满足见名知意

(int argc, char * argv[]):        
    当前函数执行,所需的外来必要参数,小括号需要告知用户所需参数的数据类型,数据个数,数据顺序。
    【形式参数列表】

{ 函数体; }
    封装的函数功能代码,考虑后期使用,增强功能的代码内容

综上所述,函数基本格式:
    返回值数据类型 函数名(形式参数列表)
    {
        函数体;
    }

③有参数有返回值函数 

需求:

调用一个函数,通过函数得两个整数之和

函数分析:

返回值类型

        两个整数之和为整数,考据范围的话用 long 数据类型,但是一般 int 数据类型就可以所以选择 int 类型的返回值类型

函数名:

        要求:见名知意,动宾结构,符合命名规则,使用完整的英文单词组合

形式参数列表:

        参数两个,都为 int 数据类型,不同的参数用逗号隔开

        形式参数列表格式:(int n1 , n2)

函数声明 
int get_sum(int n1, int n2);
// 告知编译器当前声明了一个函数,函数名为 get_sum
// 同时告知返回值类型为 int ,形式参数列表为(int, int)
函数实现 
#include <stdio.h>

/*
通过函数调用计算两数之和
@param n1 用户提供的 int 类型数据
@param n2 用户提供的 int 类型数据  
@return 计算两个 int 类型数据之和
*/
int get_sum(int n1, int n2);

int main(int argc, char const *argv[])
{
    // 初始化ret值用来存放get_sum函数返回值结果
    int ret = 0;
    //ret = 30
    ret = get_sum(10,20);
    printf("%d\n",ret);
    return 0;
}
//函数实现
int get_sum(int n1, int n2)
{
    return n1 + n2 ;
}

④有参数无返回值函数 

需求:

        在控制台展示用户提供的 int 类型数据

函数分析:

        返回值数据类型:当前函数没有返回值类型

函数名:

        要求:见名知意,动宾结构,符合命名规则,使用完整的英文单词组合

形式参数列表:

        参数一个 int 类型  格式:(int n)

        

函数声明 
void print_int_value(int n);
 函数实现
#include <stdio.h>

// 1. 函数声明
/*
 * 在控制台打印展示用户提供的 int 类型数据
 *
 * @param n 用户提供的 int 类型数据
 */
void print_int_value(int n);

int main(int argc, char * argv[])
{
	
	// 3. 函数调用,通过函数名和对应的实际参数调用目标函数
	print_int_value(10086);

	return 0;
}

// 2. 函数实现
void print_int_value(int n) 
{
	printf("用户提供的 int 类型数据为: %d\n", n);
}

 ⑤无参数有返回值函数

需求:

        调用函数,得到一个整数 5

函数分析

返回值数据类型:

        获取一个整数5,对应数据为 int 类型,返回值类型为 int 类型

函数名:

        要求:见名知意,动宾结构,符合命名规则,使用完整的英文单词组合

 形式参数列表 :   

        无参数,但是必须有()在         

函数声明 
int give_me_five();
 函数实现
#include <stdio.h>

/*
函数声明
通过函数返回一个 int 类型的常量5
@return int 类型常量5
*/
int give_me_five();

int main(int argc, char const *argv[])
{
    //函数调用
    int ret = 0;
    ret = give_me_five();
    printf("%d\n",ret);
    return 0;
}
//函数实现
int give_me_five()
{
    return 5;
}

 ⑥无参无返回值函数

需求:

    直接在控制台展示 距离过年放假还有 29 天    

函数分析 

返回值类型:

        无返回值类型

函数名:

        要求:见名知意,动宾结构,符合命名规则,使用完整的英文单词组合

 形式参数列表 :   

        无参数,但是必须有()在

        

函数声明 
void happy_holiday();
 函数实现
#include <stdio.h>

/*
 * 控制台展示距离放假的时间!!!
 */
void happy_holiday();

int main(int argc, char const *argv[])
{
    happy_holiday();
    return 0;
}

void happy_holiday()
{
    printf("距离放假还有29天\n");
}

今天分享到此结束!!! 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iot_Ming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值