HQYJ嵌入式学习笔记——C语言复习day1
- 2021 年 2 月 20 日
- 筆記
第一天:Linux命令 vim操作
第二天:数据类型 运算符 顺序语句
第三天:分支语句 循环语句
第四天:循环语句 数组
第五天:数组
第六天:指针
第七天:函数 数组与指针
第八天:数组指针
第九天:递归
第十天:结构体
嵌入式——->软件控制硬件
windows 闭源的
Linux 开源的
Linux的常用版本
ubuntu
centOS
redhat
VM:虚拟机 虚拟一台PC
Linux是一个开源的、多用户的、多任务的、要求必须要以用户名和密码去登录。
1.Linux常用命令(命令名称 选项 还有参数之间一定要有空格)
打开终端 : ctrl + alt + t
命令提示符:
linux@ubuntu:~$
用户名@计算机名:当前路径$
$ : 代表当前登录的用户是一个普通用户
# :当前登录用户为root用户(超级用户)
查看当前路径 pwd
用户的工作目录:(家目录 ~)
/home/用户名
这个用户的操作权限就在工作目录之下
ls : 查看内容
ls : 查看当前路径下的内容
ls 目录路径: 查看指定路径下的内容
ls -a : 查看当前路径下的所有内容(包含了隐藏文件 以.开头的文件)
ls -l : 查看当前路径下内容的详细属性
drwxrwxr-x 13 linux linux 4096 11月 10 17:16 class
第一个字符代表的是文件类型
Linux下一切皆文件,一共有7种文件类型
– 普通文件
d 文件夹
l 链接文件
c 字符设备文件
b 块设备文件
p 管道文件
s 套接字文件
rwxrwxrwx 可读可写可执行
第一组rwx代表用户自己对这个文件的操作权限
第二组rwx代表组里面的其他用户对文件的操作权限
第三组rwx代表其他组的其他用户对文件的操作权限
ls -R : 以递归的像是显示当前路径下的内容
相对路径:具体看参照物
绝对路径:从根目录开始的路径
cd : 切换路径
cd 目录路径: 切换到该目录下
cd .. : 退回上一级目录
cd . : 当前路径
cd ~ (cd) : 快速返回家目录
cd – : 返回上一次所在目录
touch 文件名 : 新建普通文件(可以多个文件一起新建 touch 1.c 2.c 3.c )
rm 文件名: 删除文件
mkdir 文件夹名: 新建文件夹
mkdir day1 day2 day3 //新建day1 day2 day3在同一级目录下,并列关系
mkdir -p 目录路径
mkdir -p day1/day2/day3 //新建day1/day2/day3在当前路径,当前路径只能看见day1文件夹,嵌套关系
rmdir 文件夹名: 只能删除空文件夹
rm -rf 文件夹名:删除文件夹
rm -rf *
cp : 复制
cp 源文件 目标路径 : 将源文件复制到目标路径下 (看现在我处于哪个位置,相对路径会跟着改变)
cp -r 源文件夹 目标路径:
cp 1.txt day1 : 将当前路径下的1.txt复制到当前路径下的day1下面
cp ../2.txt class/day2 : 将上一级目录下的2.txt复制到当前路径的class下的day2
mv : 移动 (改名)
mv 源文件(夹) 目标路径
mv aa bb : 如果bb存在就是将aa移动到bb 如果bb不存在就是将aa改名为bb
思考:如果两个参数都是普通文件?
ctrl+shift+’+’ : 放大字体
ctrl+’-‘ : 缩小字体
clear(ctrl+l) : 清屏
sudo : 增加权限
向上的箭头 : 查看历史命令
Tab : 自动补全
(1)按一次自动补全
(2)按两次会将所有前缀相同的文件列举出来
2、vim编辑器
vim 文件名 : 打开一个文件,文件存在就直接打开,文件不存在会新建并打开
vim一共有三种模式 命令行模式 插入模式 底行模式
vim打开一个文件进去是命令行模式,编辑文本一定要在插入模式
命令行模式—–>插入模式 按i o a
插入模式——->命令行模式 按esc
命令行模式—–>底行模式 shift + ‘:’
保存文件是在底行模式下(以:开头)
:w 只保存
:q 只退出
:wq 保存并退出 😡 ZZ(命令行模式下)
:w! 强制保存
:w filename 将文件保存在filename里面
命令行模式下:
nyy : 从光标所在行开始复制n行
p : 从光标所在的下一行开始复制
u : 撤销
ctrl+r : 反撤销
首先将光标放在要开始复制的行(具体哪个位置没有关系),然后按nyy复制n行
接下来将光标放在要开始粘贴的位置,按p,会从光标所在下一行开始粘贴
:set nu 显示行号
:set mouse=a 鼠标控制光标
:set tabstop=4 设置tab键的空格数
gedit 文件名
3、gcc编译
编辑—->编译—->运行
编译:
gcc test.c //如果文件没有错误,会默认生成可执行文件叫a.out
运行:
./a.out
gcc test.c -o test //将默认生成的a.out改名叫test
./test
C程序的入口 main
main函数格式:
int main(int argc, char *argv[])
{
//代码块
return 0;
}
int main()
{
//代码块
return 0;
}
main() —–> 默认返回值就是Int
{
}
void main()
{
//return ;
}
4、计算机的组成
硬件:
CPU:
控制器 运算器 寄存器
存储器
内存: RAM(随机存储器 断电会丢失) ROM(只读存储器)
输入设备
键盘
输出设备
显示屏
软件:
系统软件(windows linux)
应用软件
一台没有任何软件的计算机叫“裸机”。
存储器的分类:
内存 : 容量一般 读写速度比较快
外存 : 容量大 读写速度慢
寄存器 : 容量小 读写速度非常快