第一天: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 保存并退出 :x 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)
应用软件

一台没有任何软件的计算机叫“裸机”。

存储器的分类:
内存 : 容量一般 读写速度比较快
外存 : 容量大 读写速度慢
寄存器 : 容量小 读写速度非常快

HQYJ嵌入式学习笔记——C语言复习day1的更多相关文章

  1. HQYJ嵌入式学习笔记——C语言复习day2

    1.计算机的数值表示 数值类型和非数值类型 二进制 0,1 (0b1001) 八进制 0~7   (0146) 十进制 0~9 十六进制 0~f (0x3f) 八进制转二进制-->一位八进制数换 ...

  2. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  3. [java学习笔记]java语言核心----面向对象之构造函数

    1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

  4. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  5. ARM9嵌入式学习笔记(1)-Linux命令

    ARM9嵌入式学习笔记(1)-Linux命令 实验1-1-2 Linux常见命令使用 添加用户useradd smb; 设置账户密码passwd smb; 切换用户su - root 关机命令shut ...

  6. ARM9嵌入式学习笔记(2)-Vi使用

    ARM9嵌入式学习笔记(2) 实验1-1-3 Vi使用 vi创建文件vi hello.c:vi smb.conf-打开文件smb.conf i键-插入模式:esc键-命令行模式::-底行模式: 底行模 ...

  7. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  8. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  9. mybatis学习笔记之基础复习(3)

    mybatis学习笔记之基础复习(3) mybatis是什么? mybatis是一个持久层框架,mybatis是一个不完全的ORM框架.sql语句需要程序员自己编写, 但是mybatis也是有映射(输 ...

随机推荐

  1. Java异常封装(自定义错误信息和描述)

    一.checked异常和unchecked异常 checked异常: unchecked异常: 二.异常封装示例 2.1.添加一个枚举LuoErrorCode.java如下: 2.2.创建一个异常类B ...

  2. K8s 一、(1、容器基本概念 2、k8s基本概念 )

    1.容器基本概念 容器其实就是一种特殊的进程,容器是一个 '单进程'模型. Namespace :隔离 Namespace 技术实际上修改了应用进程看待整个计算机"视图",即它的& ...

  3. Asp.net core通过自定义特性实现双端数据验证的一些想法

    asp.net core集成了非常方便的数据绑定和数据校验机制,配合操作各种easy的vs,效率直接高到飞起. 通过自定义验证特性(Custom Validation Attribute)可以实现对于 ...

  4. php之在admin的目录下的php文件里加上JSON的报头,运行php文件会提示下载

    去掉报头就正常,但在前端引用数据时要加上JSON.parse,不然读不出数据. $.get("fetchUpLast.php",{ rd:new Date().getTime()} ...

  5. git submodule添加、更新和删除

    添加 git submodule add <url> <path> url:替换为自己要引入的子模块仓库地址 path:要存放的本地路径 执行添加命令成功后,可以在当前路径中看 ...

  6. 配置七牛云图床 + Typora

    配置七牛云图床工具 使用图床+Typora可以方便快捷的撰写图文博客 我这里以七牛云进行示例,讲解如何去配置 七牛云是属于收费图床,目前还在测试,不过对于使用量不大的我来说应该免费是足够了的,不过需要 ...

  7. Windows10 ping通 虚拟机上的Linux-CentOS7操作系统

    我是按照Oracle VM VirtualBox 安装CentOS7操作系统这个博客安装Linux操作系统的. 我们这里只关心网卡的配置,网卡一: 网卡二: 我按照上面那个博客安装Linux操作系统之 ...

  8. Codeforces Round #676 (Div. 2) XORwice、Putting Bricks in the Wall、Palindromifier

    题目链接:XORwice 题意:给你两个数a.b.求一个数x,使得((a异或x)+(b异或x))这个值最小,输出最小那个x 题解: 输出(a|b)-(a&b)就行(猜了一手 代码: #incl ...

  9. Java 窗口 绘制图形 #3

    写在前面: 高数下学到第二章,突发奇想要写一个程序画二元函数图像 思路分了三层: ①抽象层: 因变量z,自变量x.y,坐标原点x0.y0.z0 ②投影实现层: 屏幕投影坐标px.py,x轴与屏幕水平方 ...

  10. java——API

    API定义: 可以网上下载一个jdk_api文档用来查找一些函数. 匿名对象的创建  匿名对象做为返回值和参数实例: Random的使用: