在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)
上一篇 2022年6月16日 下午11:31
下一篇 2022年6月16日 下午11:31


相关推荐

  • arraydeque方法_arrayset

    arraydeque方法_arrayset美人如斯!ArrayDeque是java中对双端队列的线性实现一.特性无容量大小限制,容量按需增长; 非线程安全队列,无同步策略,不支持多线程安全访问; 当用作栈时,性能优于Stack,当用于队列时,性能优于LinkedList 两端都可以操作 具有fail-fast特征 不能存储null 支持双向迭代器遍历注意:ArrayDeque的迭代器和大多数容器迭代器一样,都是…

    2026年2月5日
    5
  • LOJ10049_基金012498

    LOJ10049_基金012498LOJ10049Trie裸题(虽然我写这SB题写了快一小时)对字符串建树的同时刷答案,有两种情况:经过了一个字符串的词尾(即过了一个标记点)一直在另一个字符串里走(没有让树长出新枝)#include<bits/stdc++.h>#definegt()(p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,std…

    2022年10月1日
    6
  • ubuntu android studio_android自启动

    ubuntu android studio_android自启动(1)添加头文件:#include(2)在特定驱动结构体中添加early_suspend结构:#ifdefCONFIG_HAS_EARLYSUSPENDstructearly_suspendearly_suspend;#endif(3)在驱动probe函数中注册相关early_suspend结构体:#ifdefCONFIG_HAS_EARLYSUSPEND

    2026年1月17日
    5
  • animate.css的使用

    animate.css的使用[1]引入[2]效果演示[3]实际应用

    2022年6月30日
    28
  • 入Silverlight QQ群者必读「建议收藏」

    入Silverlight QQ群者必读「建议收藏」建立本技术群的目的,是为拥有共同爱好的你们提供一个交流平台,我们在此相约同游,共同分享彼此的Silverlight与WPF开发技术心得经验,当然也可以讲饮讲食,一起FB……希望各群友可以相互尊重,文明上网,将本群建成一个和谐的大家庭。         正所谓国有国法、群有群规!希望大家配合遵守!           1.严禁攻击人身的言论;在群中公然侮辱他人、捏造事实诽谤他人、对他人进

    2022年7月17日
    15
  • Streaming 响应如何优化?OpenClaw 参数与前端渲染详解

    Streaming 响应如何优化?OpenClaw 参数与前端渲染详解

    2026年3月13日
    3

发表回复

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

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