C語言程序設(shè)計初步3

字號:

1.goto語句
    goto語句也稱為無條件轉(zhuǎn)移語句,其一般格式如下: goto 語句標(biāo)號; 其中語句標(biāo)號是按標(biāo)識符規(guī)定書寫的符號, 放在某一語句行的
    前面,標(biāo)號后加冒號(:)。語句標(biāo)號起標(biāo)識語句的作用,與goto 語句配合使用。
    如: label: i++;
    loop: while(x<7);
    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)體等功能。
    但是,在結(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)語句有多個出口,在一些場合下使編程更加靈活、方便。