从锦囊妙计想到的29-步步为营的开发方式

前面介绍了很多关于计算机和开发计算机方面程序的事情, 但是没介绍如何应用一个具体的工具来写一个程序的方法。

那么到底写程序是否有规律? 有了这个规律到底是否对开发程序是否有帮助。

规律肯定是有的, 大家都会把树木种植在有水的地方旁边, 没人把树木种植到火山, 因为没办法长, 这个就是规律。

计算机程序开发也是有规律的。根据我的一些经验介绍一下。

一。 步步为营的解决问题思想

如下图

如上图, 估计哪位正常人也没办法一口把全部冰块都吃掉。 通常做法也是, 一点一点, 一块一块的吃掉冰块。

那么开发程序也是一样的到了, 先写个简单的功能程序, 然后马上要运行这个程序检查这个简单的东西是否正确了。

正确了, 在向下进行, 不正确马上检查,由于每次都添加很少的功能, 因此检查起来很容易。

二。 集成是开发方式

现在很多写字楼附近都有餐饮,休闲,购物等等配套设施。 设想一下 , 在您的家附近, 没有菜市场, 要买菜需要到20公里外面去买, 那个就非常非常不方便了。会严重影响工作效率。 因此在小区周围一定要有各种各样的配套设施。

那么在计算机开发环境中, 我们通常将开发中的编辑工具, 调试工具, 链接工具, 管理工具等等都集成到一起, 做出一个统一的程序, 这个程序通常就是 集成开发环境通常叫做ide

 

三。 以c语言的一个集成开发工具为例介绍如何开发一个简单程序

1. 下载集成开发环境

链接: https://pan.baidu.com/s/12vrvLi8cR3ujpVYAavh43w 提取码: q88g

这个工具是开源的代码, 可以在baidu搜到到 codeblocks-17.12mingw-nosetup

这个是windows下的工具, 这个cokeblocks也可以在linux等环境工作您到他官网下载不同环境的程序就好。

2. 解压缩开发工具并运行

运行如上图中codeblocks.exe 文件(双击)

上面是关联c扩展名的文件是用什么程序打开, 一般都不直接打开c文件了, 因此选择哪个都可以。

3. 配置gdb环境

参照下图配置环境

4. 点击开始菜单创建项目

这些控制台项目, 最简单, 对我们刚开始写程序是个非常好的选择, 等我们能力强了, 自然就可以写其他类型的项目了。

最终例子如下图:

打开工程文件, 如下图

最后运行程序,运行结果如下图:

程序已经正常运行了。

 

最后开发一个具体的应用小程序了解开发过程

如下图

1. 编写一个函数来完成这个任务, 先编写一个空的函数, 就是函数什么都不做, 就是打印一句话, 我是什么函数, 然后在主函数里面调用,目标检验函数编写和调用是否正确

编写的代码如下

#include <stdio.h>
#include <stdlib.h>

int printMyLine(int count);
int main()
{
printf("Hello world!\n");
printMyLine(5);
return 0;
}

int printMyLine(int count)
{
printf("in printMyLine\n");
}

另外, 代码写完成了,一定参照下图, 进行重新的编译(rebuild)

否则运行后结果不对!!

运行结果如下

特别注意若是前面运行了程序, 然后结果窗口没有关闭, 则这个运行按钮是灰的(不可用)状态, 请先关闭程序运行窗口, 这个按钮自然可用了。

2. 编写一个行输出函数, 并且调用他

int printALine(int lineCount);

。。。

int printMyLine(int count)
{
printf("in printMyLine\n");
printALine(2);
}

int printALine(int lineCount)
{
printf("in print a Line\n");
}

运行结果如下:

3. 添加循环,根据行调用行输出函数

具体代码如下:

#include <stdio.h>
#include <stdlib.h>

int printMyLine(int count);
int printALine(int lineCount);
int main()
{
printf("Hello world!\n");
printMyLine(5);
return 0;
}

int printMyLine(int count)
{
printf("in printMyLine\n");
for(int i = 0; i < count; i++){
printALine(i);
}
}

int printALine(int lineCount)
{
printf("in print a Line %d\n", lineCount);
}

如下图, 说明每行的参数已经传递正确了, 剩下就是输出行

 

4. 改造行输出代码, 输出星

#include <stdio.h>
#include <stdlib.h>

int printMyLine(int count);
int printALine(int lineCount);
int main()
{
printf("Hello world!\n");
printMyLine(5);
return 0;
}

int printMyLine(int count)
{
printf("in printMyLine\n");
for(int i = 0; i < count; i++){
printALine(i);
}
}

int printALine(int lineCount)
{
printf("in print a Line %d\n", lineCount);
for(int i = 0; i < lineCount; i++){
printf("*");
}
printf("\n");
}

5. 注释掉 用来辅助开发的代码

最后代码如下:

#include <stdio.h>
#include <stdlib.h>

int printMyLine(int count);
int printALine(int lineCount);
int main()
{
printf("Hello world!\n");
printMyLine(5);
return 0;
}

int printMyLine(int count)
{
// printf("in printMyLine\n");
for(int i = 0; i < count; i++){
printALine(i);
}
}

int printALine(int lineCount)
{
// printf("in print a Line %d\n", lineCount);
for(int i = 0; i < lineCount; i++){
printf("*");
}
printf("\n");
}

输出结果如下:

最后调整到合适的输出行数

最后完整代码如下:

#include <stdio.h>
#include <stdlib.h>

int printMyLine(int count);
int printALine(int lineCount);
int main()
{
// printf("Hello world!\n");
printMyLine(20);
return 0;
}

int printMyLine(int count)
{
// printf("in printMyLine\n");
for(int i = 0; i < count; i++){
printALine(i);
}
}

int printALine(int lineCount)
{
// printf("in print a Line %d\n", lineCount);
for(int i = 0; i < lineCount; i++){
printf("*");
}
printf("\n");
}

 

相关文章

计算机介绍                                  从锦囊妙计想到的01

流程图(分支结构)介绍          从锦囊妙计想到的02

线程介绍                                     从锦囊妙计想到的03

循环结构介绍                             从锦囊妙计想到的05

流程线程总结                             从锦囊妙计想到的06

cpu和线程定义、开始               从锦囊妙计想到的07

分布式计算                                  从锦囊妙计想到的08

分布式中事件和计数                 从锦囊妙计想到的09

内容总结                                     从锦囊妙计想到的10

数据类型,变量简介                从锦囊妙计想到的11

函数和参数                                从锦囊妙计想到的12

用户交互与数据输入输出       从锦囊妙计想到的13

人机交互界面                            从锦囊妙计想到的15 

过程与对象                                从锦囊妙计想到的16

同步和异步                                从锦囊妙计想到的17

顺序打印                                    从锦囊妙计想到的18

数据输入输出                            从锦囊妙计想到的19

屏幕坐标和打印                        从锦囊妙计想到的20

java函数控制输出                     从锦囊妙计想到的21

逐步细化解决复杂问题           从锦囊妙计想到的22

java入门                                    从锦囊妙计想到的23

java复杂过程分析                   从锦囊妙计想到的25

中间辅助功能解决问题          从锦囊妙计想到的26

叠加操作输出复杂图形          从锦囊妙计想到的27

时间和空间                               从锦囊妙计想到的28

编写边测解决问题                  从锦囊妙计想到的29

让程序动起来                          从锦囊妙计想到的30

程序往复运动                           从锦囊妙计想到的31