C之九剑其一——识剑

从今天开始,我就要和大家一起进入编程这个充满神奇与魔幻的世界了,为了让各位读者大大有更好的体验感和阅读舒适度,我将用小说的模式来为大家进行咱们编程语言的讲解,大家准备好,咱们就要开始了。(ps.其实,我是个小白,这些都是我自己的笔记整理的东西,如果有遗漏或者错误的地方,望各位读者大大指正,你的纵容可能会让我走火入魔哦,哈哈!)

 

接下来一段时间,我将为大家带来C语言九剑法,这是一个将C语言的知识点汇合的剑法,江湖独此一份,好好研读修炼,各位少侠、女侠。愿以后,你们都能成为呼风唤雨的大佬。

首先,我们先来学校C九剑中的第一式,C九剑其一——识剑!想要学习一个东西,最重要的肯定是得知道对方是什么对不对?那在此,我就简略的为大家介绍一下:什么是C语言!

 

C语言,众所周知,它是一门被广泛熟知且具有划时代意义的计算机语言,它所面向的是底层的编写。从这里,大家不难看出C语言的重要性,这里我们可以理解为它是一切内功之基础,几乎所有高级语言或操作系统都是由C语言编写的,或者可以被C语言进行修改。C语言的历史不是们需要了解的重点,这里,我们只需要知道C语言很重要。

 

但正如上面我们所提到的,C语言作为一种“一切内功之基础!”。这里想表达的是它具有极好的可移植性和创造性。那在早期的使用中,由于各行各业乃至每个人对C语言的再编写和设计破坏了这种可移植性。可以理解为我用C语言编写的代码在你的编译器里跑不过去,那这就相当于从根源上破坏了C语言的优点。那为了解决这个问题,在1978年,人们便萌生了要统一C语言的标准的想法,第一个标准由丹尼斯·里奇(Dennis Ritchie)和布莱恩·科尔尼干(Brian Kernighan)出版的一本书,名叫《The C Programming Language》来进行设立的,人们称这个版本的C语言为“K&R C”。但这个其实不是一个正式的标准说明。

C的正式的标准真正开始于1983年美国国家标准局(American National Standards Institute,简称ANSI)。他们成立了一个委员会,来制定C语言标准。1989年C语言标准被批准,被称为ANSI X3.159-1989 “Programming Language C”。这个版本的C语言标准通常被称为ANSI C。又由于这个版本是 89年完成制定的,因此也被称为C89

后来ANSI把这个标准提交到ISO(国际化标准组织),1990年被ISO采纳为国际标准,称为ISO C。又因为这个版本是1990年发布的,因此也被称为C90。所以ANSI C、ISO C、C89、C90这4个标准的内容其实是一样的。

在ANSI C标准确立之后,C语言的规范在很长一段时间内都没有大的变动。1995年C程序设计语言工作组对C语言进行了一些修改,成为后来的1999年发布的ISO/IEC 9899:1999标准,通常被成为C99。但是各个公司对C99的支持所表现出来的兴趣不同。当GCC和其它一些商业编译器支持C99的大部分特性的时候,微软和Borland却似乎对此不感兴趣。

在2011年12月,ANSI采纳了ISO/IEC 9899:2011标准,这个标准通常即C11

2018年6月发布的ISO/IEC 9899:2018标准,这个标准被称为C18,是目前最新的C语言编程标准,该标准主要是对C11进行了补充和修正,并没有引入新的语言特性。

下一个版本的C语言标准,预计将于2022年12月1日完成。

那了解完C的标准以后,我相信,有很多小伙伴会有很多问题。比如文章中提到的C语言标准到底有什么用?还有什么是编译器?还有我了解了这些东西到底有什么用?

请不要着急,咱们慢慢地来讲解一下。

首先C的标准,为什么要设立C的标准以及C语言的标准代表了什么?

在聊这个之前,咱们得先聊一聊编译器,这个对于咱们学习C语言很重要的东西。可能很多小伙伴还不知道什么是编译器哦,那我们就先简单介绍一下。

编译器其实是一种计算机程序,它的作用是把一种编程语言编写的源码转换成另外一种计算机代码,后者往往是以二进制的形式的代码。

那属于我们C语言的编译器有哪些呢?

这里我列举了一部份,大家可以根据自己的喜好来选择:

Clang、GCC、WIN-TC、SUBLIME、MSVC(目前用的)、Turbo C等。目前作者在用的是VS2022,传送门已经放在下面了,大家放心食用。大家选择社区版是免费的哦~

Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com)

大家在安装的时候,只需要选择C++平台就可了。

看到这里,其实我们就不难理解了,计算机作为一种由二进制数据构成的“特殊生命”,它其实只看得懂二进制语言。就像英国人就只看得懂英文,咱中国人也只能看得懂中文一样(不进行深度学习的情况,别杠!)。那编译器就相当于我们人类和计算机之间的翻译器一样,所以说其实无论是咱们现在学的C语言,还是大家以后或者已经接触到的C++、JAVA、Go等等巴拉巴拉一大堆语言,计算机是看不懂的。只能由编译器来进行翻译,计算机才能真正读取到我们想要表达的意思。

那在了解了编译器之后,咱们再回过头来看C语言标准的制定就很简单了,编译器终归只是一个工具,那作为一种翻译工具。它在进行翻译的时候肯定得有语法支持,比如对同一种语言进行翻译,英语翻译成中文,它知道英语的主语+谓语+宾语(You're a big handsome guy —> 你是大帅哥)对应中文的主语+谓语+宾语,而不是像把英语翻译成日语一样主语+谓语+宾语(You're a big handsome guy —>你大帅哥是)日语一般会将谓语放在最后面。日语不是很好,大家能理解就行可以。

 

从这里就能理解咱们为什么要统一语法了,不然你日本人写的英语,我中国人压根看不懂。这还是建立在我们是人类可以进行猜测的情况,计算机可不会猜测,他只会按照固定的语法进行解读。

好了,说到这里,我相信小伙伴们应该已经对C语言有了一个大概的了解。而且恐怕早已手痒难耐了,那咱们就开始编写属于你自己的第一段代码吧!

这里,我先教大家如何运行自己的编译器(以VS2022为例),其他编译器大差不差。

首先得找到自己已经安装好的VS2022。

图标就是红色圈圈框起来的这个,然后点击打开。

1.创建一个项目

一般来说,大家是新安装的话,左面的应该是空的,大家不用管,直接选择“创建新项目”就可以了。

这里选择“空项目”,直接下一步就可以了。 

这个项目名称一栏“project1” ,这里需要修改一下,方面我们日后查找,一般我们是设置为“test_11_05”这样一个测试+日期的格式。注意,在修改的时候不能用中文,也不能用空格。其他地方最好不要修改,默认是哪里就是哪里,这个项目会和我们后面的源文件放在同一个地方

2.创建一个源文件(xxxx.c/头文件xxxx.h)

进来以后是这个界面,选择源文件,右击鼠标—>添加新建项。

创建以后来到下面这个界面。

选择C++文件,注意名称哪里改一下,一般是XXX.c文件XXX自己随便写一个方面记忆的,也可以就是“test.c”。

3.写代码

这样,我们就创建好了一个源文件,可以开始编写属于你的代码了。 当把代码写完以后,我们按中键盘上的ctrl+f5或者fn+ctrl+f5,咱们的代码就可以跑起来了。

int main(void)
{
printf("Hello World!");
return 0;
}

大家看不懂没关系啊,先照着敲一些,体验一下编程的魅力,我们将在下一章C之九剑——其二运剑中为大家进行详细介绍的。

ps:不知道有没有小伙伴特别着急,照着就开始敲,结果发现编译不了,弹出错误警告!这是因为,我们没有引用头文件,这时候只需要在第一行引用一下就可以了:#include <stdio.h>。小伙伴们学会了吗?

参考:

Alexxinlu 《C语言标准的发展》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值