c语言程序执行不了,你学不会C语言,是因为不会编写C程序的七个步骤

原标题:你学不会C语言,是因为不会编写C程序的七个步骤

C是一种编译性语言,编写一个C程序,这是一个很复杂的问题,面对复杂的问题,学会把它分解成若干个小问题,一个个小问题的解决,最后思路很清晰地解决掉这个“麻烦”。

02400359db1815326ef3b1596c04072a.png

如果你以前从来没有接触过任何的编程语言,那么你则需要学习一下一个拆分的逻辑思维。当我们想要写一个项目或者软件的时候,我们需要把这个整体拆分为7个步骤,这样也会让你的思路看起来更有条理,再也不像从前那样毫无头绪了。

171ae956c976cad17dfbe2d503570c6c.png

1. 定义程序的目标

动手写程序之前,要在脑中有清晰的思路。想要程序去做什么

首先自己要明确自己想做什么

思考你的程序需要哪些信息,你能通过哪些方法获取到哪些信息

要进行哪些计算和控制

程序应该要报告什么信息。

在这一步骤中,不涉及具体的计算机语言,应该用一般术语概念来描述问题。简单来说,我们所要思考的就是,这个程序是用来做什么的。

2. 设计程序

对程序应该完成什么任务有概念性的认识后,就应该考虑如何用程序来完成它,把你的想法、思路往程序实现上逼近。

例如

用户界面应该是怎样的?

如何组织程序?

目标用户是谁?

准备花多长时间来完成这个程序?

在程序(还可能是辅助文件)中如何表示数据?

用什么方法处理数据?

通常,选择一个合适的方式表示信息可以更容易地设计程序和处理数据。

这个部分其实就像写作文一样,当你想好要写什么题材的文章之后,接下来就要列出你文章中的大纲,需要几个段落,需要用到什么手法,每个段落写的是什么内容,一共有多少时间来给你完成这篇文章。把这些内容规划出来列成大纲,然后依次实现就可以了。

3. 编写代码

在程序有了清晰的设计后,就可以通过编写代码来实现它了。就是要把你设计的程序,按照你的解决逻辑翻译成C语言,一条条语句的打出来,将你的设计构思转变为 C 语言。这里是你真正需要使用 C 知识的地方。

你可以在纸上勾画你的想法,但最终必须将代码输入计算机。一般而言,使用文本编辑器创建源代码文件。

例:比如我要实现在屏幕上实现输出 helloworld!

#include

int main()

{

printf ("helloworld!\n");

return 0;

}

这是一个最基础的C语言程序,其作用就是在屏幕上输出一句

helloworld!。

4. 编译

编译器是把源代码转换成可执行代码的程序。可执行代码是用计算机的机器语言表示的代码。这种语言由数字码表示的指令组成。C编译器负责把C代码翻译成不同的特定的机器语言。

此外,C编译器还将源代码与C库(库中包含大量的标准函数供用户使用,如printf()和scanf())的代码合并成最终的程序(更精确地说,应该是由一个被称为链接器的程序来链接库函数,但是在大多数系统中,编译器运行链接器)。其结果是,生成一个用户可以运行的可执行文件 (.exe 可执行文件 [for Windows] 或 .out 可执行文件 [for UNIX & Linux]),其中包含着计算机能理解的代码。编译器还会检查C语言程序是否有效。如果C编译器发现错误,就不生成可执行文件并报错。理解特定编译器报告的错误或警告信息是程序员要掌握的另一项技能。

程序员需要熟练记忆编译器报错编号与错误问题的对应关系,这样有助于程序员迅速聚焦bug位置和问题所在!

5. 运行程序

上一步,编译链接成功后,就能进行正常的运行了。可运行的程序就是可执行文件.exe。

一般来说,可执行文件就是你打开之后可以直接能够运行的文件。在一般的操作系统中(例如Windows,Linux),要想运行某个程序,只需要双击这个文件或者右键打开就可以运行,这就是可执行文件。

那要怎么才能生成可执行文件呢?例如为在Windows环境中,用QT编译器运行程序可以用快捷键Ctrl+R生成程序并显示程序结构,如果用Visual Studio编译器则是Ctrl+F5编译运行。

6. 测试和调试程序

运行结果与自己设计的思路是否一致。

程序能够正常运行那是极好的,但有时候它也可能运行不正确。因此,你应该进行检查,看程序是否存在错误。这个错误在计算机行话中称之为 Bug。调试(Debugging)就是要发现并修正程序错误。学习中自然会犯错误,看起来编程中似乎也会犯错误,所以在将所学知识应用到编程中时,最好准备好时时想到自己很容易犯错误。当你成为本领更强,技艺更精湛的程序员时,你的错误也会变得更严重而且不易察觉。

你犯错误的机会很多。你可能会犯一个基本设计错误,可能会错误地实现了好的想法,可能会因为忽略了某个条件而将程序搞得一团糟,可能会错误地使用C,可能会犯打字母错误,也可能会将中英文输入搞错等等…

不过,这并不是什么丢脸的事情,每个人都会犯错误,当你被一个错误折腾的焦头烂额的时候,你才会深刻的记住这个错误,以确保下次不会再犯。另外,编译器拥有简单找错误的能力,虽然不会具体到教你怎么改,但它会帮你标记出错误所在的那行,只要你认真仔细的检查错误的那几行并改正就可以了。

7. 维护和修改代码

在现实的工作中,这是软件维护工程师干的事,很多bug都是在产品使用多了后才发现的,他们最大的痛苦不是改错,是要看懂别人的代码后进行改错。平时写代码,要注重程序的可读性。最好是写完程序能够顺便标明注释。

55f08239659449fef493ff822c01a2a6.png

当然啦,这是最完美的状态。编程工作通常不像上面讲述的过程那样是一条线。在实际操作中,你可能需要做一些反复工作,例如,当你编写代码时,可能会发现你的计划是不切实际的。你可能会看到一种更好的实现方式,或者在看到程序的运行后,让你有了改变该设计的想法。对你的编程工作加以记录有助于在各阶段之间反复改动。

所以,给你一句忠告,那就是应该养成在编写代码前先进行规划的习惯。一定要记下程序的目标,并勾勒出设计概貌。这样那么你会节省大量的时间并且做出来的程序也会非常不错。返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值