一、一維字元陣列
1、說明形式
儲存型別 char 陣列名[元素個數];
注意:儲存型別 、陣列名及元素個數同之前的一位陣列;
2、一維字元陣列的初始化
1> 單個元素賦值
eg:char ch[10] = ;
char ch1[10] = ; //未賦值的元素系統賦'\0', 即ch[5]、ch[6]、ch[7]、ch[8]、ch[9]的值是'\0'
char ch2 = ;//sizeof(ch2)值為5
2> 字串賦值
eg:char ch[10] = ;
char ch1[10] = "hello";
char ch2 = "hello"; //sizeof(ch2)的值為6
注意:系統自動會在字串末尾加'\0'
用「%s」輸出時,遇『\0』結束
3、字串函式
1> strlen() 函式
標頭檔案:
#include
函式原型:
size_t strlen(const char *s);
函式引數:
s:字串的首位址
函式功能:
計算字串的長度,不包括'\0'
返回值:
成功:字串的長度
eg:char buf[20] = "hello world";;
int len = strlen(buf);
2> strcat() 函式
標頭檔案:
#include
函式原型:
char *strcat(char *dest, const char *src);
函式引數:
dest:目標陣列的陣列名
src: 源字串的首位址
函式功能:
將源字串連線到dest指向的目標陣列之後
返回值:
成功:dest指標
注意:1》dest指向的陣列要足夠大;
2》連線之前,兩串均以'\0'結束,連線之後,dest指標指向的字串之後的'\0'被源字串的第乙個字元替換;
連線之後,在新串末尾加'\0';
3> strcpy() 函式
標頭檔案:
#include
函式原型:
char *strcpy(char *dest, const char *src);
函式引數:
dest:目標陣列的陣列名
src: 源字串的首位址
函式功能:
將源字串拷貝到dest指向的目標陣列中,拷貝時,將源字串後的'\0'一同拷貝
返回值:
成功:dest指標
注意:1》dest指向的陣列要足夠大;
2》拷貝時,將源字串後的'\0'一同拷貝
3》不能使用賦值語句為乙個字元陣列賦值
eg:char buf[20];
buf = "hello"; //error
strcpy(buf,"hello")//right
strncpy() 函式
標頭檔案:
#include
函式原型:
char *strncpy(char *dest, const char *src, size_t n);
函式引數:
dest:目標陣列的陣列名
src: 源字串的首位址
n:指定將src中的前n個字元拷貝到dest指向的目標陣列中
函式功能:
將src中的前n個字元拷貝到dest指向的目標陣列中
返回值:
成功:dest指標
4> strcmp() 函式
標頭檔案:
#include
函式原型:
int strcmp(const char *s1, const char *s2);
函式引數:
s1:字串1的首位址
s2:字串2的首位址
函式功能:
比較s1指向的字串與s2指向的字串的大小
返回值:
>0 : 字串1大於字串2
==0: 字串1等於字串2
<0: 字串1小於字串2
注意:比較時,兩個字串對應位從左向右逐個比較,直到遇到不同字元或『\0』為止,實質是比較字元的ascii值
strncmp() 函式
標頭檔案:
#include
函式原型:
int strncmp(const char *s1, const char *s2, size_t n);
函式引數:
s1:字串1的首位址
s2:字串2的首位址
n:指定字串2的前n個字元與字串1比較
函式功能:
比較s1指向的前n個字元與s2指向的前n字元的大小
返回值:
>0 : 字串1大於字串2
==0: 字串1等於字串2
<0: 字串1小於字串2
二、二維陣列
有兩個下標的陣列;
1、說明形式
儲存型別 資料型別 陣列名[行數][列數];
eg:int a[3][4];
說明:1> 儲存型別同一維陣列;
2> 資料型別是陣列中各個元素的資料型別;
3> 陣列名符合合法的識別符號;
4> 所佔記憶體大小 = 行數*列數*sizeof(資料型別)或 sizeof(陣列名);
5> 陣列名是位址常量,不能做左值;
6> 二維陣列在記憶體中也是連續儲存(即按行儲存),是因為記憶體是線性的;
降維分析多維陣列:
eg:int a[3][4];
分析:將陣列a看做是乙個有3個元素的一位陣列,同時,這個一位陣列中的各個元素又是乙個一維陣列,每個一維陣列有4個元素構成;
a[0][0]
a[0][1]
a[0]
a[0][2]
a[0][3]
a[1][0]
a a[1] a[1][1]
C語言基礎練習5
1.求乙個3x3整型矩陣對角線元素之和 includeint main int i,j,sum 0 for i 0 i 3 i printf d n sum return 0 2.有一篇文章,共有3行文字,每行有80個字元。分別統計出大寫字母 小寫字母 數字 空格以及其他字元的個數 include ...
C語言基礎第5天
bool 型別 include 之後就可以使用 bool 和 true false bool 就是 布林型變數 類似於 float double 等 布林型,用作邏輯型判斷。bool 取值 false 和 true false 可以取值 0 但是 true 可以有很多種,並非只有 1 例如 incl...
C語言基礎5道題
都是手撕 建議自己推一遍。1 a1b2c3d4e5 include void uppercase char str int main 2 0,0,1,1 include int main 3 b 10,c 12,d 120 include int main 4 48 include int main...