大家好,我们又见面了,在上一篇文章末尾,我留下了下面两个问题:
1.请问下面这个文件夹的字符串的长度是多少?
c:\Program Files\VS\test\x32\228\test.c
2.如何编写代码能将这个文件夹的字符串以字符的形式打印出来?
答案如图所示:
朋友们这个结果跟你们的答案有出入吗?
下面我来解析一下这两个问题:
1.计算字符长度,这里我们直接数它的字符个数就行了,如下图所示:
这里注意看标红的两个字符,为什么\228打印出来的结果是\022+8,这里是因为\ddd这个表示1~3个八进制的数,八进制的数值是有取值范围的,d的取值范围是(0~7),这里d的取值范围应该是很多朋友容易忽视的地方。下面我们通过打印字符来验证一下:
这里有一点需要提前说明一下,在计算机萌新的成长历程——初识C语言2中我们有对char——字符数据类型的变量进行过总结,计算机在打印字符最多只能识别4个字符,但是打印只能打印最后一个字符。
在有这些条件的前提下,我们来对第一问的结果做一个总结
1.打印单个字符时我们需要用到%c,字符需要用单引号印出来;打印多个字符(字符串)时我们需要用到%s,字符串需要用双引号引出来;
2.strlen函数计算字符长度的方式就是计算字符的个数;
3.部分字符前面加上“\”后它会变成转义字符,字符长度也会由两个及以上的字符长度变成1个字符长度甚至是零个字符长度(\0);
4.“\”为转义序列符,不能被直接打印出来,所以在计算字符长度时它的长度为0;
5.\ddd这里的ddd是3个8进制的数字,取值范围是(0~7),所以当这里的d=8或者9时,\ddd则是由转义符“\”加“d”“d”“d”这三个字符组成,这里就会出现下面几种情况:\8dd、\d8d、\dd8,这里的数字8也可以是9,下面我们将他们分别打印一下:
这里我们可以看到,当8出现在不同位置时它的结果是不同的,注意看\787它打印的结果只有87,但是字符长度却是3,有朋友知道为什么吗?下面我们看一下ASCII码表,同时将\7转化成10进制——7×8^0=7,然后在表中查找编号7是什么
这里大家可以看到编号7对应的符号是“●”它的解释是响铃,这个符号在编译器中是无法显示的,但是它是有一个字符长度的,所以这边完整的结果应该是●87才对。
现在大家应该知道为什么第一道题的结果是30了吧,就是因为\228是\022(\22)+“8”这两个字符,不是一个字符。
2.为了将这串字符串全部完整打印出来,我们只需要将转义序列福“\”转变成正常的字符“\”就可以了,所以只需要在每一个“\”前再加一个“\”就可以了。
上一篇咱们留下的问题就全部解决了,下面我将开始分享今天的内容——注释。
Q1.什么是注释?
注释可以简单的理解为标注解释,这里我们可以联想到食品上面,食品上面有很多的注释,比如食品的名字、食品的品牌、食品的类型、食品的配料表、食品的生产日期、食品的生产地址等等这些注释都是为了更好更全面的去介绍这个食品;
Q2.注释的作用是什么?
1.将不需要的代码注释掉可以让他在程序无法被读取;
2.在复杂难懂的代码后面进行注释能够帮助别人更好的去理解这些代码的含义;
Q3.注释分为几类?
注释分为两类——C语言提供的注释(/*XXXXXX*/)与C++提供的注释(//XXXXXX)
Q4.两种注释都有什么特点?
C语言的注释风格为/*内容*/,它是以第一个/*开始进行注释,以第一个*/结束注释,所以不能进行镶嵌注释,如下图所示:
上图很好的展示了C语言注释的不可镶嵌行;
C++的注释风格为//内容,它是以//为注释符,以注释符后的这行内容为基准进行注释,不影响上下行以及注释符前的内容,如下图所示:
这样的注释方式就比较方便,如果这些内容我都想注释掉,我只需要在每一行前面加上注释符//就行,这里可以进行快捷键操作,用鼠标将需要注释的内容全部选择后按住Ctrl然后先按K再按C即可完成全部内容的注释,如果想取消,也可以将需要取消注释的内容全部选择后按住Ctrl先按K最后按下U就可以将选定内容的注释给取消了。也可以参照下图进行全部注释与全部注释取消:
选择内容,点击工具栏的注释选中行这个按键;
完成全部注释;
选择内容,点击取消选中行的注释这个按键;
完成注释取消。
注释这一块的内容比较简单,注释主要用于解释说明,有些比较复杂的代码,为了让其他人也能看懂,这时候添加注释就非常的关键。建议大家养成良好的注释习惯。
今天的内容到这里就全部分享完了,接下来随着学习的深入我会继续分享自己在学习过程中的感受,感谢大家的翻阅,咱们下一篇见。