在Ubuntu系统下用C语言编写程序
一、任务
在Ubuntu系统下请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。
- 请在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行;
- 请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。
- 在任务1基础上,在ubuntu系统下用Makefile方式编程主程序。
二、实践
- 任务一:创建main1.c、stu1.c文件,并编写代码
//main1.c #inlcude<stdio.h> # include "stu1.c" int main ( ) { printf ( "%f" , x2x ( 3 , 5 ) ) ; return 0 ; } //stu1.c float x2x ( int a , int b ) { float c ; c = a + b ; return c ; }
root@rick : ~ # mkdir test1 //创建一个工作目录 root@rick : ~ # cd test1
root@rick : ~ / test1# touch main1 . c //新建两个.c文件 root@rick : ~ / test1# touch sut1 . c
root@rick : ~ / test1# gedit stu1 . c //利用gedit编辑器编写程序 root@rick : ~ / test1# gedit main1 . c
root@rick : ~ / test1# gcc main1 . c - o main1 //编译程序并生成可执行文件main1 root@rick : ~ / test1# ls
main1 main1 . c stu1 . c
root@rick : ~ / test1# . / main1 //运行可执行程序main1 8.000000 //结果
-
任务二
-
任务三
前面步骤同任务一,Makefile的编写如下:
root@rick : ~ / test# touch Makefile
root@rick : ~ / test# gedit Makefile //Makefile main1 : main1 . o sub1 . o
gcc - o main1 main1 . o sub1 . o
main1 . o : main1 . c
gcc - c main1 . c
sub1 . o : sub1 . c
gcc - c sub1 . c
root@rick : ~ / test# make
gcc - c sub1 . c
gcc - o main1 main1 . o sub1 . o
root@rick : ~ / test# ls
main1 main1 . c main1 . o Makefile sub1 . c sub1 . o
root@rick : ~ / test# . / main1 8.000000
三、小结
通过三个任务的实践,我对编程的底层有了更深刻的了解,编写程序的四个步骤,雅思班学费预处理->编译->链接->运行。其中,在ubuntu系统下利用Makefile(自动化编译C语言程序的脚本工具)使得执行命令更加高效、便捷。
四、补充:
1)修改系统参数,选择国内镜像软件源仓库,以提高软件安装速度。见链接: ubuntu更改镜像源
2)ubuntu18.04系统桌面很卡怎么办,见链接: 解决ubuntu18.04桌面卡的问题
3)ubuntu安装anaconda见链接: Ubuntu18.04 安装 Anaconda3
4)windows通过xftp、xshell连接ubuntu,见链接: 使用xshell连接ubuntu