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