詳解C語言 三大循環(huán) 四大跳轉 和判斷語句
三大循環(huán)for while 和 do{ }while;
四大跳轉 :
無條件跳轉語句 go to;
跳出循環(huán)語句 break;
繼續(xù)跳出循環(huán)語句 continue;
返回值語句 return
判斷語句 if,if else,if else if else if...else
ifelse 組合
if(0 == x) if(0 == y) error(); else{ //program code }
else到底與那個if配對 C語言有這樣的規(guī)定:
else 始終與同一括號內最近的未匹配的if語句結合。
if語句后面的分號
if(NULL!= p) ; fun();
這里的fun()函數(shù)并不是在NULL != p 的時候被調用,而是任何時候都會被調用。問題就出
在if 語句后面的分號上。在C 語言中,分號預示著一條語句的結尾,但是并不是每條C 語言
語句都需要分號作為結束標志。if 語句的后面并不需要分號,但如果你不小心寫了個分號,
編譯器并不會提示出錯。因為編譯器會把這個分號解析成一條空語句。也就是上面的代碼實
際等效于:
if(NULL != p) { ; } fun();
switch、case 組合
if、else 一般表示兩個分支或是嵌套表示少量的分支,但如果分支很多的話……還是用
switch、case 組合。
基本格式為:
switch(variable) { case value1; //code; break; case value2; //code; break; case value3; //code; break; case value4; //code; break; default: break; }
1、case 語句后面不要忘記加break;
2、 最后必須使用default 分支。即使程序真的不需要default 處理,也應該保留
語句:
default :
break;
這樣做并非畫蛇添足,可以避免讓人誤以為你忘了default處理應該得要。
case后面必須是整型或字符型的常量或常量表達式。
do、while、for 關鍵字
C 語言中循環(huán)語句有三種:while 循環(huán)、do-while 循環(huán)、for 循環(huán)。
while 循環(huán):先判斷while 后面括號里的值,如果為真則執(zhí)行其后面的代碼;否則不執(zhí)
行。while(1)表示死循環(huán)。死循環(huán)有沒有用呢?看下面例子:
比如你開發(fā)一個系統(tǒng)要日夜不停的運行,但是只有操作員輸入某個特定的字符‘#'才
可以停下來。
while(1) { if(‘#'== GetInputChar()) { break; } }
break 與continue 的區(qū)別
break 關鍵字很重要,表示終止本層循環(huán)。現(xiàn)在這個例子只有一層循環(huán),當代碼執(zhí)行到
break 時,循環(huán)便終止。
#include<stdio.h> int main() { flaot area,pi=3.1415926; int r; for(r=0;r<100;r++) { area=pi*r*r; if(area>100) //當area>100時就跳出for循環(huán) break; } printf("area=%d\n",area); }
continue 表示終止本次(本輪)循環(huán)。當代碼執(zhí)行到continue 時,本輪循環(huán)終止,進入下一輪循環(huán)。具有過濾功能。
#include<stdio.h> int main() { inti=0,sum=0; for(i=0;i<10;i++) { if(i%3==0)//當i%3==0時就continue;繼續(xù)下一次循環(huán) 把0~10中3的整數(shù)倍濾除掉 { printf("i=%d",i); continue; } sum=sum+i; } printf("sum=%d\n",sum); }
do-while 循環(huán):先執(zhí)行do 后面的代碼,然后再判斷while 后面括號里的值,如果為真,
循環(huán)開始;否則,循環(huán)不開始。其用法與while 循環(huán)沒有區(qū)別,但相對較少用。
for 循環(huán):for 循環(huán)可以很容易的控制循環(huán)次數(shù),多用于事先知道循環(huán)次數(shù)的情況下
循環(huán)語句的注意點
長循環(huán)在最內層,效率高
for (col=0; col<5; col++ ) { for (row=0; row<100; row++) { sum = sum + a[row][col]; } }
長循環(huán)在最外層,效率低
for (row=0; row<100; row++) { for ( col=0; col<5; col++ ) { sum = sum + a[row][col]; } }
循環(huán)要盡可能的短,要使代碼清晰,一目了然
For循環(huán)舉個例子 9*9乘法表
#include<stdio.h> int main() { int i,j,sum=0; printf("輸出9*9乘法表:\n"); for(i=1;i<10;i++) { for(j=1;j<=i;j++) { sum=i*j; printf("%d*%d=%d ",j,i,sum); } printf("\n"); } return 0; }
打印出:
輸出9*9乘法表:
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=92*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
記得開始學c語言時對于這些打印感覺很難,其實就是不會用for,沒有好的程序理解能力,也就不會想到這些算法,現(xiàn)在慢慢有了基礎,對于這些小程序也就運用好的很嫻熟了。
return 用來終止一個函數(shù)并返回其后面跟著的值。
return (Val);//此括號可以省略。但一般不省略,尤其在返回一個表達式的值時。
以上所述是小編給大家介紹的詳解C語言 三大循環(huán) 四大跳轉 和判斷語句 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對我們網(wǎng)站的支持!
欄 目:C語言
下一篇:詳解計數(shù)排序算法及C語言程序中的實現(xiàn)
本文標題:詳解C語言 三大循環(huán) 四大跳轉 和判斷語句
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2187.html
您可能感興趣的文章
- 04-02c語言函數(shù)調用后清空內存 c語言調用函數(shù)刪除字符
- 04-02c語言的正則匹配函數(shù) c語言正則表達式函數(shù)庫
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對數(shù)怎么表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段函數(shù)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排序法函數(shù)
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段函數(shù)
- 04-02C語言中怎么打出三角函數(shù) c語言中怎么打出三角函數(shù)的值
- 04-02c語言調用函數(shù)求fibo C語言調用函數(shù)求階乘


閱讀排行
本欄相關
- 04-02c語言函數(shù)調用后清空內存 c語言調用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調用函數(shù)求fibo C語言調用函數(shù)求
隨機閱讀
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10SublimeText編譯C開發(fā)環(huán)境設置
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實例總結
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢data目錄下的sessions文件夾有什