1、字符数组的定义
1、用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。
2、定义字符数组的方法和定义数值型数组的方法类似。
例子:
char c[10];
2、字符数组的初始化
1、对字符数组初始化,最容易理解的方式是用“初始化列表”,把各个字符依次赋给数组中各元素。
2、如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。
3、例子
char c[10]={'I',' ','a','m',' ',' h','a','p','p','y'};
把10个字符依次分别赋给c[0]~c[9]这10个元素。
3、引用字符数组中的元素
可以引用字符数组中的一个元素,得到一个字符。每日一练里面有练习题。
4、字符串和字符串结束标志
1、在C语言中,是将字符串作为字符数组来处理的,字符串中的字符是逐个存放到数组元素中的。
2、为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符‘\0’作为结束标志。
3、C系统在用字符数组存储字符串常量时会自动加一个'\0'作为结束符。
4、‘\0’代表ASCII码为0的字符,从ASCII码表中可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做。
5、字符数组并不要求它的最后一个字符为'\0',甚至可以不包含'\0'。
5、字符数组的输入输出
1、字符数组的输入输出有两种方法。
(1)逐个字符输入输出。用%c输入或输出一个字符。
(2)将整个字符串一次输入或输出。用%s格式符,意思是对字符串的输入输出。
2、输出的字符中不包括结束符“\0”。
3、用%s格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。
4、如果数组长度大于字符串的实际长度。也只输出到遇“\0”结束。
5、如果一个字符数组中包含一个以上“\0”,则遇第一个“\0”时输出就结束。
6、可以用scanf函数输入一个字符串。
6、使用字符串处理函数
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(字符串)
作用:将字符串中小写字母换成大写字母。
领取专属 10元无门槛券
私享最新 技术干货