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库提供大量的字符串函数,下面就让我们一一学起来吧!

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

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

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

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

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

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

它的作用予strcat差不多,只是它可以把字符串数组arr2中的前num个字符复制到字符串数组arr1中

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

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

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

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

(1)这是找到的情况

(2)没有找到的情况

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值