一:知識點梳理
(一):一維陣列
1.陣列的建立及初始化
(1)陣列建立時,[ ]中要給乙個常量,不能用變數
例:
int main( )
(2)陣列在建立時時未指定陣列的確定大小時,就得初始化。
例:int days[7]=
2.一維陣列的使用
(1)陣列下標從0開始;
(2)陣列盡量開大一點,防止陣列越界;
3.一維陣列在記憶體中的儲存
一維陣列在記憶體中是連續存放的。
(二):二維陣列
1.陣列的建立及初始化
例(建立):
int main()
例(初始化):
int main()
;char b[4][5] = ,};
double d[4] = ,};
}
2.二維陣列的使用
(1)二維陣列的使用也通過下標的方式
(2)陣列下標從0開始;
3.二維陣列在記憶體中(的儲存)是連續存放的
(三):字元陣列與字串陣列
1.建立及初始化
(1)字元陣列定義格式同於一般陣列,所不同的是陣列型別是字元型,第乙個元素同樣是從ch[0]開始,而不是ch[1]
例:
int main()
用字元初始化陣列
例:char ch[5]=;
字元陣列中也可以存放若干個字元,也可以來存放字串。兩者的區別是字串有一結束符(『\0』)。反過來說,在一維字元陣列中存放著帶有結束符的若干個字元稱為字串。字串是一維陣列,但是一維字元陣列不等於字串。
例:char ch[5]=;
即在陣列chr2中存放著乙個字串「abcd」。
對二維字元陣列來講,可存放若干個字串。可使用由若干個字串組成的初始值表給二維字元陣列初始化。
例:char ch[3][4]=;
在陣列ch3中存放3個字串,每個字串的長度不得大於3。
2:字串的輸入與輸出
1、輸入
(1)scanf語句
格式:scanf(「%s」,字元陣列名);
(2)gets語句
格式:gets(字元陣列名);
說明:使用gets只能輸入乙個字串。讀入的是一整行,包括空格。
例如:scanf(「%s」,s1);gets(s2);對於相同的輸入hello world!。
s1獲取的結果僅僅是hello,而s2獲取的結果則是hello world!
2、輸出
向螢幕輸出乙個字串可以使用printf語句或puts語句。
(1)printf語句 格式:printf(「%s」,字元陣列名);
(2) puts語句 格式:puts(字串名稱);
說明:puts語句輸出乙個字串和乙個換行符。對於已經宣告過的字串a,printf(「%s\n」,a)和puts(a)是等價的。
(四):排序與查詢
1:排序
(1):排序函式
#include using namespace std;//預設的sort函式是按公升序排。
sort(a,a+n); //兩個引數分別為待排序陣列的首位址和尾位址。
(2):排序包括選擇排序,插入排序,氣泡排序。(第二部分有具體**)
2:查詢
二分查詢(第二部分有具體**)
二:經典例題
1:氣泡排序
#include#includeusing namespace std;
const int n=10;
int t,a[n+1];
int main()
{
for (int i=1; i<=n; ++i)
cin>>a[i];
for (int j=1; j<=n-1; ++j)
for (int i=1; i<=n-j; ++i)
if (a[i]2: 折半查詢
#include#includeusing namespace std;
int main()
{low=0,high=n-1,mid=0;
while(low<=high)
{
mid=(low+high)/2;
if(a[mid]>temp)
high=mid-1;
else if(a[mid]三:感悟與收穫
通過陣列的學習,c語言基礎進一步鞏固。我也深刻的認識到。解一道題不能只是單純的用一種方式解,而是需要運用多方面的知識進行解決。有的題會讓我感到崩潰,甚至好幾天做不出來。這時候我們不應該放棄,而是應該靜下心來深入的鑽研進去。培養良好的思維,多做題是乙個良好的方式。希望在今後的學習中能夠不輕言放棄,盡自己的最大努力。
程式設計階段性總結報告二
一 知識點梳理。1 for迴圈語句 for 初始化迴圈變數 迴圈條件 更新迴圈變數 2 while迴圈語句 while 條件 迴圈體或者 while 條件 3 do while迴圈語句 do while 迴圈條件 4 break的作用 乙個迴圈可以包含多個break語句,一般只有乙個。當迴圈語內部包...
階段性總結
今天聽學長交流了一些人生的經驗,便有了一些感觸,加上對自己最近的學習狀態的總結,就寫一篇部落格給自己一點指示。最近渾渾噩噩的,有幾次考試也沒考好,考後也沒總結。晚自習本想刷一些題,複習一下,或是學習一點技術。看見其他同學在打擺,便動搖了。最後心中也只是徒留深深的罪惡感。所以我也是時候對自己的未來進行...
階段性總結
感覺上個星期還挺痛苦的,因為要練演算法,每個人都告訴我說演算法很重要很重要,但是演算法對我來說就像是一根很亂的神經,一觸就炸了,可我的驕傲還不允許我放棄。在leetcode上練習的時候是直接告訴用什麼方法,在寫藍橋杯演算法的時候就像是閱讀理解,經常讀不懂是什麼意思,要不就是理解錯誤,追根究底還是做的...