C语言基础知识梳理之基本数据类型

C语言基本数据类型

常量

  • 常量 :一般是固定不变的
  • C语言常量分类
    • 有符号 (包含整数)
    • 无符号 :没有负数,如:1u
  • 实数常量

    • 单精度浮点数 :1.2f(小数位数7~8位)
    • 双精度浮点数 : 1.3245(小数位数15~16位)在C语言程序中默认的小数都是双精度
    • 科学计数发 : 1.2e4 e3 (e后面的数不能是小数)
  • 字符常量

    • 字符边界符号 :‘S’ (单引号,每个字母占用一个字节)

    • 转义字符 :由 \ +特定字母,如:\t制表符、\“双引号

      • 转义字符与其对应的意义
        在这里插入图片描述
  • 字符串

    • 必须使用字符串边界夫括起来,如 ”S“ (双引号,两个字节,因为后面还隐藏了一个’\0’ (字符串结束标记))
  • 奇怪的表示方式

    • 在数据面前加前缀
      • 036 0开头表示八进制整型常量 注意:不能大于7
      • 0x34d 0x开头表示十六进制整型常量 注意:不能大于f
      • 0b101 0b开头表示二进制整型常量 注意:不能大于1
      • .235 .开头表示实数常量
    • 在数据后面加后缀
      • 1u :无符号(unsigned)
      • 1f : 单精度(floa)
      • 1L : 长整型(long)
    • 基本数据类型及其存储范围对照表
      在这里插入图片描述

变量

  • 变量 :可以改变的量,相当于一个容器

  • 表示方式 : 类型 变量名

    • 变量名---->标识符
      • 变量名(标识符)规则与规范
        • 规则
          1. 必须是字母或者_(下划线)开头,不能用数字开头
          2. C语言关键字不能作为标识符使用
          3. 不能使用特殊符号,如:(->.)
          4. 大小写要严格区分
        • 规范
          1. 见名知意
            • 特定的命名标准
              1. 驼峰式:showImage (建议)
              2. 帕斯卡(大驼峰):ShowImage
              3. 匈牙利命名发:由特定的前缀,如:i_num g_num
  • C语言数据类型

    • 整型 :int
    • 浮点型
      • 单精度:float
      • 双精度:double
    • 字符型:char
  • 注意:一个等于号 = 是赋值,两个等于号 == 是全等

  • 注释 一个较大程序中需要20%

    • //单行注释
    //注释
    
    • /**/多行注释
    /*
        这是
        多行注释
    */
    
  • 变量的作用域与生命周期

    • 作用域:只在那个范围中使用
    • 生命周期:创建到死亡
    • 局部变量:用{}限定的
    • 全局变量:没有用{}限定,不做初始化,默认为零,从程序的开始到结束

进制与存储

进制只是一种表现形式
  • 二进制
    • 机器码 (一个数字的二进制)

    • 原码(引入符号位(最高位))

      • 正数原码 :自己本身(二进制数)如:0000 0001 表示1
      • 负数 :加上符号位 如:1000 0001 表示 -1
    • 反码

      • 正数 :三码合一
      • 负数:原码符号位不变,其他位取反
    • 补码

      • 正数:三码合一
      • 负数:原码的反码加一
    • 计算机中只有加法

    • 二进制与内存存储

      • 1位(b)等于1个二进制位
      • 1字节(bit)等于8个二进制位
    • 存储单位与二进制

      • 1 K B = 1024 B = 2 10 B 1 KB = 1024 B = 2^{10} B 1KB=1024B=210B

      • 1 M B = 1024 K B = 2 20 B 1 MB = 1024 KB = 2^{20} B 1MB=1024KB=220B

      • 1 G B = 1024 M B = 2 30 B 1 GB = 1024 MB = 2^{30} B 1GB=1024MB=230B

      • 1 T B = 1024 G B = 2 40 B 1 TB = 1024 GB = 2^{40} B 1TB=1024GB=240B

进制间的转换

修饰词衍生的数据类型

  1. short:短
  2. long:长
  3. unsigned:无符号
  4. signed:有符号
    • 上述不可以修饰实数型,short和long不能修饰字符型

类型转换

  1. 隐式转换
    • 赋值语句存在隐式转换 如:size = 1.765 隐式转换只把1赋值给size
    • 函数传参
    • 算术运算
  2. 强制转换
    • 要转换的类型 要转换的东西 (在处理空指针中常用)

大小端

我们平常的个人电脑基本属于x86架构,单片机有arm与x86架构

在内存中每个字节都有一个唯一的数字编号(正整数),我们把这个编号称为地址,这个地址又有高地址与低地址之分

  • arm架构:高位数据在低地址上面,低位数据在高地址上面 ——>大端系统
    处理空指针中常用)

大小端

我们平常的个人电脑基本属于x86架构,单片机有arm与x86架构

在内存中每个字节都有一个唯一的数字编号(正整数),我们把这个编号称为地址,这个地址又有高地址与低地址之分

  • arm架构:高位数据在低地址上面,低位数据在高地址上面 ——>大端系统
  • x86架构:高位数据在高地址上面 低位数据在低地址上面 ——>小端系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想写代码的懒大王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值