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
相关文章推荐
- MFC如何用模拟发送一个伪消息
- 浅谈C语言中的布尔(bool)类型
- 记录一些小点 [随时更新] [神犇勿进] (1)
- C++第七次上机作业
- c++第7次实验——特殊三位数
- Kth Smallest Element in a BST
- C++标准库的数值极限numeric_limits
- C语言实现单链表
- C++实现双向链表
- C++实现单链表
- C++实现动态顺序表
- C++实现 复数类
- C++实现日期类
- C++ Assert()断言机制原理以及使用
- C和C++语言中基本的数据类型
- C语言 实现一个函数,判断一个数是不是素数
- C语言 实现一个函数判断year是不是润年
- C语言 使用函数实现两个数的交换
- C语言输出数组的三种方法
- C语言 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?打印出来?