C語言 期末陣列集中複習

2021-10-14 03:51:34 字數 1538 閱讀 5880

關於陣列說明及其初值的分辨:

例項:(一)

int a[ ][4]=;

示例:(二)

int a[3][4]=;

類似於這兩者的說明,陣列a的每個元素都可得到初值0。

以此:衍生到示例(三):int a[ ][3]=;

其陣列a中包含9個元素,且第一維大小為3.

對此與int a[ ][3]=;做出對比——此二維陣列的第一維大小為3.

值得注意的是:

int a[ ][4]=;此二維陣列a的第一維大小為1.

邊緣知識(了解即可):

若二維陣列a有m列,則計算任一元素a[i][j]在陣列中位置的公式為i*m+j+1。

個人而言比起數字陣列,字元陣列難度更大。

首先就是搞清字串與字元。

對兩個字元陣列進行初始化:

char a=

"abcdef"

;char b=

;

其中a的長度比b的長。字串與字元。

scanf("%s%s", a, b);

是字元陣列a,b的正確輸入格式(在我以往的部落格中提及過)。這不需要指令字元&。

關於字元陣列的正確說法:

字元陣列中可以存放ascii字符集中的任何字元

字元陣列的字串可以整體輸入、輸出

不可以用關係運算子對字元陣列中的字串進行比較

字元陣列輸出遇』\0』會自動換行輸出。

易錯提示

單個字元的比較可用關係運算子;

但對於字串這需要#include標頭檔案,才可呼叫

strcat strcmp strcpy strlen 等等函式進行字串之間的應用。

細節錯誤提示(大多數初學者的常犯錯誤)

char s[5]=「abcde」;

此類對陣列s的初始化是錯誤的,對此作為初學者的我進行了一番對比證實

未去掉e:

#include

intmain()

執行結果:

去掉e之後:

#include

intmain()

執行結果:

原因在於字元陣列中』\0』也要占用儲存單元。未注意到這點會導致亂碼。

判斷兩個字串是否相等,正確語句

if (!strcmp(a,b))

特別說明這段語句是因為平時常用的是if(strcmp(a,b)>0)

if(strcmp(a,b)<0) if(strcmp(a,b)==0)

算是知識盲區了。

之後會有有意思的程式設計題,進行分享。

C語言複習期末

ppt 平時課上的題目 實驗報告習題 1.c語言 命名規範 2.md md 3.符號優先順序 4.三目運算子 逗號表示式 閏年表示 y 4 y 100 y 400 5.if else if if if else 6.while do while for 7.求最大值 設定乙個值為最大值 做比較的 思...

C語言期末複習資料

fighting all believe,and,never give up c語言的期末考試已經過去了,20道選擇題全對,4道程式對了三道,第一道就是讓用指標和字串編函式,但是這塊自己壓根都沒看,老師之前也說不用指標都能做,為了計算機證寒假再補一補吧,下面是自己在考前整理的一些知識點,感覺梳理一下...

c語言期末複習題

參考 k r 1 單詞計數 include define in 1 define out 0main 可以用集合裡的vn圖理解,每次迴圈都有三種情況。printf d n nword 2 統計數字 空白符及其他字元 includemain printf digits for i 0 i 10 i p...