vlambda博客
学习文章列表

零基础学C语言(2):C语言的注意要点

在上一节,我们已经拆解世界上最伟大的程序,号称学会了就能掌握C语言的60%,那这一节我们来讲一讲C语言的相关注意要点。

上节作业讲解

上一节课,我们遗留了一份作业,不知道小伙伴们做出来没有,其实就是把Hello World程序敲上去,然后,把printf()函数里的“Hello World”替换成自己的名字即可。

假如我叫张三,程序如下:




将程序编译运行后,其结果如下:


零基础学C语言(2):C语言的注意要点



C的令牌

令牌(Tokens),C语言是由各种令牌组成的,令牌可以是关键字(之后我们会讲到32个关键字,其实不止32个)、标识符、常量、字符串值,或者是一个符号,空格,甚至是注释,都属于令牌。

1. 标识符

C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称标识符必须是英文字符或者是下划线_开头(不能以数字开头),后面可加上任意数量的字母、数字或下划线

这里大家如果不理解标识符是做什么用的,没关系,后面会详解,先记住就行。

C 标识符内不允许出现标点字符,比如 @、$等。而且标识符是区分大小写的,例如A和a就是两个不同的标识符。

我们来举几个例子:

C aaa _e k498 45 &de char

上述列举这几种标识符些是正确的呢?

通过我们上述的解析,直观地看,好像除了 45 和 &de 这两个标识符都是正确的。但并不是,这里的char就不是一个正确的标识符,为啥呢?

因为char是C语言中保留的32个关键字之一,是有特殊含义的,不能被作为标识符。

有人问,那怎么办呢?我刚学,不知道哪些是关键字,一起冲突了怎么办呢?

哈哈,我一开始接触的时候也有和大家一样的疑问,其实并不需要纠结,因为一般出现关键字,你所用的编译器会检测到,然后标上特殊的颜色,例如,上一节我们拆解Hello World时,出现的关键词int就是蓝色的。

就算没有特殊颜色,也没关系,编译的时候会报错的,我们顺着build log里的提示找到错误点,然后改成别的就好了。

2. 空格

空格表示只包含空格的行,被称为空白行,可能带有注释,C 编译器会完全忽略它。

例如int main();这里的int和main之间就有一个空格,空格分隔语句的各个部分。就像大家阅读英文文章一样,主要是让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。

如何写好程序

我们要时刻牢记一个真理——程序是让人看的。

很多人不理解,我写程序是给自己要做某一件事而写的,重点是要成果,干嘛给别人看呢。其实不对,一个好的程序,应该是给人阅读的,只是顺便用来执行而已。

我身边的很多人(包括我自己),有时候回顾之前的程序,第一个表情是一脸懵逼的,卧槽,我当时写的是个神马东西。

这是典型的没有做好注释,以至于现在回想起来不记得写了些啥了。所以注释很重要,因为有时候它不是给你自己看的,比方说,一个小组要做某个项目,这个项目拆成一小块一小块,大家各司其职,最后汇总,人家汇总的时候,就需要看同事写的代码,这时候,如果你发现有一个同事写得你很难理解,什么注释都没有,代码格式也混乱,怎么办?

因为你看不懂,你只能问他,这段写得是什么,有时候大家都很忙,你也很烦躁,看着别人整理的乱七八糟,你会更加糟心,十分影响小组之间的工作效率,关键影响心情。

所以代码的格式和注释很重要。

这里给大家几点建议:

1. 一句一行:一句话写完了,加上分号后,就换到下一行,这是最基本的要求。

2. 多用空格:空格能给人一种简约的感受,如果你的代码挤得像一篇英语作文,别人看都不看一眼。例如:①int a = 0; ②int a=0;同样是定义一个变量a,第一种写法就比第二种好得多。可能一句大家看不出来,下面举个例子。






很明显,同样是求a+b的和程序,第一张图的代码阅读效果要比第二张图好很多,第二张图不管是代码不对称,而且“;”后还有程序,就会显得冗余,变量和数字之间的“=”,没有用空格隔开,显得很拥挤。用空格把代码变好看,它不香吗?

空格键那么长,就是让你用的啊,不然有何意义?

3. 标识符的命名:这一点尤为重要,很多初学者往往要定义一个变量,就随便取,比如像我上面那样a、b、ss、qwer这种,随心所欲,当然,如果程序比较简单,也无所谓。如果很复杂,那就不推荐这样命名了,尤其是这个标识符被大量用到时,就会很混乱,变量一多,自己就已经懵圈了。

所以命名尽量清晰一点,例如你要定义一个计数的变量,你就可以命名为count,如果是为了做条件判断,就可以命名成condifion_flag,用英文单词是最好的方式,当然,不喜欢下划线_的小伙伴可以首字母大写,总之比qwer、df这些毫无意义的标识符好很多。

4. 多去看大神写的代码,好的代码我们可以借鉴,看写得好的人是怎么写的,多去借鉴,然后形成自己的风格。

5. 多敲,多敲,多敲!这是写好代码的唯一方法,多敲就明白该怎么写了。

总之,好的习惯我们要维持,不好的习惯要慢慢改过来。

总结

至此,我们第一章的内容就到这里了,我们已经解析了世界上最大的程序,并掌握了程序的基本结构,同时也给大家介绍了什么是好的程序。当然,中间还遇到一些我没有的东西,不着急,慢慢来,一口吃不成胖子。例如,这一节和上一节提到的int还有关键词char是干嘛用的,我们将在下一章讲解,敬请期待!

本节作业

下面列举的标识符中,你认为那些是有效的,那些是无效的,那些是比较好的标识符?

Char、¥god、MoveStutas、87sd、fs、h、hello_flag、_suc、int、voe

温馨提示:第一节有一个很奇怪的链接,大家记得保存哦~