HQYJ嵌入式学习笔记——C语言复习day1
第一天: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的更多相关文章
- HQYJ嵌入式学习笔记——C语言复习day2
1.计算机的数值表示 数值类型和非数值类型 二进制 0,1 (0b1001) 八进制 0~7 (0146) 十进制 0~9 十六进制 0~f (0x3f) 八进制转二进制-->一位八进制数换 ...
- [java学习笔记]java语言核心----面向对象之this关键字
一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理: 代表的是当前对象. this就是所在函数 ...
- [java学习笔记]java语言核心----面向对象之构造函数
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用: 给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- ARM9嵌入式学习笔记(1)-Linux命令
ARM9嵌入式学习笔记(1)-Linux命令 实验1-1-2 Linux常见命令使用 添加用户useradd smb; 设置账户密码passwd smb; 切换用户su - root 关机命令shut ...
- ARM9嵌入式学习笔记(2)-Vi使用
ARM9嵌入式学习笔记(2) 实验1-1-3 Vi使用 vi创建文件vi hello.c:vi smb.conf-打开文件smb.conf i键-插入模式:esc键-命令行模式::-底行模式: 底行模 ...
- IOS学习笔记07---C语言函数-printf函数
IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...
- IOS学习笔记06---C语言函数
IOS学习笔记06---C语言函数 -------------------------------------------- qq交流群:创梦技术交流群:251572072 ...
- mybatis学习笔记之基础复习(3)
mybatis学习笔记之基础复习(3) mybatis是什么? mybatis是一个持久层框架,mybatis是一个不完全的ORM框架.sql语句需要程序员自己编写, 但是mybatis也是有映射(输 ...
随机推荐
- Kafka客户端Producer与Consumer
Kafka客户端Producer与Consumer 一.pom.xml 二.相关配置文件 producer.properties log4j.properties base.properties 三. ...
- python中字符串的翻转(方法总结)
Python翻转字符串(reverse string), 一共包含5种方法, 其中第一种最简单, 即步长为-1, 输出字符串; 方法如下 5种方法的比较: 1. 简单的步长为-1, 即字符串的翻转(常 ...
- linux上 用户间发送消息 通信
联想:scp命令 1.使用write命令,向指定用户发送信息: 用户可以使用write命令给其他在线用户发送消息.格式: $ write zhangsan hello worl ...
- Spring boot 自定义注解标签记录系统访问日志
package io.renren.common.annotation; import java.lang.annotation.Documented; import java.lang.annota ...
- OpenStack (nova 计算服务)
nova介绍 Nova 负责维护和管理云环境的计算资源,Nova这个模块很重要,可以说是 OpenStack 的最核心的服务模块之一,以至于在 OpenStack 的初期版本里大部分的云系统管理功能都 ...
- jackson学习之七:常用Field注解
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 2019 Multi-University Training Contest 1 Path(最短路+最小割)
题意:给你n个点 m条边 现在你能够堵住一些路 问怎样能让花费最少且让1~n走的路比最短路的长度要长 思路:先跑一边最短路 建一个最短路图 然后我们跑一边最大流求一下最小割即可 #include &l ...
- 【洛谷 p3366】模板-最小生成树(图论)
题目:给出一个无向图,求出最小生成树,如果该图不连通,则输出orz. 解法:Kruskal求MST. 1 #include<cstdio> 2 #include<cstdlib> ...
- CF1465-D. Grime Zoo
CF1465-D. Grime Zoo 题意: 一个长度为n,由\(0,1,?\)这三个字符构成的字符串,字符串中\(01\)子串贡献\(x\)值,\(10\)的子串贡献\(y\)值,现在让你把\(? ...
- [视频] 使用 JavaCV 来显示和保存来自摄像头的视频
目录 JavaCV 预览本机摄像头视频图像的简单实现 预览的同时,保存为FLV文件 JavaCV javacv开发包是用于支持java多媒体开发的一套开发包,可以适用于本地多媒体(音视频)调用以及音视 ...