詳解C語言 三大循環(huán) 四大跳轉(zhuǎn) 和判斷語句
三大循環(huán)for while 和 do{ }while;
四大跳轉(zhuǎn) :
無條件跳轉(zhuǎn)語句 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 始終與同一括號內(nèi)最近的未匹配的if語句結(jié)合。
if語句后面的分號
if(NULL!= p) ; fun();
這里的fun()函數(shù)并不是在NULL != p 的時候被調(diào)用,而是任何時候都會被調(diào)用。問題就出
在if 語句后面的分號上。在C 語言中,分號預示著一條語句的結(jié)尾,但是并不是每條C 語言
語句都需要分號作為結(jié)束標志。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)在最內(nèi)層,效率高
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) 四大跳轉(zhuǎn) 和判斷語句 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
C++基礎入門教程(二):數(shù)據(jù)、變量、宏等
這篇文章主要介紹了C++基礎入門教程(二):數(shù)據(jù)、變量、宏等,本文講解了變量初始化、宏定義、三種進制數(shù)的表示、const初探、auto聲明等內(nèi)容,需要的朋友可以參考下2014-11-11C語言fprintf()函數(shù)和fscanf()函數(shù)的具體使用
本文主要介紹了C語言fprintf()函數(shù)和fscanf()函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11C++數(shù)位DP復雜度統(tǒng)計數(shù)字問題示例詳解
這篇文章主要為大家介紹了利用C++數(shù)位DP的復雜度來統(tǒng)計數(shù)字問題的示例實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升值加薪2021-11-11