概述:本文主要讲解Ubuntu系统下简单C程序(hello wrold与两整型参数的求和)的编写,其中包含了虚拟机网络的简单介绍及编写C程序所涉及的vim编辑器与gcc编译器,同时也包含Makefile的简单运用。
目录
四、Ubuntu系统与Windows系统下两输入整型参数运算
一、网络
vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式),同时,在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,它们分别作用于仅主机模式与NAT模式下。在“网络连接”中我们可以看到这两块虚拟网卡,如果将这两块卸载了,可以在vmware的“编辑”下的“虚拟网络编辑器”中点击“还原默认设置”,可重新将虚拟网卡还原。



二、安装vim编辑器及gcc编译器
1.安装
(1)安装vim编辑器可以使用以下命令
sudo apt-get install vim
正在安装vim

(2)安装gcc编译器可以使用以下指令
sudo apt-get install gcc
正在安装gcc:

2.简介
(1)vim编辑器
Vim是一个从vi发展出来的一个高级文本编辑器,有着代码齐全、编译及错误跳转等方便编程的优点。
Vim具有三种模式:命令模式、插入模式、低行模式。运用vi命令直接打开文件默认是在命令模式下。
命令模式:不能直接编辑文本,输入的字母会被当作命令执行。
插入模式:在命令模式下输入字母i可切换到插入模式,在当前光标前输入,插入模式下按Esc可以返回命令模式。
低行模式:在此模式下可进行保存、字符替换等操作,低行模式命令以回车结束,或者以Esc返回命令模式。
vim编辑器进入指令
vim 文件名(带后缀)
vim编辑器打开文件在低行模式下
q!+回车 不保存退出
wq+回车 保存退出
命令模式下光标移动:
h 左移
l 右移
k 上移
j 下移
H 当前屏幕第一行
M 当前屏幕中间
L 当前屏幕最后一行
插入文本或行:
a 在当前光标位置的右边添加文本
i 在当前光标位置的左边添加文本
A 在当前行的末尾位置添加文本
I 在当前行的开始处添加文本(非空字符的行首)
O 在当前行的上面新建一行
o 在当前行的下面新建一行
R 替换(覆盖)当前光标位置及后面的若干文本
J 合并光标所在行及下一行为一行(依然在命令模式)
(可参考https://blog.csdn.net/lvdepeng123/article/details/79669874了解更多具体的vi/vim指令)
(2)gcc编译器
GCC即GNU Compiler Collection,是GNU工具链的主要组成部分,是一套以 GPL 和 LGPL 许可证发布的程序语言编译器自由软件。GCC原本只能处理C语言,但现在不仅可以编译C、C++和Objective-C,还可以通过不同的前端模块支持各种语言,包括Java、Fortran、Ada等语言。
以下将简单叙述使用gcc来编译C程序。
在文件test.c保存成功后,通过cd命令到当前目录,输入以下命令gcc test.c -o test可以直接将C代码编译链接为可执行文件test。
然后通过命令./test来运行可执行文件。(如果不指定文件名,如test,GCC将生成名为a.out的文件,.out文件是用以区分编译后的文件,Linux下的可执行文件并没有标准的后缀,一般可执行文件没有后缀名。)
注意:
在安装vim编辑器与gcc编译器时遇到如下问题时可参考 http://t.csdn.cn/DkVkl进行解决。

三、C语言编写hello world程序
运用C语言编写一个见到的输出hello wrold的程序,输入命令 vim hello.c 进入vim编译器,输入i 进入插入模式,编写代码
#include<stdio.h>
int main(void)
{
printf("hello world");
}
编译完成后,按下Esc按键,输入:wq!退出vim编辑器。
输入命令
gcc hello.c -o hello
将生成一个hello文件,输入指令
./hello
运行文件得到的运行结果如下所示

四、Ubuntu系统与Windows系统下两输入整型参数运算
要求: 编写一个主程序文件 main1.c 和一个子程序文件 sub1.c,子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。
1.Ubuntu系统
首先输入命令vim main.c编写main.c文件(步骤大致如上),代码如下
#include<stdio.h>
extern float x2x(int x,int y);
int main()
{
int x,y;
printf("x=");scanf("%d",&x);
printf("y=");scanf("%d",&y);
float sum;
sum=x2x(x,y);
printf("sum=%f\n",sum);
return 0;
}
其次,输入命令vim sub1.c编写文件sub1.c,其代码如下
#include<stdio.h>
float x2x(int x,int y)
{
float sum;
sum=x+y;
return sum;
}
然后一次输入命令gcc -o main main.c sub1.c与./main所得运行结果如下

2.Windows系统
此处在Windows系统下运用Dev C++进行编译。
首先编写main.c文件
#include<stdio.h>
#include"sub1.c"
int main()
{
int x,y;
scanf("%d %d",&x,&y);
float sum;
sum=x2x(x,y);
printf("%f\n",sum);
return 0;
}
然后编写sub1.c文件
#include<stdio.h>
float x2x(int x,int y)
{
float sum;
sum=x+y;
return sum;
}
将两文件保存在同一文件夹下,然后编译运行得到如下结果

此处针对所引用的sub1文件,同时运用.h与.c后缀进行过测试,发现两种均可编译运行(在Dev C++上需要先编译sub1.c文件在编译要运行main.c文件,否则将出现报错)。
总结对比:Ubuntu系统与Windows系统下Dev C++的编译运行结果一致。
五、在Ubuntu系统下运用Makefile编写以上主程序
1.Makefile简介
Makefile是在Linux环境下 C/C++ 程序开发必须要掌握的一个工程管理文件,描述了整个工程的编译和链接等规则。
以下简单介绍以下Makefile文件的编写规则
target…:prerequisites…
command
…
target是一个目标文件,可以是Object File、执行文件或者一个标签(Label)。
prerequisites是要生成target所需要的文件或是目标。
command是make需要执行的命令。
2.编写makefile文件并编译
首先,需要安装make,通过命令 sudo apt-get install make进行安装。
其次,依次输入命令gcc -c main.c与gcc -c sub1.c生成文件main.o和sub1.o.

然后,输入命令vim makefile在vim中编写makefile内容如下(makefile与main.c,sub1.c在同一目录下)

最后,依次输入命令make与./main,最终得到结果如下所示:

本文详细介绍了在Ubuntu系统中如何编写C语言基础程序,包括HelloWorld示例,两个整数参数的加法函数,以及Makefile的配置与使用。涵盖了网络设置、vim编辑器与gcc编译器的安装,以及跨平台编译比较和Makefile的编写教程。

194

被折叠的 条评论
为什么被折叠?



