C語言程序基本結構的簡單分析與解釋

2020-12-12 華清遠見成都中心

在C語言的補習課程中,有些學生對於C語言的結構不是很了解,為此為了讓學生對於C語言有多的認識,有利於促進C語言的學習,本文對C語言的程序結構進行了簡單的分析與解釋。

程序結構:在C語言程序中,一共有三種程序結構:順序結構、選擇結構(分支結構)、循環結構;另外會介紹一個重要的結構,函數的介紹。

一、流程控制

1.順序結構

默認的流程結構,按照書寫順序執行每一條語句

我們最開始接觸的就是順序結構:

#include.h>

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

{

printf("Hello World!\n");

return 0;

}

如上面的例子,就是最簡單的順序結構。

程序講解:

#include.h>:標準I/O頭文件,下文中的printf需要使用這個文件

int main():主函數,一個程序的入口。一個程序有且只有一個main()函數

int:代表主函數的返回值類型是int型

printf():格式化輸出,將括號內的內容列印到顯示器上,列印字符串需要用雙引號""引上

return 0;:配合主函數類型使用,一般來說返回0的程序表示程序運行成功

列印的結果為:Hello World!

2.選擇結構

對給定的條件進行判斷,再根據判斷結果來決定執行那一段代碼

3.循環結構

*在給定條件成立的情況下,反覆執行某一段代碼

二、選擇結構--if

1.使用方式

1> if(表達式) 語句1;

* if(i>1) 恭喜你被黑馬錄取;

2> if(表達式) 語句1;else 語句2;

* if(i>1) 恭喜你被黑馬錄取;else 希望你再接再厲;

3> if(表達式){}

if(表達式){}

else{}

4> if (){}

else if(){}

else{}

選擇結構:C語言中常用的選擇結構主要有以下兩種:

我們引入了一個bool類型的值(也叫boolean類型,布爾類型),只有兩個值,即真和假。C語言的判斷表達式最終的值就是一個bool類型,這個判斷表達式的bool值就決定了選擇結構如何選擇,循環結構如何循環;

if else:引入關鍵字:if  else  else if

if (bool值)     // 如果bool值為真,則執行代碼段1,否則執行代碼段2

{

代碼段1

}

else

{

代碼段2

}

if (bool值1)    // 如果bool值1為真,則執行代碼段1,否則判斷bool值2是否為真

{

代碼段1

}

else if (bool值2)  // 若bool值2為真則執行代碼段2,否則直接執行代碼段3

{          // 開頭的if和結尾的else都只能有一個,但是中間的else if可以有好多個

代碼段2

}

else

{

代碼段3

}

這段代碼裡,就有了選擇結構,可以根據不同的判斷,選擇相應的執行代碼 。

C 語言的編程中 『//』 的含義是注釋的意思。

三、選擇結構--switch

1.使用格式

* switch(表達式) { case 數值1: break; … default: break;}

* 舉例

switch case:引入關鍵字:switchcasebreakdefault

switch (變量) // 執行到這一句時,變量的值是已知的

{ // switch case語句執行時,會用該變量的值依次與各個case後的常數去對比,試圖找到第一個匹配項,找到匹配的項目後,

case 常數1: // 就去執行該case對應的代碼段,如果沒找到則繼續下一個case,直到default

代碼段1;// 如果前面的case都未匹配,則default匹配。

break;

case 常數2:

代碼段2;

break;

……

default:

代碼段n;

break;

}

*break作用:跳出整個循環;如果不寫break,語句會一直向下執行,直到遇到break。

這個就是switch case語句的選擇語句。

注意:

第一, case中必須是常數,而且必須是整形;

第二, 一般來說,每個case中代碼段後都必須有一個break;

第三,case之後一般都會有default,雖然語法上允許沒有default,但是建議寫代碼時一定要寫。

關於兩種的比較:if else和switch case的區別:if else適合對比條件較複雜,但是分支比較少的情況,switch case適合那種對比條件簡單,但是分支較多的情況。通常的做法是:在適合使用switch case的情況下會優先使用switch case,如果不適合則使用if else。這一點根據自身情況,選擇合適的方法使用。

2.if和switch的比較

* 很多情況下可以互換

* if使用方式較為靈活,使用的較多;switch適合有某個值

四、循環結構

1) 循環機構--for

(1) for:

for (循環控制變量初始化; 循環終止條件; 循環控制變量增量)

{

循環體

}

#include.h>

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

{

int i, sum = 0;

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

{

sum = sum + i;

}

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

return 0;

}

循環執行步驟:

第一, 先進行循環控制變量初始化;

第二, 執行循環終止條件,如果判斷結果為真,則進入第三步;如果為假則循環終止並退出;

第三,執行循環體;

第四,執行循環控制變量增量,轉入第二步;記住他的循環步驟,編寫程序的時候就會很簡單。上面的事例程序就是從從1 加到100的運算。

注意:for循環()中的三部分除了循環終止條件外,其他兩部分都可以省略,但標準的for循環中,應該把循環控制變量的初始化,增量都放在()當中,並且在循環體中絕對不應該更改循環控制變量,這個在編程中要注意。

2)循環結構--while

特點

*只有滿足條件是才會執行循環體

*特別注意是否進入了死循環

(2) while:

循環控制變量初始化

while(循環終止條件)

{

循環體

循環控制變量增量

}

#include.h>

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

{

int i = 0, sum = 0;

while(i <= 100)

{

sum = sum + i;

i++;

}

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

return 0;

}

循環執行步驟:第一,先進行循環控制變量初始化(在while之前);第二,判斷循環終止條件,如果判斷結果為真,則進入第三步;如果為假則不執行循環體;第三,執行循環體;第

特點

*只有滿足條件是才會執行循環體

*特別注意是否進入了死循環

3) 循環結構--do while

1.特點

* 一定會執行一次循環體

2.使用

*對比while的使用

(3) do while:

循環控制變量初始化

do

{

循環體

循環控制變量增量

}while (循環終止條件);

#include.h>

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

{

int i = 0, sum = 0;

do

{

sum = sum + i;

i++;

}while(i <= 100);

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

return 0;

}

循環執行步驟:第一,先進行循環控制變量初始化(在do while之前);第二,執行循環體;第三,執行循環控制變量增量;第四,判斷循環終止條件,如果判斷結果為真,則返回第二步;如果為假則直接退出循環;

上面關於循環的例子都是一樣的,但需要學會比較內部的區別。不管哪種循環結構,都不能缺少循環控制條件初始化,終止條件,循環控制變量增量,循環體這四部分;while循環是先判斷後執行,do while循環是先執行後判斷,等循環一次之後,其實都是一樣的。

補充:

1> 死循環 for(;;); 有時候我們會在子線程中使用無限循環,以達到不讓縣城退出的目的。

2> 注意:for循環體內變量的作用域

3> while循環和for循環的比較

* 可以互換

* for循環的變量可以及時回收

相關焦點

  • 用C語言程序比大小及C語言程序的結構
    程序分析:本程序包括了兩個函數:1.主函數main;2.被調用函數max。  max函數的作用是將x和y中較大者的值賦給變量z。return語句將z的值作為max的函數值,返回給調用max函數的函數(即主函數main)。  程序int max(int x,int y);是對調用函數max的聲明(declaration)。為什麼要做這個聲明呢?
  • C語言基礎:詳細介紹四種程序結構
    下面介紹C語言的四種程序結構 。(1)順序結構 順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
  • C語言程序結構1:選擇(分支)結構
    C語言程序結構3+1分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。
  • 加速程序開發 Python整合C語言模塊
    Python是一種解釋型的,互動的,面向對象的程式語言,它包含了模塊化的操作,異常處理,動態資料形態,以及類型的使用。它的語法表達優美易讀,具有很多優秀的腳本語言的特點:解釋的,面向對象的,內建的高級數據結構,支持模塊和包,支持多種平臺,可擴展。而且它還支持交互式方式運行,圖形方式運行。它擁有眾多的編程界面支持各種作業系統平臺以及眾多的各類函數庫,利用C和C++可以對它進行擴充。
  • 信息學程式語言教程二:順序結構程序與基本數據類型
    合肥奧數網訊:青少年信息學程式語言教程二:順序結構程序與基本數據類型。   前面的簡單程序已體現出處理問題步驟、思路的順序關係,這就是順序結構程序。   前期回顧:青少年信息學競賽語言教程一:簡單程序   [例1.7]交換兩個變量的值:由鍵盤輸入兩個正整數A和B,編程交換這兩個變量的值。
  • C語言簡明教程(四)選擇程序設計
    >(四)選擇程序設計實驗內容前面講述了順序結構設計,同時在裡面穿插了 C 語言的數據類型和運算符等內容。知識點條件判斷案例用 if 語句實現選擇結構關係運算符和關係表達式邏輯運算符和邏輯表達式條件運算符和條件表達式用 switch 語句實現多分支選擇結構接下來,我們將通過一些實際的例子,來熟悉 C 語言的選擇結構,以及相關語言的語法特點。
  • 程序設計(C語言)
    選項:A:小寫字母B:連接符C:數字字符D:下劃線答案: 【連接符】4、單選題:以下C語言用戶標識符中,不合法的是( )。選項:A:_1B:AaBcC:a_bD:a–b答案: 【a–b】5、單選題:結構化程序由三種基本結構組成,三種基本結構組成的算法( )。
  • C 語言程序設計---結構化程序設計
    >模塊與模塊之間的三種關係(必須非常熟練的掌握、理解):順序結構、分支結構(選擇結構)、循環結構,這三種結構基本上構成了模塊的框架1、順序結構:從上往下執行每一條代碼,機器嚴格的按照指令走,沒有選擇、沒有循環,是最簡單的結構2、選擇結構:
  • matlab和c語言的區別
    MATLAB可以進行矩陣運算、繪製函數和數據、實現算法、創建用戶界面、連接其他程式語言的程序等,主要應用於工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。C語言基本特性:1、高級語言:它是把高級語言的基本結構和語句與低級語言的實用性結合起來的工作單元2、結構式語言:結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。
  • C語言簡明教程(一)C語言簡單剖析
    >(一)C語言簡單剖析實驗內容本節課程將簡單介紹 C 語言的發展歷程及前景,並剖析 C 語言的編譯執行過程,寫出經典的 hello world 程序。他說「大學生畢業前要學好 C 語言,C 語言是當前程式設計師共同的語言,比你在大學學到的現代語言(比如 ML,java,python 或者其它流行的語言)都更接近機器」。他指出「不管你懂多少延續、閉包、異常處理,只要你不能解釋為什麼 while(*s++=*t++) 的作用是複製字符串,那你就是在盲目無知的情況下編程,就像一個醫生不懂最基本的解剖學就在開處方」。
  • 【C語言入門】C語言的組成結構(基礎完整篇)!
    C是一種具有模塊化設計的命令式程式語言,具有簡約、直觀的設計風格,與相對清晰、簡單的語言結構。
  • 【C語言】02.第一個C語言程序
    學習任何一門語言,首先要掌握的肯定是語法。學習C語言語法的目的:就是能夠利用C語言編寫程序,然後運行程序跟硬體(計算機、手機等硬體設備)進行交互。由於我們的最終目的是學習iOS開發,學習iOS開發的話必須在Mac系統下,因此我就在Mac系統環境下開發C語言程序,而不是在Windows環境下。
  • C語言編寫程序求水仙花數
    C語言編寫程序求水仙花數水仙花數是一個數學問題,其實質是一個三位數,個位數的立方加十位數的立方加百位數的立方之和等於這個三位數本身。例如153=1*1*1+5*5*5+3*3*3,即153=1+125+27。
  • 帶你走進C語言,簡單C程序和完整C程序的組成
    初學C語言你第一個代碼肯定是「hello word」這個簡單的C,#include <stdio.h>Int main(){Printf(「HELLO,WORD\n」);這是一個簡單的C程序,也是大家學C入門都會製作的第一個代碼。目前大家常用的有VC++和vc2017,個人推薦使用VC2017這個軟體非常的方便,也很強大。當然你如果喜歡,但是沒有軟體的話,我可以送你哦,留下你的評論,我會送你這兩個軟體。
  • 程序中的流程控制的定義是什麼?php有哪三種基本的程序結構?
    任何程式語言都是很多條語句構成的,php語言也不例外,這些語句包括賦值、函數調用、循環語句、空語句等,我們也可以把若干個語句封裝起來成為語句組,語句組本身也可以當成一行語句。語言結構是程序的核心部分,任何功能模塊都離不開它。
  • C語言程序結構2:選擇(分支)結構
    C語言程序結構3+1C語言程序結構1:選擇(分支)結構很多人覺得if嵌套比較難,其實理清楚程序結構很簡單。這是一般的選擇結構,而if嵌套就是在分支裡面又包含了一個if語句。分支可以是複合語句,多條語句裡面某一條語句可以是if選擇、循環什麼都可以。
  • 10個經典的C語言小程序
    今天給大家分享10個比較基礎的C語言的小程序,希望給C語言初學者帶來一定幫助。
  • C語言程序結構3:循環結構
    循環結構可以減少代碼重複書寫的工作量,用來描述重複執行某段算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do while循環和for循環。
  • C語言程序語句、格式輸出/輸入函數
    一、c程序語句C語言程序主要有以下幾種語句1
  • 第二篇:C語言中程序設計的三大結構
    無論使用何種程式語言,都含有程序設計的三大經典結構。即:順序結構、條件結構和循環結構,C語言也是如此。該結構簡單,本文不重點講解。條件結構,也叫選擇結構,就像走到了一個岔路口,或超市裡購買不同品牌的同類商品。需要根據條件判斷選擇執行那一部分或那些代碼。