关于字符串
就像我们所知道的那样,用单引号‘ ’引用的符号就是字符,包括我们常见的,在键盘上就可以敲出来的q,a,z等等。 如果多个字符放在一起呢?就形成了新的概念,叫字符串,在C语言中,我们用双引号“ ”来引用字符串。比如“abcdef”,这就是一个字符串。
对于字符串,我们可以用%s来打印,也可以直接打印。
int main()
{
printf("%s\n","hello world");
//%s的意思是打印字符串
printf("hello world\n");
return 0;
}
和%s是一样的还有其他打印格式
%d,是打印整型
%c,是打印字符
%f,是打印小数
对于字符串,有一个特殊的知识点,那就是在字符串的末尾隐藏着一个字符\0,
这个\0字符是字符串的结束标志。
int main()
{
printf("hehe");//h e h e \0
return 0;
}
转义字符
就像上述的‘\n’,‘\0’,他们也叫转义字符。
转义字符在C语言字符中是一组特殊的字符,通俗的来说,就是转变原来的意思的字符。
例如\n
int main()
{
printf("ab\ndf");
return 0;
}
这里n 并非是n , 大家注意到n前面有个\,\n在C语言中是一个转义字符,它不是n,它叫换行。
如果我想让单引号将单个单引号引用,就像是这样 ‘ ’ ’
那么我则只需要将单引号前加上\即可。同样,双引号也可以。
下面介绍一些常见的转义字符:
\? :在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证。
\' :⽤于表⽰字符常量'
\" :⽤于表⽰⼀个字符串内部的双引号。
\\ :⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。
\a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。
\b :退格键,光标回退⼀个字符,但不删除字符。
\f :换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于 \v 。
\n :换⾏符。
\r :回⻋符,光标移到同一行的开头。
\t:制表符,光标移到下一个水平制表位,通常是下一个4/8的倍数。
\v:垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列。
除了这些常用的字符,下面还将介绍两种特殊的转义字符
\ddd: d d d表示1~3个八进制的数字,并非是单纯的三个d,比如\130,表示X
(所谓八进制的数字,就是指01234567这八个数字)
比如:017(这里的0没有实际意义,它表示后面的17是八进制的数字
八进制的计算:7*+1*
=15
\ddd就是将八进制的数字转化为10进制的数字,然后将此十进制的数字作为ASCII码值代表的字符
(详见上一篇文章的ASCII码表)
\xdd:d d表示2个十六进制的数字,比如:\x30,表示字符0
注:\0,我们在上文中讲过,它是字符串结束的标志,
但它也是 \ddd的一种,它的ASCII码值就是0
不过,十六进制并非从0~15,因为会产生误会,所以从10开始就由a b c等字母来表示
即十六进制为0 1 2 3 4 5 6 7 8 9 a b c d e f
那么我的分享就到这里了,如果有什么错误欢迎大家指正,或者补充一些知识,这样我会学习到更多,嘻嘻,谢谢观看。