Linux下的vim编辑器(内附练习题及答案)

目录

​​​​​​​


一,vim编辑器

  代码的运行首先需要做什么?编译?编译当然必不可少,但是在运行代码之前,首先你得需要写一段代码(或者c v),在devc这个软件中你只需打好代码运行即可,但是在linux中,有一种不同的方法来实现这个过程的第一步,那就是vim编辑器,把这复杂的话简单点说,他就是个敲代码的地方而已,vim编辑器的功能众多,长这个样子:

是的非常简洁,(帮助乌干达的可怜儿童T T

运行代码就是vim 或者vim 加一个文件名,这样就可以新创建一个文件或者打开你已有的文件,再打开编辑器之后我们就可以在vim上敲写代码,但是直接敲是无法运行的,我们需要知道vim编辑器有三种模式:命令行模式,插入模式,底行模式

1.命令行模式

命令行模式就是刚打开的时候的模式,你可以在里面进行复制,剪切,粘贴,撤回,反撤回等等操作

2.插入模式

刚打开是无法编写代码的,这个是默认是命令行模式,这时需要按下键盘上的i(也就是insert编程语言很多都是英语的首字母所以记得好好学英语),这个时候你就可以开始编写你的hello world了,如果要退出或者进行复制等一系列操作,那么你需要按ESC,这时进入命令行模式就可以开始操作了

3.底行模式

底行模式一般用于退出保存等操作,可以shift+:进入,当然我推荐直接按空格,还是一样,ESC退出底行模式进入命令行模式

这是一副大概得思维脑图,有一些基础命令:

二,练习题

这是一些练习题,有关于linux指令的,也有一些vim编辑器内容的,没错也是博主的作业

练习1:
  1. 创建目录24081C,在该目录下创建目录dir1 dir2 文件file1
  2. 使用echo在file1中打印一首古诗【执行调整格式】
  3. 复制file1给file2
  4. 将file1移动到dir1
  5. 将file2移动到dir2
  6. 在file1后面追加一行语句“我爱C语言”
  7. 查看file1内容

1.mkdir  -p 24081C/dir1  24081C/dir2

2.echo -e  "\t煮豆燃豆杆\n\t豆在釜中喊\n\t都是一个爹\n\t为啥要杀俺">file1

//-e 代表可以使用转义字符\n \t,这两个一个是换行一个是空格//

3.cd 24081C

   cp file1 file2

4.mv  file1  dir1//已经到24081C中所以不需要写file的路径啦//

5.mv  file2   dir2

6.echo -e  "\t煮豆燃豆杆\n\t豆在釜中喊\n\t都是一个爹\n\t为啥要杀俺">>dir1/file1

//和第二小题的区别就是一个是>,一个是>>,前者是直接覆盖,不管你有咩有内容,而后者是追加一个内容到指定文件,效果如下展示://

7.cat dir1/file1

这并不难,对于博主来说只有两个问题(博主也是在学习中),一个就是代码有时候会敲错就算有tab,一个就是路径有时候会忘记加上导致一系列错误,当然博主会继续加油改正

练习2:
  1. 使用gcc 程序编译生成可执行文件的步骤分为__预处理______、___编译_____、__汇编______、___链接_____ (鲁科安全)
  2. GCC编译器中 -S 选项完成的工作是____编译____ 
  3. 写出gcc分步编译的详细步骤。

详情见标题三

  1. C语言的程序的入口函数是什么,请写出全称?

入口函数就是大家熟知的int main(){}中的main()函数

  1. 用户编写了一个文本文件a.txt,想要得到一个名为txt.a的该文件,可以使用哪些指令呢?

①cp a.txt  txt.a

cat a.txt>txt.a 这个很重要,我一直以为是只有查看功能

  1. 分析一下#include <stdio.h>的意思

#表示:表示这是一个预处理命令,不同于C程序的以;结尾

include表示:这也是一个预处理命令,意思就是让编译器包含一个文件也就是<>里面的内容了

stdio.h表示:这就是一个库,是我们的先辈们为我们准备好的哦,是一个头文件,他是一个标准(std)的输入输出(input  output)文件,如果不使用#includ<stdio.h>的话,编译器就找不到这个函数了,他就要报错了

<>可以改为””吗?二者的区别是什么?

当然有区别,<>里的头文件相当于从标准库(不止stdio.h的哈,还有很多很多呢)把它揪出来给你用,如果改成"",那么编译器会现在你当前的源文件所处文件夹中找,找不到了再去标准库,显然,<>直接去标准库中更为直接,当然,如果是你自定义的头文件或者库,那用""也是没有问题的!

三,gcc编译器的具体工作原理

我们知道gcc编辑器工作分为四个阶段,预处理,编译,汇编,链接

补充一下,我们输入的代码到它运行出结果,大致是这么一个过程

我们的语言>>汇编代码>>机器语言>>执行文件运行

  • 首先是预处理部分,作为一名合格的程序员,我们希望自己的代码简洁明了,还要加上注释,但是注释也是写进去的,为什么没事呢?因为编译器的预处理操作会删除这些注释,不影响代码的运行和运行结果,还要讲宏给展开,并且将<>里的头文件引入我们的源代码,这样就可以使用库中的东西了
  • 然后就是编译阶段了,上面说过了,我们的代码打进去电脑看不懂的,这个时候编译器就相当于是一个翻译官了,在汇编阶段, 我们的编译器会将代码转换为汇编语言,等待下一步的执行
  • 在汇编阶段,编译器又是一个翻译官,他会把上一步的汇编语言给转换成机器语言,当然这个时候这些指令代码还无法直接运行的,因为他们还没链接在一起
  • 最后就是链接阶段了,这些文件会被链接在一起,形成一个可执行的文件,这时就可以执行我们所需要的代码了

让我们请出hello world老祖:

#include<stdio.h>
/头文件/
int main(){
    /输出hello world/
    print("hello world");
    return 0;
}

首先我们打完代码之后,预处理会将这些注释删除,然后编译阶段将这些语言转换成汇编语言,汇编阶段将这些汇编语言都变成机器语言,让我们的机器可以读得懂,最后就是链接这些代码文件,让他可以执行,这样,就可以输出hello world了!!

好的就这样博主眼睛马上瞎了,如果觉得写的还行就点个赞,如果觉得很烂也别骂我,包玻璃心的老弟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值