關於陣列說明及其初值的分辨:
例項:(一)
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...