使用流程图来描述你的程序
使用流程图来描述你的程序前边小甲鱼一直用自然语言来描述程序。对于不存在分支和循环等复杂结构的程序来说,自然语言其实是够用的。就像记流水账一样,一条路走到黑……{:10_247:}
比如一个程序你直接描述成“先 XX,再 OO,然后 XX,完了再 OO,没事你就继续 XX,还得再 OO,最后 XXXX”这样的形式。
虽然使用自然语言描述程序通俗易懂,但文字冗长,并且容易产生歧义!比如“这根香蕉不大好吃”,哎,妹子,你到底是说“这根香蕉不大,好吃!”,还是说“这根香蕉不好吃!”呢?{:10_242:}
但自从我们接触了分支结构,整个程序就变得活泼起来了!
所以,我们今后统一使用流程图来描述程序。
流程图是用一些图框来表示各种操作,直观形象 {:10_275:} 。
举个栗子你就懂了,比如 S1E11 中的程序:
#include <stdio.h>
int main()
{
int i;
printf("您老贵庚啊:");
scanf("%d", &i);
if (i >= 18)
{
printf("进门左拐!\n");
}
else
{
printf("慢走不送!\n");
}
return 0;
}
画成流程图就是酱紫:
注:判断框左右的“Y”和“N”分别表示表达式的值为“真”和“假”的两种情况。
再比如这个程序:
#include <stdio.h>
int main()
{
int i;
printf("请输入成绩:");
scanf("%d", &i);
if (i >= 90)
{
printf("A\n");
}
else if (i >= 80 && i < 90)
{
printf("B\n");
}
else if (i >= 70 && i < 80)
{
printf("C\n");
}
else if (i >= 60 && i < 70)
{
printf("D\n");
}
else
{
printf("E\n");
}
return 0;
}
画成流程图就是酱紫:
很容易对吧,赶紧把这个新技能 get√ 起来 {:10_288:}
最后,有鱼油可能会问:那我用什么工具来画流程图呢?
微软有个神奇的法器:Visio
不过……
微软你真的是打算来中国卖软件的吗?{:10_290:}
建议有购买意向的壕们先买个 U 盘支持下小甲鱼 -> 传送门
咱还是有免费优秀的工具推荐的。
Visio 小甲鱼是肯定不支持大家购买的,当然,特殊渠道获得除外……
这儿给大家推荐一个在线就能绘制流程图的网址:https://www.processon.com
非常专业,还是免费的!
点击“Sign Up”
支持企鹅和微博同步登陆,非常方便,连账号都不用注册了~
下边教大家如何简单的创建一个流程图:
登陆后,依次点击“Diagrams”->“My Diagrams”->“New Diagram”
这儿提供了许多模板供你选择,点击“Blank”-> 在 File Name 处给你的流程图命名 -> 点击“Create”创建一个空白的模板:
左侧是代表各种功能的图框,直接用鼠标拖拽过来即可!
噢,对了,最重要的一点:
有中文……
话说好像我最开始的时候忘了说了…… {:10_245:}
辛苦啦 小甲鱼老师之前有一个统计打了多少行代码的程序,我找不到在哪了?
能发个链接吗? Axel-F 发表于 2016-1-22 18:23
小甲鱼老师之前有一个统计打了多少行代码的程序,我找不到在哪了?
能发个链接吗?
这一节课后作业:http://bbs.fishc.com/thread-66283-1-1.html 小甲鱼 发表于 2016-1-23 00:36
这一节课后作业:http://bbs.fishc.com/thread-66283-1-1.html
谢谢!! 收藏了,挺好的,不太会用,条件分支中横折的不太会画,画出来的箭头容易是横的,不太容易弄成竖的箭头。 tigermali 发表于 2016-1-23 22:06
收藏了,挺好的,不太会用,条件分支中横折的不太会画,画出来的箭头容易是横的,不太容易弄成竖的箭头。
用最后边介绍的在线软件即可,通过拖拽圆点可以直接连接两个框框~ 小甲鱼 发表于 2016-1-24 05:04
用最后边介绍的在线软件即可,通过拖拽圆点可以直接连接两个框框~
OK,会了,先画框再拖线,不用先画线。谢谢 {:10_279:}{:10_279:}{:10_279:}新技能get
原来一直用Word内置的流程图.....后来接触了Xmind.....现在才发现这网站才是我需要的 流程图很少用。。。。
学习了 为什么我打开是中文的 大爱这个教程 可以的 写的随堂代码 只能输出 :请输入分数 输入分数后没反应 不知道原因 ,呼叫小甲鱼老师
#include <stdio.h>
intmain()
{
int i ;
printf("请输入分数:");
scanf("%d\n",&i);
if (i >= 90)
{
printf("A\n");
}
else if (i>=80 && i<90)
{
printf("B\n");
}
else if (i>=70&&i<80)
{
printf("C\n");
}
else if (i>=60&&i<70)
{
printf("D\n");
}
else
{
printf("E\n");
}
return0 ;
} 长渊 发表于 2016-6-2 12:33
写的随堂代码 只能输出 :请输入分数 输入分数后没反应 不知道原因 ,呼叫小甲鱼老师
#includ ...
是不是这里的问题 我才学到这 嘿嘿空格的事么
else if (i >= 70 && i < 80)
else if (i >= 60 && i < 70) 谢谢小甲鱼,你太棒了。 。。。
长渊 发表于 2016-6-2 12:33
写的随堂代码 只能输出 :请输入分数 输入分数后没反应 不知道原因 ,呼叫小甲鱼老师
#includ ...
scanf("%d\n", & i );
把\n去掉就可以了,如果不去掉的话,输入分数后还要输入\n才会显示结果的,我刚才试过的{:5_91:} a89361461 发表于 2017-6-1 23:02
把\n去掉就可以了,如果不去掉的话,输入分数后还要输入\n才会显示结果的,我刚才试过的
嗯嗯是这样子 刚好一整年前的问题了 行行好,送点鱼币吧