久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2782|回復: 16
打印 上一主題 下一主題
收起左側(cè)

求教:C語言這樣編程可以嗎?

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:610895 發(fā)表于 2019-9-12 21:19 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機開機顯示函數(shù)最后一句是while(1);想要繼續(xù)執(zhí)行按鍵程序,可以這樣編寫嗎?
while(1){
                       if(k1==0)//kn是獨立按鍵
                       goto loop1
                       else if(k2==0)
                       goto loop2
                               ……
                        

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:94031 發(fā)表于 2019-9-13 09:17 | 只看該作者
goto loop1改成函數(shù)直接調(diào)用不行嗎?xxxx();
回復

使用道具 舉報

板凳
ID:282850 發(fā)表于 2019-9-13 09:57 | 只看該作者
goto似乎用起來很方便,但實際上不好用,所以goto是不建議C中使用的。從你的不確定,也說明自己不好把控goto。
C可以自信地說,不需要goto,不管按鍵,其它任何復雜的功能都能實現(xiàn)。
回復

使用道具 舉報

地板
ID:47286 發(fā)表于 2019-9-13 11:12 | 只看該作者
f556 發(fā)表于 2019-9-13 09:57
goto似乎用起來很方便,但實際上不好用,所以goto是不建議C中使用的。從你的不確定,也說明自己不好把控got ...

搭車問下 看好多地方都說盡量不用goto 它哪不好啊
回復

使用道具 舉報

5#
ID:155507 發(fā)表于 2019-9-13 23:05 | 只看該作者
因為老手經(jīng)過寫很多代碼發(fā)現(xiàn),同一個程序隨著goto語句的使用次數(shù)增多,它的邏輯就會成指數(shù)上升,人腦是看不懂它的邏輯,哪怕前一秒是自己寫的,后一秒就不知它跑哪去了。當然你在一個程序用一個兩個還是可以的(別聽書上瞎說,其實我認為你偶爾做書上不建議的事也許會有意想不到的收獲),挺方便的(但注意,要自己控制goto數(shù)量,多了你會后悔的)。

回復

使用道具 舉報

6#
ID:610895 發(fā)表于 2019-9-14 07:02 來自手機 | 只看該作者
f556 發(fā)表于 2019-9-13 09:57
goto似乎用起來很方便,但實際上不好用,所以goto是不建議C中使用的。從你的不確定,也說明自己不好把控got ...

是,程序按現(xiàn)在的想法編寫至少有11個goto語句,所以有點怕出錯。其實我主要問的是while(1);這個死循環(huán)這么改行不行?
回復

使用道具 舉報

7#
ID:155507 發(fā)表于 2019-9-14 08:39 | 只看該作者
GOTO語句使程序的靜態(tài)結構和動態(tài)結構不一致,從而使程序難以理解,難以查錯。

有人認為GOTO語句使用起來比較靈活,而且有些情形能提高程序的效率。
1974年,D·E·克努斯對于GOTO語句爭論作了全面公正的評述,其基本觀點是:不加限制地使用GOTO語句,特別是使用往回跳的GOTO語句,會使程序結構難于理解,在這種情形,應盡量避免使用GOTO語句。但在另外一些情況下,為了提高程序的效率,同時又不至于破壞程序的良好結構,有控制地使用一些GOTO語句也是必要的。用他的話來說就是:“在有些情形,我主張刪掉GOTO語句;在另外一些情形,則主張引進GOTO語句。”
后來,G·加科皮尼和C·波姆從理論上證明了:任何程序都可以用順序、分支和重復結構表示出來。這個結論表明,從高級程序語言中去掉GOTO語句并不影響高級程序語言的編程能力,而且編寫的程序的結構更加清晰。
goto語句的結果:在C/C++等高級編程語言中保留了goto語句,但被建議不用或少用。在一些更新的高級編程語言,如Java不提供goto語句,它雖然指定goto作為關鍵字,但不支持它的使 用,使程序簡潔易讀;盡管如此后來的c#還是支持goto語句的,goto語句一個好處就是可以保證程序存在唯一的出口,避免了過于龐大的if嵌套。
可以考慮使用goto的情形:
1.從多重循環(huán)中直接跳出 ;
2. 出錯時清除資源; 
3.可增加程序的清晰度的情況。

不加限制地使用goto:破壞了清晰的程序結構,使程序的可讀性變差,甚至成為不可維護的"面條代碼"。經(jīng)常帶來錯誤或隱患,比如它可能跳過了某些對象的構造、變量的初始化、重要的計算等語句。
goto語句問題的提出直接推動了結構化程序設計(structured programming)的思想和程序設計方法學的誕生和發(fā)展。結構化程序設計方法引入了工程思想和結構化思想,使大型軟件的開發(fā)和編程都得到了極大的改善。結構化程序設計方法的主要原則可以概括為自頂向下,逐步求精,模塊化,限制使用goto語句。

下列關于使用goto語句的原則可以供讀者參考。   
1) 使用goto語句只能goto到同一函數(shù)內(nèi),而不能從一個函數(shù)里goto到另外一個函數(shù)里。   
2)使用goto語句在同一函數(shù)內(nèi)進行goto時,goto的起點應是函數(shù)內(nèi)一段小功能的結束處,goto的目的label處應是函數(shù)內(nèi)另外一段小功能的開始處。   
3)不能從一段復雜的執(zhí)行狀態(tài)中的位置goto到另外一個位置,比如,從多重嵌套的循環(huán)判斷中跳出去就是不允許的。   
4)應該避免像兩個方向跳轉(zhuǎn)。這樣最容易導致"面條代碼"。

回復

使用道具 舉報

8#
ID:155507 發(fā)表于 2019-9-14 13:07 | 只看該作者
夜遇 發(fā)表于 2019-9-14 07:02
是,程序按現(xiàn)在的想法編寫至少有11個goto語句,所以有點怕出錯。其實我主要問的是while(1);這個死循環(huán) ...

簡單的回答是不行,使用goto語句只能goto到同一函數(shù)內(nèi),而不能從一個函數(shù)里goto到另外一個函數(shù)里。
回復

使用道具 舉報

9#
ID:462827 發(fā)表于 2019-9-14 23:23 | 只看該作者
盡量不用goto,你想要的功能也照樣能寫出來。
回復

使用道具 舉報

10#
ID:123289 發(fā)表于 2019-9-15 10:26 | 只看該作者
事物有其兩面性,如果GOTO一無是處就沒有存在的價值了。
回復

使用道具 舉報

11#
ID:600906 發(fā)表于 2019-9-15 11:18 | 只看該作者
不建議用goto語句,可以改為函數(shù)調(diào)用,這樣是代碼更加高效化
回復

使用道具 舉報

12#
ID:592807 發(fā)表于 2019-9-15 17:49 | 只看該作者
dzbj 發(fā)表于 2019-9-13 11:12
搭車問下 看好多地方都說盡量不用goto 它哪不好啊

容易發(fā)生一些變量未定義的錯誤或者重復定義胡錯誤,如下a未定義
goto  a1;
int a=1;
a1:
a++;
回復

使用道具 舉報

13#
ID:611768 發(fā)表于 2019-9-15 19:51 | 只看該作者
goto在運行過程當中可能不是很穩(wěn)定,建議不要用goto吧
回復

使用道具 舉報

14#
ID:383084 發(fā)表于 2019-9-15 20:12 | 只看該作者
使用起來是沒什么問題,但可以把goto換成要執(zhí)行的函數(shù)啊,goto使用多了程序的執(zhí)行不好把控
回復

使用道具 舉報

15#
ID:519162 發(fā)表于 2019-9-15 20:33 | 只看該作者
盡量別用GOTO這個
回復

使用道具 舉報

16#
ID:611801 發(fā)表于 2019-9-15 21:02 | 只看該作者
強烈建議不要用goto,C語言goto其實差點被刪掉了...除非C用了很長時間了,否則不要這個語句...你這個肯定可以用函數(shù)調(diào)用的方式寫,比這個更易懂
回復

使用道具 舉報

17#
ID:611890 發(fā)表于 2019-9-16 09:28 | 只看該作者
我覺得可以這樣寫,但是要加一個else return ;這樣可以避免因為沒有考慮全某種情況而造成死循環(huán)
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲码欧美码一区二区三区 | 性做久久久久久免费观看欧美 | 99re在线视频观看 | 久久免费资源 | 久久久久国产一区二区三区四区 | 久久鲁视频 | 天堂一区二区三区 | 欧美黄a| 自拍偷拍av| 日韩av免费在线观看 | 欧美手机在线 | 欧美在线一区视频 | 精品一区二区三区四区 | 人人干97 | 亚洲一区视频在线 | 最新国产在线 | 狠狠av| 日韩一区二区福利 | 欧美一区二区三区四区在线 | 成年人在线视频 | www.日本国产 | 美女视频黄色的 | 日本免费小视频 | 国产日韩欧美91 | 欧美日韩国产精品一区二区 | 国产成人av一区二区三区 | 欧美日韩在线一区二区 | 精品三级在线观看 | 国产高清精品一区二区三区 | 99爱国产| 国产精品免费一区二区 | 人人干人人看 | 97人人超碰 | 婷婷色国产偷v国产偷v小说 | 国产一级影片 | 福利片一区二区 | 日韩在线一区二区三区 | 一区二区三区四区视频 | 亚洲免费一区 | 久久久久网站 | 亚洲欧美一区二区三区在线 |