- 相關(guān)推薦
C語言數(shù)組知識點總結(jié)
C語言是把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來的工作單元,下面是關(guān)于C語言數(shù)組知識點總結(jié),歡迎參考!
數(shù)組
定義:數(shù)組是有序的并且具有相同類型的數(shù)據(jù)的集合。
一維數(shù)組
1、一般形式:類型說明符數(shù)組名[常量表達(dá)式];例如:inta[10];元素為a[0]----a[9].
2、常量表達(dá)式中不允許包含變量,可以包含常量或符號常量。
3、數(shù)組元素下標(biāo)可以是任何整型常量、整型變量或任何整型表達(dá)式。
4、可以對數(shù)組元素賦值,數(shù)組元素也可以參與運算,與簡單變量一樣使用。
5、使用數(shù)值型數(shù)組時,不可以一次引用整個數(shù)組,只能逐個引用元素。
6、需要整體賦值時只可以在定義的同時整體賦值。如
int a[10]={0,1,2,3,4,5,6,7,8,9};正確。
int a[10]; a[10]={0,1,2,3,4,5,6,7,8,9};錯誤。
7、可以只給一部分元素賦值。例如:
int a[10]={5,8,7,6};后面沒有賦值的元素值默認(rèn)為0。
8、對全部數(shù)組元素賦值時可以不指定數(shù)組長度,例如:
int a[10]={0,1,2,3,4,5,6,7,8,9};可以寫成 int a[]={0,1,2,3,4,5,6,7,8,9};
但是,既不賦初值,也不指定長度是錯誤的。例如:int a[];錯誤。
二維數(shù)組
1、一般形式:類型說明符數(shù)組名[常量表達(dá)式1][常量表達(dá)式2];例如:
int a[3][4];可以看成是包含3個一維數(shù)組,每個一維數(shù)組里包含4個元素。一共3*4=12個元素。所有元素為a[0][0],a[0][1],a[0][2],a[0][3]
a[1][0],a[1][1],a[1][2],a[1][3]
a[2][0],a[2][1],a[2][2],a[2][3]
2、與一維數(shù)組一樣元素下標(biāo)可以是是任何整型常量、整型變量或任何整型表達(dá)式。
3、需要整體賦值時只可以在定義的同時整體賦值。例如:
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};正確。
int a[3][4]; a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};錯誤。
4、可以把所有數(shù)據(jù)寫在一個花括號內(nèi)。例如:
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};正確。
5、可以只對部分元素賦值。例如:
int a[3][4]={{1},{5},{9}};其余未賦值的元素默認(rèn)為0。
int a[3][4]={{1},{5,6}};可以看成是int a[3][4]={{1,0,0,0},{5,6,0,0},{0,0,0,0}};
6、對全部數(shù)組元素賦值時可以省略第一維長度,第二維不可以省略。例如:
a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
可以寫成a[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
或者a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
字符數(shù)組
1、定義:char a[10];字符數(shù)組a長度為10。每個元素只能存放一個字符。例如:
a[0]='h';a[1]='a';a[2]='p';
2、初始化:
char a[]={'h','a','p','p','y'};
char a[]="happy";
char a[]={"happy"}; 注意,因為字符串結(jié)尾自動加'',所以char a[]="happy";長度為6,不是5。
3、C語言中沒有字符串變量,字符串的輸入、存儲、處理和輸出等必須通過字符數(shù)組實現(xiàn)。
4、字符串的輸入。
scanf();可以用%C逐個字符輸入比如char a[6];for(i=0;i<6;i++) scanf("%c",&a[i]);
可以用%S以字符串的形式輸入,比如char a[6];scanf("%s",a);注意,a前不用加&,因為a是數(shù)組名,
已經(jīng)代表了數(shù)組首地址。
注意:以%S輸入時,以第一個非空白字符開始,終止于第一個空白字符。比如:輸入How are you
時。只輸出How.
gets();作用為輸入一個字符串。與scanf();功能一致,但空格和回車都存放在數(shù)組中,最后自動加入‘’.
不會出現(xiàn)上面輸出不全的情況。
調(diào)用方式為:gets(數(shù)組名);需要包含頭文件“stdio.h”.
5、字符串的輸出。
printf();可以使用%C逐個字符輸出,比如:char a[6];for(i=0;i<6;i++) printf("%c",a[i]);
可以用%S以字符串的形式輸出,比如char a[6];printf("%s",a);
puts();輸出一個字符串,結(jié)尾自動換行。
調(diào)用形式:puts(字符數(shù)組名或字符串常量);需包含頭文件“stdio.h”
常用字符串處理函數(shù)(以下函數(shù)需要頭文件“string.h”)
1、strlen()作用是測試字符串長度。這里不包括‘’.使用形式strlen(數(shù)組名或字符串常量)
2、strcat()作用是連接兩個字符串。調(diào)用方式strcat(字符數(shù)組1名,字符數(shù)組2名);合并后的字符串存放在字
符數(shù)組1中。
3、strcmp()比較兩個字符串是否相等。調(diào)用方式strcmp(字符串1,字符串2);相等時值為0。1>2時為正數(shù)。
1<2時為負(fù)數(shù)。
4、strcpy()復(fù)制字符串。調(diào)用方式strcpy(字符數(shù)組1,字符串2);2的內(nèi)容復(fù)制到1中。1只能是字符數(shù)組名。
拓展閱讀:c語言知識易錯點
C語言的最大特點是:功能強、使用方便靈活。
C編譯的程序?qū)φZ法檢查并不象其它高級語言那么嚴(yán)格,這就給編程人員留下“靈活的余地”,但還是由于這個靈活給程序的調(diào)試帶來了許多不便,尤其對初學(xué)C語言的人來說,經(jīng)常會出一些連自己都不知道錯在哪里的錯誤。
1.書寫標(biāo)識符時,忽略了大小寫字母的區(qū)別。
2.忽略了變量的類型,進(jìn)行了不合法的運算。
3.將字符常量與字符串常量混淆。
4.忽略了“=”與“==”的區(qū)別。
5.忘記加分號。分號是C語句中不可缺少的一部分,語句末尾必須有分號。
6.多加分號。復(fù)合語句的花括號后不應(yīng)再加分號,否則將會畫蛇添足。
7.輸入變量時忘記加地址運算符“&”。
8.輸入數(shù)據(jù)的方式與要求不符。代碼①scanf("%d%d",&a,&b);輸入時,不能用逗號作兩個數(shù)據(jù)間的分隔符②scanf("%d,%d",&a,&b);C規(guī)定:如果在“格式控制”字符串中除了格式說明以外還有其它字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。
9.輸入字符的格式與要求不一致。在用“%c”格式輸入字符時,“空格字符”和“轉(zhuǎn)義字符”都作為有效字符輸入。
10.輸入輸出的數(shù)據(jù)類型與所用格式說明符不一致。
11.輸入數(shù)據(jù)時,企圖規(guī)定精度。
12.switch語句中漏寫break語句。
13.忽視了while和do-while語句在細(xì)節(jié)上的區(qū)別。
14.定義數(shù)組時誤用變量。
15.在定義數(shù)組時,將定義的“元素個數(shù)”誤認(rèn)為是可使的最大下標(biāo)值。
16.初始化數(shù)組時,未使用靜態(tài)存儲。
17.在不應(yīng)加地址運算符&的位置加了地址運算符。
18.同時定義了形參和函數(shù)中的局部變量。
C語言入門知識:位運算
一、位運算符
在計算機中,數(shù)據(jù)都是以二進(jìn)制數(shù)形式存放的,位運算就是指對存儲單元中二進(jìn)制位的運算。C語言提供6種位運算符。
二、位運算
位運算符&|~<<>>∧按優(yōu)先級從高到低排列的順序是:
位運算符中求反運算“~“優(yōu)先級最高,而左移和右移相同,居于第二,接下來的順序是按位與“&“、按位異或“∧“和按位或“|“。順序為~<<>>&∧|。
例1:左移運算符“<<”是雙目運算符。其功能把“<<”左邊的運算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。
例如:
a<<4
指把a的各二進(jìn)位向左移動4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。
例2:右移運算符“>>”是雙目運算符。其功能是把“>>”左邊的運算數(shù)的各二進(jìn)位全部右移若干位,“>>”右邊的數(shù)指定移動的位數(shù)。
例如:
設(shè)a=15,
a>>2
表示把000001111右移為00000011(十進(jìn)制3)。
應(yīng)該說明的是,對于有符號數(shù),在右移時,符號位將隨同移動。當(dāng)為正數(shù)時,最高位補0,而為負(fù)數(shù)時,符號位為1,最高位是補0或是補1 取決于編譯系統(tǒng)的規(guī)定。
例3:設(shè)二進(jìn)制數(shù)a是00101101,若通過異或運算a∧b使a的高4位取反,低4位不變,則二進(jìn)制數(shù)b是。
解析:異或運算常用來使特定位翻轉(zhuǎn),只要使需翻轉(zhuǎn)的位與1進(jìn)行異或操作就可以了,因為原數(shù)中值為1的位與1進(jìn)行異或運算得0 ,原數(shù)中值為0的位與1進(jìn)行異或運算結(jié)果得1。而與0進(jìn)行異或的位將保持原值。異或運算還可用來交換兩個值,不用臨時變量。
如 int a=3,b=4;,想將a與b的值互換,可用如下語句實現(xiàn):
a=a∧b;
b=b∧a;
a=a∧b;
所以本題的答案為:11110000。
【C語言數(shù)組知識點總結(jié)】相關(guān)文章:
C語言數(shù)組知識點10-14
C語言數(shù)組知識點07-15
C語言的數(shù)組與函數(shù)10-23
C語言數(shù)組教程08-31
什么是C語言數(shù)組10-03
C語言數(shù)組考點知識點歸納07-07
C語言二維數(shù)組知識點介紹05-21
C語言數(shù)組與指針詳解08-15
C語言數(shù)組的定義及引用08-05