在ubuntu20.04系统中用C语言编写程序并用gcc命令、Makefile等方式编译程序


首先我们在Ubuntu系统下使用Vim编辑器编写一个简单的C语言程序来输出“hello world”

一、在ubuntu20.04系统中安装vim

  1. 打开终端,更新软件包列表。
    在终端输入如下指令
sudo apt update

2.安装vim
在终端输入如下指令

sudo apt install vim

二、在vim中编写C语言程序

1.在终端打开vim并创建c语言文件
打开终端,输入

 vim hello.c

创建了一个名为hello.c的文件
2.在vim中编写代码
首先先按i进入插入模式,并输入我们所需要的代码

#include <stdio.h>
 
int main() {
    printf("hello world!\n");
    return 0;
        }

3.保存并退出vim
首先按Esc退出插入模式,再在vim中输入

:wq

再按Enter键,此时文件已保存并且退出vim。

三、编译hello.c文件

打开终端,输入以下指令

gcc hello.c -o hello

四、运行hello文件

打开终端,输入以下指令

./hello

此时,终端中会显示出hello,world!

五、在ubuntu系统中用gcc命令行和Makefile方式编译程序

总要求:编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来.(1)在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行;
(2)在ubuntu系统下用Makefile方式编程主程序。
(3) 在windows系统下用熟悉的编译工具编译主程序main1.c 并运行。

1.创建子程序文件
打开vim,并创建一个子程序文件。打开终端,输入以下命令

vim sub1.c   //创建一个名为sub1.c的子程序文件

2.编写子程序
要求: 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回。
在vim中按i进入插入模式,输入以下代码

#include <stdio.h>

float x2x(int a, int b) {
    return (float)a * b;
}

输入完成后,按Esc退出插入模式,并输入:wq保存并退出。
3.创建主程序文件
打开vim,并创建一个子程序文件。打开终端,输入以下命令

vim main1.c   //创建一个名为main1.c的子程序文件

4.编写主程序
要求:主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。
在vim中按i进入插入模式,输入以下代码

#include <stdio.h>
float x2x(int a, int b);

int main() {
   
    int num1 = 5;
    int num2 = 10;
    
    float result = x2x(num1, num2);
    printf("The result of x2x is: %f\n: %f\n", result);
    
    return 0;
}

5.在Ubuntu系统下使用gcc命令行编译和运行

打开终端,进入包含main1.c和sub1.c文件的目录,使用以下命令编译main1.c。

gcc main1.c sub1.c -o main1

这条命令会将main1.c和sub1.c一起编译,生成可执行文件main1。
在编译成功后,在终端执行以下命令运行程序

./main1

此时,我们可以在终端显示:The result of x2x is: 50.000000

6.在Ubuntu系统下使用Makefile编译主程序
创建一个名为Makefile的文件,并添加以下内容:

CC=gcc
CFLAGS=-Wall

main1: main1.o sub1.o
    $(CC) $(CFLAGS) -o main1 main1.o sub1.o

main1.o: main1.c
    $(CC) $(CFLAGS) -c main1.c

sub1.o: sub1.c
    $(CC) $(CFLAGS) -c sub1.c

clean:
    rm -f *.o main1

打开终端,输入make命令来编译程序

make

运行编译后的程序

./main1

六、在Windows系统中运行代码

我在这里选择用Dev-c++来运行代码。
在Dev-c++z中输入如下代码并编译运行

#include <stdio.h>

float x2x(int a, int b) {
	return (float)a * b;
}

#include <stdio.h>

float x2x(int a, int b);

int main() {
	int num1 = 5;
	int num2 = 10;

	float result = x2x(num1, num2);
	printf("The result of x2x is: %f\n", result);

	return 0;
}

得到以下运行结果

在这里插入图片描述

七、实验总结

1.Ubuntu系统下的C语言编程和编译:
使用gcc编译器可以直接在命令行中编译和运行C程序,操作简单快捷。
Makefile的使用可以自动化编译过程,特别是对于包含多个源文件的项目,可以减少重复的编译命令。
2.Windows系统下的C语言编程和编译:
Windows系统下可以使用多种编译工具,如Visual Studio、MinGW等。
使用集成开发环境(IDE)如Visual Studio可以提供更丰富的功能,如代码调试、项目管理等。
3.代码组织:
将功能划分到不同的文件中(如主程序和子程序)可以提高代码的可读性和可维护性。
子程序的编写和调用是模块化编程的基础,有助于代码的复用。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值