C语言数据类型

基本数据类型

关键字: 

基本数据类型由11个关键字组成:int、long、short、unsigned、char、float、double、signed、_Bool、_Complex、_Imaginary.

有符号整型:

  1. int——系统给定的基本整数类型。C 语言规定int类型不小于16位。
  2. short 或short int——最大的short 类型整数小于或等于最大的int 类型整数。C语言
  3. 规定short类型至少占16位。
  4. long 或long int——该类型可表示的整数大于或等于最大的int 类型整数。C语言规定long类型至少占32位。
  5. long long或long long int——该类型可表示的整数大于或等于最大的long类型整数。long long类型至少占64位。

无符号整型:

无符号整型只能用于表示零和正整数,因此无符号整型可表示的正整数比有符号整型的大。在整型类型前加上关键字unsigned 表明该类型是无符号整型: unsigned int、unsigned long、unsigned short。单独的unsigned相当于 unsigned int。

字符类型:

可打印出来的符号(如 A、&和+)都是字符。根据定义,char类型表示一个字符要占用1字节内
存。出于历史原因,1字节通常是8位,但是如果要表示基本字符集,也可以是16 位或更大。
char——字符类型的关键字。有些编译器使用有符号的char,而有些则使用无符号的char。在需要时,可在char前面加上关键字signed或unsigned来指明具体使用哪一种类型。

布尔类型:

_Bool——布尔类型的关键字。布尔类型是无符号int 类型,所占用的空间只要能存储0或1即可。

实浮点类型:

实浮点类型可表示正浮点数和负浮点数。

  1. float——系统的基本浮点类型,可精确表示至少6位有效数字。
  2. double——存储浮点数的范围(可能)更大,能表示比float 类型更多的有效数字(至少10位,通常会更多)和更大的指数。
  3. long double——存储浮点数的范围(可能)比double更大,能表示比double更多的有效数字和更大的指数。

复数和虚数浮点数: 

虚数类型是可选的类型。复数的实部和虚部类型都基于实浮点类型来构成:

  1. float _Complex
  2. double _Complex
  3. long double _Complex float _Imaginary double _Imaginary
  4. long double _Imaginary

小结: 

         C有多种的数据类型。基本数据类型分为两大类:整数类型和浮点数类型。通过为类型分配的存储量以及是有符号还是无符号,区分不同的整数类型。最小的整数类型是char,因实现不同,可以是有符号的chas或无符号的char,即 unsigned char或signed char。但是,通常用char 类型表示小整数时才这样显式说明。其他整数类型有short、int、long和long long类型。C规定,后面的类型不能小于前面的类型。上述都是有符号类型,但也可以使用unsigned 关键字创建相应的无符号类型:unsigned short、unsigned int、unsigned long 和unsigned long long。或者,在类型名前加上signed修饰符显式表明该类型是有符号类型。最后,Bool类型是一种无符号类型,可存储0或1,分别代表false和true。

        浮点类型有3种:float、double 和C90新增的long double。后面的类型应大于或等于前面的类型。有些实现可选择支持复数类型和虚数类型,通过关键字_Complex和_Imaginary 与浮点类型的关键字组合(如,double _Complex类型和float_Imaginary类型)来表示这些类型。

        整数可以表示为十进制、八进制或十六进制。0前缀表示八进制数,0x或 0x前缀表示十六进制数。例如,32、040、0x20分别以十进制、八进制、十六进制表示同一个值。l或L后缀表明该值是long类型,ll或LL后缀表明该值是long long类型。

        在C语言中,直接表示一个字符常量的方法是:把该字符用单引号括起来,如'Q'、'8’和'$'。C语言的转义序列(如,'\n')表示某些非打印字符。另外,还可以在八进制或十六进制数前加上一个反斜杠(如,'\007'),表示ASCI码中的一个字符。

        浮点数可写成固定小数点的形式(如,9393.912)或指数形式(如,7.38E10)。C99和 C11 提供了第3种指数表示法,即用十六进制数和2的幂来表示(如,0xa.1fp10)。

        printf()函数根据转换说明打印各种类型的值。转换说明最简单的形式由一个百分号(%)和一个转换字符组成,如%d或%f。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值