//以下内容仅为个人理解
目录
1.数据类型关键字
分类:关键字数据类型,按计算机储存方式可分为两大基本类型:整数类型与浮点数类型。
区别:(1)整数类型没有小数部分,浮点数有小数部分
(2)浮点数可以表示的范围比整数类型更大
(3)对于大数运算,浮点数损失的精度更多
以位为单位
位 | 1 |
字节 | 8 |
字 | >=8(视计算机而定) |
2.整数类型关键字
理解:和数学中概念一样,在C语言中,整数是没有小数部分的数。
(1)常见类型整理
类型 | 占用位数 | 对应转换说明 | 取值范围(最小) | |||
十进制 | 八进制 | 十六进制 | 无符号类型 | |||
short | >=16 | %h | %ho(%#ho) | %hx(%#hx) | %hu | [-32768 , 32767] |
int | >=16 | %d | %o(%#o) | %x(%#x) | %u | [-32768 , 32767] |
long int(long) | >=32 | %ld | %lo(%#lo) | %lx(%#lx) | %lu | [-2147483647,2147483647] |
long long int(long long) | >=64 | %lld | %llo(%#llo) | %llx(%#llx) | %llu | [--9223372036854775808,9223372036854775807] |
char | 1字节 | %c | 无 | 无 | 无 | [-128,127] |
手打这么多的数字不得累死我,还好我有ctrl+c,v。
(2)char重点解读
理解:char类型用于储存字符,但从技术层面上看,char是整数类型,因为char类型实际储存的是数字而非字符。
书写方式举例
char bottle; //声明一个char类型的变量
bottle='C' //正确!
bottle="C"; //错误,此时C是是一个字符串
bottle=C; //错误,此时C为一个变量
注意:(1)C语言中,用单引号括起来的单个字符被称为字符常量,并且C语言将字符常量视为int类型而非char类型,因此应注意int与char类型占位数。
(2)字符指类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。因此,不要以为一个字母就是一个字符(如'c'与’abc‘均为一个字符)。
(3)转义序列
理解:用特殊的符号序列表示一些特殊的字符,这些符号序列叫做转义序列。
注意:把转义序列赋给字符变量时,必须用单引号把转义序列括起来。
常见转义序列整理
表示 | 含义 |
---|---|
\n | 换行符 |
\t | 横向制表符 |
\\ | 反斜线 |
\' | 单引号 |
\" | 双引号 |
\r | 回车符 |
\b | 退格符 |
\a | 报警(响铃)符 |
\v | 纵向制表符 |
\? | 问号 |
\f | 进纸符 |
3.浮点数类型关键字
(1)浮点数类型整理
类型 | 占位数(最小) | 对应转换说明 | 取值范围(最小) | 有效数字(最小) | |
十进制与无符号类型 | |||||
float | 32 | %f | [-3.40E+38 ~ +3.40E+38] | 6 | |
double | 64 | %lf | [-1.79E+308 ~ +1.79E+308] | 10 | |
long double | >=64 | %Lf | [-1.2*10E-4932~1.2*10E4932] | >=10 |
(2)细节解读
1.C保证long double类型精度与double类型至少一致。
2.double类型比float类型多出来的位数都用于表示非指数部分。
3.浮点数类型的转换说明可以这样表示:
%A.Bf
其中
A表示输出字符宽度为A。
B表示精确到小数点后B位 。
举例说明:
printf("%10.2f",number); //这表示输出宽度为10个字符,精确到小数点后两位
4.其他数据类型
(1)_Bool类型
介绍:C99添加了_Bool类型关键字,用于表示布尔值,即逻辑值true与false。C语言中用1表示true,用0表示false。
注:目前书上仅要求了解即可。
(2)复数与虚数类型
类型整理
float _Complex,double _Complex,long double _Complex,float _Imaginary,double _Imaginary,long double _Imaginary
复数 | 虚数 | |
类型 | float _Complex | float _Imaginary |
double _Complex | double _Imaginary | |
long double _Complex | long double _Imaginary |
补充:C语言不直接使用complex作为关键字来替代_Complex,而要添加一个头文件(该头文件把complex定义为_Complex)。主要原因是为了怕以前的代码失效。
5.零碎知识
1.sizeof是C语言中的内置运算符,以字节为单位给出指定类型大小。其转换说明为%zd,老版的编译器可用%u或%lu代替%zd
2.传递给函数的信息被称为参数。C语言用逗号分隔参数
3.退格符\b很有意思。
结束
不要白嫖呀各位,如果文章对你有帮助的话,点个赞支持下好吗,这样的话我也会有动力写出更优质的内容呈现给大家。