久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      C語言入門之轉(zhuǎn)移語句

      程序中的語句通常總是按順序方向, 或按語句功能所定義的方向執(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(x<7);

         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 stringn”);
        loop: if(getchar()!=’n’)
        {
         n++;
         goto loop;
        }
        printf(“%d”,n);
      } int n=0;
      printf(“input a stringn”);
      loop: if(getchar()!=’n’)
      {
        n++;
        goto loop;
      }
      printf(“%d”,n);

         本例用if語句和goto語句構(gòu)成循環(huán)結(jié)構(gòu)。當(dāng)輸入字符不為’n’時即執(zhí)行n++進(jìn)行計數(shù),然后轉(zhuǎn)移至if語句循環(huán)執(zhí)行。直至輸入字符為’n’才停止循環(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:n”);
        b=getchar();
        while((a=getchar())!=’n’){
         if(a==b){
          printf(“same charactern”);
          break;
         }b=a;
        }
      }

         檢查輸入的一行中有無相鄰兩字符相同。

      char a,b;
      printf(“input a string:n”);
      b=getchar();
      while((a=getchar())!=’n’){
        if(a==b){
         printf(“same charactern”);
         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(“t%d”,n);
         }
        } int n,i;
        for(n=2;n<=100;n++){
         for(i=2;i
          if(n%i==0) break;
          if(i>=n) printf(“t%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(“t%2d”,n);
        }
      }

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號