一、为什么要学C语言
C语言是一种较为底层的高级语言,学习C语言不仅能为学习其他编程语言打下基础,也可以让你对计算机的硬件有一定的了解。而且C语言在Windows系统下不需要配置编译环境,只需要下载一个编辑器就可以进行编程,入门门槛较低。
二、Hello World
“Hello World”应该是大多数程序员写的第一行代码,下面展示一下C语言中的“Hello World”:
#include<stdio.h> //引用头文件
int main() //程序的入口
{
printf("Hello World!\n");
return 0; //程序的出口
}
下面我们来简要分析一下这段代码:
- 第一行的
#include<stdio.h>
是头文件的引用,st是standard的缩写、i是input的缩写、o是output的缩写,stdio.h既为标准输入输出函数库,这里面有帮助你进行输入输出的库函数,几乎是C语言的必备头文件。 int main()
作为程序的入口、return 0;
作为程序的出口,可能较难理解,不够现在只需要记忆,在学到函数部分自然可以理解,从今天到未来的很长一段时间内,你的程序都是在如下的框架中进行编写的:
在有些书的样例中你可能会看到int main() { return 0; }
void main()
的写法,这种写法在C语言中并不算错,但是在C++中已经被淘汰掉了,类似的问题以后我们还会经常遇到,这种情况我们尽量选择被C++兼容的C语言写法。printf("Hello World!\n");
是这个程序实现的主要功能,他会在你的屏幕上打印出“Hello World”的字样。print是打印的英文,而f是format的缩写,意为格式化打印,这个函数从属于stdio.h
库中。格式化的功能在这个程序中并没有体现,不过在后面的学习我们会经常用到。printf("Hello World!\n");
句尾的;
是C语言语句中必不可少的,C语言程序的基本组成单位是函数,而函数又是由一个个语句组成的,这是初学者的易错点,要么忘记了分号,要么误触成中文的分号,在这里强调,C语言中的所有符号均是英文符号。printf("Hello World!\n");
中的\n
为转义字符,这里起到为打印内容换行的作用,大家可以在不同的位置添加\n
,观察程序打印的内容有什么变化,这里不再赘述。- 在这段代码中,有三段文字出现,在C语言中理论上是不允许出现中文字符的,除了字符串或者注释,这三段文字都属于注释,这是以
//
开头的单行注释,还有以/*
开头以*/
结束的多行注释,注释只会给人看,而编译器在编译时会自动忽视。
三、在哪里可以写代码
- 我们可以用一些在线的网站去编写你的C语言代码,或者下载本地的编辑器,这里推荐Dev C++和Visual Studio。Dev C++较为小巧,在大多数编程比赛中都可以使用,但相比于Visual Studio功能就少的可怜,而Visual Studio对小白来说又过于笨重,大家自行取舍。
- 此外,在我们使用本地编辑器进行编写程序的时候,生产文件的后缀名为
.cpp
而非.c
,这是C++的文件后缀名,并非C语言,大家可以自行更改文件后缀名,但并不建议大家更改,就像上文所说,建议使用被C++兼容的C语言写法。
四、如何学习C语言
- 学习任何一门编程语言都建议着重实战,多编写代码,前期不要把注意力都放在那些语法细节上,像一种问题多种写法的情况,掌握一种写法,其他写法有个基本的印象即可,当具备了一定的编码能力后,再找一本书去深入学习语法细节。
- 书本中的C语言一般是按照C89的标准进行编写,距今已有30年的历史,在这30年中,许多写法已被淘汰或加入了一些更为灵活的写法,除了期末考试外,不建议大家死学课本,尽量去接触这些新功能和新写法。