C语言复习计划(五)来啦!

这次的主题是“字符串”!



Android 字符串忽略大小写 android字符串赋值_字符数组

注意啦!注意啦!还有不到一周就要考试啦!前几期的内容大家都复习了吗?今天,小编带着字符串又来了呦!大家准备好了吗,我要开始啦!!!

什么是“字符串”

C语言中没有字符串这种类型,如果想要表示字符串需要使用char类型的数组,因为字符串本身就是个多字符串的组合。

1.字符串是一个特殊的数组,在它的结束位置加上一个'\0'。'\0'是ASCII码值为0的字符,是一个空操作符,表示什么也不干。所以采用字符数组存放字符串,赋值时候要包含结束标志'\0'.

2.如果使用字符串赋值的时候程序会自动添加'\0'作为结束符.



Android 字符串忽略大小写 android字符串赋值_字符数组_02

字符串的初始化

一维数组的定义、引用、初始化方法都适用于字符数组,例如:

char str[]={"hello world!"};

也可以去掉花括号:

char str[]="hello world!";

这两种是在定义的时候直接用字符串常量赋值,也可以单个赋值:

char str[]={'H','e','l','l','o','\0'}; 

但要注意的是,前面两个字符串末尾都有结束符'\0',而字符数组需要自己添加'\0',不然它就不是一个字符串,只是一个普通的字符数组。

 字符串的输入\输出

(1)用%s整体输入/输出,格式描述串中使用转换字符串"%s"

char name[100];

scanf("%s", name); /*输入字符串*/

printf("%s", name); /*输出字符串*/

*用scanf()函数以%s格式读入的数据不能含有空白符,所有空白符都被当作数据结束的标志。

(2)用gets()和puts()函数

gets(字符数组名);

功能是读取字符串,并存放在指定字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'\0'。

puts(字符数组名);

功能是将存储在字符数组中的字符串输出到标准终端(屏幕)。puts输出字符串时要从数组首地址开始读取字符,遇到字符串结束符'\0'才停止。

char name[100];

gets (name);/*从键盘上读入一个完整的行,存入字符数组name*/

puts (name);/*把字符数组中的字符串输出到显示器*/

*puts()的作用与语句printf("%s\n", s)的作用基本相同,puts()函数只能输出字符串,不能输出数值或进行格式变换。puts()函数在输出字符串后会自动输出一个回车符。



Android 字符串忽略大小写 android字符串赋值_字符串_03

就这些了吗?

Android 字符串忽略大小写 android字符串赋值_Android 字符串忽略大小写_04



Android 字符串忽略大小写 android字符串赋值_Android 字符串忽略大小写_05

别急,还有呢!

Android 字符串忽略大小写 android字符串赋值_Android 字符串忽略大小写_04



Android 字符串忽略大小写 android字符串赋值_Android 字符串忽略大小写_05

Android 字符串忽略大小写 android字符串赋值_android 数组赋值字符串_08

常用字符串函数

一、string.h中的字符串处理函数

1.求字符串长度函数strlen()

调用格式:

strlen(str)

功能:测试字符串长度。函数返回值就是str 中字符的个数。

2.字符串复制函数strcpy()和strncpy()

调用格式:

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

功能:复制第二个参数的内容到第一个参数中。第一个参数必须有足够的内存来接受第二个参数,第二个参数可以是含有结束符'\0'的字符串(字符数组或字符串常量)。

调用格式:

strncpy(字符数组1,字符串2,n)

功能:复制第二个参数中最多n个字符到第一个参数中。

3.字符串比较函数strcmp()和strncmp()

调用格式:

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

功能:比较字符串1和字符串2的大小,若前者大则返回一个正整数, 若后者大则返回一个负整数, 若两者相等,则返回0。

调用格式:

strncmp(字符串1,字符串2,n)

功能:将字符串1中最多n个字符与字符串2进行比较。

*注意:比较两个

字符串的大小只能使用此函数,而不能使用“>”、“

4.字符串连接函数strcat()和strncat()

调用格式:

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

功能:把第二个参数的内容添加到第一个参数的有效字符后面。第一个参数必须有足够的内存。第二个参数可以是含有结束符"\0'的字符串(字符数组或字符串常量)。

调用格式:

strncat(字符数组1,字符串2,n)

功能:把字符串2中最多n个字符添加到字符数组1的有效字符后面。

5.字符串逆置函数strrev()

调用格式:

strrev(字符串)

功能:将字符串前后颠倒。

二、stdio.h中的字符串函数

1.函数sprintf()

调用格式:

sprintf(str,格式字符串,输出项列表)

功能:与printf()唯一的不同是多了一个参数str,并且输出结果是保存在字符数组str中,而不是输出到屏幕。

2.函数sscanf()

调用格式:

sscanf(字符数组,格式字符串,输出项列表)

功能:与scanf()唯一的不同是多了一个参数字符数组,并且是从字符数组中读入,而不是从键盘读入。



Android 字符串忽略大小写 android字符串赋值_赋值_09

只看这些干货还不够,童鞋们要多多刷题呀!毕竟熟能生巧后我们就能把C语言“玩弄于股掌之间”,不再让这个小东西困扰我们!



Android 字符串忽略大小写 android字符串赋值_字符数组_10

Android 字符串忽略大小写 android字符串赋值_字符串_11

逢考必过!

誓不挂科!

最后的最后,祝愿所有同学期末取得好成绩,回家过个快乐年!