循環結構
goto語句
當函數有很多個出口,使用goto把這些出口集中到一處是很方便的,特別是函數中有許多重複的清理工作的時候。
原因:
-
無條件跳轉易於理解
-
可以減少嵌套
-
可以避免那種忘記更新某一個出口點的問題
-
算是幫助編譯器做了代碼優化
while語句
基本形式:
while(表達式){
statments;
}
do while語句
基本形式:
do{
statments;
}while(表達式);
打印出水仙花
for語句
一般形式:
for(表達式1;表達式2;表達式3)
{statements;}
執行過程:
-
先求解表達式1;
-
求解表達式2,若爲真,則執行循環體,然後執行表達式3,再判斷;若爲假,則執行退出。
for語句構成循環
表達式1可以省略,但循環之前應該給循環變量賦值
表達式2可省略,將陷入死循環
表達式3可以省略,但在循環體中增加是循環變量改變的語句
for循環99乘法表
#include<stdio.h>
int main(int argc,char *argv[])
{
int i;
int j;
for(i=1; i<=9;i++){
for(j=i;j<=9;j++){
printf("%d x %d=%2d ", i, j, i*j);
}
printf("\n");
}
return 0;
}
輔助控制語句
break語句
用於從循環體內跳出循環體,即提前結束循環。
break語句只能用在循環語句和switch語句中。
continue語句
結束本次循環,接着判定下一次是否執行循環
continue與break的區別:
continue直結束本次循環,而break終止本層循環
return語句
return語句的一般形式:return(表達式)
主要用於終止包含它的函數的執行
若終止的爲主函數,則程序結束
數組概述
數組
構造數據類型之一
數組是具有一定順序關係的若干個變量的集合,組成數組的各個變量稱爲數組的元素。
數組中各元素的數據類型要求相同,用數組名和下標確定。數組可以是一維的,也可以是多維的。
一維數組
定義:所謂一維數組是指只有一個下標的數組,它在計算機的內存中是連續存儲的。
C語言中,一維數組的說明一般形式:
<存儲類型> <數據類型> <數組名> [<表達式>]
數組名錶示內存首地址,是地址常量sizeof(數組名)是數組佔用的總內村空間;編譯時分配連續內存,內存字節數=數組維數*sizeof(元素數據類型);
注意事項:
C語言對數組不作越界檢查,使用時要注意
關於用變量定義數組維數
一維數組的引用
數組必須先定義,後使用
只能逐個引用數組元素,不能一次引用整個數組
數組元素表示形式:數組名[下標]
其中:下標可以是常量或整型表達式
一維數組的初始化
初始化方式:在定義數組時,爲數組元素賦初值
說明:
數組不初始化,其元素值爲隨機數
對static數組元素不賦初值,系統會自動賦以0值
只給部分數組元素賦初值
二維數組的定義
定義方式:(聲明時列數不能省略,行數可以)
數據類型 數組名[常量表達式][常量表達式];
元素的個數=行數*列數
數組元素的存放順序:
0 :a[0][0]
1:a[0][1]
2:a[1][0]
3:a[1][1]
原因:內存是一維的
二維數組:按行序優先
二維數組元素的引用
形式:數組名[下標][下標]
二維數組元素的初始化
分行初始化
按元素排列順序初始化