嵌入式day05

循環結構

goto語句

當函數有很多個出口,使用goto把這些出口集中到一處是很方便的,特別是函數中有許多重複的清理工作的時候。

原因:

  • 無條件跳轉易於理解

  • 可以減少嵌套

  • 可以避免那種忘記更新某一個出口點的問題

  • 算是幫助編譯器做了代碼優化

while語句

基本形式:

while(表達式){
 statments;
}

do while語句

基本形式:

do{
 statments;
}while(表達式);

打印出水仙花

for語句

一般形式:

for(表達式1;表達式2;表達式3)
{statements;}

執行過程:

  1. 先求解表達式1;

  2. 求解表達式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;
}

[外鏈圖片轉存失敗(img-5pIXmnMv-1564148866154)(https://upload-images.jianshu.io/upload_images/14300434-a84298102ee9703f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

輔助控制語句

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]

原因:內存是一維的

二維數組:按行序優先

二維數組元素的引用

形式:數組名[下標][下標]

二維數組元素的初始化

分行初始化

按元素排列順序初始化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章