C語言----循環結構1(基礎篇五)

今天更新一個C語言的循環,簡單點就是就是咱們平時在使用電腦時不停的刷新網頁,生活中天天都要吃飯等等就是循環,而編程中也有不斷循環的過程,或者遇到符合的條件結束循環編程

  下面進入今天的主題:spa

  需求:用計算機計算從1加到10的和code

  一種笨方法:blog

    解題思路:io

    1、定義2個變量:計數器,總和,並初始化爲0class

    2、計數器加11變量

    3、總和=總和+計數器循環

    4、計數器加12程序

    5、總和=總和+計數器方法

    6、……   

    7、計數器加110

    8、總和=總和+計數器

    9、輸出總和55 

  程序1

    計算1+2+3++9+10

// 5_1_計算1+2+3+....10的和,輸出在屏幕上
#include <stdio.h>
main()
{
    int i, j;   //i 是累加器, j是計數器
    i = 0;
    j = 1;
    i = i + j;  // i = 0 + 1
    j++;
    i = i + j; // i  = 1 + 2 
    j++;
    i = i + j;
    j++;
    i = i + j;
    j++;
    i = i + j;
    j++;
    i = i + j;
    j++;
    i = i + j;
    j++;
    i = i + j;
    j++;
    i = i + j;
    j++;
    i = i + j;
    j++;
    printf("%d\n", i);
    system("pause");
}

  ※累加器通常初始化爲0,請同窗們想一想累乘器能否初始化爲0NO 初始值應該爲 1 零乘以任何數都得零!

 

  goto語句

  格式:

    goto 標號;

      標號格式:

      標識符:語句;

 

  規律:goto語句一般配合if語句使用,不然容易構成死循環

  程序2

    計算1+2+3++9+10goto解法

//5_2_計算1+2+3+....+9+10的goto解法,結果輸出在屏幕上面
#include <stdio.h>
#include <stdlib.h>
main()
{
    int i, j; //i 是累加器,j 是計數器
    i = 0;
    j = 1;

mark:       // goto 語句用的標記
    i = i + j;
    j++;     //若是沒有這一行程序就會進入死循環
    if (j <= 10) goto mark;
    printf("%d\n", i);
    system("pause");

}

  下面是goto流程圖:

 

  while語句

格式:

  while(條件表達式)

  {

    若干語句

    …

  }

  程序3                                

    計算1+2+3++99+10while解法

// 5_3_計算1+2+3+.....+10的while解法
#include <stdio.h>
main() 
{
    int i, j;    // i 是累加器   j 是計數器
    i = 0;
    j = 1;

    while (j <= 10)
    {
        i = i + j;
        j++;
    }
    printf("%d\n", i);
    system("pause");
}

 

   上面的代碼中:

      printf放在循環體內和外的差異

      在循環裏面的執行結果是把每一步都會打印出 i 的結果。打印10次

      

      在循環外面的執行結果是直接打印出 i 最後的結果。打印1次

      

  do while語句

格式:

  do

  {

    若干語句

    …

   } while(條件表達式);

  程序4

    打印出02018年之間全部的閏年

//5_4_打印出0到2018年全部的閏年
#include <stdio.h>
main()
{
    int year = 0;
    do
    {
        // 4年一閏,100年不閏,400年又閏
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
            printf("%d\t", year);
        year++;
    } while (year<=2018);

    system("pause");
}

  ※全部的循環語句都是條件知足才執行循環體

  ※do while語句至少會執行一次循環體,while則有可能一次都不執行。

  做業

  1、寫出計算1+2+3++99+100do while解法。

//5_5_計算1+2+3+....10的 do while解法
#include <stdio.h>
main()
{
    int i, j;   //i 是累加器   j是計數器
    i = 0;
    j = 1;
    do
    {
        i = i + j;
        j++;
    } while (j <= 10);

    printf("%d\n", i);
    system("pause");
}

  

  2、求10!   (求10的階乘)

//5_6_計算10的階乘
#include <stdio.h>
main()
{
    int a = 1, s = 1;
    do 
    {
        s = s*a;
        a++;
    } while (a<=10);
    printf("%d\n", s);   //結果是:3628800
    system("pause");
}

 

最後分享一首古詩給你們!

  《冬夜讀書示子聿》

      陸游

   古人學問無遺力

   少壯工夫老始成

   紙上得來終覺淺

   絕知此事要躬行

相關文章
相關標籤/搜索