vim 编辑器

打开多个文件(在main.c下打开max.c)

1
:sp max.c		//横屏
1
:vs max.c		//竖屏

切换文件

1
ctrl  +  w  +  上箭头/下箭头

显示行号

1
:set nu

makefile编写

在这里插入图片描述

main函数中的参数

在这里插入图片描述

其中argv表示终端命令输入时参数个数, argc[]表示参数数组。

main函数返回值

下面命令可以查询系统上一个执行函数返回值,为0表示返回正常(即源代码中的return 0)。

1
echo $?

只有在返回0时,系统命令可以继续执行,否则无法执行,&&符号可以将两个命令结合起来一起执行,如

1
gcc hello.c -o hello.out && ./hello.out

该命令表示编译hello.c文件为hello.out文件,并执行hello.out文件。

标准输入输出流和错误流和重定向

1
2
3
4
5
stdin

stdout

stderr

在这里插入图片描述

代码中的输入输出语句和注释语句等价,第一个参数可以换成其他输出设备,std默认为显示器输出。

输出流重定向

将a.out执行结果输出追加到t.txt

1
./a.out 1>>t.txt

在这里插入图片描述

将a.out执行结果输出覆盖到t.txt(默认1>t.txt的1 可不写)

1
./a.out 1>t.txt

在这里插入图片描述

输入流重定向

将input.txt文件内容自动输入到a.out 程序中

1
./a.out<input.txt

在这里插入图片描述

错误流重定向

将a.out执行结果错误信息输出到f.txt

1
./a.out 2>f.txt

在这里插入图片描述

三个流重定向一起使用

用于将正确输入和错误输入分别导入到不同文件

在这里插入图片描述

管道

利用管道查询/etc文件夹下所有文件名中带有ab的文件

1
ls /etc | grep ab

在这里插入图片描述

利用管道查询系统所有进程中的ssh进程

1
ps -e |grep ssh

在这里插入图片描述

利用管道实现小程序

程序1:用总和与个数求平均数

在这里插入图片描述

程序2:输入多个数求总和与个数

在这里插入图片描述

用管道将两个程序连接执行

在这里插入图片描述