1.if~else配對問題
else 總是與離它最近的if配對
2.循環
(1)for(表達式1;表達式2;表達式3)
執行順序;
(1)表達式1
(2)表達式2,若表達式2成立,則執行(3);不成立,執行(5)
(3)執行循環體即{}里的內容;
(4)表達式3,執行(2)
(5)結束循環
3.循環的練習
二、數組
1.數組的定義
DataType ArrayName[size];
DataType:數據類型,int,float,double,char 等等
ArrayName:數據名
size:數組的大小或數組下標,必須是常量表達式
[]:下標運算符
下標時從0開始到size-1
example:
int arr[5]//定義一個數組為5,其中每個元素都是數組類型
arr:數組名
5 :數組大小即數組元素的個數
int:數組元素的類型
(2)數組的初始化
int arr[3] = {1,2,3}; ok
int arr1[3] = {1,3}; ok
int arr2[3] = {1}; ok
int arr3[3] = {[2]=3}; 不建議
int arr4[] = {1,2,3,4}不建議
int arr5[] = {}; no
下面:
int arr[5];
arr[5] = {1,2,3,4,5}; //錯誤
注:
數組若要初始化,必須在定義的同時初始化,
不能先定義,后初始化
//一下方法不可以!??!
(1) int n = 6;
int arr[n];
(2) int m;
scanf("%d",&m)
int buf[m] = {1,2,3}
宏定義: #define M 5 把M替換成5
(3)數組元素的訪問
使用下標的形式:
int arr[5];
arr[1]:訪問第二個元素
arr[4]:訪問第五個元素
遍歷數組元素:諸葛訪問
(4)數組的存儲
數組也是一個數據的結構,數組中的元素順序存儲;
數組中每個元素的類型都相同;
(5)數組地址問題
int arr[5]
arr; 0x0000
&arr[0]; 0x0000
&arr; 0x0000
&arr+1; 0x0004
&arr[0]+1; 0x0004
&arr+1; 0x0014
說明:
arr:數組名,也代表數組元素的首地址,即第一個元素的地址
&arr[0]:數組元素的首地址,即第一個元素的地址
&arr:數組的首地址
arr+1和&arr[0]+1:表達的意思一樣,
地址偏移sizeof(arr[0])個字節
&arr+1:偏移量為sizeof(arr),即整個數組
(6)數組的賦值
(7)char arr[16]={2
,e
,y
,9
}
char buf[16]={"hello"}(花括號可以不要)
(8)數組名不能和變量名重復!??!
2.二位數組(基于矩陣)
DataType ArrayName[行下標][列下標];
DataType ArrayName[][列下標]
行下標可以省略?。。?br>
(1)初始化;
int arr[3][3] ={1,2,3};
int arr1[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int arr2[3][3] = {1,2,3,4,5};
C C++ 語文
張三
李四
2.注釋:
(1)//。。。。。。:
單行注釋,可以獨占一行,也可以跟在執行語句之后
但“//”之后的內容,不被編譯執行
規定:
注釋內容放在被注釋的上一行,或者同行行末
(2)/。。。。。。/
注釋大段代碼,即注釋代碼塊
(3)主要用于代碼測試
#if 0
#else
.....
#endif
今天學習了循環和數組,代碼的思路還能理解,但是就是不能寫出代碼。感覺是那么回事,但是不能寫出來。希望多多的練習能讓自己學會寫代碼吧。