day13 函数

引入目的

1.C语言中的函数,不是数学中的函数

2.在同一个程序中可能多次使用某个功能,会造成代码冗余

3.将某个特定功能的代码进行封装一个整体,并起个名字,后期需要这一段程序时只需要使用这段代码的名字,就能表示整个代码块

4.我们将能实现特定功能的代码块这个整体称为函数

函数的好处

1.使主程序比较简单明了,因为实现功能的封装

2.能够实现功能的复用,只要将函数封装好,使用时调用名字即可,无需重写该功能

3.能够实现一处修改,处处修改的作用

函数的分类

1.从定义角度来看可以分为库函数和用户自定义函数

1.库函数:系统提供的封装好了的函数,使用相关函数时,需要加上该函数所在的头文件

printf、scanf、getchar、putchar、gets、puts--->stdio.h

isalpha、isupper、toupper、tolower--->ctype.h

strcpy、strlen、strcmp、strcat--->string.h

2.用户自定义函数:系统提供的函数,不足以满足条件时,用户可以创造一个函数,自己使用

2.从函数参数角度来说:有参函数、无参函数

有参函数:例如printf(“hello”)、strlen(value)、strcmp(s1,s2)

无参函数:例如getchar()

3.从返回值角度来说:有返回值函数、无返回值函数

无返回值函数:当前函数执行完相关功能后,不提供任何的返回信息,结果是一个空值

有返回值函数:当前函数不仅要执行完相关的功能,并且向主程序中返回一个确定的值

函数的定义

1.函数是特定的功能的代码块,原则上来说,一个函数只能实现一个功能

2.函数头三要素:功能(函数名)、参数(形参列表)、返回值(返回值类型)

返回值类型 {

                         函数体内容;

                        }

3.返回值类型:void类型和非void类型

void类型:表示该函数是无返回值的,程序执行完功能后就自动函数体就结束了

非void类型:可以是之前所学的任意一个数据类型(不包括void)。表示不仅将当前函数名所表示的功能全部执行后,还给出一个确定的结果

4.函数名:是一个标识符(见名知意)

形参列表:可以有也可以没有,表示向该功能输入数据

函数的定义分类

无参无返回值函数、有参数无返回值的函数、无参有返回值的函数、有参有返回值的函数

无参无返回:

1.仅仅只是将代码段封装成一个整体,并该该语句块起个名字,无需数据输入,也没有数据的输出,只执行封装的语句块

2.定义格式: void 函数名() { 被封装的语句块 }

3. 调用格式: 函数名();

有参无返回:

1.需要外界传入一些数据进行启动,否则执行失败。

2.该函数会对传入发数据执行相关的操作后,结束,没有任何的结果

3.定义格式void 函数名(参数类型 参量变量名...)

4.调用格式:函数名(参数1..)

无参有返回:

1.直接调用功能函数,数据由功能函数产生,执行结束后给主程序一个结果

2.使用return表达式将结果返回主程序 return(表达式);或者return  表达式;

不关注返回结果: 函数名();

关注返回结果: 数据类型 变量名 = 函数名();

有参数有返回值函数:

1.函数执行需要给定的数据启动,函数只是负责对数据的处理,处理后会给出一个结果,由函数名返回给主程序使用

2.定义格式: 返回值类型 函数名(参数列表) { 函数体内容 ; return 表达式; }

3.调用格式:

1、不关注返回结果: 函数名(实参数据);

2、关注返回结果: 数据类型 变量名 = 函数名(实参数据);

1> 有关参数:有参无参看主调,主调函数传数据,就定义有参函数,主调函数传几个数据,就定义几个变量接收,主调函数传什么类型的数据,就定义什么类型的参数。

主调函数的参数和被调函数的参数是一一对应的

函数定义时括号中的参数称为形式参数,形式参数的表现形式必须是 变量

函数调用时括号中的参数称为实际参数,实际参数的表现形式:常量、变量、表达式

2> 有关返回值:有返无返看主调,主调函数需要结果数据时,定义有返回值函数,主调函数不需要结果数据时,定义无返回值函数。主调函数需要什么类型的结果,那么就定义什么类型的返回值

return后的表达式的结果可以跟函数的返回值类型不一致。当不一致时,return后的表达式结果数据类型会转换成函数返回值类型

全局变量与局部变量以及静态变量

局部变量

1> 定义:定义在函数体内的变量称为局部变量

2> 表现形式:定义在函数体内的变量、定义在语句块内的变量、函数的形式参数

3> 作用域(作用范围):

      函数体内的变量:从定义开始,到当前所在的函数结束为止

      语句块内的变量:从定义开始到所在语句块结束为止

      函数的形式参数:从函数运行开始,到函数结束为止

超过变量的作用域后,就不可以使用该变量了

4> 不同作用域下的局部变量是可以同名的。当局部变量同名时,使用距离最近的变量(就近访问原则)

3.2 全局变量

1> 定义在函数外部的变量叫做全局变量

2> 作用域:从定义开始,到所在文件结束

3> 作用:多个函数,可以共享全局变量

4> 局部变量可以跟全局变量同名,当局部变量跟全局变量同名时,依然使用就近访问原则。

局部变量会屏蔽全局变量。

作业:

1> 将昨天的学生管理系统,相关功能都封装成函数

2> 将链接上的内容,除了指针外的所有内容都可以做完了

3> 思维导图

### DAY 函数概述 DAY 函数属于 SQL 和 Excel 中常用的日期函数之一,主要用于提取给定日期中的天部分。以下是关于 DAY 函数的具体说明及其使用方法。 #### 在 SQL 中的使用 在 SQL 中,`DAY()` 是一个日期函数,用于从日期值中提取对应的天数。其语法如下: ```sql DAY(date) ``` 其中 `date` 参数可以是有效的日期或时间戳表达式。该函数会返回输入日期所对应的一个月中的具体某一天(范围为 1 到 31)。此功能通常与其他日期函数配合使用,以便更灵活地处理日期数据[^2]。 #### 示例代码 (SQL) 以下是一些常见的 SQL 查询示例展示如何利用 `DAY()` 获取特定信息: ```sql -- 基本用法: 提取当前日期中的 '日' 部分 SELECT DAY(CURRENT_DATE); -- 结果可能类似于: -- 如果今天是 2023-10-05,则结果为 5. -- 应用于表列字段上 SELECT name, birth_date, DAY(birth_date) AS day_of_birth FROM employees; ``` 上述查询语句将显示员工的名字、出生日期以及他们各自生日所在的那一天。 #### 在 Excel 中的应用 Excel 的 `DAY()` 函数同样旨在获取某个日期里的日子成分。它的基本形式非常简单明了: ```excel =DAY(serial_number) ``` 这里的 `serial_number` 表达的是合法的日期序列号或者可以直接被解析成日期的文字串[^3]。 ##### 实际例子 (Excel): 假设单元格 A1 包含日期 "2023/9/18", 下面的例子演示怎样调用 `DAY()` 来取得这一天的部分: | 输入 | 输出 | |-------------------------|------| | =DAY(A1) | 18 | 如果希望构建动态变化的日历项目列表也可以借助于其他辅助函数一起完成复杂任务比如生成一个月内的每一天等等. 通过以上介绍可以看出无论是数据库环境还是电子表格软件里头,"Day" 这样的基础组件都扮演着不可或缺的角色帮助我们更好地理解和操作涉及到了解构的时间维度的数据集.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值