C语言之字符串和字符串函数

目录

1.字符串输入函数—gets();

2.字符串输出函数—puts();

3.字符串长度函数—strlen();

4.字符出拼接函数—strcat();

5.字符串选择拼接函数—strncat();

6.字符串比较函数—strcmp();

7.字符串选择比较—strncmp();

8.字符串复制函数—strcpy();

9.字符串选择复制函数—strcnpy();

10.字符串选择比较函数—strstr();

介绍:C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串中或者字符数组中,字符串常量适用于那些对它不做修改的字符串函数.字符串是c语言中最有用,最重要的数据类型之一。虽然我们一直在使用字符串,但是要学的东西还是很多。c库提供大量的字符串函数,下面就让我们一一学起来吧!

C语言之字符串和字符串函数_第1张图片

 1.字符串输入函数—gets()函数—gets(字符数组)

在读取字符串函数时,scanf()和转换说明%s只能读取一个单词,可是在程序中经常要读取一行输入,而不仅仅是一个单词,这时候就出现了gets()函数。下面我们来看看它们的区别吧。

C语言之字符串和字符串函数_第2张图片

 C语言之字符串和字符串函数_第3张图片

 怎么样,是不是一眼就看出了差别,scanf()不能读取空格,而字符串函数可以读取,这就是它们最重要的差别哦,一定要记住哦.

2.字符串输出函数—puts()—puts(数组名)C语言之字符串和字符串函数_第4张图片

 怎么样这个是不是很简单呢?我们在使用的时候只要把字符串的地址作为参数传递给它即可。

C语言之字符串和字符串函数_第5张图片

 接下来的函数有点复杂了哦,要认真理解了哦。

注:以下字符串函数都要使用include这个头文件哦

3.字符串长度函数—strlen()—strlen(数组名)

strlen求字符串长度的算法分析:strlen接收到字符串起始位置的地址时,比较该地址处的内容是否为’\0’,若不为’\0’, 字符串的长度 + 1。它会一直读到字符串的'\0'才会结束,不要忘记了空格也是一个字符哦

C语言之字符串和字符串函数_第6张图片

 我们也可以模拟实现这一个字符串函数,但是要用到指针和函数的基础知识,建议有一定基础的同学试一下哦!

C语言之字符串和字符串函数_第7张图片

4.字符串拼接函数—strcat()函数—strcat(字符数组1,字符数组2)

这个函数的作用是把第二个备份附加在第一个字符串末尾,并把拼接的字符串作为新的字符串。

C语言之字符串和字符串函数_第8张图片

5。字符串选择拼接函数—strncat()—strncat(数组名1,数组名2,num)

这个函数的作用是把字符串数组arr2中前num个拼接到字符串数组arr1中

C语言之字符串和字符串函数_第9张图片

6.字符串比较函数—strcmp()—strcmp(数组名1,数组名2)

字符串的比较大小是不能直接比较的,字符串的比较是根据英文符的ASCLL值进行比较的,'a'或'A'的值是最小的,'z'或'Z'的值是最大的,字母小写的值是等于它的对应的大写字母加32,然后根据这些原则使用strcmp()这个库函数进行比较大小的,它是从第一个字符串第一个字符与第二个字符串第一个进行比较,如果相等,再向后进行比较。它的返回值也有三种。

C语言之字符串和字符串函数_第10张图片

C语言之字符串和字符串函数_第11张图片

我相信你也懂得了比较的原理。

 C语言之字符串和字符串函数_第12张图片

 C语言之字符串和字符串函数_第13张图片

7.字符串选择比较函数—strncmp()—strncap(数组名1,数组名2,num)

 顾名思义,这个函数就是把字符串数组1的第num个字符与第二个字符串数组的第num个字符进行比较,原则和strcmp()一样哦。

C语言之字符串和字符串函数_第14张图片

C语言之字符串和字符串函数_第15张图片

8.字符串复制函数—strcpy()—strcpy(数组名1,数组名2)

 它的作用是将字符串数组arr2复制到字符串数组arr1中去

C语言之字符串和字符串函数_第16张图片

9.字符串选择复制函数—strncat()—strncat(数组名1,数组名2,num)

它的作用予strcat差不多,只是它可以把字符串数组arr2中的前num个字符复制到字符串数组arr1中C语言之字符串和字符串函数_第17张图片

 注:这里只是把arr2中前5个字符复制到arr1中,arr1中后面的字符还是会显示哦

10.字符串查找函数—strstr—strstr(数组名1,数组名2)

函数用于判断字符串arr1是否是arr2的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。

如果找到该数组,就会从找到的地方开始输出;

(1)这是找到的情况

C语言之字符串和字符串函数_第18张图片

(2)没有找到的情况

 C语言之字符串和字符串函数_第19张图片

你可能感兴趣的:(数据结构,c语言)