目录
单个字符
字符的类型名是char ,在创建单个字符的时候需要用单引号,打印的时候使用‘%c’,表示打印单个字符。
字符串
字符串的创建
在创建字符串的时候需要在变量后面加上方括号,表示这是一个字符串,同时,打印的时候需要使用“%s”,表示打印字符串。字符串有两种创建方式。
这两种方式都可以,相比来说第一种会方便点,但是这两种方式创建出来的字符串是有区别的。当我们打印的时候就可以看到。
第一种可以正常输出,而第二种后面出现了乱码的现象。我们可以通过监视来找到答案。
a 里面比 b 里面多方了一个‘\0’,那这个‘\0’ 有什么用呢?其实当编译器对一个字符串进行打印的时候,是以‘\0’来结束的,按照顺序打印,当遇到‘\0’的时候就结束打印,如果没遇到,就一直打印。b字符串的最后没有‘\0’,我们也不知道它会放在哪个位置,当打印完前面的字符串之后,还会继续向后打印,直到遇见‘\0’。
当我们在b 字符串的最后加上‘\0’,就可以正常打印了。
当我们以第一种方式创建的时候,末尾会自动补上‘0’ ,第二种也会补,但是会放在更后面的位置。
strlen求字符串长度
当我们对两种字符串求长度的时候,可以看到结果都是3,那我们把b字符串末尾的‘\0’ 去掉还会一样吗?
可以看到结果就不一样了,因为b 字符串的‘\0’ 在比较后面的位置,这就可以得出:strlen求长度时是遇到‘\0’ 就结束的。
我们把‘\0’ 放到别的位置试试。
由此就可以验证我们的结论了。
转义字符
\a
触发电脑蜂鸣
\b
退格符
\f
进纸符
\n
换行
\t
水平制表符
就等于按了一下table键
\v
垂直制表符
\r
回车
\
当我们不想让一个转义字符有作用,只想让它单纯地打印出来,我们就可以在它前面再加上一个‘\’,相当于把转义字符给转义了,转义字符再转义的话就不是转义字符了,而是变为一个普通字符。
\ddd
ddd表示一个八进制数字
假如说输入\130,那它的意思就是:将八进制的130循环化为十进制打印,结果就是83,但是它不会直接打印83这个数字,而是打印出83所对应的ASCII码,最后打印出‘X’。
\xdd
dd表示一个十六进制数字
和上面一样,比如输入‘\x30’,那就是将十六进制的30转换成十进制数字所对应的ASCII码。
这里的0不是数字0,而是字符‘0’。
下面来看一道转义字符的题目
\t是一个整体,所以它只算一个字符,虽然它的作用是几个空格,但它的作用和他本身的长度无关。
\ddd虽然后面有3个数字,但它只取走了两个,因为8进制中是不会出现8的,所以后面的8自己是一个字符,而\62是一个整体,相当于一个字符。
注释
当我们想要在代码中加入注释,但说明又不想让编译器读取到,就可以在注释的前面加上注释符号。
//
C++风格注释
/* */
C语言风格注释
快捷键
ctrl+k+c注释
ctrl+k+u取消注释