您的位置  > 互联网

11年编程经验的老鸟,来替你把这个问题解决了吧

长期关注我的朋友应该知道我是一个认真的Java程序员。 我从来没有用过C语言,也没有学过C语言。 直到前几天,姐姐向我抱怨学校安排他们学的C语言太难了,让她感觉自己什么都没学到。 课堂上她听不懂老师在讲什么,课后她也看不懂书上的内容。 她完全糊涂了。 连安装编程软件都困难!

你对此无能为力,你知道,这是我的亲生妹妹。 你真的不是凭空创造出一个女孩的。 贴一张照片来证明你的清白。

既然是我把她带进了编程的坑,我就必须负责到底! 于是就在知乎上搜索了如何学习C语言。 我想带头! 找啊找,找啊找,终于找到了一个好的答案。 受访者推荐去哔哩哔哩观看浙江大学翁凯教授的视频教学。

只能说视频质量非常高,一口气看了十多集。 其中,讲的是编程软件。 所谓的编程软件实际上指的是IDE吗?

IDE的全称是,中文名称是集成开发环境。 顾名思义,它集成了代码编辑器、编译器、调试器,甚至代码版本管理工具,并提供了方便的可视化用户界面。

我们稍微聊点题外话吧。 十几年前,我接触的第一个IDE叫IDE。 它在IDE的基础上增加了一些专门的插件,主要用于Java企业级应用程序的开发。 现在想起来,我还是不明白为什么老师让我们用它而不是学Java。 如果编程软件选得不好,就要劝其退出。

回到主题。 视频中翁凯教授推荐的IDE是Dev-C++(为什么不是Dev-C?因为它既可以开发C,也可以开发C++)。 虽然这是一个免费的 IDE,安装也非常简单,但该项目已经不再活跃。 从2005年2月22日到2011年6月,Dev-C++的官方网站没有发布任何新消息,也没有发布新版本,这表明Dev-C++的发展已经进入了低迷状态。

2006年,Dev-C++的主要开发者Colin曾这样解释:“因为我忙于现实生活中的事务,所以没有时间继续Dev-C++的开发。

只能说是遗憾! 要知道,Dev-C++曾经被移植到Linux上,可见它确实已经辉煌了。

除了 Dev-C++,还有哪些选择?

其实你可以选择文本编辑器,比如Vim,如果和MinGW一起使用,也可以写出漂亮的C代码,但它们不是IDE,可能不是提问者想要的答案!

但既然提到了这一点,可能有业内人士会好奇,MinGW 是什么? 我们就顺便了解一下吧。 毕竟我们想要学习C语言,就无法回避这个知识点。

MinGW(GNU for)是一个将GCC编译器和GNU移植到Win32平台上的产品,包括一系列头文件、库和可执行文件。

那么,什么是海湾合作委员会?

GCC的全称是GNU,是一组可以用来编译C语言的编译器。 这听起来不太酷,对吧? 很酷的事情是它被认为是跨平台编译器的标准! 除了编译C语言外,它还可以处理C++、Java、Go等知名编程语言。 这里还要说一件事。 了解GCC是有必要的,因为稍后你使用IDE编写第一个C语言程序时会遇到它。 如果没有理解清楚的话,到时候就会有点糊涂了。

许多类Unix系统(例如,,,,以及各种类似于传统Unix的系统,例如Linux)都使用GCC作为标准编译器。

那么 GNU 呢? 好奇的宝宝可能会再问。

GNU 是一组用于处理多种格式的目标文件的编程语言工具,通常与 GCC、make 和 GDB 等程序结合使用。

至于make和GDB,这里就不再追寻线索了。 想了解更多的朋友可以自觉一下。 是啊是啊,一不小心说太多了,我们继续说编程软件吧。

坦白说,如果CLion有社区版,我一定会选择CLion!

不为别的,只因为CLion是该公司开发的一款用于编写C/C++的IDE。 该公司发布了很多流行的开发工具,如Java集成开发环境IDEA、PHP集成开发环境、Go语言集成开发环境等。

无论是哪个平台,macOS平台,还是Linux平台,CLion都提供了对应的版本供下载。 不过,商业版仅提供30天的免费试用期。

但是,但是,但是,请注意,如果你的朋友有教育邮箱地址(edu结尾的那种),请毫不犹豫地选择CLion,它可以免费使用! 下面的地址是申请链接。

///#

如果没有可用的教育邮箱,则只能选择其他 IDE 作为次优选择。 大多数朋友不会使用Linux进行开发(如果有请在留言区说666),所以我只选择平台和macOS。

我们先来说说 macOS。

1)Code::Block,一个免费、开源、跨平台的集成开发环境,支持C/C++编程语言的开发。 我下载并安装并尝试了它。 该窗口无法调整大小,并且填满了整个桌面。 我个人觉得它很笨拙,所以安装后就卸载了。 它已经过时了!

2)、有“情怀”的跨平台开源集成开发环境。 最初它主要用来编写Java代码,但也可以通过插件作为其他编程语言如C/C++、PHP等的开发工具。

如果您是第一次使用,可以直接从官网下载C/C++版本; 如果你的电脑上已经安装了,可以在插件市场安装C/C++插件,如下图。

安装插件的过程可能很慢,我几乎放弃了。

安装成功后,可以新建一个C语言项目,如下图所示。

之后,创建一个新的 hello.c 文件,其中包含以下内容:

#include 

int main() {
    printf("hello world");
    return 0;
}

初学者可能看不懂,但是没关系。 你只需要知道它是一段用C语言编写的可以输出“hello world”的代码。 我打算学完C语言之后再学C++,这样学习曲线可能不会那么陡峭。 在实际教学中,学校也会要求学生先学C打好基础,然后再换老师教C++。 然而C++语言本身很难学,并且有很多语法特征。 这是ACM专家推荐的免费课程。 看完翁凯教授的C语言后,你可以尝试一下这门课程:

编辑“hello world”代码后,保存并手动输入。 尝试记住这个简单的代码。 然后点击看起来像锤子符号的“Build”按钮来编译代码。 在“”面板中会有编译日志输出,如下图所示。

再次单击“运行”按钮即可查看输出结果。

3)Code,微软开发的免费代码编辑器,支持Linux、macOS等操作系统,也支持测试,内置Git版本控制功能。 它还具有代码补全、代码重构等开发功能。 下载链接如下所示。

/zh-hans/

安装成功后打开,选择左侧的插件市场。 可以看到很多编程语言的扩展插件,比如C/C++、C#等,我安装了C/C++插件,所以上面会显示。

这里推荐另一个很棒的插件Code,是我朋友韩军的作品。安装这个插件后,无需任何配置,就可以直接编译运行C代码。 默认使用GCC编译器(前面提到过)。

您可以在插件市场搜索“Code”关键字直接找到该插件。 安装成功后,Code右上角会出现“△”符号。 点击它即可一键运行代码!

新建一个hello.c文件,复制之前的“hello world”代码,保存并点击“运行”按钮。 您可以在“”面板中看到以下结果 - 完成。

再说一遍。

1)、你也可以从上面选择,但我不得不说我不推荐。

2)、这是VS的社区版,免费。 它与Code不同,Code严格来说是一个文本编辑器,而VS是一个真正的IDE,包含了整个软件生命周期所需的大部分工具。

/zh-hans/vs//

不过这个东西相当重量级,下载需要一段时间。

耐心地等待。 安装完成的那一刻,我就听到电脑风扇疯狂的尖叫声。 不用担心那么多了,新建一个空白项目,然后在源文件中添加一个hello.c文件,复制之前的“hello world”代码,如下图所示。

点击“工具栏”中的“本地调试器”运行程序,可以在控制台看到输出信息,如下图

3)Code,你也可以选择它,但是与macOS自带的GCC不同,Code上默认没有C语言编译器,所以不能直接使用。

如上图所示,同样的代码会提示路径错误。 怎么做?

我们需要先下载并安装MinGW。 如果你忘记了MinGW是什么,可以返回之前的内容进行确认。 MinGW的下载地址如下:

//mingw-w64/

进入下载页面后,找到下图中红色圈出的文件,然后下载。

下载完成后解压。

将bin路径配置到系统变量PATH中。

然后启动cmd,输入gcc -v命令确认是否配置成功。 如果出现下图信息则说明配置成功(最后一行是gcc的版本号)。

再次启动Code,发现之前提示的错误消失了。 点击“运行”按钮,在“”面板中可以看到如下结果——完成。

最后总结一下重点:重要、重要、重要:

1) 如果您有教育电子邮件地址,CLion 是您的首选。 第一个原因是公司的产品值得信赖; 第二个原因是它支持跨平台,macOS和Linux。 希望以后能有社区版本!

2) 如果您没有教育电子邮件,请选择代码。 第一个原因是好看、占用内存小、插件丰富、使用方便; 第二个原因是它还支持跨平台。

3)如果您是用户并且您的计算机上安装了它,您可以使用它编写C语言代码; 如果你是 macOS 用户并且你的电脑上安装了它,你就可以凑合使用它。

4)如果你的电脑上安装了GCC,并且你写的C代码不是特别复杂,你也可以不使用IDE,直接使用文本编辑器,然后在命令行运行。 具体步骤请参考下图。

至于为什么要学C语言? 下图的编程语言排名就解释的非常清楚了。 C语言长期占据编程语言榜首。 关键是学习C语言可以让我们更深入地理解内存和编译原理,了解程序的每一个细节,从而打牢编程的基本功。 毕竟站“低”才能看得远,呵呵。

朋友们,让我猜一下,我姐姐学校的老师让他们安装的是什么IDE? 当然,我不会告诉你答案,因为真的,我担心如果我告诉你,你会笑。 要知道,大学教育也就那么回事,还不如我这个大哥自己来教呢!

我辛苦一整天整理出来的,希望能给以后的朋友一些帮助。 我非常感谢知乎社区。 平时不知道如何学习的时候,我就经常来知乎寻找答案。 我得到了很多启发。 非常感谢愿意分享的前辈,让我少走了很多弯路。

如果觉得不错的话,就点个赞吧@沉默王二,续杯~