这么画c语言编程流程图,我想问一下这两个C语言的流程图像图中这么画吗?
C語言里的if和else后面實際上都只能跟一條語句,只不過C語言里還允許用大括號把很多條行語句復合起來,等效成一個。for循環之類的情況也類似。而有些語言里是用成對的關鍵詞來起到這個作用的。所以關于流程圖1、2,就像上面說的那樣。
流程圖3的話,由于if+else出現了三對,所以除非用大括號之類仔細地把語句區分開,否則編譯器應該回報錯。
也就是說每一對if+else應該都在更外一層if+else的if后的部分里。然后具體到內容,條件一最先被判斷,所以在最外層;條件三最里層。單就這些條件被判斷的先后關系來說,流程圖2和3是一樣的。
問題是流程圖二和三這二個流程圖里,“語句”部分可以是空語句,也就是說判斷一個條件為真后,可以做些無關的事情,然后再去看更內一層條件的真假——這一點流程圖三里有體現;
同時,一層的if+else判斷完了一后,也可以去做些無關的事,然后結束這一層所在的if這一段程序——這一點好像流程圖二和三都沒有提到。
設想這樣一個情況:在最內層if+else執行完畢以后要對變量a賦值。
顯然,這一句是在中間一層的if+else的if部分里的,但同時又應該在最內層的if+else之外,那么這一句應該出現在流程圖三的什么部分呢?既然流程圖三里在兩個條件判斷圖表之間流出了“語句”,那么在每一對if+else結束后,也應該緊跟著一部分“語句”。
希望沒有誤導。
另,既然三對if+else又嵌套的情況,那么畫流程圖的時候,不妨先畫一個if+else對,然后再嵌套地把完全相同的if+else對插入到已經畫出的if+else對中的if部分。相當于在判斷條件為真時的“語句”中加入一個if+else對。
====
關于大括號的問題。
反正用了大括號肯定不會錯,而不用的話,一開始不熟悉的時候可能會以為連續的幾句都是在條件為真/假時執行,但是實際上則只有緊跟著if或else的那句才執行。
流程圖的話對錯不好說,得根據題目/問題的內容來判斷。
但是對于每一個if+else對,實際上在它執行前和執行完成后,都可以加入“語句”。
全部
總結
以上是生活随笔為你收集整理的这么画c语言编程流程图,我想问一下这两个C语言的流程图像图中这么画吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 等待信号,51CTO博客-专
- 下一篇: c语言pta按等级统计学生成绩,第九周作