字符数组:
字符数组的定义和引用。
在C语言中,没有专门的字符串变量,通常就使用一个字符数组来存放一个字符串。
字符数组的定义与其他数据类型的数组定义类似。
形式如:
char 数组标识符[常量表达式]
char 字符串名称[长度] = "字符串值";
char 字符串名称[长度] = {'字符1','字符2',...,'字符n','\0'};
注意:
1、[]中的长度是可以省略不写的;
2、采用第2种方式的时候最后一个元素必须是'\0','\0'表示字符串的结束标志;
3、采用第2种方式的时候在数组中不能写中文。
例如:
char cArray[5];
其中,cArray表示数组的标识符,5表示数组中包含5个字符型的变量类型。
字符数组引用:
字符数组的引用与其他类型数据的引用一样,也是使用下标的形式。
字符数组的初始化:
1、逐个字符赋给数组中各元素。
char cArray[5]={'H','e','l'.'l'.'o'};
定义包含5个元素的字符数组,在初始化的大括号中,每一个字符对应一个数组元素。
习题:英国某超市职工统计水果的品种,并显示输出水果的名称。代码如下:
2、如果在定义字符数组时进行初始化,可以省略数组长度。
解释:如果初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数来确定数组长度。
char cArray[]={'H','e','l','l','o'};
3、利用字符串给字符数组赋初值。
通常用一个字符数组来存放一个字符串。
char cArray[]={"Hello"};
or
char cArray[]="Hello";
习题:利用星号打印出中的形状。代码如下:
字符数组的结束标志:
在C语言中,使用字符数组保存字符串,也就是使用一个一维数组保存字符串中的每一个字符,此时系统会自动为其添加"\0"作为结束符。
char cArray[]="Hello";
字符串总是以“\0”作为串的结束符,因此当把一个字符串存入数组时,也把结束符“\0"存入数组,并以此作为该字符串时否结束的标志。
注意:如果在一个字符数组中先后存放多个不同长度的字符串,则应使数组长度大于最长的字符串的长度。
用字符串方式赋值比用字符逐个赋值要多占一个字节,多占的这个字节用于存放字符串结束标志”\0"。
例如:
char cArray[]={'H','e','l','l','o','\0'};
char cArray[5]={'H','e','l','l','o'};
char cArray[6]={'H','e','l','l','o','\0'};
字符数组的输入与输出:
字符数组的输入与输出有两种方法:
1、使用格式符“%c"进行输入与输出。
说明:使用格式符”%c“实现字符数组中字符的诸葛输入与输出。
2、使用格式符"%s"进行输入与输出。
说明:使用格式符”%s“将整个字符串一次输入与输出。
注意:
输出字符不包括结束符"\0"。
用“%s”格式输出字符串时,printf()函数中的输出项时字符数组名cArray,而不是数组中的元素名cArray[0]等。
如果数组长度大于字符串实际长度,则也只会输出到“\0“为止。
如果一个字符数组中包含多个"\0"结束字符,则在遇到第一个"\0"时就结束。
习题:输出”Education is the door to freedom“,代码如下:
多维数组:
多维数组的定义与二维数组相同,只是下标更多。
数据类型 数组名[常量表达式1] [常量表达式2] ...[常量表达式n];
例如:
int num[3][3]={{1,2,3},{4,5,6},{7,8,9}};
其中第一个[3]表示第一维下标的长度,
第二个[3]表示第二维下标的长度.
多维数组的初始化与一维数组的初始化类似也是分两种:
1、数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n] = {{值1,..,值n},{值1,..,值n},...,{值1,..,值n}};
2、数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n]; 数组名称[下标1][下标2]...[下标n] = 值;
习题:编码一个用多维数组的代码。代码如下: