第六章数组总结

来源:互联网 发布:淘宝手机装修在哪里 编辑:程序博客网 时间:2024/04/30 10:17

数组是具有相同类型数据的集合,它们使用一个名字来表示。

6.1一维数组

6.1.1一维数组的定义

一维数组声明的一般形式为:类型名  数组名【数组元素总数】;类型名表明数组的类型,可以是任意,一种数据类型,数组名是用户定义的数组标识符,方括号数组元素总数是常量表达式,用来指定数据元素的总数,也称为数组的长度。

对于数组类型说明应注意以下几点:

1.数组的类型指数组元素的取值类型。对于一个数组只能有一种类型,其所有元素的数据类型都是此种类型。

2.数组名必须是合法标识符,也就是说必须符合标识符的命名规定。

3.数组不能与程序中的其他变量同名。

4.若用方程括号中的整数n来表示数组元素的总称,则数组的第一个元素的下标为0,最后一个为n-1。

5.不能在方程括号中用变量来表示元素的个数。

6.可以使用在编译预处理#define中定义的符号常量。

7.允许在同一个说明相同类型的多个数组和多个变量。

6.1.2一维数组元素的引用

数组元素是数组的基本单元,他是一种变量,其标识方法为数组名后跟下标,下标指定元素在数组中的顺序号。

下标只能为整形常量或整型表达式,如果为小数,编译时将自动取整数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量。

6.1.3一维数组的初始化

在对数组进行声明的同时就给数组中各个元素,复制的方法称为数组初始化。

在“{}”中的各个数据值即为各对应元素的初值,各值之间用逗号间隔。

对数组的初始化还有以下几点规定:

1.可以只给部分元素赋初值,当“{}”中值的个数少于元素个数时。只给最前面部分元素赋给定值,其余元素不赋值。

2.只能给元素逐个赋值不能给数组整体赋值。

3.若在声明时,没有指出数组元素的个数。而是对元素进行初始化,则编译器会根据做出的初值的个数来决定数组的大小。

6.1.4一一维数组的应用举例

常用的动态赋值方法

1.在程序的运行中,使用循环语句对数组元素进行赋值。

2.在程序的运行中,用已知数组给另一数组赋值。

3.在程序的运行中,用本数组中已经赋值的元素给没有赋值的元素赋值。

6.2二维数组

6.2.1二维数组的定义

二维数组类型定义的一般形式是:

类型符  数组名 [下标1总数]、【下标2总数】

6.2.2二维数组元素的引用

二维数组的元素也称为双下标变量。其表示形式为:数组名[下标1]【下标2】下表变量 和数组说明在形式上有些相似,但两者具有完全不同的含义。

数组说明的方括号中给出的是某一维的长度,即可取下标的最大值,而数组元素中的下标是该元素在数组的位置标识。

6.2.3二维数组的初始化

二维数组初始化赋值应注意以下问题

1.可以只对部分元素赋初值,未赋初值的元素自动取0值。只对每一行的第一列元素赋值,其余的元素为0.

2.若对全部元素赋初值,第一维的长度可以省略。系统将依据元素个数来判断第一维的长度。

6.3字符数组

6.3.1字符数组的定义引用和初始化

1.字符数组的定义

用来存放字符型数据的数组称为字符数组。

2.字符数组的初始化

若“{}”中提供的初值的个数(也就是字符个数)大于数组长度,则是错误的。若初值个数小于数组长度,则将这些字符赋给数组中面前的那些元素,其余的元素自动定为空字符串,也就是'\0’。

3.字符数目元素的的引用

可以引用字符数组中的一个元素,得到一个字符。

4.字符串和字符串结束标识

当把一个字符串存入一个数组时,也要把结束符‘\0’存入数组,以此作为字符串是否结束的标识。

main(){  char  c[]="FOXBASE \nd BASE";  printf("%s\n",c);}


注意:本例printf函数中,使用的格式字符串为“%s”,表示输出的是一个字符串。而在输出表列中给出数组名即可。

6.3.2字符串处理函数

c语言提供了丰富的字符串处理函数,大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。

1.字符串输出函数puts

功能:把字符数组中的字符串输出到显示器,即在屏幕上呈示该字符串。

2.字符串输入函数gets

功能:从键盘上输入一个字符串。本函数得到一个函数值。即为该字符数组的首地址。

gets函数并不一空格作为字符串输入结束的标识,而只以回车作为输入结束。

3.字符串连接函数strcat

功能:把字符数组2中的字符串连接到字符数组1中字符串的后面,并删去字符串1后的串标识'\0'。本函数返回值是字符数组1的首地址。要注意的字符组1应定义足够的长度,否则不能全部装入被连接的字符串。

4.字符串复制函数strcpy

功能:把字符数组2中的字符串复制到字符数组1中,串结束标识'\0'也一同复制,字符数组2可以是一个字符串常量,这时相当于把一个字符串赋予一个字符数组。本函数要求字符数组1应有足够的长度,否则不能全部装入所复制的字符串。本函数执行后,字符数组1中原来的内容被新的内容所覆盖。

注:c语言不允许用赋值语句把字符串赋给一个字符数组。

5.字符串比较函数strcmp

功能:按照字符串的ASCII码值顺序比较两个数组中的字符串,并由函数返回值返回比较结果。

6.测字符串长度函数strlem

功能:测字符串的实际长度并作为函数返回值。

7.大写变小写函数strupr

功能:把字符串中的大写字母变成小写字母。

8.小写变大写函数strupr

功能:把字符串中的大小写字母变成大写字母。

 

原创粉丝点击