day1笔记linux命令、vi

7.26笔记

【1】linux命令

1.打开终端的方式:

●直接点击
●ctrl+alt+t:路径是家目录
●ctrl+shift+n:路径就是当前路径

2.关闭终端方式:

●直接点击
●ctrl+d:
●exit

3.终端

在这里插入图片描述
查看用户名:whoami
在这里插入图片描述
查看主机名:hostname
在这里插入图片描述
显示完整路径:pwd
在这里插入图片描述
ls:查看当前路径下的文件
ls -a:查看当前路径下的所有文件包含隐藏文件
ls -l:查看当前路径下文件的详细信息
d rwxrwxr-x 11 hq hq 4096 7月 25 22:04 23072
d:文件类型 文件夹
-:普通文件
rwx rwx r-x
前三个:当前用户的权限 可读可写可执行
中间三个:同组用户的权限 可读可写可执行
后三个:其他用户的权限 可读 不可写 可执行
r:读
w:写
x:执行
-:不可以
11 :链接数
hq:用户名
hq:组名
4096:文件的大小
7月 25 22:04:文件的创建时间(最后修改的时间)
23072:文件名
cd :路径的切换
cd:家目录
cd 文件夹名字:进入某一文件夹
.:当前路径
…:上一级路径
cd .:在当前路径下
cd …:返回上一级
cd 路径:进入路径内
例:~$ :cd ./23072/day01
~/23072/day01$ :
cd ~:回到家目录的位置
cd -:返回上一级操作的路径
新建文件夹:mkdir 文件夹的名字
新建文件:touch 文件名字
删除:文件夹:rmdir 文件夹的名字

rm 文件夹名 -r
文件:rm 文件名
复制文件:cp
当前路径下:cp 文件名字 新建文件的名字
复制到其他路径:cp 文件名 目标路径
复制文件夹:cp 文件名 目标路径 -r
剪切(移动)mv
mv 文件名 目标路径
常用快捷键
放大终端:ctrl+shift+ =
缩小:ctrl±
历史命令:上下键
清屏:ctrl+l
自动补全:tab

【2】vi编辑器

vi+文件名:使用vi编辑器打开某一个文件
三种模式:插入模式 命令行模式 底行模式
进入vi编辑器时 命令行模式
命令行模式 -------> a i o插入模式-------->esc 命令行模式-------->shift+: 底行模式
命令行模式:
复制:yy:复制光标所在行
粘贴:p
删除:dd
撤销:u
反撤:ctrl+r
加n:可以操作n行内容
文件的开头:gg
文件de末尾:G
行首:0
行尾:$
整理代码:gg=G
插入模式
底行模式:

保存:w
退出:q
保存退出:wq
强制退出:q!
分屏:vsp
查找:/str
替换:s/str/str2 :将光标所在行第一个符合查找的内容进行替换
全部替换:%s/str/str2/g

练习:将 / 全部替换成
答案:%s///\/g

\ :表示转义
\n:换行
\0:空 字符串结束的标志
/😕
?:?
取消高亮:nohl
显示行号:set nu
取消行号:set nonu

【3】gcc编译器

4个步骤:1.预处理 2.编译 3.汇编 4.链接
1.预处理
命令:gcc -E hello.c -o hello.i
删除文件中的注释 展开头文件 替换宏定义
2.编译
命令:gcc -S hello.i -o hello.s
检查语法错误 有错报错 没有错误生成汇编语言
在这里插入图片描述
在stm32中的启动文件用了汇编
**
3.汇编
命令:gcc -c hello.s -o hello.o
将汇编语言转化成二进制的文件
4. 链接
命令:gcc hello.c -o hello
链接库文件,生成可执行文件
执行文件:gcc hello.c 默认生成一个a.out文件 ./a.out
非数值型的数据
ascii码值:man ascii
‘\0’ 0
‘\n’ 10
A-Z: 65-90
a-z: 97-122
字符0-9:48-57
‘0’---->48 转换成数字0 -48
字符型数字转数字-48
大写字母转小写字母:+32
小写字母转大写字母:-32

man手册:第一章shell命令 第三章库函数 按q键退出

【4】词法符号
分类:关键字 标识符 运算符 分隔符 标点符号
关键字(32)
分类:
存储类型:auto static extern register
数据类型:char int long short float double signed unsigned
构造类型:struct union enum
选择类型:if else switch case default
循环类型:for while goto do break continue
其他:void typedef const sizeof return volatile
标识符
用于标识变量 宏定义 函数名…
命名规范:
1、由数字 字母 下划线(_)组成
2、不能以数字开头
3、不能和关键字重名
4、见名知义
变量
概念:在程序运行当中会发生变化的量
定义格式:存储类型 数据类型 变量名
例:(auto)int num=10;
在这里插入图片描述

练习:x y su&m a100 01a 78b 2_A7b_3x (abc) _3xq
不符合:01a 78b
2_A7b_3x (abc) su&m**
运算符
参与运算的符号
算数运算符 逻辑运算符 位运算符 关系运算 赋值运算 三目运算
算数运算符:+ - * / % ++ –
/ :整数进行相除 向下取整

int a=10/3 ------> 3.33333… a=3
float b=10/3 ------> 3.00000
float c=10.0/3---->3.333333

%:取余
int a=10%3---->1
123%10---->12—>3
123/10%10—>2
练习:求7890个位 十位 百位 千位数

++:在自身进行加1操作
int a=1;
++a–>a=a+1—>2
–a—>a=a-1---->0

打印语句:
int a=10;
printf(“%d”,++a);
printf(“%d”,a++);
++在前:先进行计算然后再输出
++在后面:先输出后计算
在这里插入图片描述

在赋值运算时
++在前:先计算再赋值
++在后:先赋值后计算
在这里插入图片描述
在这里插入图片描述

独立成句
在这里插入图片描述
在这里插入图片描述

–和++同理
练习: #include <stdio.h>
int main(int argc, char argv[])
{
int a = 6
int b = a++; //b=6 a=7 ++a
*:执行完这一行后已经加完。a++:执行完这一行****后才开始加
int c = a + b; //c= 6+7
int d = (b++) +c; // 6+13=19 b=7
printf(“d = %d\n”,d);
return 0;
} [单选题] *
A. d = 17
B. d = 19
C. d = 21
D. d = 22
答案:B
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 10;
int b =++a; //b=11 a=11
int c = a + (b++); // c=11+11=22 b=12 a=11
int d = b+c; //d=12+22=34
printf(“%d\n”,d);
return 0;
} [单选题] *
A. d = 31
B. d = 32
C. d = 33
D. d = 34
答案:D
逻辑运算符:&& || !
单目运算:++ – 只需要一个操作数
双目运算:+ - && || 需要两个操作数
三目运算:需要三个操作数 ?:
&&(逻辑与):全真为真 一假则假
真假:真:1 假:0

在这里插入图片描述

int a=10;
5<a<20 ----> a>5&&a<20
|| (逻辑或) :全假为假 一真全真
在这里插入图片描述

!(逻辑非):取反 非真即假 非假即真

在这里插入图片描述

练习:100>1&&‘a’>‘b’ ----->0
100>1||‘a’>‘b’ ----->1
!(100>5) ------> 0

【4】词法符号

逻辑运算符:&& || !

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值