1. 程式人生 > >c語言的迴圈之for迴圈

c語言的迴圈之for迴圈

D ennisRitchie 過世了,他發明的c語言,一個影響深遠並徹底改變世界的計算機語言。C語言的誕生是偶然的,它僅僅只是UNIX系統的附加產物。但是也絲毫掩蓋不了它王者的地位,看看2014年的語言排行榜:歷經40多年的洗禮,多少語言隨大浪東去,輝煌一陣又迅速湮 滅,唯有C語言,傲視群雄!

今天很多語言都受到了c語言的影響,c++,java,c#,Perl,php,objective-c,等等。

首先我們先來看下面這個程式碼

#include<stdio.h>

int main () {

printf (“周老師怎麼長的這麼帥呀?\n”,a);

return 0;

}

【理解】第一個C語言程式碼分析

學過開發方面的一眼就能看出這個程式碼能列印一句周老師怎麼長的這麼帥呀?

1、
#include<stdio.h> 代表引入一個系統標頭檔案,這個標頭檔案名字叫stdio.h

這個標頭檔案裡包含一些輸入/輸出的資訊 2、

int main(){ }

這是一個主函式,作用是:告訴系統你的程式程式碼的執行順序。程式裡面有且只能有一個 main函式

下面我們來說一下c語言裡的for迴圈

題目:讓使用者輸入一個數N,輸出類似如下圖的等腰三角形(如下圖)

        *

       ***

     *****

    *******

   *********

#include <stdio.h>

int main(int argc, const char *argv[]) {   

   printf("請輸入一個整數\n");

    int num;

    scanf("%d",&num);

     for (int i = 1; i <= num; i++) { 

        for (int j = 0; j < num - i ; j++) {

            printf(" ");

        }

        for (int j = 0; j < i*2-1; j++) {

            printf("*"); 

        }

        printf("\n");

    }

    return 0;

}

執行一下就能打印出上面的圖形,是不是很好玩?

其中用到了一個最關鍵的語法,就是for迴圈。C語言中for迴圈語句使用最為靈活,不僅可以用於迴圈次數已經確定的情況,而且可以用於迴圈次數不確定的情況而只給出迴圈結束條件的情況,它完全可以替代while語句。

一般形式:

for(表示式1;表示式2;表示式3) {

迴圈體; }

2、for迴圈執行過程

第1步: 先執行表示式1。


第2步: 執行表示式2,若其結果值為真(值為非0),則跳轉到第3步。若為假(值為0),轉到第5步。

第3步: 執行迴圈體,再跳轉到第4步


第4步:執行表示式3。


第5步:跳出迴圈,迴圈結束

如:for(inti=1;i<=100;i++) sum=sum+i;

i = 1;

while (i<=100){

sum = sum+i;

i++;

}

顯然,用for語句更簡單,方便。

基本格式:

        for(表示式1;表示式2;表示式3){

            迴圈體;

        }

    例:

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

        }

 其他格式:

        表示式1,表示式2,表示式3都可以省略

    注意:表示式2沒寫的話代表是死迴圈

   就算你不寫表示式1,表示式2,或者表示式3,但是那兩個分號無論如何都不省略

習題:求100到999之間的水仙花數

 從100迴圈到999

 首先是三位數

 水仙花數:abc =a*a*a  +  b*b*b  +   c*c*c

 如:153=  1*1*1 + 5*5*5  +3*3*3

            1        125     27

 數字的立方:數字*數字*數字

 水仙花數;百位數字的立方 + 十位數字的立方 + 個位數字的立方  = 這個數字本身

 分析:

    1.首先要從100遍歷到999

    2.要判斷這個數字是不是水仙花數

        2.1 首先取得百位數字

            然後取得十位數字

            最後取得個數數字

        2.2 用 百*百*百 + 十*十*十 + 個*個*個 得到一個和,然後用這個和判斷是否和當前遍歷到得三位數相等

            153 % 10 = 3

            個位 = 這個數字 % 10;

            153 / 10 = 15   15 % 10 = 5

            十位 = 這個數字 / 10  % 10

            153 / 100 = 1   999 /100 = 9

            百位 = 這個數字 / 100;

        2.3 相等就證明是水仙花數

3.如果是就輸出

//   1.首先要從100遍歷到999

    for (int i=100; i<=999; i++) {

//        2.要判斷這個數字是不是水仙花數

//       

//        2.1 首先取得百位數字

//        然後取得十位數字

//        最後取得個數數字    

        int bai = i / 100;

        int shi = i / 10 % 10;

        int ge = i % 10;

//        2.3 相等就證明是水仙花數

        if( bai*bai*bai + shi*shi*shi +ge*ge*ge == i){   

//                3.如果是就輸出

            printf("%d  ",i);

        } 

        //371     3*3*3 + 7*7*7 + 1*1*1

//                    27     343   1

    }   

    return 0;

}

for迴圈的巢狀:

        就是一個for迴圈裡面還套了一個for迴圈

 for迴圈的巢狀一般用來控制平面,利用c語言中的for迴圈巢狀可以列印各種各樣的平面形狀

 不管圖形如何複雜

精華:

    外層迴圈控制行數

    內層迴圈控制列數

相關推薦

c語言迴圈for迴圈

D ennisRitchie 過世了,他發明的c語言,一個影響深遠並徹底改變世界的計算機語言。C語言的誕生是偶然的,它僅僅只是UNIX系統的附加產物。但是也絲毫掩蓋不了它王者的地位,看看2014年的語言排行榜:歷經40多年的洗禮,多少語言隨大浪東去,輝煌一陣又迅速湮 滅,

c語言:使用for迴圈編寫一個判斷閏年的程式

#include<stdio.h> int main() {  int year,leap;  for(year=1000;year<=2000;year++)  {   if(year%4==0)   {    if(year%100==0)    {     if(year%400==0

python迴圈for迴圈

python還有個迴圈是for迴圈。 for迴圈一般用於遍歷元組、集合、列表這種資料型別裡面的所有元素。(字典只會遍歷索引) #簡單的for迴圈結構(不同於while迴圈容易變成無限迴圈,for迴圈遍歷完或中止便會結束執行)# a = ('ppap','hello,world','pho

C語言基礎教學——迴圈結構for迴圈(第四課)

C語言中的迴圈結構分為三類: 1、for()迴圈 2、while()迴圈 3、do while()迴圈 何為迴圈:程式自動重複某幾個語句 1、for()迴圈,最常用的迴圈 語法結構: for(語句1;語句2;語句3){ 迴圈體 } 語

c語言入門專案3.7——用for迴圈輸出一個等腰直角三角形

編譯程式碼 /*********************** **專案【3.7】輸出一個等腰三角形** **題目:利用for迴圈巢狀輸出用*號組成的三角形** **作者:李坤** **********

c語言入門專案4.2——利用for迴圈求1+1/2!+1/3!...+1/7!

編譯程式碼 /*********************** **專案【4.2】利用for迴圈求1+1/2!+1/3!...+1/7!** **題目:利用for迴圈求運算** **作者:李坤** **

c語言入門專案3.6——利用for迴圈輸出一個直角三角形

編譯程式碼 /*********************** **專案【3.5】輸出一個直角三角形** **題目:利用for迴圈巢狀輸出用*號組成的直角三角形** **作者:李坤** ********

C三種常用迴圈:while迴圈、do...while迴圈for迴圈

**《戰國策·燕策二》:“此必令其言如迴圈,用兵如刺蜚繡。”往復迴旋。指事物周而復始地運動或變化。意思是轉了一圈又一圈,一次又一次地循回。**迴圈 ,是C語言程式設計裡非常重要的結構。使用迴圈,可以幫我們快速解決類似的、需要重複實現、處理的問題。以下分享學習C語言三種常見迴圈:while迴圈

C#基礎篇④(程式三大結構:順序、分支、迴圈for迴圈與while迴圈的轉換,C#乘法表)

     今天我們來分享一下VS視訊中第四講的內容,這篇文章我們會簡單分享一下程式中的三大結構,重點分享我們的迴圈體結構。 一、程式中的三大結構 順序結構、分支結構、迴圈結構 【順序結構】 程式中的各個操作是按照它們在原始碼中的排列順序依次執行的,如下圖

C++11for迴圈

簡單使用: 輸出每個元素: string s = "biu biu biu"; for(auto i : s) { cout<<i<<endl; } 順帶

C++11for迴圈的新用法 for(:)語句

轉載自:https://www.cnblogs.com/jiayayao/p/6138974.html   C++使用如下方法遍歷一個容器: #include "stdafx.h" #include<iostream> #include<vector>

R語言for迴圈

假設有一個向量t,我們要對它進行for迴圈操作,則語句為: for(i in 1:length(t)) ......(這裡寫具體的操作)       其中,length(t)表示向量t的長度,1:le

初探c++11for迴圈

轉自:https://www.cnblogs.com/l00l/archive/2012/02/03/2337557.html在很多語言中都有類似foreach之類的迴圈關鍵字。在C++11中,也添加了類似的語言特性。不過,這裡首先說一句,在STL已經有類似的東西,std::

菜鳥要做架構師——java效能優化for迴圈

完成同樣的功能,用不同的程式碼來實現,效能上可能會有比較大的差別,所以對於一些效能敏感的模組來說,對程式碼進行一定的優化還是很有必要的。今天就來說一下java程式碼優化的事情,今天主要聊一下對於for(while等同理)迴圈的優化。 作為三大結構之一的迴圈,在我們編寫程式碼的時候會經常用到。

Python基礎(六) for 迴圈

全部測試程式碼、 #!/usr/bin/env python3 # _*_ conding:utf-8 _*_ #計算1+2+3 count=1+2+3 print('count--',count) #計算1+2+3+...+10; sum=0 for i in [1,2,

JAVA演算法習題集合—第一階段2:基礎演算法練習for迴圈的練習

  知識點:for迴圈、for迴圈和if語句的巢狀使用 8、輸出1到100 描述:輸出從1到100 執行結果: 1 2 3 4...100 for(int i=1;i<=100;i++){ Syste

C語言實現陣列的迴圈右移

#include <stdio.h> #include <stdlib.h> #define N 100 int main() {    int i, j, x[N], a, b;    printf("請輸入你想右移的數字

C#程式設計基礎第七課:C#中的基本迴圈語句:while迴圈、do-while迴圈for迴圈、foreach迴圈的使用

知識點:while迴圈、do-while迴圈、forxufo迴圈、ach迴圈的使用。 1、while迴圈 特點:先判斷條件,條件為真,執行迴圈語句。條件為假,直接結束迴圈語句。 語法: while(條件表示式) {        迴圈語句;

用9種辦法解決 JS 閉包經典面試題 for 迴圈取 i

閉包 正確的說,應該是指一個閉包域,每當聲明瞭一個函式,它就產生了一個閉包域(可以解釋為每個函式都有自己的函式棧),每個閉包域(Function 物件)都有一個 function scope(不是屬性),function scope內預設有個名為 Globe 的全域性引用(有了這個引用,就可以直接

小白用python語言做自動化起步篇4 迴圈語句--For迴圈語句

While迴圈:在給定的判斷條件為Ture是執行迴圈體,否則退出迴圈體 For迴圈:重複執行語句 巢狀迴圈:可以在While迴圈中巢狀For迴圈 For迴圈:  語法: for 變數 in 範圍:     for迴圈的語句體 end=""表示不換行