学习C语言之前的准备工作

第一章 最基础的C

第一节 学习C语言之前的准备工作

为了在Windows操作系统下顺利的进行C语言编程,我们采用Dev-C++的集成开发平台或者说是开发软件。
也就是说,在一切开始之前,请大家安装好Dev-C++。(关于如何安装Dev-C++请看附录1)这也是为了避免某些商业开发平台的收费给大家的学习带来不便,虽然商业的开发平台也有它们各自的优势,但是对于大多数像笔者我这样的并不富裕的人来说,使用商业开发平台来学习未免太过于奢侈了。Dev-C++是一款自由软件,遵守GPL许可协议分发源代码。关于什么是GPL许可协议,有兴趣的读者可以自行查询资料,这里我们只要知道它是一款自由软件就够了。
那么成功的安装了Dev-C++之后,我们先来认识一下C语言。
听过太多的初学者向我抱怨,编程语言实在是太难了。编译是什么意思,连接又是什么意思。似乎初始篇章就是看得云里雾里。与其这样,我们不如把什么是编程,和那些让人头疼的术语先放一放,我们先来简单的了解一下C语言。
首先请把每一个C语言的程序都想象成一个非常聪明的天才。这个天才要有大脑才能思考对吧。我们管它的大脑叫主方法(也有的书上叫做主函数)。这个天才还要有五官、四肢等等才能构成一个健全的人,对吧。我们管它的五官、四肢叫做函数(也有的书上叫做子函数)。有的读者朋友,一看见函数两个字。瞬间软瘫。感觉数学里面的函数就没学明白。别说用电脑弄什么函数了。请各位读者不要害怕,这里的函数是编程的一种术语,和数学里面的那个函数蛮不是一回事儿。C语言里面的函数,和我们自然语言里面的文法有的儿类似。因为这一部分在后面还有详细讲解,我在这里就不啰嗦了。大家现在如果不明白C语言的函数是怎么回事儿,也没有关系。反正后面会详细讲解的。
说回来,我们俗话说巧妇难为无米之炊。所以再聪明的天才,如果没有工具也做不了什么事情对吧。C语言这个天才的工具都放在了工具箱里面,我们管它的工具箱叫做头文件。好了,对于初学者而言,我们只需要了解到这里就够用了,之后的内容,我们等学过一段时间之后再慢慢讲解。
打开安装好的Dev-C++之后,请您点击上方菜单中的“文件”→“新建”→“源代码”
这时候您就新建了您第一个C语言的程序。下面先动手实践一下,把下面的代码复制到Dev-C++中。

例1-1
#include<stdio.h>
main(){
  printf("和我一起学习C语言吧!");
  system("pause");
}  

成功复制代码之后,按键盘上的F11键就可以运行啦!但是首次运行的时候,会被要求保存。这里请注意保存类型要改成C语言的文件,如图1-1所示。保存成功后,就可以看到结果啦,结果如图1-2所示。
图1-1
图1-2

按键盘任意键或者点击右上角的关闭可以结束程序,怎么样?是不是很简单。那么我们来解释一下我们写的程序都做了什么。
首先是#include<stdio.h>这是头文件,就是让我们的天才拿上一个名叫stdio的工具箱。stdio的含义是标准化输入输出 .h是它的扩展名(有的书上称后缀名)这是头文件的缩写,可以理解为告诉计算机stdio是一个工具箱而不是别的什么东西。
接下来我们遇到的是main(){...}这么一个东西,这是主方法。就是我们天才的大脑。
那么我们现在就有了一个拿上了工具箱的天才,如果我们想让这个天才做一些事情呢,我们只需要把我们想让它做的事情呢,写到它的大脑里面就可以了,所以,在main()后面紧跟的一对儿花括号里面就有了printf("和我一起学习C语言吧!");和system("pause");这两条语句。那么这两句话是做什么用途的呢?首先printf是stdio这个工具箱里面的一个工具。它的作用是在屏幕上显示一句话,用计算机的术语来说叫做输出。更严谨的说法叫做输出到屏幕,或者说输出到显示器。仔细想想更严谨的说法也有它到道理,因为我们管鼠标、键盘、扫描仪、麦克风这些东西叫做输入设备。自然显示器、音响、打印机这一类东西就可以叫做输出设备。printf的含义是输出到显示器而不是通过打印机打印出来,也不是通过音响设备读出来给大家听,对吧。
那么printf("和我一起学习C语言吧!");这句话的含义就是把 和我一起学习C语言吧! 这句话输出到显示器上。或者说,是在屏幕上显示了这句话。怎么样?很简单吧,这样你只需要把引号里面的东西换成任何你想在屏幕上显示的内容都可以。但是要注意的是,如果需要输出的是英文的双引号、英文的单引号还有换行(回车)是不行的。还有一些字符,比如“\”这个字符叫做反斜线,也是不行的。这些字符输出的时候要通过转义字符才能输出。
为什么这些字符不能和其他字符一样输出呢?因为这些字符在C语言的程序中承担了一部分特定的语法含义,所以如果直接输出会造成错误。打一个比方,我们平时说话的时候,特别是使用母语进行交流的时候。我们经常会有一些语法上面的错误,但是大家因为语言习惯的原因都不会去较真,这个话应该怎么说。但是写文章的时候,我们就会尽量的严谨,就会尽量避免口语化语法或者语言风格。
那么C语言也是写给计算机看的语言,它要求严谨的程度可以说算是苛刻。如果后面读者精通了C语言之后,再学习C++那样的语言就会发现,C++语言中有一个叫做重载的东西,有了重载之后呢,C++对于我们的要求就没有那么严苛了。但是C语言中还是要求的蛮严苛的。所以呢,英文的双引号、英文的单引号、换号(回车)、反斜线等一些字符已经承担了一定的语法含义,想要输出它们的时候就不能带有已经事先约定好的语法含义了,那么就要使用这些符号的书面语,我们给这个书面语起个名字叫做转义字符。
那么说了这么多,我来介绍一下之前说过的这些字符和它们的转义字符之间的对应关系。

字符/字符说明 转义字符
英文的双引号" \"
英文的单引号' \'
换行(回车) \n
反斜线|\|

注明因为笔者我使用的是markdown的编辑器,然而markdown是识别转义字符的,英文的双引号的转义字符应该是一条反斜线加上英文的双引号,英文的单引号的转义字符是一条反斜线加上英文的单引号,换行(回车)的转义字符是一条反斜线加上小写字母n,反斜线本身的转移字符是两条反斜线。
学到这里是不是觉得C语言还是很好学的。至少通过已经给出的模板可以写出了一个可以称之为程序的东西了。实际上很多商业程序员所做的工作也只是用前人写好的东西来搭积木。
细心的读者就会发现,讲到这里既然程序可以输出我想要的内容了,那么平白无故的写一句system("pause");是什么意思呢?这句话似乎没有对我们的程序作出任何贡献啊。
没错, 实际上system("pause");这句话不写也不会对程序造成什么影响。但是,不要忘了,C语言是个天才。它处理事情的效率要比我们人类快很多,我们看似一瞬间的事情,在它看来好似过了几个世纪一样。所以,C语言认为我们让它执行完输出我们想要的字符这样一句话之后就没事儿干了,它就自己关上了程序。这怎么行呢,对于我们来说的瞬间,对它就是几个世纪。它干完活就关上了程序,我们根本看不见它干了什么,程序就关上了。所以system("pause");这句话的意思就是让程序先暂停一下,等我们看一下的意思。C语言会人性化的加上按任意键继续的提示信息。等我们看好了,按任意键,C语言会自己往下执行程序,既然后面再也没有任何东西了。那么C语言就认为它没事儿干了,可以关闭程序了。虽然现在很多编译器,比如我们使用的Dev-C++,就会等程序运行结束之后自动暂停在结束的位置。但是我们还是应该按照习惯,加上system("pause");这句话。
那么今天就讲这么多,至少我们已经会了如何让程序显示任何一个我们想让它显示的内容。我们还学会了让程序暂停。这是第一节,因为要讲很多基础知识的缘故,我们似乎没有做什么非常大的程序,但是等到学习过几节的内容之后,我们就可以一起做一个小的管理系统啦。是不是非常兴奋呢?相信大家只要坚持看完这本书,一定可以成为和C语言一样的大天才的。

posted @ 2016-01-16 23:58  机智的祺祺  阅读(674)  评论(0编辑  收藏  举报