6.3 C语言字符数组

01字符数组的定义


1、用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。

2、定义字符数组的方法和定义数值型数组的方法类似。

例子:

char c[10];


02 字符数组的初始化


1、对字符数组初始化,最容易理解的方式是用“初始化列表”,把各个字符依次赋给数组中各元素。

2、如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。

3、例子

char c[10]={'I',' ','a','m',' ',' h','a','p','p','y'};

把10个字符依次分别赋给c[0]~c[9]这10个元素。


03引用字符数组中的元素


可以引用字符数组中的一个元素,得到一个字符。每日一练里面有练习题。


04字符串和字符串结束标志


1、在C语言中,是将字符串作为字符数组来处理的,字符串中的字符是逐个存放到数组元素中的。

2、为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符‘\0’作为结束标志。

3、C系统在用字符数组存储字符串常量时会自动加一个'\0'作为结束符。

4、‘\0’代表ASCII码为0的字符,从ASCII码表中可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做。

5、字符数组并不要求它的最后一个字符为'\0',甚至可以不包含'\0'。


05字符数组的输入输出


1、字符数组的输入输出有两种方法。

(1)逐个字符输入输出。用%c输入或输出一个字符。

(2)将整个字符串一次输入或输出。用%s格式符,意思是对字符串的输入输出。

2、输出的字符中不包括结束符“\0”。

3、用%s格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。

4、如果数组长度大于字符串的实际长度。也只输出到遇“\0”结束。

5、如果一个字符数组中包含一个以上“\0”,则遇第一个“\0”时输出就结束。

6、可以用scanf函数输入一个字符串。


06 使用字符串处理函数


1、puts函数——输出字符串的函数

一般形式;

puts(字符数组)

作用:将一个字符串输出到终端。

2、gets函数——输入字符串的函数

一般形式:

gets(字符数组)

作用:从终端输入一个字符串到字符数组,并且得到一个函数值。

3、注意:用gets和puts函数只能输出或输入一个字符串。

4、stract函数——字符串连接函数

一般形式:

stract(字符数组1,字符数组2)

作用:把两个字符数组中的字符串连接起来,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。

5、strcpy和strncpy函数——字符串复制函数

一般形式:

strcpy(字符数组1,字符串2)

作用:将字符串2复制到字符数组1中去。

6、strcmp函数——字符串比较函数

一般形式:

strcmp(字符串1,字符串2)

作用:比较字符串1和字符串2,将两个字符串自左向右逐个字符相比,直到出现不同的字符或遇到“\0”为止。如果全部字符相同,则认为两个字符串相等:若出现不相同的字符,则以第1对不相同的字符的比较结果为准。

7、strlen函数——测字符串长度的函数

一般形式:

strlen(字符数组)

作用:测试字符串长度的函数。函数的值为字符串中的实际长度。

8、strlwr函数——转换为小写的函数

一般形式:

strlwr(字符串)

作用:将字符串中的大写字母换成小写字母 。

9、strupr函数——转换为大写的函数

一般形式:

strupr(字符串)

作用:将字符串中小写字母换成大写字母。

C语言 | 用putchar输出Love mp.weixin.qq.com图标

文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/333663068

(完)