Linux编程基础:第2章命令与开发工具 课后习题

《Linux编程基础》黑马程序员/编著 清华大学出版社

目录

一、填空题

二、判断题

三、单选题

四、简答题

1、简单说明Vi编辑器的工作模式,并画图说明各模式间的切换方法。

2、简述GCC编译器的工作流程,并说明每步执行的内容。

五、编程题

1、使用Vi编辑器编写程序并执行,要求程序可向终端打印字符串。

2、使用Vi编辑器编写程序,实现简单的加法功能,且将执行结果打印到终端。


一、填空题

1、Linux是一个基于命令行的操作系统,Linux命令中的选项分为(长选项)和(短选项)。

2、Linux操作系统秉持“一切皆文件”的思想,将其中的文件、设备等通通当做文件来操作和处理,因此,文件处理与管理命令是Linux系统中最基础的命令。常用的文件处理与管理命令有:(ls  cd  pwd  touch  mkdir  cp  mv  rm  rmdir(注:写出5个即可))等。

3、Vi编辑器有三种工作模式,分别是:(命令模式)、(插入模式)和底行模式。

4、GCC编译器的编译流程依次为:(预处理)、(编译)、(汇编)和(链接)。

二、判断题

1、grep命令的功能是在文件中搜索与字符串匹配的行并输出。   (√  )

2、Vi编辑器的三种工作模式间可直接相互切换。   ( × )

【解析】Vi编辑器的插入模式和底行模式不能直接切换。

3、chmod命令用于更改文件或目录的所有者。   ( × )

【解析】chmod命令用于更改文件或目录的权限,chown用于更改文件或目录的所有者,chgrp用于更改文件或目录的所属组。

4、GCC编译器的编译流程依次为:编译、汇编、预处理、链接。   ( × )

【解析】GCC编译器的编译流程依次为:预处理、编译、汇编、链接。

5、gzip命令既能用于压缩文件,又能对压缩包解压缩。   ( √ )

三、单选题

1、在以下选项中选出实现打印当前路径下所有文件名的命令。   ( C )

A、ls –l

B、ls

C、ls –a

D、ls –i

【解析】选项A、B、D中的命令都用于打印当前目录中文件的相关信息,但不包括隐藏文件;只有选项C中的命令“ls -a”会打印当前路径下所有文件的文件名。

2、假设当前有一文件file1,其权限为rwxr--r--,则在以下命令中,哪个命令可以使该文件所属组拥有对该文件的执行权限?   ( D )

A、chown g+x file1

B、chmod 644 file1

C、chmod o+x file1

D、chmod a+x file1

【解析】更改文件权限的命令为“chmod”,排除选项A;使用选项B中格式为文件所属组提升权限时,第二个数字应为5或7;选项C中为其它人添加了执行文件的权限;选项D为所有人添加了执行文件的权限,包括文件所属组用户,因此选项D正确。

3、假设Linux系统中不存在文件newfile,现要创建一个新文件newfile,以下哪个命令无法实现该功能?   ( D )

A、vi newfile

B、touch newfile

C、cp file /itheima/newfile

D、cd /itheima/newfile

【解析】选项A中用vi命令打开或创建一个文件newfile,若该文件不存在,该文件将会被创建;选项B中touch命令用于更改文件时间戳,若文件newfile不存在,touch命令将会创建新文件newfile;选项C中的cp命令用于复制一个文件到/itheima路径下,并命名为newfile,也会有新文件产生;选项D中的cd命令只用于切换目录。

4、下列各选项中哪个选项不属于Vi编辑器的工作模式?   (A  )

A、视图模式

B、插入模式

C、底行模式

D、命令模式

【解析】Vi编辑器的工作模式有3种,分别为命令模式、插入模式和底行模式。

5、从以下选项中选出GCC编译器的正确流程。   ( D )

A、预处理、汇编、编译、链接

B、预处理、链接、汇编、编译

C、链接、预处理、汇编、编译

D、预处理、编译、汇编、链接

6、以下关于Vi编辑器的各选项中,不正确的是。   ( B )

A、Vi编辑器的工作模式有三种,分别为:命令模式、插入模式和底行模式。

B、在Vi编辑器中,插入模式和底行模式可以直接切换。

C、在Vi编辑器中,可通过“Esc”从插入模式切换到底行模式。

D、Vi编辑器的底行模式和命令模式间无须切换。

【解析】Vi编辑器的插入模式和底行模式不能直接切换。

四、简答题

1、简单说明Vi编辑器的工作模式,并画图说明各模式间的切换方法。

Vi编辑器的工作模式分为命令模式、插入模式和底行模式,其中命令模式可执行光标移动、删除、复制、粘贴等操作;插入模式可实现文本编辑操作;底行模式可实现退出、查找等功能。Vi编辑器各模式之间的转换方式如图所示。

Linux编程基础:第2章命令与开发工具 课后习题_第1张图片

2、简述GCC编译器的工作流程,并说明每步执行的内容。

GCC的编译过程分为四个步骤,分别是预处理、编译、汇编和链接。预处理阶段主要处理源代码中以“#”开头的预编译指令和一些注释信息;编译阶段GCC会对经过预处理的文件进行语法、词法和语义分析,确定代码实际要做的工作,若检查无误,则生成相应的汇编代码文件;汇编阶段将编译后生成的汇编代码转换为机器可以执行的命令;链接的过程是组装各个目标文件的过程,在这个过程中会解决符号依赖和库依赖关系,最终生成可执行文件。

五、编程题

1、使用Vi编辑器编写程序并执行,要求程序可向终端打印字符串。

①使用vi命令创建并打开文件hello.c;

②使用按键i进入插入模式,在文件中编写如下代码:

#include 
int main()
{
printf(“hello itcast.\n”);
return 0;
}

③使用按键Esc进入底行模式,输入“:wq”保存文本并退出。

④在命令行使用gcc编译器编译该文件,所用命令为:gcc hello.c –o hello。

⑤在命令行执行可执行文件,所用命令为:./hello。执行后打印结果如下:

hello itcast.

2、使用Vi编辑器编写程序,实现简单的加法功能,且将执行结果打印到终端。

①使用vi命令创建并打开文件_add.c;

②使用按键i进入插入模式,在文件中编写如下代码:

#include 
int main()
{
int a,b;
printf(“请分别输入变量a、b:”);
scanf(“%d %d”,&a,&b);
printf(“sum=%d\n”,a+b);
return 0;
}

③使用按键Esc进入底行模式,输入“:wq”保存文本并退出。

④在命令行使用gcc编译器编译该文件,所用命令为:gcc _add.c –o _add。

⑤在命令行执行可执行文件,所用命令为:./_add。执行后打印结果如下:

请分别输入变量a、b:3 5
sum=8

你可能感兴趣的:(Linux,linux,运维,服务器,经验分享,职场和发展)