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