C語言陣列專題知識點總結

2021-09-05 08:06:39 字數 1538 閱讀 4224

c語言陣列專題知識點易錯點總結及做題感悟
一.知識點總結

1.一維陣列的定義和初始化.

注: ① c語言陣列的下標都是從0開始的;

②在定義陣列時不能使用變數定義陣列的大小,如果前面沒有對n進行巨集定義 #define n 5

則a[n]則不對,因為n不是乙個確定的數;

③在對陣列定義時,不要讓陣列下標越界訪問

2.二維陣列的定義和初始化

注:①定義: 型別 陣列名[第一維度][第二維度]

②初始化: 例 int a[3][4]=,,}

3.排序和查詢

例如:按交換法將陣列a的元素值按從高到低排序(氣泡排序)

for(int i=1;i<=n-1;i++)

}例如:按折半查詢法查詢值為x的陣列元素,若找到則返回x在陣列中的下標位置,否則返回-1(二分查詢)

int binsearch (long num,long x,int n) (binsearch()為函式定義)

}2.二維陣列

①有些問題需要找出規律再用**表現出來,例如:矩陣轉置,影象旋轉,影象模糊處理

3.字元型別和字元陣列

①統計數字字元個數

char ch[256];

gets(ch); //用gets()讀入字元陣列

l=strlen(ch); //計算字串的長度,需呼叫cstring庫

4.字串與string類

①輸入字串 getline(cin,字串變數) getline函式預設是碰到換行符才結束,可以讀進空格

②判斷乙個字母為大寫(或小寫)字母,可用邏輯表示式"s[i]>='a&&s[i]<=『z』" (像單詞替換的問題)

③string型別的其他常用操作

s.insert(pos,s2) 在s下標為pos的元素前插入string型別s2

s.substr(pos,n) 返回從s下標pos起的n個字元,型別為string

s.erase(pos,n) 刪除s下標pos起的n個字元

s.replace(pos,n,s2) 將s下標pos起的n個字元替換為s2的字元

s.find(s2,pos) 在s下標pos起查詢s2第一次出現的位置

④sscanf和sprintf語句(將字串與數字巧妙轉換)

sscanf(s,"%d",&n); 將字串s轉換成數字n

sprintf(s,"%d",n); 將整數n轉換成字串s

例如:char s1[10]=「1,2,3」,s2=「4,5,6」;

int a,b;

sscanf(s1,"%d",&a);

sscanf(s2,"%d",&b);

couts2

if(a.compare(b)=0) 即s1=s2

sort函式從小到大排序

#include

for(int i=0;i>a[i];

sort a[a,a+n];

總結:陣列這一章的知識可以說為我們提供了一種解決問題的新思路,尤其是字元陣列和對字串的操作更要認真把握,為後面的函式及其他演算法打下基礎。

C語言陣列知識點

指標陣列 陣列指標 指標陣列 指標陣列是陣列,是乙個存放指標的陣列。例 int arr 5 陣列指標 是有能力指向陣列的指標。例 int p 5 p 先和 結合,說明p是乙個指標變數,然後指標指向的是乙個大小為10個整型的陣列。所以p是乙個指標,指向乙個陣列,叫陣列指標。分辨陣列or指標 由離其最近...

C語言知識點總結

有段事件沒有寫c程式了,有些地方有些生疏了。這兩天事情比較少,準備再系統的看一邊c的基礎知識。這裡再總結一下平時沒太注意的知識要點。1 c語言的語句塊在c語言中,任何允許出現語句的地方既可以是由 號結尾的一條語句,也可以是由 括起來的若干條語句或宣告組成的語句塊 statement block 語句...

C語言知識點總結

以下內容為本人對c語言中經常忘記但是又重要的知識點的總結。i,i 在使用i之前,先使i的值加 減 1 i i 在使用i之後,使i的值加 減 1 continue 結束本次迴圈語句 break 中止執行switch或迴圈語句 if語句常用的三種形式 while迴圈,for迴圈,do while迴圈都可...