c語言程式基本結構的簡單分析與解釋
在c語言的補習課程中,有些學生對於c語言的結構不是很了解,為此為了讓學生對於c語言有多的認識,有利於促進c語言的學習,本文對c語言的程式結構進行了簡單的分析與解釋。
程式結構:在c語言程式中,一共有三種程式結構:順序結構、選擇結構(分支結構)、迴圈結構;另外會介紹乙個重要的結構,函式的介紹。
一、流程控制
1.順序結構
預設的流程結構,按照書寫順序執行每一條語句
我們最開始接觸的就是順序結構:
#include
int main(int argc, const char *ar**)
printf("hello world!\n");
return 0;
如上面的例子,就是最簡單的順序結構。
程式講解:
#include:標準i/o標頭檔案,下文中的printf需要使用這個檔案
int main():主函式,乙個程式的入口。乙個程式有且只有乙個main()函式
int:代表主函式的返回值型別是int型
printf():格式化輸出,將括號內的內容列印到顯示器上,列印字串需要用雙引號""引上
return 0;:配合主函式型別使用,一般來說返回0的程式表示程式執行成功
列印的結果為:hello world!
2.選擇結構
對給定的條件進行判斷,再根據判斷結果來決定執行那一段**
3.迴圈結構
*在給定條件成立的情況下,反覆執行某一段**
二、選擇結構–if
1.使用方式
1> if(表示式) 語句1;
2> if(表示式) 語句1;else 語句2;
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
printf("%d\n", sum);
return 0;迴圈執行步驟:
第一, 先進行迴圈控制變數初始化;
第二, 執行迴圈終止條件,如果判斷結果為真,則進入第三步;如果為假則迴圈終止並退出;
第三,執行迴圈體;
第四,執行迴圈控制變數增量,轉入第二步;記住他的迴圈步驟,編寫程式的時候就會很簡單。上面的事例程式就是從從1 加到100的運算。
注意:for迴圈()中的三部分除了迴圈終止條件外,其他兩部分都可以省略,但標準的for迴圈中,應該把迴圈控制變數的初始化,增量都放在()當中,並且在迴圈體中絕對不應該更改迴圈控制變數,這個在程式設計中要注意。
2)迴圈結構–while
特點*只有滿足條件是才會執行迴圈體
*特別注意是否進入了死迴圈
(2) while:
迴圈控制變數初始化
while(迴圈終止條件)
迴圈體迴圈控制變數增量
#include
int main(int argc, const char *ar**)
int i = 0, sum = 0;
while(i <= 100)
printf("%d\n", sum);
return 0;
迴圈執行步驟:第一,先進行迴圈控制變數初始化(在while之前);第二,判斷迴圈終止條件,如果判斷結果為真,則進入第三步;如果為假則不執行迴圈體;第三,執行迴圈體;第
特點*只有滿足條件是才會執行迴圈體
*特別注意是否進入了死迴圈
迴圈結構–do while
1.特點
2.使用
*對比while的使用
(3) do while:
迴圈控制變數初始化
do迴圈體
迴圈控制變數增量
}while (迴圈終止條件);
#include
int main(int argc, const char *ar**)
int i = 0, sum = 0;
dowhile(i <= 100);
printf("%d\n", sum);
return 0;
迴圈執行步驟:第一,先進行迴圈控制變數初始化(在do while之前);第二,執行迴圈體;第三,執行迴圈控制變數增量;第四,判斷迴圈終止條件,如果判斷結果為真,則返回第二步;如果為假則直接退出迴圈;
上面關於迴圈的例子都是一樣的,但需要學會比較內部的區別。不管哪種迴圈結構,都不能缺少迴圈控制條件初始化,終止條件,迴圈控制變數增量,迴圈體這四部分;while迴圈是先判斷後執行,do while迴圈是先執行後判斷,等迴圈一次之後,其實都是一樣的。
補充:1> 死迴圈 for(;?; 有時候我們會在子執行緒中使用無限迴圈,以達到不讓縣城退出的目的。
2> 注意:for迴圈體內變數的作用域
3> while迴圈和for迴圈的比較
C語言程式的基本結構
五 編譯並執行 c 程式 六 知識總結 七 課後作業 1 我的課程內容是精心整理的,某些知識點可能沒有提到應用場景,但絕對不會是沒用的知識。課程中沒有提到的知識可以了解一下,但不必深入學習,意義不大。2 學習不要貪快,欲速則不達的道理大家應該明白,學習的重點是培養寫程式的感覺。3 不要記筆記,不要記...
C語言程式的基本結構
五 編譯並執行 c 程式 六 知識總結 七 課後作業 1 我的課程內容是精心整理的,某些知識點可能沒有提到應用場景,但絕對不會是沒用的知識。課程中沒有提到的知識可以了解一下,但不必深入學習,意義不大。2 學習不要貪快,欲速則不達的道理大家應該明白,學習的重點是培養寫程式的感覺。3 不要記筆記,不要記...
C語言程式的基本結構
五 編譯並執行 c 程式 六 知識總結 七 課後作業 1 我的課程內容是精心整理的,某些知識點可能沒有提到應用場景,但絕對不會是沒用的知識。課程中沒有提到的知識可以了解一下,但不必深入學習,意義不大。2 學習不要貪快,欲速則不達的道理大家應該明白,學習的重點是培養寫程式的感覺。3 不要記筆記,不要記...