C语言差缺补漏,补充一些容易遗忘忽视的知识点(一)

C语言差缺补漏(一)

看看你有哪些没有注意到的点或者遗忘的知识点

1. 编译流程

编译经历过程   (选择linux下的编译器才能看到编译过程,例:g++)

  1. 编辑器:程序员用来编辑代码的程序 (记事本,VC6.0,vim)
    此处有一个预处理过程 ) C生成 .i 文件 C++生成 .ii 文件
                                                                  —— 这一步主要是无关代码的清除

  2. (编译)编译器:查看检查代码的语法错误,将.c/.h转换成汇编代码文件 .s

  3. (汇编)汇编器:将生成好的汇编语言文件,生成二进制语言文件(目标文件) .o

  4. (连接)连接器:将生成好的二进制语言.o + 用到的库.a + 启动代码 = 可执行文件
              (可执行文件类型:windows下.exe,linux下无需讨论)

2. C语言的关键字32个(不能用来作变量名)
    1.数据类型关键字(12个) 32位编译环境下
字符型短整型整型长整型单精度浮点型双精度浮点型
charshortintlongfloatdouble
1字节2字节4字节4字节4字节8字节

long int x; 表示 x 是长整型  

无符号类型有符号类型结构类型共用类型枚举类型空类型
unsignedsignedstructunionenumvoid

不能用void定义变量,系统不能确定给变量分配多少内存空间

    2.控制语句关键字(12个)
条件语句条件否定分支开关语句开关语句分支开关其他分支for循环语句
ifelseswitchcasedefaultfor
do循环体循环语句条件跳出循环语句下一轮循环无条件跳转子程序返回
dowhilebreakcontinuegotoreturn
    3.储存类型关键字(5个)
声明外部变量声明寄存器变量声明静态变量声明只读变量声明自动变量
externregisterstaticconstauto

注意:
如果没有register int num来声明,只用int num来定义,但num使用很频繁,系统会自动将其放入寄存器,且寄存器里不能取地址

    4.其它关键字(3个)
计算数据类型长度给数据类型取别名防止编译器优化
sizeoftypedefvolatile

volatile 防止编译器优化↑(优化操作:自动存放变量到寄存器(3.注意)),强制访问内存操作
volatile int num;//每次都从内存中访问,能时刻最快地监控变量

main     define    scanf    printf  
不是关键字

3. 整数与实数
  1. C 语言常量只有八、十、十六进制,没有二进制,不能输出和储存二进制 (但可以间接实现)
  2. C 语言中的八进制规定要以 0 开头。八进制每位没有8,十进制每位没有10

    十进制:%d %u %ld %lu
    八进制: %o
    十六进制: %x


    **注:输出时最好在占位符中添加 # ,按其对应进制格式输出
    %#o     %#x
 输入100 		八进制		十六进制	
 对应输出 		%o:144      %x:64
                %#o:0144    %#x: 0x64

这样输出的结果会按照该进制的格式输出

  1. C 语言小数点两边有一个是零的话,可以不用写

    1.0 在 C 语言中可写成 1.
    0.1 在 C 语言中可以写成 .1
  2. 实型数据的合法形式
    1. 指数形式表示常量 123e3表示123*10^3
              2.333e-1 就是合法的,且数据是 2.333×10^-1
    2. 以f结尾的实型常量,为float类型,无f则定为double类型
    3. float:7位有效数字 指数-37到38
      double:16位有效数字 指数:-307到308

      注意:printf();输出浮点类型时,自动设置最多输出小数点后6位


**笔记更新中**
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值