C primer plus第三章“数据和C”学习总结

本文详细介绍了C语言中数据类型的关键字,包括整数类型(如short, int, long, longlong)及其转换规则,重点解析了char类型和转义序列。此外,还涵盖了浮点数类型(float, double, longdouble)以及新增的_Bool类型和复数/虚数类型。通过实例和转义序列表格,帮助读者理解数据类型在编程中的应用。
摘要由CSDN通过智能技术生成

//以下内容仅为个人理解

目录

1.数据类型关键字

2.整数类型关键字

(1)常见类型整理

(2)char重点解读

(3)转义序列

常见转义序列整理

3.浮点数类型关键字

(1)浮点数类型整理

(2)细节解读

4.其他数据类型

(1)_Bool类型

(2)复数与虚数类型

类型整理

5.零碎知识


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]
        char1字节%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)浮点数类型整理

   类型占位数(最小)对应转换说明      取值范围(最小)有效数字(最小)
十进制与无符号类型
float32%f[-3.40E+38 ~ +3.40E+38]6
double64%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 _Complexfloat _Imaginary
double _Complexdouble _Imaginary
long double _Complexlong double _Imaginary

补充:C语言不直接使用complex作为关键字来替代_Complex,而要添加一个头文件(该头文件把complex定义为_Complex)。主要原因是为了怕以前的代码失效。


5.零碎知识

1.sizeof是C语言中的内置运算符,以字节为单位给出指定类型大小。其转换说明为%zd,老版的编译器可用%u或%lu代替%zd

2.传递给函数的信息被称为参数。C语言用逗号分隔参数

3.退格符\b很有意思。


                                结束

不要白嫖呀各位,如果文章对你有帮助的话,点个赞支持下好吗,这样的话我也会有动力写出更优质的内容呈现给大家。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值