学习目标:函数
学习内容:
1、函数:
1、概念:
实现某种特殊功能的代码模块,其程序代码要求独立,
通常有返回值。
2、函数声明的一般语法结构:
数据类型 函数名(<形参列表>);
eg:
int func(int a, int b);
3、函数一般声明在头文件中,
如果无头文件,应当声明在函数被使用之前的 全局区。
4、函数定义的一般语法结构:
数据类型 函数名(<形参列表>)
{
执行语句1;
执行语句2;
....
return ;
}
eg:
int func(int a, int b)
{
.....
return (int);
}
5、函数一般定义在函数声明之后的 全局区。
6、函数的使用(函数的调用)
1、如果函数返回值,对后续代码没有帮助(意义),则:
函数名(<实参列表>);
eg:
func(1, 2);
2、如果函数返回值,对后续代码 有 帮助(意义),则:
变量名 = 函数名(<实参列表>);
eg:
sum = func(3, 4);
7、注意:函数形参是什么数据类型,
那么调用函数时的实参就必须是什么类型。
练习:
1、定义一个字符数组,从键盘输入数据,设计函数计算出 键盘输入的字符个数。
2、字符串处理函数:
所有处理函数头文件: #include <string.h>
1、求长度(元素个数)
int strlen(const char *s);
2、字符串的大小比较函数,常在项目中用作 命令的匹配。
// 大小比较的原理:
1、从两个字符数组中取出第一个元素进行大小比较,如果有大小,立即返回结果
2、如果第一个字符一样大,那么再取第二个元素,进行大小比较,
3、如果有大小,立即返回,否则取第三个元素,以次类推
4、当两个字符串所有元素都遍历无大小结果,则返回一样大
5、比较过程中,哪个字符串先遍历完成,则返回该字符串小
int strcmp(const char *s1, const char *s2);
返回值:
>0: s1 > s2
=0: s1 = s2
<0: s1 < s2
// 比较两个字符串的前 size个字节。
int strncmp(const char *s1, const char *s2, size_t size);
3、字符串的设置函数,常在项目中用作 字符串的清零。
void * memset(void *s, int c, size_t n);
功能:
将 s地址上的前 n个字节设置为 c。
参数:
s:缓冲区首地址(int、char)
c:要设置的数值 0~9
n:要设置的字节数
4、字符串中子串的查找,常在项目中用作 命令的查找
char * strstr(const char *s1, const char *s2);
功能:
在 s1 字符串中,查找 s2这个子串
返回值:
成功:返回s2首字母在 s1中位置(地址)。
失败:返回 NULL
注意:返回地址量的函数,就是指针函数。
数据类型 * 函数名(<形参列表>);
//字符串拷贝函数
char *strcpy(char *dest, const char *src);
char *strncpy(char *dest, const char *src, size_t size);
//字符串拼接函数
char *strcat(char *dest, const char *src);
char *strncat(char *dest, const char *src, size_t size);
学习时间:
- 5.29 周日上午8 点 20 -上午 11 点 40