没有合适的资源?快使用搜索试试~ 我知道了~
C语言思维导图_嵌入式-常用知识&面试题库_大厂面试真题.pdf
0 下载量 2 浏览量
2023-08-07
15:23:24
上传
评论
收藏 679KB PDF 举报
温馨提示
试读
1页
C语言思维导图_嵌入式-常用知识&面试题库_大厂面试真题.pdf
资源推荐
资源详情
资源评论
C语言
预备知识
计算机
概念
能进行计算和逻辑判断的设备
在一组指令--程序的控制下处理数据
6大部件
输入单元
输出单元
内存
中央处理单元
外存储器
计算机程序和语言
机器语言
能够被计算机直接理解和执行
编写程序非常费力
汇编语言 符号化的指令码
汇编语言程序必须被翻译成机器语言程序才能被
执行
高级语言
使用数学符号和类似英语的单词
高级语言程序必须被编译程序翻译成机器语言程
序才能被执行
C语言概述
起源
其前身是B语言
B语言是美国贝尔实验室的 Ken Thompson于
1970年开发出来的
1972年美国贝尔实验室的Dennis Ritchie在B语言
基础上开发的C语言.
标准
1989 ANSI 发布了第一个完整的C语言标准,即
C89。不过人们习惯性的称为 “ANSIC”
1999年,C语言标准经过了一次修正和完善,简
称” C99”
特点
C语言是一种强大而灵活的语言,可以用来编写
任意复杂的程序。
C语言简洁、紧凑,使用方便。
C语言是可移植的。
C语言很适合结构化程序设计,因而要求用户以
功能模块的方式来思考问题。
C语言可直接控制硬件 (位运算符,地址 )
生成目标代码质量高,程序执行效率高,运行速
度快
开发过程
编辑 程序代码的录入,生成源程序*.c
编译
功能
语法分析查错,翻译生成目标程序,与其它目标程
序或库链接装配,生成可执行程序
分成四个步骤
预处理 头文件展开,宏替换与去掉注释
编译 将预处理后的代码转成汇编代码
汇编 将汇编代码转成机器码
链接
编译器将生产的多个.o文件链接到一起生成一个
可执行文件
运行 运行可执行程序,验证结果
基本结构
1.注释部分以增加程序的可读性,不被执行。
2.预处理命令
3.主函数,一个C程序有且仅有一个主函数(
main函数)
4.int main(void) 函数首部(函数头) 函数说明说
明函数类型、函数名和函数参数
5.函数体 包括变量说明和语句执行部分
6.函数调用语句
编码风格
1.常用缩进书写格式
2.有足够的注释
3.有合适的空行
4.{}对齐
5.函数体内采用分层缩进和模块化的书写方式
6.不把多条语句写在程序的同一行上
7.命名:变量或函数命名要尽可能包含更多含义,
但不能太长,可采用_ 和缩写来命名
设计特点
1.一个C程序由一个或多个函数组成,但有且仅有
一个主函数(main函数);main函数是程序执行的
入口,可置于程序的任何位置
2.程序中可以有预处理命令(如:include 命令)。
预处理命令通常放在程序的最前面
3.每个语句以分号结尾;预处理命令、函数头和
花括号“}”之后不能加分号
4.函数体由一对花括号“{ }”括起来
5.括在/*…*/内的文本为注释
6.一行可以写几个语句,一个语句也可以写在多
行上
7.程序区分大小写字母。一般变量、语句等用小
写字母书写;符号常量、宏名等用大写字母书写
8.标识符和保留字之间须加空格以示分隔
Linux下开发C语言程序过程
1.安装环境: build-essential (gcc编译器连接
器)+ vim
2.创建源码文件:vim xxx.C
3.编辑程序
4.编译程序: gcc xxx1.c xx2.c //如果没有
加选项,默认生成的可执行文件名是a.out
你也可以通过-o去指定文件名
5.运行程序: ./可执行文件 (如果提示没有权
限: sudo chmod 777可执行程序文件)
gcc编译
基本用法 gcc [options] [filenames]
选项
-o 用来指定要生成的结果文件,后面跟的是结
果文件的名字
-c 告诉gcc对源文件进行编译和汇编,但是不进
行链接.
-g 可以产生供gdb调试的可执行文件,即可执行
文件中包含可供gdb调试器进行调试的信息。
-E 只激活预处理,不会编译、汇编和链接,不
生成文档,需要把他重定向到一个输出文档里。
-s 只激活预处理和编译,就是指把文档编译成为
汇编代码
-pie 创建与位置无关的可执行文件
-share 此选项将尽量使用动态库,所以生成文档
比较小,但是需要系统由动态库
gcc所遵循的部分约定规则
.c为后缀的文件,C语言源代码文件
.h为后缀的文件,是程序所包含的头文件
.i为后缀的文件,是已经预处理过的C源代码文件
.ii为后缀的文件,是已经预处理过的C++源代码
文件
.o为后缀的文件,是编译后的目标文件
.s为后缀的文件,是汇编语言源代码文件
数据类型、运算符与表达式
C语言中的数据类型
基本类型
字符类型 char
数值类型
整 型
短整型 short
基本(整)型 int
长整型 long
浮点型
单精度型 float
双精度型 double
构造类型
数组
结构体 struct
共用体 union
枚举类型 enum
指针类型
空类型 void
定义类型 typede
常量:程序执行过程中其值不能被改变的量
整型常量
三种形式
(1)十进制整型常量:由0至9的数字组成,没
有前缀,不能以0 开头
(2)八进制整型常量:以0(数字0)为前缀,
其后由0到7的数字组成, 没有小数部分
(3)十六进制整型常量:以0x或0X为前缀,其
后由0到9的数字和A到 F(大小写均可)字母组
成,没有小数部分
分类
①有符号与无符号基本整型常量
②有符号与无符号长整型常量
③有符号与无符号短整型常量
表示
①十进制表示 可以使用十个数字符号0~9以
及+与-,如:123、-456.4
②八进制表示 以0(零)开头,可以使用7个符号
0~7 ,如:0123、-011
③ 十六进制表示 以0x开头,符号有0~9与A~
F(或a~f) ,如:0x12、-0x11
浮点型常量
表示形式
①十进制小数形式 如0.123, 1.23, 123. 0, -17.
8, 0.0等。
②指数形式(科学记数法) 如1230 可以表示为1.
23e3或1.23E3
注意
① 在符号e的前面必须要有数字。
② 在符号e的后面必须为整数,不能是带有小数
点的实型数。实型常量的后缀用F(或f)表示单
精度型。后缀用L(或l)表示双精度型
字符常量
用单引号括起来的一个字符,如: 'a '、'A'
转义字符常量:反以斜杠‘\’开头的字符序列 ,表
示控制及不可见的字符
换行
回车