C语言的数据类型

C语言的数据类型

一.数据的分类

  • 整数
    • 整数的进制表示
      • 十进制(生活中常用的进制表示方法)

      • 二进制

        用01表示整数,需要在整数前面加一个前缀“0b”,遵循原则是“逢二进一”。

        如:0b/0B 1011----->表示的就是十进制的11.

      • 八进制

        用八进制表示的时候,需要在整数前面添加一个“0”,遵循“逢八进一”。

        如:0 5007330------->这就是八进制表示的整数1314520.

      • 十六进制

        在用表示十六进制表示整数的时候,需要加上前缀“0x”或者“0X”,十六进制的每一位可以使用0-9、A-F,遵循“逢十六进一”的原则。

        如:0x140ED8----->这就是十六进制表示的整数1314520.

    • 有符号整型(int来源于英语单词integer,意思是整数)
      • 整型(int)占4个字节。

      • 短整型(short)

        短整型是较小的保存类型,用short表示,占2个字节。

      • 长整型(long)

        长整型是较大的保存类型,用long表示,占4个字节。

    • 无符号整型(无符号整型需要在类型说明符前面加上前缀:“unsigned”,或者在无符号整型数据后面添加后缀:“u“或者”U“。)
      • 无符号整型 (unsigned int) 占4个字节。

      • 无符号短整型(unsigned short)占2个字节

      • 无符号长整型(unsigned long)占4个字节

        数据类型名称占用字节数取值范围
        整型(int)4-2147483648~2147483647
        短整型(short)2-32768~32767
        长整型(long)4-2147483648~2147483647
        无符号整型 (unsigned int)40~4294967295
        无符号短整型(unsigned short)20~65535
        无符号长整型(unsigned long)40~4294967295

        六种整型数据类型如上

  • 小数
    • C语言中小数的表示

      小数形式的表示包括整数位、小数点、小数位三个部分组成,小数点是必须存在的,整数位和小数位的部分至少要存在一个。( 整数位**.**小数位)

    • C语言的指数形式

      指数是科学计数法,指数形式包含数字、E/e和整数三个部分,E/e表示科学计数法中的底数10,整数表示科学计数法中的指数,可以是正数也可以是负数。

    • 小数类型

      • 双精度类型(double)

        双精度是浮点数的默认存储方式,一个双精度小数占8个字节。

      • 单精度类型(float)

        单精度类型使用float表示,一个单精度类型占用8个字节。在单精度类型后面要加后缀字母F/f

  • 字符类型
    • 单个字符

      单个字符又称字符常量,书写单个字符时需要用英文单引号将对应的字符括起来。

    • 字符串

      多个字符又称字符串,书写字符串时需要用英文双引号将对应字符串括起来。

    • 转义字符(常用)

      转义字符含义
      \b退格
      \f换页
      \n换行符
      \r回车
      \t水平制表
  • 字符存储

    计算机只能存储二进制数,无法存储字符,要将字符转化为数字。

    1 B=8b Byte:字节b:位
    1 KB=1024 B
    1 MB=1024 KB
    1GB=1024 MB
    1 TB=1024 GB
    1 PB=1024 TB
    1EB=1024 PB

    真实数据存储
    原码:引入符号位,用最高位表示符号位的二进制数

    0:整数
    1:负数

    反码:原码符号位不变,其他位取反(0变成1 1变成O)。
    补码: 反码+1,----->才是计算机中真实存储数据。正数三码合一,所有的码的都是一样
    负数是用补码存储

    ASCII表

    二进制十进制十六进制字符/缩写解释
    00000000000NUL (NULL)空字符
    00000001101SOH (Start Of Headling)标题开始
    00000010202STX (Start Of Text)正文开始
    00000011303ETX (End Of Text)正文结束
    00000100404EOT (End Of Transmission)传输结束
    00000101505ENQ (Enquiry)请求
    00000110606ACK (Acknowledge)回应/响应/收到通知
    00000111707BEL (Bell)响铃
    00001000808BS (Backspace)退格
    00001001909HT (Horizontal Tab)水平制表符
    00001010100ALF/NL(Line Feed/New Line)换行键
    00001011110BVT (Vertical Tab)垂直制表符
    00001100120CFF/NP (Form Feed/New Page)换页键
    00001101130DCR (Carriage Return)回车键
    00001110140ESO (Shift Out)不用切换
    00001111150FSI (Shift In)启用切换
    000100001610DLE (Data Link Escape)数据链路转义
    000100011711DC1/XON (Device Control 1/Transmission On)设备控制1/传输开始
    000100101812DC2 (Device Control 2)设备控制2
    000100111913DC3/XOFF (Device Control 3/Transmission Off)设备控制3/传输中断
    000101002014DC4 (Device Control 4)设备控制4
    000101012115NAK (Negative Acknowledge)无响应/非正常响应/拒绝接收
    000101102216SYN (Synchronous Idle)同步空闲
    000101112317ETB (End of Transmission Block)传输块结束/块传输终止
    000110002418CAN (Cancel)取消
    000110012519EM (End of Medium)已到介质末端/介质存储已满/介质中断
    00011010261ASUB (Substitute)替补/替换
    00011011271BESC (Escape)逃离/取消
    00011100281CFS (File Separator)文件分割符
    00011101291DGS (Group Separator)组分隔符/分组符
    00011110301ERS (Record Separator)记录分离符
    00011111311FUS (Unit Separator)单元分隔符
    001000003220(Space)空格
    001000013321!
    001000103422"
    001000113523#
    001001003624$
    001001013725%
    001001103826&
    001001113927
    001010004028(
    001010014129)
    00101010422A*
    00101011432B+
    00101100442C,
    00101101452D-
    00101110462E.
    00101111472F/
    0011000048300
    0011000149311
    0011001050322
    0011001151333
    0011010052344
    0011010153355
    0011011054366
    0011011155377
    0011100056388
    0011100157399
    00111010583A:
    00111011593B;
    00111100603C<
    00111101613D=
    00111110623E>
    00111111633F?
    010000006440@
    010000016541A
    010000106642B
    010000116743C
    010001006844D
    010001016945E
    010001107046F
    010001117147G
    010010007248H
    010010017349I
    01001010744AJ
    01001011754BK
    01001100764CL
    01001101774DM
    01001110784EN
    01001111794FO
    010100008050P
    010100018151Q
    010100108252R
    010100118353S
    010101008454T
    010101018555U
    010101108656V
    010101118757W
    010110008858X
    010110018959Y
    01011010905AZ
    01011011915B[
    01011100925C\
    01011101935D]
    01011110945E^
    01011111955F_
    011000009660`
    011000019761a
    011000109862b
    011000119963c
    0110010010064d
    0110010110165e
    0110011010266f
    0110011110367g
    0110100010468h
    0110100110569i
    011010101066Aj
    011010111076Bk
    011011001086Cl
    011011011096Dm
    011011101106En
    011011111116Fo
    0111000011270p
    0111000111371q
    0111001011472r
    0111001111573s
    0111010011674t
    0111010111775u
    0111011011876v
    0111011111977w
    0111100012078x
    0111100112179y
    011110101227Az
    011110111237B{
    011111001247C|
    011111011257D}
    011111101267E~
    011111111277FDEL (Delete)删除
  • 变量

    要处理的数据真实存在,但是其具体数值不能确定,我们称这种数据叫做变量,这种数据我们一般会给它设置一个名字,用来代指这个数据,这个名字只是一个标签,并不会存储数据。变量就是一个表示符。需要按照表示符命名规范来进行。

    关键字
    • C语言基本数据类型

      • int (整数型)
      • double(双精度)
      • float (单精度)
      • char(字符)
    • 修饰词

      • long和short只能修饰整型(long int)(short int)int可以省略

      • unsigned 无符号,同样只能修饰整型 signed 有符号 ,默认的数据都是有符号的

      • 特俗修饰词、

        • const 修饰 ,使用时必须初始化,只读,不可被修改。

        • static修饰 ,静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化为0。且静态局部变量存储于进程的全局数据区,即使函数返回,它的值也会保持不变。

        • extern: 修饰外部变量 ,可以在一个文件中引用另一个文件中定义的变量或者函数。

  • 进制转换

    • 计算器

    • 加权法(其它进制转十进制)

    • 短除法(十进制转其它进制)

    • 二进制转八进制

      三位二进制可以当做一位八进制,从右往左,不够补0.

    • 二进制转十六进制

      四位二进制可以当做一位十六进制,从右往左,不够补0.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值