真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++分支和循環(huán)語(yǔ)句怎么使用

本篇內(nèi)容介紹了“C++分支和循環(huán)語(yǔ)句怎么使用”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供西崗網(wǎng)站建設(shè)、西崗做網(wǎng)站、西崗網(wǎng)站設(shè)計(jì)、西崗網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、西崗企業(yè)網(wǎng)站模板建站服務(wù),10年西崗做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

生活中存在三種語(yǔ)言結(jié)構(gòu)

(1)順序結(jié)構(gòu)

(2)選擇結(jié)構(gòu)<——>分支語(yǔ)句:if   switch    

(3)循環(huán)結(jié)構(gòu)<——>循環(huán)語(yǔ)句:while      for      do while         goto 

C語(yǔ)言中0表示假,非0表示為真。(比如說(shuō)-1表示為真)

 if 語(yǔ)句

語(yǔ)法結(jié)構(gòu):

  • if(表達(dá)式)

       語(yǔ)句;

  • if(表達(dá)式)    

            語(yǔ)句1;

        else

            語(yǔ)句2;

  • if (表達(dá)式1)

            語(yǔ)句1;

         else if(表達(dá)式2)

             語(yǔ)句2;

          else  // 最后一個(gè)else語(yǔ)句借以省略,根據(jù)需要寫(xiě)

               語(yǔ)句3;

如果if 或者else想要控制多條語(yǔ)句,必須要用大括號(hào)括起來(lái),整體形成一個(gè)代碼塊。

C++分支和循環(huán)語(yǔ)句怎么使用

以上程序的輸出結(jié)果不是“hahahah”也不是“hehhehe”,結(jié)果是什么也不輸出。else是和最近的 if匹配,所以都是屬于第一個(gè)if的代碼塊內(nèi)容。

else是和它離得最近的那個(gè)沒(méi)有匹配的if 是一對(duì)。

如果常量和變量做比較的時(shí)候,我們可以把常量寫(xiě)在前面,這樣能夠避免出現(xiàn)錯(cuò)誤如:5==num;

練習(xí)

1.判斷一個(gè)數(shù)是否為奇數(shù)?

#include

int main()

{

    int num=0;

    printf("請(qǐng)輸入一個(gè)數(shù):\n");

    scanf("num=%d\n",&num);

    if (num%2==1)

    {

        printf("該數(shù)字為奇數(shù)");

    }

    else

    {

        printf("該數(shù)字為偶數(shù)");

    }

    return 0;

}

2.且輸出1-100之間的奇數(shù)。

#include

int main()

{

    int a=1;

    while (a<=100)

    {

        if(a%2==1)

        {

            printf("%d\n",a);

            a++;

        }

        else

            a++;

    }

    return 0;

}

Switch語(yǔ)句

Switch語(yǔ)句的一般形式:

Switch(語(yǔ)句1)

{

    case(語(yǔ)句2):

              內(nèi)容;

                break;

    case (語(yǔ)句3):

               內(nèi)容;

                break;

    case(語(yǔ)句4):

                內(nèi)容;

                break;

    ……

     default;// 可有可無(wú)

              內(nèi)容;

               break;

}

Switch語(yǔ)句是從case進(jìn)入,從break出來(lái),只有當(dāng)case后面的語(yǔ)句與Switch后面的語(yǔ)句匹配上的時(shí)候才會(huì)執(zhí)行。

注意:Switch語(yǔ)句里面必須是整型表達(dá)式,case后面必須是整型常量表達(dá)式。

while循環(huán)

while 語(yǔ)法結(jié)構(gòu):

while (表達(dá)式)

           循環(huán)語(yǔ)句;

只有在表達(dá)式為真的時(shí)候,才會(huì)執(zhí)行循環(huán)語(yǔ)句,知道發(fā)現(xiàn)表達(dá)式為假的時(shí)候,表達(dá)式便不再執(zhí)行,結(jié)束循環(huán)。

  • continue的作用是終止本次循環(huán)中,也就是說(shuō)continue后面的代碼不再執(zhí)行,直接跳轉(zhuǎn)到while的判斷部分,判斷是否需要進(jìn)入下一次循環(huán)。

  • 只要循環(huán)中遇到break,就停止后期的所有的循環(huán),直接終止循環(huán),所以:while中的break是用于永久終止循環(huán)的。

getchar 是輸入字符,putchar() 是輸出字符。putchar(變量名)的含義類似于printf(“%c”,變量名);

EOF——表示的end of file 是文件的結(jié)束標(biāo)志。

int main()

{

    int ch=0;

    while((ch=getchar()!=EOF)

{

    putchar(ch);

}

return 0;

}

 當(dāng)你輸入EOF的時(shí)候,循環(huán)并不會(huì)終止,只有當(dāng)你輸入Ctrl+z時(shí),才會(huì)終止。

getchar與scanf的區(qū)別:

scanf是把你所輸入的內(nèi)容放到一個(gè)緩沖區(qū)中,最后的回車鍵作為結(jié)束標(biāo)志,在最終顯示的時(shí)候不會(huì)顯示出\n。但是getchar首先是去輸入緩沖區(qū)中看是否有內(nèi)容,不管里面的內(nèi)容是否是自己所需要的,都會(huì)被讀走。所以,一般我們?cè)谑褂胓etchar()輸入的時(shí)候,前面一般加上一句getchar();不用給他賦予返回值,因?yàn)槲覀兇藭r(shí)的目的就是清空數(shù)據(jù)緩沖區(qū)中的內(nèi)容,讓getchar獲取我們想要的內(nèi)容。

getchar函數(shù)是一位一位的讀取字符的。

#include

int main()

{

    while ((ch=getchar())!=EOF)

    {

        if(ch<'0'||ch>'9')

            continue;

        putchar(ch);

    }

    return 0;

}

以上代碼的意思是只有在輸入字符0-9之間的字符,包含0和9,才會(huì)有輸出,否則就不輸出。

for循環(huán)

語(yǔ)法:for (表達(dá)式1;表達(dá)式2;表達(dá)式3)

            {

                循環(huán)語(yǔ)句;

            }

表達(dá)式 1為初始化部分,用于初始化循環(huán)變量的。表達(dá)式2 為條件判斷部分,用于判斷循環(huán)時(shí)候終止。表達(dá)式3位調(diào)整部分,用于循環(huán)條件的調(diào)整。

break和continue的用法和在while語(yǔ)句中的用法一致。

有一個(gè)小區(qū)別:

#include

        int main()

    {

        int i=0;

        for(i=1;i<=10;i++)

        {

            if (i==5)

                continue;

            printf("%d",i);

        }

        return 0;

    }

此結(jié)果的輸出是1 2 3 4 6 7 8 9 10 因?yàn)樵趇=5的時(shí)候遇到了continue之后直接跳轉(zhuǎn)到了變量調(diào)整部分i++那里,所以,這個(gè)時(shí)候變量的值變?yōu)榱?,繼續(xù)輸出。

#include     

            int  main()

        {

            int i=1;

            while (i<=10)

            {

                if(i==5)

                    continue;

                printf("%d",i);

                i++;

             }

          }

   此代碼的結(jié)果是1 2 3 4 最后是一個(gè)死循環(huán),因?yàn)楫?dāng)i=5的時(shí)候,遇到了continue,后面的部分不再執(zhí)行,直接跳過(guò)了變量調(diào)整部分,一直在判斷i=5。

for語(yǔ)句循環(huán)控制變量的一些建議:

  • 不可在for循環(huán)體內(nèi)修改循環(huán)變量,防止for循環(huán)失去控制。

  • 建議for語(yǔ)句的循環(huán)控制變量的取值采用“前閉后開(kāi)區(qū)間”寫(xiě)法。

當(dāng)for循環(huán)的表達(dá)式2,即判斷語(yǔ)句不寫(xiě)的時(shí)候,就意味著這個(gè)判斷條件恒為真,那么就進(jìn)入了死循環(huán)。

請(qǐng)問(wèn)一下代碼循環(huán)了多少次?

#include

int main()

{

     int i=0;

     int k=0;

for (i=0,k=0;k=0;i++,k++)

     k++;

return 0;

}

答案是循環(huán)了0次,就是根本就沒(méi)有進(jìn)入循環(huán),因?yàn)榕袛嗾Z(yǔ)句處是一個(gè)賦值語(yǔ)句,賦值表達(dá)式的結(jié)果是0,為假,那么就不進(jìn)入循環(huán)。

do while 循環(huán)

語(yǔ)法:do 

            {

                 循環(huán);

             }  

               while()

練習(xí)題

1.        從鍵盤(pán)輸入一個(gè)數(shù)n,并且求n!

#include

int main()

{

    int n=0;

    int i=1;

    int sum=1;

    printf("請(qǐng)輸入n:\n");

    scanf("%d",&n);

    while (i<=n)

    {

      sum=sum*i;

      i++;    

    }

    printf("sum=%d\n",sum);

    return 0;

}

2.求1!+2!+3!+4!+……n!

[x]

#include

int main()

{

    int n=0;

    int i=1;

    int sum=1;

    int get=0;

    printf("請(qǐng)輸入n:\n");

    scanf("%d",&n);

    for (n=1;n<=10;n++)

    {

      sum=1;

      while (i<=n)

      {

        sum=sum*i;

        i++;    

        }

        get=get+sum;

   }

    printf("get=%d\n",get);

    return 0;

}

[x]

#include

int main()

{

    int n=0;

    int i=1;

    int sum=1;

    int get=0;

    printf("請(qǐng)輸入n:\n");

    scanf("%d",&n);

    for (n=1;n<=10;n++)

    {

        sum=sum*n;

       get=get+sum;

   }

    printf("get=%d\n",get);

    return 0;

}

3.在一個(gè)有序數(shù)組中查找具體的某個(gè)數(shù)字n,編寫(xiě)int binsearch(intx,  int v[],int n);功能:在v[0]<=v[1]<=v[2]<=……v[n-1]的數(shù)組中查找x。

[x]

#include

int main()

{

    int i=1;

    int k=7;

    int arr[]={1,2,3,4,5,6,7,8,9,10};

    int lgth=sizeof(arr)/sizeof(arr[0]) ;

    for(i=0;i

    {

        if(k==arr[i])

        {

            printf("找到了,下標(biāo)為%d\n",i);

             break;

        }

    }

    if (i==lgth)  

    printf("沒(méi)有找到");

    return 0;

}

[x]二分查找法

#include

int main()

{

    int k=7;

    int arr[]={1,2,3,4,5,6,7,8,9,10};

    int i=0;

    int legth=sizeof(arr)/sizeof(arr[0]);

    int right=legth-1;

    int left=0;

    while(left<=right)

    {

        int mide=(right+left)/2;

        if(k>arr[mide])

        {

            left=mide+1;

        }

        else if(k

        {

            right=mide-1;

        }

        else

        {

            printf("找到了,下標(biāo)為%d\n",mide);

            break;

        }

    }

    if(left>right)

    {

        printf("找不到");

    }

    return 0;

}

4.編寫(xiě)代碼,演示多個(gè)字符從兩端移動(dòng),向中間匯聚。

#include //這個(gè)是printf所在的庫(kù)函數(shù)

#include //這個(gè)是 strlen所在的庫(kù)函數(shù)

#include//這個(gè)是sleep所在的庫(kù)函數(shù)

#include //這個(gè)是system所在的庫(kù)函數(shù)

int main()

{

    char arr1[]="Welcome to DongHua!!!!";

    char arr2[]="######################";

    int left =0;

    int right=strlen(arr1)-1;

    while (left

    {

        arr2[left]=arr1[left];

        arr2[right]=arr1[right];

        printf("%s\n",arr2);

        Sleep(1000);//表示在輸出的時(shí)候停留1000毫秒

        system("cls");//表示在輸出一次結(jié)果后清屏

        left++;

        right--;

    }

    return 0;

}

5.編寫(xiě)代碼實(shí)現(xiàn),模擬用戶登錄情景,并且只能登錄三次。(只允許輸入三次密碼,如果密碼正確就提示登錄成功,如果三次均輸入錯(cuò)誤,則退出程序)

strcmp(A,B)是比較字符串A和字符串B,如果字符串A>B,那么會(huì)返回一個(gè)大于0的數(shù)字,如果A

#include //這個(gè)是printf所在的庫(kù)函數(shù)

#include //這個(gè)是 strlen所在的庫(kù)函數(shù)

int main()

{

    int i=0;

    char password[20]={0};//不能寫(xiě)成password[]={0},這樣定義的話,就不知道數(shù)組的長(zhǎng)度是多少結(jié)果就會(huì)出錯(cuò)

    for (i=0;i<3;i++)

    {

        printf("請(qǐng)輸入密碼:\n");

        scanf("%s",password);

        if(strcmp(password,"123456")==0)//在比較兩個(gè)字符串是否相等的時(shí)候,不能直接用==來(lái)判斷,要用strcmp函數(shù),它在string.h函數(shù)庫(kù)中

        {

            printf("密碼正確,登陸成功\n");

            break;

        }

        else

        {

            printf("密碼錯(cuò)誤\n");

        }

    }

    if (i==3)

    {

        printf("三次密碼錯(cuò)誤,退出程序\n");

    }

    return 0;

}

goto 語(yǔ)句

在一般編寫(xiě)程序的時(shí)候很少使用goto語(yǔ)句,因?yàn)樗鼤?huì)破壞程序的邏輯性,它所使用的場(chǎng)景是跳出多層循環(huán)嵌套。

分支和循環(huán)的作業(yè)和練習(xí)

1.輸入三個(gè)數(shù),按照從大到小的順序輸出。

#include //這個(gè)是printf所在的庫(kù)函數(shù)

int main()

{

    int a=0;

    int b=0;

    int c=0;

    printf("請(qǐng)輸入三個(gè)數(shù):\n");

    scanf("%d%d%d",&a,&b,&c);

    if (a

    {

     int temp=a;//在此注意,不能直接將b賦值給a,因?yàn)檫@樣a的值容易丟失

     a=b;

     b=temp;    

    }

    if(a

    {

        int temp=a;

        a=c;

        c=temp;

     }

     if(b

     {

         int temp=b;

         b=c;

         c=temp;

      }

     printf("由大到小的順序?yàn)椋?d %d %d\n",a,b,c);

    return 0;

}

2.寫(xiě)一個(gè)代碼打印1-100之間的所有的3的倍數(shù)的數(shù)字

#include

int main()

{

    int i=0;

    for (i=0;i<100;i++)

    {

        if (i%3==0)

        {

            printf("%d",i);

        }

    }

    return 0;

}

3.給定兩個(gè)數(shù),求這兩個(gè)數(shù)的最大公倍數(shù).

輾轉(zhuǎn)相除法比如說(shuō)24和18,首先看24%18余數(shù)是否為0,如果不為0的話,再用除數(shù)與余數(shù)相除,直到余數(shù)為0為止,此時(shí)最后的除數(shù)就是公倍數(shù)。

#include

int main()

{

       int a = 0;

       int b = 0;

       int temp = 0;

       printf("請(qǐng)輸入兩個(gè)數(shù)字:\n");

       scanf_s("%d %d", &a, &b);

       while(temp = a % b)//只要結(jié)果為非0,就進(jìn)入循環(huán)。

       {      

              a = b;

              b = temp;

       }

       printf("公倍數(shù)為:%d", b);

       return 0;

}

4.打印1000年到2000年之間的閏年

#include

int main()

{

       int year = 0;

       for (year = 0; year <= 2000; year++)

       {

              //判斷year是否為閏年

              //1.能被4整除并且不能被100整除

              //2.能被400整除是閏年

              if (year % 4 == 0 && year % 100 != 0)

              {

                      printf("閏年為:%d\n", year);

              }

              else if(year%400==0)

              {

                      printf("閏年為:%d\n", year);

              }

       }

       return 0;

}

5.打印100-200之間的素?cái)?shù)

#include

int main()

{

       int count = 0;

       int i = 0;

       for (i = 100; i <= 200; i++)

       {

              int j = 0;

              for (j = 2; j < i ; j++)

              {

                      if (i%j == 0)

                      {

                             break;

                      }

              }

              if (j == i)

              {

                      count++;

                      printf("%d\n", i);

              }

       }

       printf("count=%d\n", count);

       return 0;

}

優(yōu)化程序:首先偶數(shù)肯定不是素?cái)?shù),所以先產(chǎn)生100-200之間的奇數(shù)。根據(jù)c=a*b,那么a或者b中必有一個(gè)小于c開(kāi)平方

#include

# include//sqrt函數(shù)在此函數(shù)庫(kù)中

int main()

{

       int count = 0;

       int i = 0;

       for (i = 101; i <= 200; i+2)

       {

              int j = 0;

              for (j = 2; j <= sqrt(i) ; j++)

              {

                      if (i%j == 0)

                      {

                             break;

                      }

              }

              if (j >sqrt(i))

              {

                      count++;

                      printf("%d\n", i);

              }

       }

       printf("count=%d\n", count);

       return 0;

}

6.編寫(xiě)程序數(shù)一下1-100之間所有的整數(shù)中出現(xiàn)了多少個(gè)數(shù)字9

#include

int main()

{

       int count = 0;

       int i = 0;

       for (i = 1; i <= 100; i++)

       {

              if (i % 10 == 9)

              {

                      count++;

              }

              if (i / 10 == 9)

              {

                      count++;

              }

       }

       printf("%d\n", count);

       return 0;

}

7.計(jì)算1/1-1/2+1/3+1/4+1/5+……+1/99+1/100的值,打印出結(jié)果

#include

int main()

{

       int i = 0;

       double sum = 0.0;

       int flag = 1;

       for (i = 1; i <= 100; i++)

       {

              sum += flag*(1.0 / i);//此處必須是1.0,否則結(jié)果都是不對(duì)的

              flag = (-flag);

       }

       printf("%lf\n", sum);

       return 0;

}

8.求10個(gè)整數(shù)中的最大值

#include

int main()

{

       int i = 0;

       int arr[] = { 1,2,3,4,5,6,7,8,9,10 };

       int sz = sizeof(arr) / sizeof(arr[0]);

       int max = arr[0];

       for (i = 0; i <= 10; i++)

       {

              if(max

              max = arr[i];

       }

       printf("%d\n", max);

       return 0;

}

輸入10個(gè)數(shù)字,并且找出其中的最大值

#define _CRT_SECURE_NO_WARNINGS

#include

int main()

{

       int i = 0;

       int arr[10] = { 0 };

       printf("請(qǐng)輸入數(shù)字:");

       for (i = 0; i < ; i++)

       {

              scanf("%d", &arr[i]);//切勿忘記加上取地址運(yùn)算符

       }

       int max = arr[0];

       for (i = 1; i < 10; i++)

       {

              if (arr[i]>max)

              {

                      max = arr[i];

              }

       }

       printf("max=%d\n", max);

       return 0;

}

9.輸出乘法口訣表

#define _CRT_SECURE_NO_WARNINGS

#include

int main()

{

       int i = 0;

       int j = 0;

       for (i = 1; i < 10; i++)

       {

              for (j = 1; j < i+1; j++)

              {

                      printf("%d*%d=%2d  ", i, j, i*j);//輸出為%2d表示的是輸出為兩個(gè)字符,不夠兩個(gè)字符的,自動(dòng)補(bǔ)一個(gè)空格。%-2d是輸出左對(duì)齊

              }

              printf("\n");

       }

       return 0;

}

10.設(shè)計(jì)一個(gè)猜數(shù)字游戲

#define _CRT_SECURE_NO_WARNINGS//scanf所在的頭文件

#include//srand函數(shù)所在的頭文件

#include//time函數(shù)所在的頭文件

#include//rand函數(shù)所在的頭文件

void menu()

{

              printf("********************************************\n");

              printf("***         1.play         0.exit        ***\n");

              printf("********************************************\n");

}

void game()

{

       //時(shí)間戳:當(dāng)前時(shí)間-1970年1.1 0:0:0 時(shí)間差換算成秒后的數(shù)字。

       int ret = 0;

       int guess = 0;

       printf("猜數(shù)字\n");

        ret = rand()%100+1;//生成隨機(jī)數(shù),生成隨機(jī)數(shù)的范圍是0-0x7fff,即轉(zhuǎn)換為十進(jìn)制是32767,對(duì)100取余,使其輸出1-100以內(nèi)的隨機(jī)數(shù)

       while (1)

       {

              scanf("%d", &guess);

              if (guess < ret)

              {

                      printf("猜小了\n");

              }

              else if (guess > ret)

              {

                      printf("猜大了\n");

              }

              else if (guess == ret)

              {

                      printf("恭喜你,猜對(duì)了\n");

                      break;

              }

       }

}

int main()

{

       //猜數(shù)字游戲

       //1.電腦會(huì)生成一個(gè)隨機(jī)數(shù)

       //2.猜數(shù)字

       int input = 0;

       srand((unsigned int)time(NULL));//設(shè)置時(shí)間起點(diǎn)

       do

       {

              menu();

              printf("請(qǐng)選擇:");

              scanf("%d", &input);

              switch (input)

              {

                             case 1:

                                    printf("開(kāi)始游戲\n");

                                    game();

                                    break;

                             case 0:

                                    printf("退出游戲\n");

                                    break;

                             default:

                                    printf("您輸錯(cuò)了,請(qǐng)重新輸入\n");

                                    break;

              }

       } while (input);

       return 0;

}

11.一個(gè)關(guān)機(jī)程序

#define _CRT_SECURE_NO_WARNINGS

#include  

#include //system 函數(shù)所在的頭文件

#include //strcmp函數(shù)所在的頭文件

int main()

{

       char input[20] = { 0 };

       system("shutdown -s -t 60");//此處一定要注意,命令的格式,空格鍵不能敲錯(cuò)

again:

       printf("提示?。?您的電腦將在1分鐘后關(guān)機(jī),如果您輸入“我是豬”可以取消關(guān)機(jī)\n");

       scanf("%s", input);

       if (strcmp(input, "我是豬") == 0)

       {

              system("shutdown -a");

       }

       else

       {

              goto again;

       }

       return 0;

}

“C++分支和循環(huán)語(yǔ)句怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


文章標(biāo)題:C++分支和循環(huán)語(yǔ)句怎么使用
文章出自:http://weahome.cn/article/gjdjep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部