C语言学习笔记9

字符数组:

字符数组的定义和引用。

在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] = 值;

习题:编码一个用多维数组的代码。代码如下:

 

 

 

转载于:https://www.cnblogs.com/www-bokeyuan-com/p/11179626.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值