只是是一個c語言語句行的標(biāo)號,而不是循環(huán)語句。
創(chuàng)新互聯(lián)服務(wù)項目包括農(nóng)安網(wǎng)站建設(shè)、農(nóng)安網(wǎng)站制作、農(nóng)安網(wǎng)頁制作以及農(nóng)安網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,農(nóng)安網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到農(nóng)安省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
就像在上面 c 語言程序中的“l(fā)oop6”和“l(fā)oop10”就是為了配合 goto (跳轉(zhuǎn))語句而給某行程序起的名字(標(biāo)號)。
例如下圖:
它的意思是:當(dāng) q 的值等于 14時,跳轉(zhuǎn)到標(biāo)號為 loop6 的那條程序語句繼續(xù)執(zhí)行, 也就是打印出 "Hello world"。
擴(kuò)展資料:
goto語句一般格式如下: goto 語句標(biāo)號; 其中語句標(biāo)號是按標(biāo)識符規(guī)定書寫的符號, 放在某一語句行的前面,標(biāo)號后加冒號(:)。語句標(biāo)號起標(biāo)識語句的作用,與goto 語句配合使用。
如: label: i++;
loop: while(x7);
goto語句通常與條件語句配合使用??捎脕韺崿F(xiàn)條件轉(zhuǎn)移, 構(gòu)成循環(huán),跳出循環(huán)體等功能。
但是,在結(jié)構(gòu)化程序設(shè)計中一般不主張使用goto語句, 以免造成程序流程的混亂,使理解和調(diào)試程序都產(chǎn)生困難。
參考資料來源:百度百科-goto語句
參考資料來源:百度百科-循環(huán)語句
goto語句也稱為無條件轉(zhuǎn)移語句,其一般格式如下: goto 語句標(biāo)號; 其中語句標(biāo)號是按標(biāo)識符規(guī)定書寫的符號, 放在某一語句行的前面,標(biāo)號后加冒號(:)。語句標(biāo)號起標(biāo)識語句的作用,與goto 語句配合使用。
如: label: i++;
loop: while(x7);
goto loop;
C語言不限制程序中使用標(biāo)號的次數(shù),但各標(biāo)號不得重名。goto語句的語義是改變程序流向, 轉(zhuǎn)去執(zhí)行語句標(biāo)號所標(biāo)識的語句。
goto語句通常與條件語句配合使用。可用來實現(xiàn)條件轉(zhuǎn)移, 構(gòu)成循環(huán),跳出循環(huán)體等功能。
擴(kuò)展資料:
go to語句使用原則:
1、使用goto語句只能goto到同一函數(shù)內(nèi),而不能從一個函數(shù)里goto到另外一個函數(shù)里。
2、使用goto語句在同一函數(shù)內(nèi)進(jìn)行g(shù)oto時,goto的起點(diǎn)應(yīng)是函數(shù)內(nèi)一段小功能的結(jié)束處,goto的目的label處應(yīng)是函數(shù)內(nèi)另外一段小功能的開始處。
3、不能從一段復(fù)雜的執(zhí)行狀態(tài)中的位置goto到另外一個位置,比如,從多重嵌套的循環(huán)判斷中跳出去就是不允許的。
4、應(yīng)該避免向兩個方向跳轉(zhuǎn)。這樣最容易導(dǎo)致"面條代碼"。
參考資料:百度百科-goto語句
這個例子來說吧:loop: A語句;...(其他語句)goto loop;則goto loop表示程序轉(zhuǎn)去執(zhí)行l(wèi)oop標(biāo)記的那個語句!
loop是一個在編程中習(xí)慣用的語句標(biāo)號。且長配合goto語句使用。
由于現(xiàn)在編程不提倡使用goto語句,c中的語句標(biāo)號也好少用到。另附上goto,break, continue和return用法:
===========================================
程序中的語句通常總是按順序方向, 或按語句功能所定義的方向執(zhí)行的。假如需要改變程序的正常流向, 可以使用本小節(jié)介紹的轉(zhuǎn)移語句。在C語言中提供了4種轉(zhuǎn)移語句:
goto,break, continue和return。
其中的return語句只能出現(xiàn)在被調(diào)函數(shù)中, 用于返回主調(diào)函數(shù),我們將在函數(shù)一章中具體介紹。 本小節(jié)介紹前三種轉(zhuǎn)移語句。
1.goto語句
goto語句也稱為無條件轉(zhuǎn)移語句,其一般格式如下: goto 語句標(biāo)號; 其中語句標(biāo)號是按標(biāo)識符規(guī)定書寫的符號, 放在某一語句行的
前面,標(biāo)號后加冒號(:)。語句標(biāo)號起標(biāo)識語句的作用,與goto 語句配合使用。
如: label: i++;
loop: while(x7);
C語言不限制程序中使用標(biāo)號的次數(shù),但各標(biāo)號不得重名。goto語句的語義是改變程序流向, 轉(zhuǎn)去執(zhí)行語句標(biāo)號所標(biāo)識的語句。
goto語句通常與條件語句配合使用??捎脕韺崿F(xiàn)條件轉(zhuǎn)移, 構(gòu)成循環(huán),跳出循環(huán)體等功能。
但是,在結(jié)構(gòu)化程序設(shè)計中一般不主張使用goto語句, 以免造成程序流程的混亂,使理解和調(diào)試程序都產(chǎn)生困難。
統(tǒng)計從鍵盤輸入一行字符的個數(shù)。
#include"stdio.h"
void main(){
int n=0;
printf("input a string ");
loop: if(getchar()!=' ')
{
n++;
goto loop;
}
printf("%d",n);
} int n=0;
printf("input a string ");
loop: if(getchar()!=' ')
{
n++;
goto loop;
}
printf("%d",n);
本例用if語句和goto語句構(gòu)成循環(huán)結(jié)構(gòu)。當(dāng)輸入字符不為' '時即執(zhí)行n++進(jìn)行計數(shù),然后轉(zhuǎn)移至if語句循環(huán)執(zhí)行。直至輸入字符為' '才停止循環(huán)。
break語句
break語句只能用在switch 語句或循環(huán)語句中, 其作用是跳出switch語句或跳出本層循環(huán),轉(zhuǎn)去執(zhí)行后面的程序。由于break語句的轉(zhuǎn)移方向是明確的,所以不需要語句標(biāo)號與之配合。break語句的一般形式為: break; 上面例題中分別在switch語句和for語句中使用了break 語句作為跳轉(zhuǎn)。使用break語句可以使循環(huán)語句有多個出口,在一些場合下使編程更加靈活、方便。
continue語句
continue語句只能用在循環(huán)體中,其一般格式是:
continue;
其語義是:結(jié)束本次循環(huán),即不再執(zhí)行循環(huán)體中continue 語句之后的語句,轉(zhuǎn)入下一次循環(huán)條件的判定與執(zhí)行。應(yīng)注重的是, 本語句只結(jié)束本層本次的循環(huán),并不跳出循環(huán)。
void main(){
int n;
for(n=7;n=100;n++)
{
if (n%7!=0)
continue;
printf("%d ",n);
}
}
輸出100以內(nèi)能被7整除的數(shù)。
int n;
for(n=7;n=100;n++)
{
if (n%7!=0)
continue;
printf("%d ",n);
}
本例中,對7~100的每一個數(shù)進(jìn)行測試,如該數(shù)不能被7整除,即模運(yùn)算不為0,則由continus語句轉(zhuǎn)去下一次循環(huán)。只有模運(yùn)算為0時,才能執(zhí)行后面的printf語句,輸出能被7整除的數(shù)。
#include"stdio.h"
void main(){
char a,b;
printf("input a string: ");
b=getchar();
while((a=getchar())!=' '){
if(a==b){
printf("same character ");
break;
}b=a;
}
}
檢查輸入的一行中有無相鄰兩字符相同。
char a,b;
printf("input a string: ");
b=getchar();
while((a=getchar())!=' '){
if(a==b){
printf("same character ");
break;
}b=a;
}
本例程序中,把第一個讀入的字符送入b。然后進(jìn)入循環(huán),把下一字符讀入a,比較a,b是否相等,若相等則輸出提示串并中止循環(huán),若不相等則把a(bǔ)中的字符賦予b,輸入下一次循環(huán)。
輸出100以內(nèi)的素數(shù)。素數(shù)是只能被1 和本身整除的數(shù)。可用窮舉法來判定一個數(shù)是否是素數(shù)。
void main(){
int n,i;
for(n=2;n=100;n++){
for(i=2;i if(n%i==0) break;
if(i=n) printf(" %d",n);
}
} int n,i;
for(n=2;n=100;n++){
for(i=2;i if(n%i==0) break;
if(i=n) printf(" %d",n);
}
本例程序中,第一層循環(huán)表示對1~100這100個數(shù)逐個判定是否是素數(shù),共循環(huán)100次,在第二層循環(huán)中則對數(shù)n用2~n-1逐個去除,若某次除盡則跳出該層循環(huán),說明不是素數(shù)。 假如在所有的數(shù)都是未除盡的情況下結(jié)束循環(huán),則為素數(shù),此時有i=n, 故可經(jīng)此判定后輸出素數(shù)。然后轉(zhuǎn)入下一次大循環(huán)。實際上,2以上的所有偶數(shù)均不是素數(shù),因此可以使循環(huán)變量的步長值改為2,即每次增加2,此外只需對數(shù)n用2~n去除就可判定該數(shù)是否素數(shù)。這樣將大大減少循環(huán)次數(shù),減少程序運(yùn)行時間。
#include"math.h"
void main(){
int n,i,k;
for(n=2;n=100;n+=2){
k=sqrt(n);
for(i=2;i if(n%i==0) break;
if(i=k) printf(" %2d",n);
}
}
loop是匯編里的,C語言里有個goto。用法類似。比如:
Delay: a=3;
a++;
goto Delay;
就是循環(huán)Delay這一段。
Delay:MOV A,R0
LOOP Delay
就是循環(huán)Delay后面的。
沒有區(qū)別goto 是跳轉(zhuǎn)語句,后面是標(biāo)識符,自己命名的.沒什么特別含義,他這樣寫是為了區(qū)分,和讓程序更加可讀(這里可讀是指標(biāo)識符相對于無意義的字符,并不是說goto語句會是程序可讀性更好,實際剛好相反).goto loop從語義上理解應(yīng)該是跳轉(zhuǎn)到某一個循環(huán)里面讓人知道跳到那個地方去(即前面所謂的可讀好)
goto格式是
asd:xxxxxx
xxxxxxxx
xxxxxxx
goto asd;
就是跳到asd重新在運(yùn)行一次的意思,如果上面xxx中沒有結(jié)束或者跳出的語句上面就會變成死循環(huán).和
while(1)一個意思
一般程序中很少或根本不使用goto語句的,用了會很大的破壞可讀性,和帶來維護(hù)上的困難,所以不推薦使用