Learning C语言(1)

从零开始以层层深入的思路来学c语言的系列文章

为什么要写这个系列

  • 身边很多朋友刚开始学c,以前从来没有接触过编程语言,甚至没有接触过计算机,对于c语言存在一种惧怕的心理,把它当成了某种特别高端的东西。

  • 很多人看似会写c语言,实际上不能理解背后的原理,只能盲目的套代码模板,导致后续的学习卡住,且没有自己的创新能力。

这个系列想做到什么?

  • 以我的思路从零开始层层深入c语言

  • 讲清楚c语言基础代码的概念和编写方法

warning

  • 本系列以我的思路推进,可能与常见的c语言教程的学习路径大相径庭

  • 建议阅读本文前先掌握一部分c语言知识,以我目前的想法仅仅是解决一些新手只会写不懂道理,不能举一反三的问题。

那么让我们开始吧

c语言简述

用途

任何编程语言都起到了让计算机执行我们想让他执行的命令的作用,也就是说写一个应用,在windows上可能是.exe文件。

编程语言绕开了底层的复杂,让我们以一种人类可以理解的方式编写我们想要的程序。c作为一种高级语言,从某种程度上来说,是具有极高的可读性的。

想让程序实现我们想要的功能,就需要写出对应的代码。因此,实现一个程序仅仅需要我们把一步一步的代码写在一起,写代码也不是电视里所吹嘘的那样无比高端的东西,他只需要我们写,写一种计算机能够理解的语言,去命令计算机做我们想让他做的事。这也就是为什么编程语言被叫做语言了吧,当然计算机不会违逆我们的命令(在某种程度上),而听你说话的人可不一定

编译

先去除掉这种编程好厉害啊的思想,那我们开始正式进入这门语言。

首先我们要清楚的事,计算机并不能直接读懂编程语言,这很遗憾,我们需要借助某种工具把编程语言给转换成计算机可以直接执行的东西。

我们把源码(也就是c语言的代码)都放在c语言的源文件里,也就是.c文件。.c文件本质上就是一个文本文件,里面写着我的代码。我们现在需要一种工具把这个.c文件转换成可执行的文件,也就是windows下的exe文件,就需要用到编译器

编译器的作用目前可以理解为源码->可执行程序。c语言比较知名的编译器有gcc等。

这个时候大家可能就要问了,我平常在ide里写代码,直接就能生成可执行文件,为什么没有用到编译器呢。其实生成的过程是由ide进行了编译器的调用。你们使用的一些ide例如VS和Dev-cpp就是自带编译器的,他们调用了自带的编译器进行生成,因此你可能并没有接触到编译器的使用。如果你用的是VSCODE的话,那么你在配置c语言环境的时候应该经历过了编译器的配置,那么你应该可以理解编译器的作用了

也是比较推荐大家使用下vsc,自行配置一下环境可以加深对上述概念的理解,不过新手使用dev或许也是有好处的,因为没有实时提示或许可以提升你对基础知识的理解和记忆吧。

还有一点需要注意的是,不少人认为一个应用只能有一个源文件,其实不是的,一个应用可以写成很多个c文件,比如把不同的功能写在不同的文件里,最后用头文件连接,这将在我们后续聊到函数的时候再提这一点。

使用gcc编译

例如,把1.c文件编译成1.exe

1
gcc 1.c -o 1.exe

编译多个文件生成一个应用

例如:

1
gcc 1.c 2.c 3.c -o 1.exe

-o是object的意思,可以理解为生成1.exe

总结

本文作为该系列的开坑之作,仅仅唠完了前置的一些东西和我想说的一些话,下一篇文章将开始进入具体的代码。

Last updated on Nov 21, 2024 02:00 UTC
copyright © dinglz
Built with Hugo
Theme Stack designed by Jimmy