在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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • GCC、ARM-LINUX-GCC、ARM-ELF-GCC浅析

    一、GCC简介:TheGNUCompilerCollection,通常简称GCC,是一套由GNU开发的编译器集,为什么是编辑器集而不是编译器呢?那是因为它不仅支持C语言编译,还支持C++,A

    2021年12月27日
    51
  • 怎么提高开车技术_全日行车计划

    怎么提高开车技术_全日行车计划Description现在有n个城市,每个城市有它的高度HiH_i,保证每个HiH_i互不相同。我们定义两个城市之间的距离disi,j=|Hi−Hj|dis_{i,j}=|H_i-H_j|,并且只能从编号小的城市去到编号大的城市。现在有两个人,小A和小B要开车(雾)去旅行。小A先开一天,小B再开一天。每一天都可以从一个开到另一个城市。小A会选择去离当前城市第二近的城市,小B会选择去离当前城市最近的那

    2022年8月22日
    6
  • Linux设备树(Device Tree)机制

    Linux设备树(Device Tree)机制目录1.设备树(DeviceTree)基本概念及作用2.设备树的组成和使用2.1.DTS和DTSI2.2.DTC2.3.DTB2.4.Bootloader3.设备树中dts、dtsi文件的基本语法3.1.chosennode3.2.aliasesnode3.3.memorynode3.4….

    2022年6月21日
    22
  • 虚函数后面的分号可有可无_虚函数需要实现吗

    虚函数后面的分号可有可无_虚函数需要实现吗const 和 =0要分开理解.首先理解一下分开的意思成员函数后面用 const 修饰,const表示this是一个指向常量的指针,即对象成为一个常量,即它的成员不能够变化.(默认情况下,this的类型是指向类类型非常量版本的常量指针。例如在Sales_data成员函数中,this的类型是Sales_data *const,即类一旦实例化一个对象后,this指向这个对象,是不能改变的,但是对象…

    2022年8月18日
    7
  • DeepLink的实现原理「建议收藏」

    DeepLink的实现原理「建议收藏」前言之前我们又是看源码又是研究动画,今天分享一个比较简单的技术点:DeepLink。DeepLink,深度链接技术,主要应用场景是通过Web页面直接调用Android原生app,并且把需要的参数通过Uri的形式,直接传递给app,节省用户的注册成本。简单的介绍DeepLink概念之后,我们看一个实际的例子:朋友通过京东分享给我一个购物链接:于是我通过微信打开了这条链接:…

    2022年6月23日
    64
  • Android系统签名文件

    Android系统签名文件系统签名所需要的工具signapk.jar——————–>out/host/linux-x86/framework/signapk.jar(build/tools/signapk目录编译生成)platform.pk8,platform.x509.pem——————>build/target/product/secu…

    2022年6月21日
    31

发表回复

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

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