Ubuntu 18.04 环境搭建与 C 语言编程实验报告
1. 实验目的
- 掌握在 Windows 环境下通过虚拟机软件(VMware、VirtualBox 等)安装 Ubuntu 18.04 或更高版本桌面图形版系统的方法。
- 熟练掌握 Ubuntu 常用命令,并学会使用 vi/vim、nano 或 gedit 等文本编辑软件。
- 学会修改 Ubuntu 软件源为国内镜像源,提高软件安装速度。
- 掌握在 Ubuntu 系统下使用 gcc 编译 C 语言程序的方法。
- 掌握多文件 C 语言程序的编写、编译与运行方法。
- 掌握在 Windows 系统下使用编译工具编译 C 语言程序的方法。
- 掌握使用 Makefile 进行程序自动化编译的方法。
- 学会将实验过程与结果整理为 Markdown 格式的实验报告,并发布到博客平台。
2. 实验环境
| 项目 | 说明 |
|---|---|
| 宿主机操作系统 | Windows 10/11 |
| 虚拟机软件 | VMware Workstation 或 VirtualBox |
| 虚拟机操作系统 | Ubuntu 18.04.6 LTS(桌面版) |
| 编译器 | gcc(Ubuntu 自带)、MinGW-w64(Windows 下使用) |
| 文本编辑器 | vim、nano、gedit |
| 构建工具 | make |
3. 实验内容与步骤
3.1 在 Windows 下安装 Ubuntu 虚拟机
3.1.1 下载 Ubuntu 镜像
访问 Ubuntu 官方网站(https://ubuntu.com/download/desktop),下载 Ubuntu 18.04.6 LTS 桌面版 ISO 镜像文件。Ubuntu 18.04 的代号为 bionic,其软件源配置中会用到该代号。

3.1.2 创建虚拟机
以 VMware Workstation 为例,创建虚拟机的步骤如下:
- 打开 VMware Workstation,点击「创建新的虚拟机」。
- 选择「典型(推荐)」配置类型,点击「下一步」。
- 选择「安装程序光盘映像文件(iso)」,浏览并选择下载好的 Ubuntu 18.04 ISO 镜像。
- 设置虚拟机名称和安装位置,建议分配至少 20GB 磁盘空间和 2GB 以上内存。
- 点击「完成」,虚拟机将自动启动并进入 Ubuntu 安装界面。
- 按照安装向导完成系统安装,设置用户名和密码。
!](https://i-blog.csdnimg.cn/direct/3b8f0497539743fea1c4a4e1e2b1c6d3.png#pic_center)
3.1.3 安装 VMware Tools(可选)

安装 VMware Tools 可以增强虚拟机的显示效果和文件共享功能。在虚拟机菜单栏选择「虚拟机」→「安装 VMware Tools」,然后在 Ubuntu 终端中执行以下命令:
sudo mount /dev/cdrom /mnt
cd /mnt
tar -zxvf VMwareTools-*.tar.gz -C /tmp
cd /tmp/vmware-tools-distrib
sudo ./vmware-install.pl

3.2 Ubuntu 常用命令学习
在 Ubuntu 终端中,常用的命令如下:
| 命令 | 功能说明 |
|---|---|
ls | 列出当前目录下的文件和文件夹 |
cd | 切换目录 |
pwd | 显示当前所在目录的完整路径 |
mkdir | 创建新目录 |
rm | 删除文件或目录 |
cp | 复制文件或目录 |
mv | 移动或重命名文件 |
cat | 查看文件内容 |
sudo | 以管理员权限执行命令 |
apt-get | 软件包管理工具,用于安装、更新、卸载软件 |
ifconfig | 查看网络配置信息 |
ps | 查看当前运行的进程 |
chmod | 修改文件权限 |
3.3 文本编辑软件的使用
Ubuntu 系统自带多种文本编辑软件,本实验使用 vim 和 gedit。
3.3.1 vim 的基本使用
vim 有三种工作模式:命令模式、插入模式和底行模式。
vim hello.c # 打开或创建文件
- 按
i进入插入模式,开始编辑文本。 - 按
Esc返回命令模式。 - 在命令模式下输入
:wq保存并退出。 - 输入
:q!不保存强制退出。
3.3.2 gedit 的基本使用
gedit 是 Ubuntu 自带的图形化文本编辑器,操作方式与 Windows 下的记事本类似:
gedit hello.c
3.4 更换国内软件源
Ubuntu 默认的官方软件源位于国外,下载速度较慢。为提高软件安装速度,需要将软件源更换为国内镜像源。不同 Ubuntu 版本的软件源代号不同,Ubuntu 18.04 对应 bionic,Ubuntu 20.04 对应 focal,Ubuntu 22.04 对应 jammy。
3.4.1 备份原始软件源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
3.4.2 编辑软件源文件
sudo vim /etc/apt/sources.list
将文件内容替换为以下阿里云镜像源(以 Ubuntu 18.04 bionic 为例):
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
注意:如果安装的是 Ubuntu 20.04,将上述内容中的 bionic 全部替换为 focal;如果是 Ubuntu 22.04,则替换为 jammy。
3.4.3 更新软件源
sudo apt-get update
更新完成后,即可使用 apt-get install 快速安装软件。

3.5 编写并运行 Hello World 程序
3.5.1 编写源代码
使用 vim 创建 hello.c 文件:
vim hello.c
输入以下代码:
#include <stdio.h>
int main()
{
printf("hello world\n");
return 0;
}
3.5.2 编译并运行
gcc hello.c -o hello
./hello
运行结果:
hello world
3.6 多文件 C 语言程序编写与编译
3.6.1 编写子程序 sub1.c
使用 vim 创建 sub1.c 文件:
vim sub1.c
输入以下代码:
float x2x(int a, int b)
{
return (float)(a + b);
}
该函数对两个输入整型参数做加法运算,并将结果转换为浮点数返回。
3.6.2 编写主程序 main1.c
使用 vim 创建 main1.c 文件:
vim main1.c
输入以下代码:
#include <stdio.h>
float x2x(int a, int b);
int main()
{
int a = 10;
int b = 20;
float result;
result = x2x(a, b);
printf("x2x(%d, %d) = %.2f\n", a, b, result);
return 0;
}
3.6.3 在 Ubuntu 下用 gcc 命令行编译运行
gcc main1.c sub1.c -o main1
./main1
运行结果:
x2x(10, 20) = 30.00
3.6.4 在 Windows 下用编译工具编译运行
在 Windows 系统下,可以使用 MinGW-w64 提供的 gcc 编译器。安装 MinGW-w64 并配置环境变量后,在命令提示符(cmd)中执行:
gcc main1.c sub1.c -o main1.exe
main1.exe
运行结果与 Ubuntu 下一致:
x2x(10, 20) = 30.00
3.7 使用 Makefile 编译主程序
在任务 3 的基础上,使用 Makefile 实现自动化编译。
3.7.1 编写 Makefile
使用 vim 创建 Makefile 文件:
vim Makefile
输入以下内容:
CC = gcc
TARGET = main1
OBJS = main1.o sub1.o
$(TARGET): $(OBJS)
$(CC) $(OBJS) -o $(TARGET)
main1.o: main1.c
$(CC) -c main1.c -o main1.o
sub1.o: sub1.c
$(CC) -c sub1.c -o sub1.o
clean:
rm -f $(OBJS) $(TARGET)
注意:Makefile 中每个规则的命令行必须以 Tab 键开头,不能使用空格。
3.7.2 使用 make 编译运行
make
./main1
运行结果:
x2x(10, 20) = 30.00
3.7.3 清理编译产物
make clean
4. 实验结果
- Ubuntu 18.04 虚拟机安装成功,系统运行正常。
- 软件源更换为阿里云国内镜像后,
apt-get update和软件安装速度显著提升。 - Hello World 程序在 Ubuntu 下编译运行成功,输出
hello world。 - 多文件程序 main1.c 和 sub1.c 在 Ubuntu 和 Windows 下均编译运行成功,输出
x2x(10, 20) = 30.00。 - 使用 Makefile 自动化编译成功,运行结果与命令行编译一致。

5. 实验总结
本次实验完成了 Ubuntu 虚拟机的安装与配置,掌握了 Ubuntu 常用命令和文本编辑软件的使用方法。通过修改软件源为国内镜像,有效解决了软件下载速度慢的问题。在 Ubuntu 和 Windows 两个平台下分别使用 gcc 编译了多文件 C 语言程序,并掌握了 Makefile 自动化构建工具的使用。整个实验过程加深了对 Linux 操作系统和 C 语言编译流程的理解。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)