数组、字符串和函数的总结
2013-03-16 14:44
369 查看
1、字符串:位于双引号中的字符序列,以”\0”结束,所占字节比实际多一个。
2、字符常量可以赋给字符变量,字符串常量不可以赋给字符串变量。C语言中用字符数组来存放字符串。
3、字符数组:memset(a,’\0’,10);用来给数组清0的。需要加头文件#include<string.h>。
注意:定义数组时,应确保数组长度比字符串长度至少多1,未被使用的元素自动初始化为0。
4、’\0’代表ASCII码为0的字符(NUL)。为“空操作符”,用它作为字符串结束标志不会产生附加的操
作或增加有效字符,只起一个供辨别的标志。
5、字符数组的输入输出的两种方法:
(1)逐个字符输入输出(%c);(输出字符不包含‘\0’)
(2)整个字符串一次输入输出(%s)。(输出的是字符数组名)
6、scanf()格式化输入:接收字符串,不接收空格。输入字符串时,数组名前不加&。
7、gets()可以接收空格,以回车结束输入;getchar()输入回显;getch()不回显,而且可以接收‘\r’
,需要#include <conio.h>
8、puts()输出字符串函数程序开头用#include <string.h>;输出字符函数putchar()。
9、字符数组的一些方法
(1)统计字符串长度:strlen();(遇到‘\0’结束)。
(2)内存赋值函数:memset(字符数组名,要替换的内容,要替换的个数),根据要替换的个数,用膏药替换的内容,替换字符串数组的内容(清0)。
(3)字符串拷贝:strcpy(字符数组1,字符数组2);strcpy(字符数组名,字符常量)。
(4)字符串拷贝:strncpy(目标数组,原数组,个数);将指定个数的字符串拷贝到指定的数组中。注
意:strncpy不检查目标字符串的大小,当目标字符串内存不足,会导致崩溃。
(5)字符串比较:strcmp(字符串1,字符串2)。(规则:讲两个字符串自左至右逐个字符比较,直到遇到
相同的字符或’\0’结束)。
比较的结果由函数值带回:
1>如果字符串1=字符串2,则函数值为0;
2>如果字符串1>字符串2,则函数值为一个正整数
3>如果字符串1<字符串2,则函数值为一个负整数
(6)字符串连接函数:strcat(字符数组1,字符数组2)。
(7)字符串转小写:strlwr(字符串)。
(8)字符串转大写:strupr(字符串)。
10、C语言函数:C语言是通过函数来实现模块化程序设计的。每个模块都有特定的功能,称为子程序。函
数式C语言程序的基本单位。
11、主函数可以调用其他函数,其他函数也可以互相调用,其它函数不可以调用主函数。
12、程序使用函数的优点:
1)使用函数可以控制任务的规模
2)使用函数可以控制变量的作用范围
3)使用函数,程序的开发可以由多人分工协作
4)使用函数,可以重新利用已有的、调试好的、成熟的程序模块
5)函数模块相对独立,功能单一,可混合编写也可独立编写调试
12、函数的定义形式
(1)无参函数 :函数类型 函数名(){可执行语句部分}
(2)有参函数 : 函数类型 函数名(形参列表){可执行语句部分}
(3)空函数 :函数类型 函数名(){ }
13、命名规范
(1)首字母必须大写.
(2)函数名用大小写字母组合
(3)最好用下划线进行间隔
14、自定义头文件(*.h)。
头文件中一般放一些重复使用的代码,例如函数声明,变量声明,常数定义,宏的定义等等。
15、函数声明:又称为函数原型。
格式为:函数类型 函数名(参数类型1,参数类型2,...,参数类型n)。
返回值:return语句,函数中能出现多个return语句,但是每次只能有一个return执行,只有一个返回
值。
16、变量的两种存储方式:静态存储方式(系统固定分配存储空间)和动态存储方式(根据需要进行动态
分配存储空间)。
17、内存区域分配:
代码段:可执行代码、字符串常量
数据段:已初始化全局变量、已初始化全局静态变量、局部静态变量、常量数据
BSS:未初始化全局变量,为初始化全局静态变量
栈:局部变量、函数参数
堆:动态内存分配
18、栈和堆的区别:
(1)申请空间方式不同:栈是系统自动分配;堆是程序员自己申请的。
(2)堆是手动释放内存空间,栈是自动释放内存空间。
19、函数之外的是全局变量,函数之内的变量叫做局部变量。
20、静态变量随函数的定义而定义,如果已经存在就延用,但并不随函数的结束而消亡。若未赋以初值
,则由系统自动赋以0值。静态全局变量:静态存储方式。
21、函数嵌套的调用:即调用一个函数的过程中,又可以调用另一个函数。
22、函数递归调用:在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调
用。
每个子问题必须比原来问题的规模更小,如果能够迅速减小更好必须有一个明确的结束递归的条件。
23、const修饰函数参数:表示函数内部不能对函数的参数进行修改。
24、数组名作为函数参数:向形参传递的是数组首元素的地址。
用数组元素做实参时向形参变量传递的是数组元素的值。
2、字符常量可以赋给字符变量,字符串常量不可以赋给字符串变量。C语言中用字符数组来存放字符串。
3、字符数组:memset(a,’\0’,10);用来给数组清0的。需要加头文件#include<string.h>。
注意:定义数组时,应确保数组长度比字符串长度至少多1,未被使用的元素自动初始化为0。
4、’\0’代表ASCII码为0的字符(NUL)。为“空操作符”,用它作为字符串结束标志不会产生附加的操
作或增加有效字符,只起一个供辨别的标志。
5、字符数组的输入输出的两种方法:
(1)逐个字符输入输出(%c);(输出字符不包含‘\0’)
(2)整个字符串一次输入输出(%s)。(输出的是字符数组名)
6、scanf()格式化输入:接收字符串,不接收空格。输入字符串时,数组名前不加&。
7、gets()可以接收空格,以回车结束输入;getchar()输入回显;getch()不回显,而且可以接收‘\r’
,需要#include <conio.h>
8、puts()输出字符串函数程序开头用#include <string.h>;输出字符函数putchar()。
9、字符数组的一些方法
(1)统计字符串长度:strlen();(遇到‘\0’结束)。
(2)内存赋值函数:memset(字符数组名,要替换的内容,要替换的个数),根据要替换的个数,用膏药替换的内容,替换字符串数组的内容(清0)。
(3)字符串拷贝:strcpy(字符数组1,字符数组2);strcpy(字符数组名,字符常量)。
(4)字符串拷贝:strncpy(目标数组,原数组,个数);将指定个数的字符串拷贝到指定的数组中。注
意:strncpy不检查目标字符串的大小,当目标字符串内存不足,会导致崩溃。
(5)字符串比较:strcmp(字符串1,字符串2)。(规则:讲两个字符串自左至右逐个字符比较,直到遇到
相同的字符或’\0’结束)。
比较的结果由函数值带回:
1>如果字符串1=字符串2,则函数值为0;
2>如果字符串1>字符串2,则函数值为一个正整数
3>如果字符串1<字符串2,则函数值为一个负整数
(6)字符串连接函数:strcat(字符数组1,字符数组2)。
(7)字符串转小写:strlwr(字符串)。
(8)字符串转大写:strupr(字符串)。
10、C语言函数:C语言是通过函数来实现模块化程序设计的。每个模块都有特定的功能,称为子程序。函
数式C语言程序的基本单位。
11、主函数可以调用其他函数,其他函数也可以互相调用,其它函数不可以调用主函数。
12、程序使用函数的优点:
1)使用函数可以控制任务的规模
2)使用函数可以控制变量的作用范围
3)使用函数,程序的开发可以由多人分工协作
4)使用函数,可以重新利用已有的、调试好的、成熟的程序模块
5)函数模块相对独立,功能单一,可混合编写也可独立编写调试
12、函数的定义形式
(1)无参函数 :函数类型 函数名(){可执行语句部分}
(2)有参函数 : 函数类型 函数名(形参列表){可执行语句部分}
(3)空函数 :函数类型 函数名(){ }
13、命名规范
(1)首字母必须大写.
(2)函数名用大小写字母组合
(3)最好用下划线进行间隔
14、自定义头文件(*.h)。
头文件中一般放一些重复使用的代码,例如函数声明,变量声明,常数定义,宏的定义等等。
15、函数声明:又称为函数原型。
格式为:函数类型 函数名(参数类型1,参数类型2,...,参数类型n)。
返回值:return语句,函数中能出现多个return语句,但是每次只能有一个return执行,只有一个返回
值。
16、变量的两种存储方式:静态存储方式(系统固定分配存储空间)和动态存储方式(根据需要进行动态
分配存储空间)。
17、内存区域分配:
代码段:可执行代码、字符串常量
数据段:已初始化全局变量、已初始化全局静态变量、局部静态变量、常量数据
BSS:未初始化全局变量,为初始化全局静态变量
栈:局部变量、函数参数
堆:动态内存分配
18、栈和堆的区别:
(1)申请空间方式不同:栈是系统自动分配;堆是程序员自己申请的。
(2)堆是手动释放内存空间,栈是自动释放内存空间。
19、函数之外的是全局变量,函数之内的变量叫做局部变量。
20、静态变量随函数的定义而定义,如果已经存在就延用,但并不随函数的结束而消亡。若未赋以初值
,则由系统自动赋以0值。静态全局变量:静态存储方式。
21、函数嵌套的调用:即调用一个函数的过程中,又可以调用另一个函数。
22、函数递归调用:在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调
用。
每个子问题必须比原来问题的规模更小,如果能够迅速减小更好必须有一个明确的结束递归的条件。
23、const修饰函数参数:表示函数内部不能对函数的参数进行修改。
24、数组名作为函数参数:向形参传递的是数组首元素的地址。
用数组元素做实参时向形参变量传递的是数组元素的值。
相关文章推荐
- PHP和js数组、字符串、函数不同点基础总结
- Qt开发中字符串、字节数组和变量常用的一些函数总结
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- php 常用函数总结(数组,字符串,时间,文件操作)
- Qt开发中字符串、字节数组和变量常用的一些函数总结
- 数组、字符串在指针和函数中的一些经验总结
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- 黑马程序员——C语言(函数、数组、字符串、进制、内存分析)总结
- C/C++(字符串处理)字符指针、字符数组用法大总结
- 数组基础与字符串(尚学堂视频学习总结_004)
- Sql常见问题总结二(Sql语句怎么样查询IP,游标去重复,各种函数使用,各种取时间格式,字符串精确排序,超时锁问题)
- 几种字符串数组函数的用法
- 【总结】关于在Android中如何使用字符串数组String[]
- c语言字符串函数总结(超级全)
- javascript将字符串按指定的字符分割成数组的函数split
- 我学PHP整理的数组与字符串常用函数
- c中给字符数组,字符串指针赋值的方法总结
- 指针数组、数组指针、函数指针、指针函数总结C++
- 编写函数void change(char *a,char *b,char*c)。 函数功能是首先把b指向的字符串逆向存放,然后将a指向的字符串和b指向的字符串按排列顺序交叉合并到c指向的数组中,两个字