新世界的大门—C语言

C语言系列

  • C语法部分
  • C内存部分
  • C高级部分

C语法部分

最基础的数据可以分为两种:常量和变量。

1.常量

在程序执行过程中不会发生改变的量,通常分为:

  1. 整形常量
    例如1234之类的数据默认使用的是10进制。
    整数除了用10进制表示之外还可以用8进制和16进制来表示。
    带前缀为0的常量表示为8进制。例如:0123。
    带前缀0x的常量表示为16进制。例如:0x123。
  2. 浮点常量
    C语言的实数只有10进制,分为单精度和双精度。
    表示方法为小数和指数。
  3. 指数常量
    用 e 或 E 来代替值为10的底数
    例如:
    1.1e+10 1.110^(10)
    1.2e-10 1.1
    10^(-10)
    正数的符号可以省略不写
  4. 字符常量
    用单引号’ '引起来表示一个字符。
    计算机识别的时候是只能识别字符对应的ASCII的值
    所以可以把字符常量看做一个字节的正整数
    ‘A’=65 ‘a’=96 ‘0’=48
  5. 字符串常量
    用双引号" "引起来的一串字符来表示一个字符串
    字符串默认以\0结尾。所以"123"占用了4个字节
    判断字符串的机制为直到检测到\0。
    所 "123\0"还是占用4个字符。
  6. 标识常量
    #define <标识常量名称> <常量>
    是在预处理阶段的无差别替换,不等于 typedef
    定义宏后,可以在后面的宏中使用前面的宏

2.变量

  • 所谓变量在程序执行过程中被允许改变其值的量。
  • 变量在程序中用变量名表示,变量名由用户根据其用途任意命名。
  • 变量命名规则:变量名由字母、数字、下划线组成,不能以数字开头,不能和C的关键字重名。
  • 变量的声明本质是在程序运行时向系统申请一块内存,因此变量占据存储空间的大小由其数据类型决定。
  • 变量在内存空间中的存储的位置,其首地址被称为变量的地址。
  • 变量在程序中使用时,必须预先说明它们的存储类型和数据类型。
  • 变量说明的一般形式是:<存储类型> <数据类型 > <变量名> ;

1.存储类型

存储类型包括:

  1. auto
    auto 被解释为一个自动存储变量的关键字,也就是申明一块临时的变量内存,因此它申明的通常都是局部变量,其初始值默认为随机值。在没有额外说明的情况下默认为是 auto 类型,所以声明的时候可以省略掉关键字 auto。
  2. register
    register 称为寄存器型,是将变量放入CPU的寄存器中以加快程序的运行速度,如申请失败就视作 auto 类型。
    register 变量必须是能被CPU所接受的类型。这通常意味着 register 变量必须是一个单个的值,并且长度应该小于或者等于整型的长度。不能用“&”来获取 register 变量的地址。
    由于寄存器的数量有限,真正起作用的 register 修饰符的数目和类型都依赖于运行程序的机器。
    在某些情况下,把变量保存在寄存器中反而会降低程序的运行速度。因为被占用的寄存器不能再用于其它目的;或者变量被使用的次数不够多,不足以装入和存储变量所带来的额外开销。

2.数据类型

你可能感兴趣的:(语法)