在Linux(Ubuntu版)下编写运行C语言程序

在Linux(Ubuntu版)下编写运行C语言程序    最初学习C语言用的是VisualC++6.0,后来还用过一些IDE,复制粘贴都可以用鼠标对目标进行选择即可。但在Linux系统里,需要熟练掌握在Terminal里编写C语言程序,进行编译调试。本章主要介绍在Linux的终端下编写C程序并编译运行。一,编写C时需要掌握的一些Linux操作(1)文件管理相关的命令Linux命令名称作用使用举例mkdir新建文件夹mkdirtest,m…

大家好,又见面了,我是你们的朋友全栈君。

       最初学习C语言用的是Visual C++6.0,后来还用过一些IDE,复制粘贴都可以用鼠标对目标进行选择即可。但在Linux系统里,需要熟练掌握在Terminal里编写C语言程序,进行编译调试。本章主要介绍在Linux的终端下编写C程序并编译运行。

一,编写C时需要掌握的一些Linux操作

(1)文件管理相关的命令

Linux命令名称 作用 使用举例
mkdir 新建文件夹

mkdir test,mkdir -p test1/test2/test3

cd 更改当前的工作目录 cd test
ls 列出文件夹下包含的文件信息 ls,ls -R,ls -a,ls-l
pwd 查看当前工作目录 pwd,pwd -P
cp
拷贝文件 cp test1.c test2.c,cp test1.c ../test2
rm 删除文件或文件夹 rm test1.c,rm -r test
mv 移动文件 mv test1.c ./test2
cat 查看文件内容 cat test.c,cat -b test.c,cat -s test.c

touch

创建文件或更新文件时间 touch test.c,touch test.c test.c

(2)使用Linux的vi编辑器

1)Linux下的vi编辑器分为三种模式,分别为一般模式、插入模式、底行指令模式,进入三种模式的方法分别如下:

一般模式(刚进入的模式) 进入vi时的模式,当前为插入模式下按ESC键可到一般模式
插入模式(或称为编辑模式) 按下A,a,I,i,O,o进入(有所区别,按照效率选择)
底行指令模式 :,/,?(用的:和 / 较多)

插入模式用来编辑代码内容,一般模式用来复制、粘贴、删除等操作,底行命令模式主要用来保存文件、退出、查找文本内容等。

2)vi编辑器的一些操作指令

一般模式下 底行指令模式下

        [N]dd:剪切行内容。

        [N]yy:复制行内容。

        [N]x:剪切从光标处开始的N个字符。

        pP:粘贴当前行内容,小写p是向下粘贴,大写P是向上粘贴。

        u:撤销上一步的操作。

[N]表示光标处向下N行的内容,例如5yy表示复制包括光标所在行向下5行的内容)

         hjkl分别表示向左,向下,向上,向右。

        1GG分别指光标移动到首行和最末尾行。

y0,y$分别表示复制光标到行首部分的内容和光标到行尾部分的内容。

d0d$分别表示剪切同上方式。

        :w 保存内容。

        :q! 强制退出。

        :q 退出未修改的文件。

        :x保存并退出(也可以用:wq)。

        :w 文件名 另存为文件名的文件。

        :r 文件名  读入文件内容插入到当前光标位置。

        :N 光标移动到第N行。

        :set nu显示行号。        :set nonu不显示行号。

        /string 查找字符串(通过n或者N分别向下或反向查找)。

        :s/string1/string2 将字符串string1替换为string2。

(注:可以是“:起始行,结束行 :s/string1/string2 ”来将某一范围内的字符串替换,在末尾如果加/g表示所有找到的字符都替换。)

        :!+Linux命令 可执行Linux命令,执行后可再次回到编辑界面。

对于复制和粘贴也可通过“起始行,结束行”+y(或者d)的方式对某一部分块进行复制(剪切)


二、使用vi编辑器编写C程序

(1)打开Terminal(终端),建立相关目录,在该目录下执行“vi test.c”,将新建一个名为test.c的文件并进入(此时未保存,保存后该文件才存在)。

(2)使用前文提到的命令编写C程序,保存并退出。

在Linux(Ubuntu版)下编写运行C语言程序

(3)使用  gcc test.c -o test    ./test 编译生成文件并运行。

在Linux(Ubuntu版)下编写运行C语言程序

小技巧:

(1)打开Terminal可以快捷方式Ctrl+Alt+T,或者使用Search搜索Terminal。

(2)输入时可以使用Tab键补充文件名。

(3)gcc后面可加 -Wall,提示错误信息。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149175.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • initramfs-kernel_deepin initramfs

    initramfs-kernel_deepin initramfsOtherlanguages:一些基于Linux的计算机系统系统需要一个intramfs才能正常启动。在本指南中,将说明initramfs的概念,以及如何正确地创建和管理initramfs。Initramfs是什么介绍许多用户是没有必要关心initramfs系统的。他们的系统使用了简单的分区方案,而且没有奇奇怪怪的驱动程序或者设置(如加密的文件系统),因此Linux内核完全能够把…

    2022年8月11日
    8
  • tensorflow模块安装

    tensorflow模块安装

    2021年11月19日
    47
  • tdscdma手机linux,全方位介绍——TD-SCDMA无线技术(1)[通俗易懂]

    tdscdma手机linux,全方位介绍——TD-SCDMA无线技术(1)[通俗易懂]全方位介绍——TD-SCDMA无线技术(1)无线3G中的TD-SCDMA无线技术绝对是中国人所关注的重点,不仅仅因为它是我国自主研发的,更因为它是结合了多种高端无线通信技术的联合体。那么,本文将为大家详细介绍TD-SCDMA无线技术的知识。一,TD-SCDMA无线技术是什么?TD是TD-SCDMA——TimeDivision-SynchronousCodeDivisionMultiple…

    2022年10月4日
    2
  • 下一代开发利器 jetbrains fleet 开放试用申请了[通俗易懂]

    下一代开发利器 jetbrains fleet 开放试用申请了[通俗易懂]申请回复jetbrainsfleet11月29日,JetBrains首席布道师HadiHariri在官方博客发文,正式宣布Fleet编辑器的到来。官网

    2022年5月29日
    36
  • axios实现跨域三种方法_跨域的解决方案

    axios实现跨域三种方法_跨域的解决方案Axios是不允许跨域访问的,别说跨域,跨端口都不行。例如某项目我本地vue前端frontEnd为`localhost:8888`,Java后台backEnd为`localhost:8889`。这个时候就有两个方案了:-修改`frontEnd`前端,支持跨域(通过代理的形式,当然这种是`伪跨域`,但是挺有用,前提是后端不限制即可)。-修改`backEnd`后台,支持跨域(同时限制可跨域名,不在本文讨论范围,且看过往处理方式)。

    2025年11月1日
    4
  • redhat8本地yum源配置_redhat7网络yum源配置

    redhat8本地yum源配置_redhat7网络yum源配置redhat8—配置yum源1、挂载系统光盘mkdir-pmount/dev/sr0/mnt/cdrom2、配置yum源将这段内容粘贴进去[BaseOS]name=BaseOSbaseurl=file:///mnt/cdrom/BaseOSenabled=1gpgcheck=0[AppStream]name=AppStreambaseurl=file:///mnt/cdrom/AppStreamenabled=1gpgcheck=0:wq!保存退出3、测试yu

    2022年8月12日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号