21年3月21日C语言概述(二)

1. 关于C语言中 \r 的使用

2.字符串的长度与大小

 3.char类型的赋值

 4.char的边界

5.字符串赋值里带上\   (转义字符的使用)

6.代码区,数据区,堆区,栈区      与     生存周期

7.C语言的取模

 

1. 关于C语言中 \r 的使用

   

出现 \r 后,后续的字符串从开头进行覆盖式的写入。注意,为什么有个空格?因为 \0也被写道前面了。

 

 

2.字符串的长度与大小

 

 sizeof算出大小,字节单位。char类型的大小是1字节。

字符串stra虽然没有字符,但是字符以\0结束。\0不算入长度,但是算入大小。     所以stra大小一字节,长度0;

字符串straa输入的字符是空格,空格也算一个长度。                                                所以大小是2字节(空格+\0),长度是1。

字符串strb就正常的多。     长度9,大小10,易辨认。

字符串strbb,字符的输入中有\0,这算一个字节,所以大小是(hello+\0+word+\0)=11。注意他的长度长度在输出的时候遇见\0就结束,所以长度是5(他的输出只有hello)

 

 3.char类型的赋值

 

a赋值的时候赋的是字符0,字符0的ASCII值在十进制中是48,也就是说字符是以ASCII值的形式存储的。

b赋值的时候是\0,就是啥也没赋值,含义是空(null)。    b='';  这个意思    (但是  b='';  在编辑器不通过,报错。所以说意思是这个意思

c赋值的是数字0,数字0在对应的ASCII中,字符是null。    空字符也有对应的ASCII值,就是0   

              

 

d赋值就是把变量a的值在赋给它,这里赋的是变量a,不是字符a;

 4.char的边界

char的范围是 -128~127 :因为char是一位,占8个比特 >> 0000 0000 (其中第一位表示正负,0为正 / 1为负),

8个比特能表示的数有255个,其中负数分去128个,非负数分去127个(含0)

0111 1111表示正数的最大值   >>  0111 1111的十进制是127  >>  范围是0000 0000 ~ 0111 1111  (0~127)

1000 0000表示负数的最小值  >>  1000 0000的十进制是128,但是第一个表示符号,所以是-128  >>  范围是1111 1111 ~ 1000 0001 (-127~-1)  + 1000 0000(-128)

    

 

5.字符串赋值里带上\   (转义字符的使用)

      

 

字符串里有 \*** ,表示八进制,其中*表示3个数字。八进制的141换算成10进制是97,也就是a的ASCII值。

如果是abc\148de,输出就是abc+八进制对应的字符+8de。注意这里的8,之所以以字符的形式出现,是因为超出了8进制

 

字符串里有 \x**,表示十六进制,其中*表示2个数字。规则同上,注意16进制越界的问题。(如下图)

 

 

6.代码区,数据区,堆区,栈区      与     生存周期

 

 

代码区,存放函数

数据区,存放全局变量。  当进程开始的时候,全局变量生;进程结束,全局变量死

堆,自己开辟,自己释放

栈 ,存放局部变量。   当函数被调用的时候,局部变量生;函数执行完后,局部变量死。

7.C语言的取模

对于整型数a,b来说,取模运算或者求余运算的方法都是:
1.求 整数商: c = [a/b];
2.计算模或者余数: r = a - c*b.
求模运算和求余运算在第一步不同: 取余运算在取商c的值时,向0 方向舍入(fix()函数);而取模运算在计算商c的值时,向负无穷方向舍入(floor()函数)。
例如计算:-7 Mod 4
那么:a = -7;b = 4;
第一步:求整数商c,如进行求模运算c = -2(向负无穷方向舍入),求余c = -1(向0方向舍入);
第二步:计算模和余数的公式相同,但因c的值不同,求模时r = 1   -7-(-8)=1,求余时r = -3    -7-(-4)=-3
归纳:当a和b符号一致时,求模运算和求余运算所得的c的值一致,因此结果一致。
当符号不一致时,结果不一样。
另外各个环境下 % 运算符的含义不同,比如c/c++,java 为取余,而python则为取模。

 

总结:就是商不同,取余的商偏向于0     >>  c/c++,java 为取余

         取模的商偏向于负无穷   >>   python则为取模

 

posted @ 2021-03-21 17:30  没壳的蜗牛  阅读(202)  评论(0编辑  收藏  举报