(函数p1) C语言从入门到入土(入门篇)(一)

简介: 1. 函数是什么? 2. C语言中函数的分类: 2.1 库函数: 2.1.1 如何学会使用库函数? 2.2 自定义函数 3. 函数的参数 3.1 实际参数(实参): 3.2 形式参数(形参): 4. 函数的调用: 4.1 传值调用 4.2 传址调用 4.3 练习

//今天就先只能讲到这里了哈!后面的下次再讲

5. 函数调用

6. 函数的嵌套调用和链式访问

7. 函数的声明和定义

8. 函数递归


1. 函数是什么?

数学中我们常见到函数的概念。但是你了解 C 语言中的函数吗?

维基百科中对函数的定义: 子程序

在计算机科学中,子程序(英语: Subroutine, procedure, function, routine, method,

subprogram, callable unit ),是一个大型程序中的某部分代码, 由一个或多个语句块组

成。它负责完成某项特定任务,而且相较于其他代 码,具备相对的独立性。

一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软

件库。

2. C语言中函数的分类:


1. 库函数

2. 自定义函数

2.1 库函数:

为什么会有库函数?

1. 我们知道在我们学习 C 语言编程的时候,总是在一个代码编写完成之后迫不及待的想知道结果,想

把这个结果打印到我们的屏幕上看看。这个时候我们会频繁的使用一个功能:将信息按照一定的格式打印到屏幕上( printf )。

2. 在编程的过程中我们会频繁的做一些字符串的拷贝工作( strcpy )。

3. 在编程是我们也计算,总是会计算 n 的 k 次方这样的运算( pow )。

像上面我们描述的基础功能,它们不是业务性的代码。我们在开发的过程中每个程序员都可能用的到, 为了支持可移植性和提高程序的效率,所以C 语言的基础库中提供了一系列类似的库函数,方便程序员 进行软件开发。

那怎么学习库函数呢?

这里我们简单的看看: www.cplusplus.com

83.png

简单的总结,C语言常用的库


IO函数

字符串操作函数

字符操作函数

内存操作函数

时间/日期函数

数学函数

其他库函数

我们参照文档,学习几个库函数: ( 教会学生怎么使用文档来学习库函数 ) 。



84.png85.png


memset

void * memset ( void * ptr , int value , size_t num );


86.png87.png88.png

注:

但是库函数必须知道的一个秘密就是:使用库函数,必须包含 #include 对应的头文件。

这里对照文档来学习上面几个库函数,目的是掌握库函数的使用方法。


2.1.1 如何学会使用库函数?


需要全部记住吗? No

需要学会查询工具的使用:

MSDN(Microsoft Developer Network)

www.cplusplus.com

http://en.cppreference.com (英文版)

http://zh.cppreference.com (中文版)

英文很重要。最起码得看懂文献。其实也就是看那几个地方,看多了就懂了哈!

2.2 自定义函数

如果库函数能干所有的事情,那还要程序员干什么?

所有更加重要的是 自定义函数 。

自定义函数和库函数一样,有函数名,返回值类型和函数参数。

但是不一样的是这些都是我们自己来设计。这给程序员一个很大的发挥空间。

函数的组成:

ret_type fun_name ( para1 , * )

{

statement ; // 语句项

}

ret_type 返回类型

fun_name 函数名

para1     函数参数

//这个是每个函数的模板,就是说都包括这几个地方,一定要记得哈!

我们举一个例子:

写一个函数可以找出两个整数中的最大值。

89.png


再举个例子:

写一个函数可以交换两个整形变量的内容。

82.png

相关文章
|
13天前
|
程序员 C语言
C语言库函数 — 内存函数(含模拟实现内存函数)
C语言库函数 — 内存函数(含模拟实现内存函数)
24 0
|
1天前
|
存储 自然语言处理 编译器
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
|
13天前
|
程序员 C语言 开发者
C语言库函数 — 字符串函数(含模拟实现字符串函数)
C语言库函数 — 字符串函数(含模拟实现字符串函数)
35 0
|
20天前
|
存储 C语言
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现1
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现
|
20天前
|
机器学习/深度学习 C语言
【C语言】函数的系统化精讲(三)1
【C语言】函数的系统化精讲(三)
|
20天前
|
编译器 C语言
【C语言】函数的系统化精讲(一)2
【C语言】函数的系统化精讲(一)2
|
20天前
|
编译器 Serverless C语言
【C语言】函数的系统化精讲(一)1
【C语言】函数的系统化精讲(一)
|
20天前
|
存储 程序员 编译器
【C语言第二回】main、printf和库函数
【C语言第二回】main、printf和库函数
|
24天前
|
编译器 C语言 C++
【C语言】memset()函数(内存块初始化函数)
【C语言】memset()函数(内存块初始化函数)
26 0
|
24天前
|
编译器 C语言 C++
【C语言】memcpy()函数(内存块拷贝函数)
【C语言】memcpy()函数(内存块拷贝函数)
41 0