画流程图是程序员必备的专业技能,下面是我总结的平时画流程图的一些心得体会,有不足和不标准不妥的地方请指正!





首先先认识流程图有哪些常用的框框:

画流程图总结_while循环

注意:1 标准的开始必须用:

画流程图总结_for循环_02


而不是用:

画流程图总结_while循环_03


2 不论什么函数或者流程图,开始框必须写“开始”,结束框必须写“结束”,写其他的start()、open、end 什么的都是错的吧。

3.画流程图必须尽量“上进下出”。画流程图总结_流程图_04画流程图总结_流程图_05

4 输出语句必须用斜平行四边形!

画流程图总结_while循环_06画流程图总结_while循环_07














一些我经常使用的循环或者判断模板:

常用模板结构:

 

for循环

画流程图总结_for循环_08

画流程图总结_while循环_09

while循环

画流程图总结_流程图_10

经过更正提醒,为了满足判断框只有一端进,还是建议while循环用下面两种形式较为正确:

画流程图总结_while循环_11

switch或者if elseif else 结构

画流程图总结_流程图_12


画流程图总结_while循环_13




经过更正,感觉还是下面第一个好看好用一些,也很标准规范。

画流程图总结_while循环_14



下面两种不太标准、不太好看:


画流程图总结_流程图_15

画流程图总结_流程图_16


 

 









一些实例参考:

画流程图总结_while循环_17

分析:整体就是一个while循环,内部有一个if

小技巧总结分析:

1.“开始”旁边标注text区分是哪个函数名

2.画流程图只是为了画出代码的框架骨架,具体的血肉我都是直接复制粘贴源代码。

画流程图总结_while循环_18

分析:有三层for循环,出来后有一个for循环









一些课后作业,大家可以自己看着代码对照画一下,看谁画的好

void ReverseN2(HLink& H) {
Hotel* fast = H->next, * slow = H->next, * p, * tempsave;
if (!fast || !fast->next) {
return;
}
while (fast->next && fast->next->next) {
fast = fast->next->next;
slow = slow->next;
}

if (fast->next) fast = fast->next;

p = slow->next;
slow->next = NULL;

while (p) {
tempsave = p;
p = p->next;

tempsave->next = slow->next;
slow->next = tempsave;
}
}//ReverseN2

画流程图总结_while循环_19