C语言基础/字符串/转义字符/注释

一、字符串(%s)

字符串:双引号引起来的就是字符串。(没有字符串类型)

字符串的解束标志为\0的转义字符,且该转义字符不作为字符串的内容,比如我们打印数组a[]="abc"时,运行过程中就需要4个空间,字后一个给\0,字符串的结束标志就是\0,遇到\0才会停止打印。

如何证明呢?我们要用到strlen函数(专门求字符串长度的函数),int a=stelen("字符串"),注意加上头文件#include,这样就发现运算结果不包含\0,因为它只是一个结束标志。(当我们用该函数求字符串长度时,空格也算在内,比如strlen("ab c")显示字符长度为4)

复杂例子:printf("%d\n",strlen("c:\test\628\test.c")),运行后发现结果为14,这是因为蓝色部分为三个字符,原因参考下节转义字符。

二、转义字符(打印字符:%c)

例:n和\n的意思不同,当我们打印时,结果分别为n和换行。

但不是所有字符均可以转义,只有以下这些(了解就行,对红色的多关注一点):

1.\a 警告字符;2.\b 退格符;\f 换页 ;3.\n换行4.\r回车(3和4在某些编译器中结果显示相同)5.\t 水平制表符(\t在字符串中代表一个字符,其效果相当于4个空格,在计算字符串长度时算1而不是4);6.\v 垂直制符;7. \\一个反斜杠;8.\? 书写连续三个问号时使用,防止被解析为三字母词:??)-->](现已不用);9.\'单引号字符 ;10.\"双引号字符 ;11.\0 空字符;12.\ddd 1-3个进制的数字,例如\130对应X(转换为十进制后对照ASCII码得出的数);13.\xdd2个十六进制数字,如\x30对应为0。

三、注释:(用//表示,注意和上一节转义字符区分,用于解释代码或者注释掉不需要的部分)

如果我们想要快速地注释掉一段代码,可以采用/* */的格式,如图可以快速的将中间部分的代码注释掉。(不过也有缺陷,当我们有多个/**/时,可能出现部分代码未注释的情况,因为只要遇到*/就会默认后面不会被注释掉(如图二))

图一:C语言基础/字符串/转义字符/注释_第1张图片                   图二:C语言基础/字符串/转义字符/注释_第2张图片

当我们写代码时,可以尝试加入注释,可以帮助我们梳理思路和解释复杂的代码,避免我们遗忘内容和检查维护。同时也可以方便他人了解我们的代码。

四、补充一些打印时的知识点

%c--打印字符,%s--打印字符串,%f--打印float类型的数据,%lf--打印double类型的数据,%zu--打印sizeof的返回值

你可能感兴趣的:(c语言,开发语言)