可恶的C语言——基本类型

本文详细介绍了C语言中的基本数据类型,包括整数类型(有符号、无符号、长整型、短整型)、浮点类型(单精度、双精度、扩展精度)以及字符类型。讲解了各种类型的表示范围、进制转换和类型转换规则,并提到了转义序列。此外,还涵盖了类型转换中的隐式转换和显式转换,以及涉及的内存占用情况。
摘要由CSDN通过智能技术生成

可恶的C语言——基本类型

一、整数类型

1. 有符号型

正整数或零:符号位(最左边的位)为0。

负数:符号位为1。

2. 无符号型:不带符号位的数

C语言中,默认整数变量均为有符号位,若无符号位,则需声明为unsigned类型。

3. 说明符

long 长类型 short 短类型 signed类型 unsigned类型 int类型

4. 六种说明符组合

(1)short int (2)unsigned short int (3)int

(4)unsigned int (5)long int (6) unsigned long int

5. C99整数类型

分为标准有符号类型与标准无符号类型,且增加了long long int与unsigned long long int

6. 整数常量

在程序中以文本形式出现的数,而非读、写或计算得出的数,可用十进制、八进制、十六进制表示。

若需编译器将常量作为长整数处理,只需在整数后边加L或1。

为指明为无符号常量,可在常量后边加上字母u或U。

L与u可结合使用。

7. 进制

(1)八进制:含0~7,且必须以0开头。

(2)十进制:含0~9,且不可以以0开头。

(3)十六进制:含09与af(10~15),必须以0x开头。

8.C99中的整数常量

C99中以LL或11结尾的整数常量为long long int。

在LL或11前或后加U的为unsigned long long int。

9. 补充

%d只适用于int类型。

读无符号整数时,使用字母u(十进制)、o(八进制)、x(十六进制)代替d。

读短整数时,在d、o、u或x前加上字母h。

读长整数时,在d、o、u或x前加上字母l。

读长长整数时,在d、o、u或x前加上字母ll。

二、 浮点类型

1. 三种浮点类型

(1)float:单精度浮点数

(2)double:双精度浮点数

(3)long double :扩展精度浮点数

2. C99中的浮点类型

分为实浮点类型与复数类型。

3.浮点常量

浮点常量必须包含小数点或指数。指数指明了对前面的数进行缩放所需的10的幂次。若有指数,需要在指数数值前放置字母E或e,可选符号+或-出现在e或E的后边。默认情况下以双精度数的形式储存。C99中十六进制浮点常量以0x或0X开头。

4.读/写浮点数

(1)单精度浮点数:%e、%f、%g

(2)双精度浮点数:在e、f、g前放置字母l(只能在scanf函数格式中使用l,在printf函数格式中可用e、f、g)

(3)long double类型:在e、f、g前放置字母L

整数类型与浮点类型统称为浮点类型。

三、字符类型(char类型)

char类型的变量可以用任意单字符赋值,且字符常量需要用单引号括起来。‘

char类型分为有符号型(范围为-128127)与无符号型(范围为0255)。

四、 转义序列

分为字符转义序列与数字转义序列。

字符转义序列

名称转义序列
警报(响铃)符\\a
回退符\b
换页符\f
换行符\n
回车符\r
水平制表符\t
垂直制表符\v
反斜杆\ \
单引号
双引号"

五、类型转换

分为隐式转换(编译器可以自动处理而无需程序员介入)与显示转换(允许程序员使用强制运算符执行)。

算术转换的规则

(1)任一操作数的类型是浮点数的情况:

float—>double—>long double

(2)两个操作数的类型都不是浮点类型的情况:

int—>unsigned int—>long int—>unsigned long int

特殊情况:若一个操作数的类型为long int,而另一个的类型是unsigned int,那么两个操作数都会转换成unsigned long int。

六、补充

强制类型表达式:(类型名)表达式

sizeof表达式:sizeof(类型名)可允许程序储存指定类型值所需空间大小。

类型名占字节数
int4
short2
long4
unsigned int4
unsigned short2
unsigned long4
float4
double8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值