目录
转义字符
注释
C语言表示真假
sizeof函数
符号
数组
一,转义字符
1.水平制表符
水平制表符为\t,如果要输出一个如图的字符串的话,需要在\t前加一个\v
这样比较一下效果
2.\b表示覆盖,以下图为例子,当打印到abc时遇到\b表示光标覆盖了c然后继续打印abc
3.\ddd表示八进制数字,以图为例子,这里函数要打印一个双引号引起来的字符串,没有打印出来\130,这是因为\130此时表示一个八进制数字转化为十进制所代表的ASCII值代表的符号,这个符号是X
4,如何求转义符长度?函数strlen是一个求字符串长度的函数,使用时,应该假加入头文件,#include<string.h>.同时函数里面的参数如果直接为字符串时要加双引号。
二,注释
注释有两种方式,被注释的语句不会被电脑编译,可以增加函数的可读性
有两种方式如图//和*/………*/
三,C语言表示真假
C语言中,0表示假,非0表示真
另一种表示真假的类型。_Bool类型,可以设置变量,变量赋值为true或false。应用时要加入头文件<stdbool.h>
四,sizeof求变量的空间
sizeof是一个计算空间的函数,这里的作用类似于上面的strlen函数。但是有一点不同,siezof函数会计算字符串的结束标志,而strlen函数是不会计算结束标志的,因为sizeof比较精明嘛,strlenl比较粗心
当用sizeof计算小数的空间时,默认小数为double类型,这里看前两行,3.14f表示这个数为float类型,如果后面不加f,默认为double类型,double类型为8,float类型为4,如果记不清,就想想double就是双倍的意思,那他就应该大一点是不是
可能有小伙伴会很奇怪,为什么输一个3.14,sizeof的返回值会和double的空间一样,如果你想到这一点,说明你还是很会思考 的嘛,这是因为啊,sizeof是根据3.14这个的double类型来返回函数值滴
这里先给大伙展示一波各种数据类型的大小,单位是字节哦。
这里再深入分析一下sizeof函数,想更深入了解他的小伙伴一定要认真看,这里可能会看不懂,不过没关系,学习就是这样有难度才会有进步嘛,那么开始
这里我们分析一下a=b+1难道不应该是11吗,如果按数学的角度来看确实如此啊。可是你是不是已经忘记啦,sizeof是根据参数的类型来计算空间的。它并不会真的会去返回计算的结果值啦。
这里其实是这样的,将计算的结果,转化为int类型的数据,如何计算这个数据类型的的空间。你可以试试,只要等号前面是什么类型的数据,程序返回的数值都是与它数据类型空间相一致的。
比如我改b为double类型,然后将a与b位置互换,结果打印出来的是double的空间数值8
五,符号
在生活中很多数据都是有正负之分的。正数如年龄啊,升高啊,还有你的作业量啊,这些总不能是负数吧。
那存在负数的情况,比如你写错了一道题啊,老师扣了你10分,这个时候需要负号来表示
那计算机是如何存储符号的呢,在计算机中,一大堆数据存放0和1两个数的不同组合,代表着不同的数据,举个列子吧,比如说对于八位二进制数,5就是00000101,-5就是10000101这里第一位表示正负,0表示正,1表示负
对于数据类型,分为有符号的数据类型如signed short int 和无符号的数据类型unsigned short int
无符号的取值最大值比有符号大一倍,怎么理解呢,比如有10个空间吧,如果要提供给10个自然数,那么有符号的取值为-5到4,无符号可能就是0到9了,差不多最大值相差一倍
一般来说,有符号不用你自己声明,因为这是共识嘛,大部分数据都是有符号的,但无符号的数据却少见,所以要创建一个无符号的类型,声明一下
例如【signed】int 和signed int有括号表示可以省略
六,数组
这里提出一个我出现的关于数组的小问题吧,希望可以帮助你。
仔细观察,用玩找你妹的观察力好好瞧瞧,有什么不同?
是不是我用a为变量的时候无法用strlen函数计算字符串长度了,而用了数组就可以了,这是因为变量a是无法存储字符串的,存储字符串的画,我们要用数组。arr懂了吗各位。