第一天: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. 利用Javascript制作网页特效(图像特效)

    图像是文本的解释和说明,在网页中的适当位置放置一些图像,不仅可以使文本更加容易阅读,而且可以使网页更加具有吸引力. 当鼠标指针经过图像时图像振动效果 ①:在head标签内输入以下代码: <sty ...

  2. Linux环境ZooKeeper安装配置及使用

    Linux环境ZooKeeper安装配置及使用 一.ZooKeeper 1.1 zookeeper作用 1.2 zookeeper角色 1.3 zookeeper功能 二.集群规划 三.安装流程 (1 ...

  3. swap交换2变量

    #define swap(x,y) {(x)=(x)+(y); (y)=(x)-(y); (x)=(x)-(y);} void swap(int i, int offset){ int temp; t ...

  4. 利用Java反射机制将Bean转成Map

    import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang ...

  5. 数据中心网络技术新贵:VXLAN与园区网络虚拟化

    摘要:为了应对传统数据中心网络对服务器虚拟化技术的限制,VXLAN技术应运而生. 1 概述 传统数据中心网络面临的问题 虚拟机规模受设备表项规格限制 在传统二层网络中,交换机通过查询MAC地址表来转发 ...

  6. 图的广度优先遍历算法(BFS)

    在上一篇文章我们用java演示了图的数据结构以及图涉及到的深度优先遍历算法,本篇文章将继续演示图的广度优先遍历算法.广度优先遍历算法主要是采用了分层的思想进行数据搜索.其中也需要使用另外一种数据结构队 ...

  7. 带撤销并查集 & 可持久化并查集

    带撤销并查集支持从某个元素从原来的集合中撤出来,然后加入到一个另外一个集合中,或者删除该元素 用一个映射来表示元素和并查集中序号的关系,代码中用\(to[x]\) 表示x号元素在并查集中的 id 删除 ...

  8. c语言实现--顺序表操作

    经过三天的时间终于把顺序表的操作实现搞定了.(主要是在测试部分停留了太长时间) 1;线性表顺序存储的概念:指的是在内存中用一段地址连续的存储单元依次存储线性表中的元素. 2;采用的实现方式:一段地址连 ...

  9. JavaScript函数console、this关键字

    console.dir()打印出来的东西不加任何操作 console.log()打印出来东西实现进行了操作,打印出来的东西可能不是原型 具体对象的类型可以在"_proto_"中看, ...

  10. java通过HttpClient调用接口总结

    2.HttpClient 2.1简介: 最近看项目的代码,看到工程中有两个jar包张的很像,一个是commons.httpclient-3.1.jar,一个是httpclient4.2.1.jar,很 ...