C是一种编译性语言。如果你以前从来没有接触过任何的编程语言,那么你则需要学习一下一个拆分的逻辑思维。当我们想要写一个项目或者软件的时候,我们需要把这个整体拆分为7个步骤,这样也会让你的思路看起来更有条理。
当然啦,这是最完美的状态。然而在实际操作中,并且是在较大的项目中,你可能需要做一些反复工作,用后一步骤所了解到的内容来改进前一个步骤。
第1步: 定义程序目标
当你在开始写程序之前,你应对希望程序要做什么有一个清晰的想法。考虑程序需要的信息,程序需要进行的计算和操作,以及程序应该向你报告的信息。在这一规划阶段,你应该用一般概念来考虑问题,而不是一些具体的计算机语言术语来考虑。简单来说,我们所要思考的就是,这个程序是用来做什么的。
第2步: 设计程序 当你在对程序需要完成的事情有一个概念性的认识后,你就应该决定程序要如何完成它,用户界面应该是怎么样的,程序应该如何组织,目标用户是谁,你有多长的时间来完成实现这个程序等等。
这个部分其实就像写作文一样,当你想好要写什么题材的文章之后,接下来就要列出你文章中的大纲,需要几个段落,需要用到什么手法,每个段落写的是什么内容,一共有多少时间来给你完成这篇文章。把这些内容规划出来列成大纲,然后依次实现就可以了。
第3步: 编写代码 在程序有了清晰的设计后,就可以通过编写代码来实现它了。也就是说,将你的设计构思转变为 C 语言。这里是你真正需要使用 C 知识的地方。你可以在纸上勾画你的想法,但最终必须将代码输入计算机。一般来说,需要使用文本编辑器来创建一种称为源代码的文件,该文件包含你的程序设计的的 C 实现形式。
例:比如我要实现在屏幕上实现输出 helloworld!
#include<stdio.h>
int main()
{ printf (“helloworld! ”);
return 0; 1 2 3 }
这是一个最基础的C语言程序,其作用就是在屏幕上输出一句helloworld!。
1 第4步:编译 下一个步骤是编译源代码。不过,编译细节取决于编程环境,下面很快就会看到一些常见的环境,让我们先对要做的事情有一个一般性的了解。
前面讲过,编译器是一个程序,其工作是将源代码转换为可执行代码。可执行代码是用计算机的机器语言表示的代码。这种语言是由数字代码表示的详细指令组成。C 编译器用来将 C 语言转换成机器语言。C 编译器还从 C 的库中向最终程序加入代码。库中包括着许多标准例程供你使用,例如 printf()和scanf()。最后的结果是,形成一个包含计算机可以理解的代码并且你能够运行的可执行文件。
编译器还检查你的程序是否为有效的 C 语言程序。如果编译器发现错误,就将错误报告给你,而且不生成可执行文件。理解编译器的报错信息是你将要学习的另一种技能。
第5步:运行程序 一般来说,可执行文件就是你打开之后可以直接能够运行的文件。在一般的操作系统中(例如Windows,Linux),要想运行某个程序,只需要双击这个文件或者右键打开就可以运行,这就是可执行文件。那要怎么才能生成可执行文件呢?例如为在Windows环境中,用QT编译器运行程序可以用快捷键Ctrl+R生成程序并显示程序结构,如果用Visual Studio编译器则是Ctrl+F5编译运行。
第6步: 测试和调试程序 程序能够正常运行那是极好的,但有时候它也可能运行不正确。因此,你应该进行检查,看程序是否存在错误。这个错误在计算机行话中称之为 Bug。调试(Debugging)就是要发现并修正程序错误。学习中自然会犯错误,看起来编程中似乎也会犯错误,所以在将所学知识应用到编程中时,最好准备好时时想到自己很容易犯错误。当你成为本领更强,技艺更精湛的程序员时,你的错误也会变得更严重而且不易察觉。
你犯错误的机会很多。你可能会犯一个基本设计错误,可能会错误地实现了好的想法,可能会因为忽略了某个条件而将程序搞得一团糟,可能会错误地使用C,可能会犯打字母错误,也可能会将中英文输入搞错等等…
不过,这并不是什么丢脸的事情,每个人都会犯错误,当你被一个错误折腾的焦头烂额的时候,你才会深刻的记住这个错误,以确保下次不会再犯。另外,编译器拥有简单找错误的能力,虽然不会具体到教你怎么改,但它会帮你标记出错误所在的那行,只要你认真仔细的检查错误的那几行并改正就可以了。
第7步: 维护和修改程序 在为自己或为别人创建程序后,该程序可能会有更广泛的应用。如果是这样,你可能会发现需要对其进行更改,也就是项目的维护和修改。在这里不得不提代码风格和注释的作用了,很多人都不喜欢写注释,代码风格也极乱。可当你去维护别人程序的时候,如果他没有写过注释,并且代码一堆堆的挤在一起,那你可能会头痛的要死,只想破口大骂写这个程序的程序员。由人及己,养成一个良好的编程风格是一个非常好的习惯,写完程序顺便标上注释。
总结 编程工作通常不像上面讲述的过程那样是一条线。有时你必须在不同步骤间来回反复。例如,当你编写代码时,可能会发现你的计划是不切实际的。你可能会看到一种更好的实现方式,或者在看到程序的运行后,让你有了改变该设计的想法。对你的编程工作加以记录有助于在各阶段之间反复改动。
很多人在学习过程中都往往会忽视【定义程序目标】和【设计该程序】而直接到【编写程序】。你编写的第一个程序helloworld!非常简单,可以在头脑中想你到整个过程。如果犯了错误,也容易找到。可随着程序变得更长更复杂,头脑中的想象就开始无能为力了,而且错误也将变得难以发现。最终,那些无视计划步骤的人会浪费大量时间并带来混乱和挫折,因为他们编写出了难看,功能不正常而且艰深难懂的程序。工作越大越复杂,需要的计划工作量就越大。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/290891.html