C特性-编译-书写-gcc-预处理-声明-字符数据

前言:更多内容请看总纲《嵌入式C/C++学习路》

1.C语言程序开发基本步骤

  1. 使用vi编写以.c作为扩展名的文件(源文件)。
  2. 使用gcc对源文件进行编译(将代码翻译成机器语言) MinGW是windows平台下的gcc。
  3. 使用命令 ./a.out 执行程序。

2.C语言特性

  1. C语言程序中可以直接使用加减乘除四则计算符号(+ - * / )
  2. ; 用来分分隔不同的处理步骤,每个用 ; 结束的处理步骤叫做一条语句
  3. 每条语句必须独立完成一个工作,所有C语言程序都是由大量语句构成的
  4. C语言程序采用分组方式管理所有的语句,每组语句用一对大括号包含,分组是多层次实现的
  5. 所有顶级大括号必须有名字,不同顶级大括号的名字不同,计算机根据名字区分不同顶级大括号
  6. 任何C语言程序中必须有一对顶级大括号叫main,这组语句叫做主函数
  7. 程序从主函数的第一条语句开始执行,当主函数最后一条语句结束后整个程序结束
  8. 每个顶级大括号在结束的时候可以遗留一个数字(非必须)
  9. C语言中把几十个英文单词指定为关键字,每个关键字都有专门的用途,return是一个关键字,它可以立刻结束顶级大括号的执行,还可以用来指定顶级大括号的遗留数字
  10. 主函数遗留数字0表示一切正常
  11. C语言中把所有数字进行了分组,每组叫做一个数据类型,程序中所有不带小数点的数字默认来自整数int分组
  12. C语言提供一组标准函数,每个标准函数用来完成特定功能,使用时需要编写函数调用语句

3.C程序书写规范

  1. 一行中最多包含一条语句
  2. 不同层次的语句要使用缩进区分开
  3. 在合适的地方使用空格和空行,看起来巴适
  4. 标识符采用驼峰方式或下划线方式书写如:XiAn 、xi_an

4.标识符书写规则

  1. 标识符的第一个字符必须是英文字母或下划线
  2. 标识符后面的字符可以是英文字母,下划线或数字
  3. 标识符是大小写敏感的
  4. 关键字不可以当标识符使用
  5. 标识符长度理论上没有限制(只会截取前面一些来使用,前63个的样子)

5.gcc的工作过程

  1. 完成所有预处理指令的处理工作
  2. 把所有语句翻译成计算机认识的格式(编译)
  3. 把程序不同部分链接起来

6.gcc的选项

  1. -E 只完成预处理工作
  2. -C 只完成预处理和编译工作(得到以.o为拓展名的目标文件,翻译好了但是不同部分之间没有联系起来)
  3. -O 指定新生成文件的名称,(默认是a.out,假如文件夹中有多个文件需要编译时,他们将会共同占用一个a.out,这个时候就需要重新指定生成新的输出文件)
  4. -std=c89/-std=c99 两个选项二选一,指定编译过程采用的标准,默认采用 c89

7.预处理指令

  1. 所有预处理指令都是以#做开头,不是以;做结尾
  2. 所有预处理指令都用来把.c文件中的内容换成另外的样子
  3. #include是一个预处理指令,这个预处理指令可以把另外一个文件的内容合并到当前文件中,使用这个预处理指令时需要给出文件路径,这个路径所对应的文件就会被包含进来。如果使用“ ”包含路径,则表示起点是当前文件所在目录。如果使用<>包含路径,则表示起点是系统中指定的一些目录

8.采用注释向文件中写入文字信息

  1. 单行注释:以 // 开头
  2. 多行注释: /* */ 中间的部分都是注释

9.字符数据

  1. 字符类型是一种数据类型,用char表示
  2. 字符类型中包含256个不同的字符,例如‘a’ ‘+’ ‘?’ 等
  3. 所有字符数据在计算机中都是采用整数表示的
  4. 字符数据有字符和数字两种身份
  5. ASCII码表中列出字符数据两个身份之间的对应关系《史上最全ASCII码对照表0-255(%d)》
  6. 所有字符数据分成两组,每组包含128个不同字符
  7. 其中一组两个身份之间的对应关系在所有计算机环境下都一样,这组数据的数字身份是0-127
  8. 另外一组两个身份间的对应关系在不同计算机环境下有区别,这组数据的数字身份可能是127-255或 (-1)-128
  9. 不可打印字符是看不见的
  10. 无符号字符类型也是一种数据类型,用unsigned char表示
  11. 无符号字符类型同样包含了字符类型中的256个不同的字符,这种类型中所有字符的数字身份为0-255
  12. ‘\n’ 换行字符
  13. ‘\r’ 回车字符,让输出位置回到行首。例如:\r后面的B回到行首,替换了第一个字母A
    请添加图片描述
  14. ‘\t’ 制表符,跳到下一个制表位置
    请添加图片描述
  15. ‘\’ 代表 \
  16. ’ ’ ’ 代表 ‘
  17. ’ " ‘ 代表 "
  18. 短整数数据类型可以记录65536个不同的整数,用short表示。 -32768 - 36767
  19. 无符号整数类型也包括65536个不同的整数,用unsigned short表示,范围是 0 - 65535
  20. 长整数类型包括2的32次方个不同的整数,范围是从-2的31次方到2的31次方减1 ,用long 或 long int 表示
  21. 无符号长整数类型也包括2的32次方个不同的整数,范围是从0到2的32次方减1
  22. 无符号长整数用unsigned long或 unsinged long int 表示
  23. 2的10次方=1K 2的20次方=1M 2的30次方=1G
  24. 在我们的计算机环境里整数类型和长整数类型一样
  25. 整数类型用int表示,无符号整数类型用unsigned int 表示
  26. 所有整数类型之间具有递增关系,他们之间有重叠部分
  27. C语言中可以使用两种数据类型表示带小数点的数据
  28. 单精度浮点类型用float表示,双精度浮点类型用double表示,单精度能表示的小数点位数少
  29. 在不带小数点的数字后面加u表示这个数字是无符号类型的数字,如8u
  30. 程序中待小数点的数字默认是double类型的数据,在数字后面加f表示float类型的数据
  31. 强制类型转换:(char)num,表示把num当作字符类型数据使用

10.进制与计算

计算机基础知识 —— 进制(二进制、八进制、十进制、十六进制)
C语言中的二进制、八进制和十六进制的表示
[计算机组成原理]–字节进制与补码介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Goafan

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

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

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

打赏作者

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

抵扣说明:

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

余额充值