【C-02】C语言数据类型
发布网友
发布时间:2024-10-11 05:54
我来回答
共1个回答
热心网友
时间:2024-11-29 22:17
数据类型的作用在于编译器预估对象(变量)分配的内存空间大小。
常量与变量中,常量指的是字符串,它用双引号引着的一串字符,并且必定有一个结束标记'\0'。变量则是在程序运行过程中值可以改变的元素,其使用前必须先定义,并且需对应数据类型。
整型数据有int、short、long、long long,每种类型占用的空间不同,且有符号与无符号数之分。有符号数的最高位为符号位,无符号数最高位是数的一部分,无符号数不可能为负。有符号数与无符号数的取值范围不同,无符号数的取值范围更大,适用于处理不可能出现负值的情况。
字符型数据使用char表示,每个字符变量占用1字节,ASCII编码存放于变量存储单元中。字符型变量可通过单引号括起来的字符赋值。ASCII码由0-9和A-F组成,数字0-9对应0-9,A-F对应10-15。
实型数据包括float和double,其中double型变量表示的浮点数比float型更精确。浮点型变量由有限存储单元组成,有效位以外的数字被舍去,可能产生误差。不以f结尾的常量表示double型,以f结尾的常量表示float型。
进制分为十进制、二进制、八进制和十六进制。十进制为逢十进一,二进制为逢二进一,八进制为逢八进一,十六进制为逢十六进一。C语言中表示相应进制数的方法为数字前添加0b、0o、0x。
sizeof关键字用于获取指定数据类型所占用的字节数。计算机内存数值存储方式包括原码、反码和补码。原码简单易懂,但不便于加减运算;反码运算不便利;补码是计算机中数值存储的标准方式,可统一零的编码,避免数值溢出。
数值溢出是指超过一个数据类型能存放的最大范围的情况,导致结果错误。补码处理数值溢出时,最高位的溢出会导致最高位丢失,符号位溢出会导致数的正负发生改变。
字符串格式化输出和输入使用printf、putchar、scanf和getchar函数。字符串常量以'\0'结尾,printf输出字符串,putchar输出单个字符,scanf接收用户输入,getchar从键盘获取单个字符。处理scanf错误时,需添加_CRT_SECURE_NO_WARNINGS预处理指令。
类型转换涉及不同类型数据之间的混合运算。转换方式有两种:隐式转换和强制转换。原则是占用内存字节数少的类型向占用内存字节数多的类型转换,以保证精度不降低。