C语言基础-类型

1.signed  表示有符号型 (在内存地址最高位  0 表示正数  1表示负数)

2.unsigned 表示无符号型

3.在不同位的操作系统中  每种类型占用的内存大小不一样 如下以32位操作系统为例

 

 

4. 进制区别

八进制 :必须以0开头,不能大于8的数字 比如 017

十进制:不能以0开头,数字范围0-9

十六进制:必须以0x开头,数字范围 0-f ,可以大小写 

5.浮点数打印

单精度float:printf("%.3f",f)  格式:%.nf  (.n 表示小说点后显示几位)

双精度double:printf("%.3lf",lf)  格式:%.nf  (.n 表示小说点后显示几位)

浮点数显示会不会四舍五入呢?

一般来讲四舍五入需要人工处理的,比如0.5555的时候显示的时候

 

 

 实际打印的时候有的是0.55 有的是0.56:

 

 根因请参考:https://www.cnblogs.com/sddai/p/6919415.html?utm_source=itdadao&utm_medium=referral

 6.字符串

1).字符串表现形式是 字符串字面量 (如"just like this")

2).字符串:顾名思义  批量字符成串,中间可以穿插 转义字符 \n等,如果字符长度很长 可以在行尾添加\  另外一行继续 如下

char* test = "a;lsdkfj;alskdfsdf233234\

asdfasdfasdf";

3).字符串声明 可以声明为 字符串数组  也可以声明为指针

char a[10] = "tufeigege" ;

char b[11] = "tufeigege"; 

char c[] = "tufeigege";

char* d = "tufeigege";

a,b,c  都是数组声明方式,c语言标准库里面 会在字符串后面加上空字符 /0作为结束符,所以字符串实际内存长度要比字符串长度大1,如b和a 相比,如果大于1还有剩余,编译器会自动填充空字符/0 ,c这种生命方式符自动适配长度,编译的时候  c和a的大小一样。

d 是指针声明,指向字符串字面量的第一个字符。

字符数组 和 指针这两种声明的区别:数组可以对字符串进行修改,指针不行,强行修改会报异常 如下

 

posted @ 2020-05-28 17:50  土匪哥哥  阅读(340)  评论(0)    收藏  举报