编写程序的步骤

编写 C 语言程序的7个步骤

在这里插入图片描述

1. 定义程序的目标 (资深程序员需要养成的良好的思考习惯)

在动手写程序之前,要在脑中有清晰的思路。想要程序去做什么 (1) 首先自己要明确自己想做什么,(2) 思考你的程序需要哪些信息,你能通过哪些方法获取到哪些信息, (3) 要进行哪些计算和控制,(4) 以及程序应该要报告什么信息。在这一步骤中,不涉及具体的计算机语言,应该用一般术语来描述问题。

2. 设计程序

对程序应该完成什么任务有概念性的认识后,就应该考虑如何用程序来完成它。例如,(1) 用户界面应该是怎样的? (2) 如何组织程序? (3) 目标用户是谁?(4) 准备花多长时间来完成这个程序?除此之外,(5) 还要决定在程序(还可能是辅助文件)中如何表示数据,(6) 以及用什么方法处理数据。通常,选择一个合适的方式表示信息可以更容易地设计程序和处理数据。

3. 编写代码

设计好程序后,就可以编写代码来实现它。也就是说,把你设计的程序翻译成C语言。这里是真正需要使用C语言的地方。可以把思路写在纸上,但是最终还是要把代码输入计算机。一般而言,使用文本编辑器创建源代码文件。

4. 编译源代码

编译器是把源代码转换成可执行代码的程序。可执行代码是用计算机的机器语言表示的代码。这种语言由数字码表示的指令组成。C编译器负责把C代码翻译成不同的特定的机器语言。此外,C编译器还将源代码与C库(库中包含大量的标准函数供用户使用,如printf()和scanf())的代码合并成最终的程序(更精确地说,应该是由一个被称为链接器的程序来链接库函数,但是在大多数系统中,编译器运行链接器)。其结果是,生成一个用户可以运行的可执行文件 (.exe 可执行文件 [for Windows] 或 .out 可执行文件 [for UNIX & Linux]),其中包含着计算机能理解的代码。编译器还会检查C语言程序是否有效。如果C编译器发现错误,就不生成可执行文件并报错。理解特定编译器报告的错误或警告信息是程序员要掌握的另一项技能。
** 程序员需要熟练记忆编译器报错编号与错误问题的对应关系,这样有助于程序员迅速聚焦bug位置和问题所在!

5. 运行程序

6. 测试和调试程序

7. 维护和修改代码

(1)
一.要把实际问题提取为数学问题(相当于数学中的建模→抽象问题具体化);
二.把其分解为若干个小的函数,并明白每个小函数怎样实现其功能,同时注意功能函数与主函数间的数据交互问题;
三.作出流程图,整体把握,从而为程序构建良好的结构,但也应该注意其细节问题;
四.优化其算法(强调数学能力),并结合其算法选择恰当的数据结构,算法和数据结构是程序的灵魂;
五.编译程序,在编译时要养成良好的书写习惯,增强其可读性;
六.调试程序,可以函数为单元进行纠错.
注意:你的思路不清晰,写出来的东西没有目的性,是因为
你没有很好的整体结构分析,从而无法整体把握.

(2):一,整体要实现什么功能

二,功能细化(模块化),先干什么,再干什么,最后干什么

三,画初步流程图(把几个模块画出来即可)

四,模块之间的分析:一个模块到另一个模块之间的,怎样变换,怎样连接(优化流程图)

五,单个模块分析:每个模块要做什么(流程图细化)

六,所有模块结合连接,细化所有流程图

七,分析单个模块每步要用到的方法或者指令

八,总流程图定型

九,纸上写流程,对照流程图分析其可行性,若不可行则返回

十,上机调试,加注释

切记:流程图很重要,需反复修改,流程图很重要,需反复修改,流程图很重要,需反复修改

大忌:拿到任务,不仔细分析就写程序。即使是小程序,我们也要养好良好的编程习惯,不要一味地追求结果。写小程序时可能比别人快,若是大程序,一旦出现思维混乱,或者出现程序调试不出来结果,那么你花在调试的时间,要比别人的多。磨刀不误砍柴工。

程序的优化:属于后期工作,只有调试出来后,才去优化。

写好单词
写好语句
写好函数

第一步: 分析问题。
第二步: 画出程序的基本轮廓。
第三步: 实现该程序。
3a. 编写程序
3b. 测试和调试程序
3c. 提供数据打印结果
下面, 我们来说明每一步的具体细节。
第一步: 分析问题
在这一步, 你必须:
a. 作为解决问题的一种方法, 确定要产生的数据(输出)。 作为这一子步的
一部分, 你应定义表示输出的变量。
b. 确定需产生输出的数据(称为输入), 作为这一子步的一部分, 你应定义
表示输入的变量。
c. 研制一种算法, 从有限步的输入中获取输出。 这种算法定义为结构化的
顺序操作, 以便在有限步内解决问题。就数字问题而言, 这种算法包括获取输出
的计算, 但对非数字问题来说, 这种算法包括许多文本和图象处理操作。
第二步: 画出程序的基本轮廓
在这一步, 你要用一些句子(伪代码)来画出程序的基本轮廓。每个句子对应
一个简单的程序操作。对一个简单的程序来说, 通过列出程序顺序执行的动作,
便可直接产生伪代码。然而, 对复杂一些的程序来说, 则需要将大致过程有条理
地进行组织。对此, 应使用自上而下的设计方法。
当使用自上而下的设计方法时, 你要把程序分割成几段来完成。列出每段要
实现的任务, 程序的轮廓也就有了, 这称之为主模块。当一项任务列在主模块时,
仅用其名加以标识, 并未指出该任务将如何完成。这方面的内容留给程序设计的
下一阶段来讨论。将程序分为几项任务只是对程序的初步设计。整个程序设计归
结为下图所示的流程图1.。
┏━━━━━━━━━━━━━━━┓
┃ 主模块 ┃
┏━━━━━━━┓ ┃ 输入数据 ┃
┃ 主模块 ┃ ┃ 计算购房所需的金额 ┃
┃ ┃ ┃ 计算装修所需的金额 ┃
┃ 任务1 ┃ ┃ 计算总金额 ┃
┃ 任务2 ┃ ┃ 输出计算结果 ┃
┃ 任务3 ┃ ┃ ┃
┃ 任务4 ┃ ┗━━━━━━━┳━━━━━━━┛
┃ ┃ ┏━━━━━┳━━━━━╋━━━━┳━━━━━┓
┃ ┃ ┏━━┻━┓┏━━┻━┓┏━━┻━┓┏━┻━┓┏━━┻━┓
┗━━━━━━━┛ ┃输入数据┃┃购房额…┃┃装修额…┃┃总额…┃┃输出结果┃
┗━━━━┛┗━━━━┛┗━━━━┛┗━━━┛┗━━━━┛
图1. 程序初步设计 图2. 第二级程序设计
如果把主模块的每项任务扩展成一个模块, 并根据子任务进行定义的话, 那
么, 程序设计就更为详细了(见图2.)。这些模块称为主模块的子模块。程序中许
多子模块之间的关系可象图2.中那样归结为一张图。这种图称为结构图。
要画出模块的轮廓, 你可不考虑细节。如果这样的话, 你必须使用子模块,
将各个模块求精, 达到第三级设计。继续这一过程, 直至说明程序的全部细节。
这一级一级的设计过程称为逐步求精法。在编写程序之前, 对你的程序进行逐步
求精, 对你来说, 是很好的程序设计实践, 会使你养成良好的设计习惯。
我们则才描述了程序设计中自上而下的设计方法。实际上就是说, 我们设计
程序是从程序的"顶部"开始一直考虑到程序的"底部"。
第三步: 实现该程序
程序设计的最后一步是编写源码程序。 在这一步, 把模块的伪代码翻译成
参考:
https://blog.csdn.net/yangwei256/article/details/82313350
https://blog.csdn.net/qq_36761831/article/details/81317641
https://blog.csdn.net/shaily/article/details/1626219

Java编写程序的一般步骤如下: 1. 编写程序的需求分析和设计文档,包括功能需求、技术方案等。 2. 根据需求分析和设计文档,编写Java源代码,可以使用任何文本编辑器或IDE(如Eclipse、IntelliJ IDEA等)。 3. 编译Java源代码,生成字节码文件(.class文件),可以使用Javac命令行工具或IDE的编译功能。 4. 执行Java程序,可以使用命令行工具或IDE的运行功能。 下面是一个Java编写程序的简单实例,假设需要编写一个程序,计算并输出两个整数的和。 1. 首先进行需求分析和设计文档,确认程序的功能需求和实现方案。 2. 打开文本编辑器或IDE,创建一个Java源代码文件,例如“Addition.java”。 3. 在源代码文件中编写Java代码,实现两个整数相加的功能。以下是示例代码: ``` public class Addition { public static void main(String[] args) { int num1 = 10; int num2 = 20; int sum = num1 + num2; System.out.println("The sum of " + num1 + " and " + num2 + " is " + sum); } } ``` 代码解释: - 第1行定义一个名为Addition的公共类,类名必须与文件名相同。 - 第2行定义一个名为main的公共静态方法,程序从这里开始执行。 - 第3-5行定义两个整型变量num1和num2,并将它们相加,赋值给变量sum。 - 第6行使用System.out.println()方法输出计算结果。 4. 保存源代码文件并编译,生成字节码文件。在命令行中执行以下命令: ``` javac Addition.java ``` 如果没有错误提示,会生成一个名为Addition.class的字节码文件。 5. 执行Java程序,在命令行中执行以下命令: ``` java Addition ``` 程序会输出以下结果: ``` The sum of 10 and 20 is 30 ``` 这就是一个简单的Java编写程序的实例。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值