您的位置:首页 > 编程语言 > C语言/C++

C语言的字符串(篇章之一)

2016-06-05 10:50 155 查看

一、字符串常量:

[本质]我们都把使用双引号包含的任意字符序列称为字符串,也有人把字符串称为字符串常量。特别注意字符串是以’\0’为结束符,但不计入字符串的实际长度。字符串存储在存储在常量区数据段的只读数据段。

而且需要记住一点:C 语言提供了字符串,但是没有提供字符串类型。

(推结论)C语言没有字符串常量,只能采用字符数组来存储字符串。数组的大小应该比它将要实际存放的最长字符串多一个元素,从而存放‘\0’。

二、字符串与字符的区别

笼统的表示两者的区别:

‘a’—字符 “AAA”—字符串

分点说一下字符:

1、字符变量用关键字char进行定义,在定义的同时可以赋初值。

char ch1 = ‘*’,ch2 = ‘A’,ch3;

2、字符变量只占一个字节。字符变量可以存放任何ASCII字符,所以字符变量可以看做是整型变量来处理。

3、字符型数据可以和整型数据相互转换。

eg:

‘0’ - 0 = 48 ‘A’ +32 =‘a’

来个简单的程序:

#include

三、字符串的输入输出

<1>输出

一般比较常见的是printf。

printf 的格式字符串”%s”,可以用于输出字符串,特点:遇到字符串结束标记则会停止打印输出。

puts

在标准输出函数printf和puts函数功能上基本上是完全一样的。

eg:

char a[]=”hello”; //定义字符数组

printf(“%s”,a); //输出结果是“hello”,没有换行

puts(a); //输出结果是“hello”,并换行

可以得出结论:

当puts()函数在遇到‘\0’时,就会被替换为‘\n’,实现换行的作用。

<2>输出

scanf 遇到空格会截止输入

gets 只有遇到回车才会停止输入,记住空格也是作为字符输入的。

两者在不越界的情况下,都会自动在字符串后面追加’\0’。

字符串操作函数

要掌握的四个字符串函数:

【a】字符串拷贝函数strcpy(s1,s2)

【b】求字符串长度函数strlen(s)

【c】字符串链接函数strcat(s1,s2)

【d】字符串比较函数strcmp(s1,s2)

记得加预处理部分包含头文件“string.h”。字符串长度要小于字符数组的长度,

eg:

char str[10] = “hello”;

sizeof(str)的值为10(数组长度);

strlen(str)的值为5(字符串长度);

【文章来自我的简书】

http://www.jianshu.com/writer#/notebooks/4124910/notes/4189759
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: