C語言 goto語句
goto語句被稱為無條件轉(zhuǎn)移語句,它的一般形式為:
goto標(biāo)號;
goto語句的功能是使程序執(zhí)行流程轉(zhuǎn)到標(biāo)號對應(yīng)的語句處,并從該語句處繼續(xù)執(zhí)行。標(biāo)號的命名遵循標(biāo)識符的命名規(guī)則。用標(biāo)號標(biāo)注語句的形式為:
標(biāo)號:語句;
一般可以使用goto語句和if語句結(jié)合實現(xiàn)循環(huán)。
【例題】goto語句舉例
利用goto語句計算: 1-1/3+1/5-1/7…的前n(n>3)項之和,n由用戶輸入。
算法分析:
這是累加問題,核心是計算s=s+t。假設(shè)將累加項表達式t用循環(huán)次數(shù)i來表示,那么T=1/(2*i-1)。
本題中,每個累加項的符號是不一樣的,第1項、第3項、第5項……是正號;而第2項、第4項、第6 項……是負號,可以設(shè)置一個變量f來控制符號的變化,f初值為1,每循環(huán)一次,使f=-f,從而達到改變符號的目的。
流程圖如圖所示。
從流程圖中可以看出,使用goto語句和if語句組成一個循環(huán)的形式,循環(huán)體就是標(biāo)號a1和if語句括起來的部分。
程序如下:
#include <stdio.h>
main ()
{
int i=2,f=l,n;
double s=1,t;
printf("input n:\n");
scanf("%d",&n);
al:
t=1.0/(2*i-l);
f=-f;
s = s+f;
i++;
if(i<=n) /*如果i小于n,轉(zhuǎn)到前面繼續(xù)執(zhí)行*/
goto al;
printf("s=%7.5f\n",s);
}
程序執(zhí)行時,屏幕上顯示提示信息:
input n:
輸入數(shù)據(jù):
3
輸出結(jié)果為:
s=0.86667
點擊加載更多評論>>