①函数的概述
函数解决的问题:
函数可以解决代码中,【功能模块代码】大量重复的使用,
如果按照以往的方式处理,会导致以下问题:
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"); }
今天分享到此结束!!!