您的位置:首页 > 其它

数组、字符串和函数的总结

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、数组名作为函数参数:向形参传递的是数组首元素的地址。

用数组元素做实参时向形参变量传递的是数组元素的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐