C是编译型语言。假如之前使用过编译型语言(如,Pascal或FORTRAN),都会很熟悉成立C程序的几个基本步骤。并且,假如曾经使用的是解释型语言(如,BASIC)或面向图形界面语言(如,VisualBasic),或则甚至没接触过任何编程语言,就有必要学习怎么编译。别害怕,这并不复杂。首先,为了让读者对编程有大约的了解,我们把编撰C程序的过程分解成7个步骤(见图1.3)。注意,这是理想状态。在实际的使用过程中,尤其是在较小型的项目中,可能要做一些重复的工作,依据下一个步骤的情况来调整或改进上一个步骤。
图1.3编程的7个步骤
1第1步:定义程序的目标
在动手写程序之前,要在脑中有清晰的思路。想要程序去做哪些首先自己要明晰自己想做哪些,思索你的程序须要什么信息,要进行什么估算和控制,以及程序应当要报告哪些信息。在这一步骤中,不涉及具体的计算机语言,应当用通常术语来描述问题。
2第2步:设计程序
对程序应当完成哪些任务有概念性的认识后red hat linux,就应当考虑怎样用程序来完成它。比如,用户界面应当是如何的?怎样组织程序?目标用户是谁?打算花多长时间来完成这个程序?
除此之外,还要决定在程序(还可能是辅助文件)中怎样表示数据,以及用哪些方式处理数据。学习C语言之初,碰到的问题都很简单,没哪些可选的。而且,随着要处理的情况越来越复杂,须要决策和考虑的方面也越来越多。一般,选择一个合适的方法表示信息可以更容易地设计程序和处理数据。
再度指出,应当用通常术语来描述问题,而不是用具体的代码。而且,你的个别决策可能取决于语言的特点。比如,在数据表示方面北京linux培训,C的程序员就比Pascal的程序员有更多选择。
3第3步:编撰代码
设计好程序后,就可以编撰代码来实现它。也就是说,把你设计的程序翻译成C语言。这儿是真正须要使用C语言的地方。可以把思路写在纸上,并且最终还是要把代码输入计算机。这个过程的机制取决于编程环境,我们稍后会详尽介绍一些常见的环境。通常而言,使用文本编辑器创建源代码文件。该文件中内容就是你翻译的C语言代码。程序清单1.1是一个C源代码的示例。
程序清单1.1C源代码示例
#include
int main(void)
{
int dogs;
printf("How many dogs do you have?n");
scanf("%d", &dogs);
printf("So you have %d dog(s)!n", dogs);
return 0;
}
在这一步骤中,应当给自己编撰的程序添加文字注释。最简单的形式是使用C的注释工具在源代码中加入对代码的解释。
4第4步:编译
接出来的这一步是编译源代码。再度提醒读者注意,编译的细节取决于编程的环境,我们稍后马上介绍一些常见的编程环境。如今,先从概念的角度讲解编译发生了哪些事情。
后面介绍过,编译器是把源代码转换成可执行代码的程序。可执行代码是用计算机的机器语言表示的代码。这些语言由数字码表示的指令组成。如前所述,不同的计算机使用不同的机器语言方案。C编译器负责把C代码翻译成特定的机器语言。据悉,C编译器还将源代码与C库(库中包含大量的标准函数供用户使用,如printf()和scanf())的代码合并成最终的程序(更精确地说,应当是由一个被称为链接器的程序来链接库函数,而且在大多数系统中,编译器运行链接器)。其结果是,生成一个用户可以运行的可执行文件,其中包含着计算机能理解的代码。
编译器都会检测C语言程序是否有效。假如C编译器发觉错误,就不生成可执行文件并报错。理解特定编译器报告的错误或警告信息是程序员要把握的另一项技能。
5第5步:运行程序
传统上,可执行文件是可运行的程序。在常见环境(包括Windows命令提示符模式、UNIX终端模式和Linux终端模式)中运行程序要输入可执行文件的文件名,而其他环境可能要运行命令(如,在VAX中的VMS[2])或一些其他机制。比如,在Windows和Macintosh提供的集成开发环境(IDE)中,用户可以在IDE中通过选择菜单中的选项或按下特殊键来编辑和执行C程序。最终生成的程序可通过单击或双击文件名或图标直接在操作系统中运行。
6第6步:测试和调试程序
程序能运行是个好征兆,但有时也可能会出现运行错误。接出来,应当检测程序是否根据你所设计的思路运行。你会发觉你的程序中有一些错误,计算机行话叫作bug。查找并修补程序错误的过程叫调试。学习的过程中不可防止会错事,学习编程也是这么。因而,当你把所学的知识应用于编程时,最好为自己会错事做好心理打算。随着你越来越老练,你所写的程序中的错误也会越来越不易察觉。
将来错事的机会好多。你可能会犯基本的设计错误,可能错误地实现了一个好想法,可能忽略了输入检测造成程序截瘫,可能会把圆括弧放错地方,可能误用C语言或打错字,等等。把你将来错事的地方列下来,这份错误列表应当会很长。
7第7步:维护和更改代码
创建完程序后,你发觉程序有错,或则想扩充程序的用途,这时就要更改程序。比如,用户输入以Zz开头的姓名时程序出现错误、你想到了一个更好的解决方案、想添加一个更好的新特点,或则要更改程序使其能在不同的计算机系统中运行,等等。若果在编撰程序时清楚地做了注释并采用了合理的设计方案,这种事情都很简单。
8说明
编程并非像描述那样是一个线性的过程。有时,要在不同的步骤之间往复。比如,在写代码时发觉之前的设计不切实际linux运行c程序,或则想到了一个更好的解决方案,或则等程序运行后linux运行c程序,想改变原先的设计思路。对程序做文字注释为今后的更改提供了便捷。
许多初学者常常忽视第1步和第2步(定义程序目标和设计程序),直接跳到第3步(编撰代码)。刚开始学习时,编撰的程序十分简单,完全可以在脑中构思好整个过程。虽然弄错了,也很容易发觉。并且,随着编撰的程序越来越庞大、越来越复杂,动脑不动手可不行,但是程序中隐藏的错误也越来越难找。最终,这些跳过前两个步骤的人常常浪费了更多的时间,由于她们写出的程序难看、缺乏条理、让人无法理解。要编撰的程序越大越复杂,事先定义和设计程序环节的工作量就越大。
磨刀不误砍柴工,应当养成先规划再动手编撰代码的好习惯,用纸和笔记录下程序的目标和设计框架。这样在编撰代码的过程中会愈加得心应手、条理清晰。