C語言複習 第七天 字串

2021-10-10 21:40:20 字數 2690 閱讀 3886

7、字串

2023年11月26日21:30-22:30

/*

字串和字元陣列

字元陣列

字元陣列

char 陣列名[常量表示式]

char 陣列名[常量表示式1],[常量表示式2]

字元陣列的初始化

輸出字元陣列的元素

通過sizeof關鍵字得到陣列長度,並歷遍列印

字串概念

字串的概念

字串是由數字、字母、下劃線、空格等各種字元組成的一串字元,由""括起來,字串末尾都預設有乙個'\0'

用字串初始化字元陣列

獲取字串長度

除了使用sizeof運算子獲取字元長度意外,還可以使用strlen()函式來獲取

unsigned int strlen(char *s)

sizeof與strlen的區別

字元與字串之間的轉換

空字元'\0'的使用

字串和指標

字元型指標用char*來定義,它不僅可以指向乙個字元型常量,還可以指向乙個字串。

字元陣列與字元指標

儲存方式

初始化及賦值方式

字串指標與陣列名

字元指標是乙個常量指標,不能通過該指標修改字串中的內容,但可以修改字元指標自身的指向,而陣列名是乙個指標常量,不能對其進行修改

字串中字元的引用

陣列可以用下標法和位址法引用陣列元素,字元指標夜可以用位址法、指標變數加下標法引用字串的字元元素

字串的輸入/輸出

gets()函式

char* gets(char *str);

用於從控制台讀入使用者輸入的字串

puts()函式

int puts(const char *str);

用於向控制台輸出一整行字串

pringtf函式與puts函式的區別

字串函式

字串比較函式

strcmp()函式

用於比較兩個字串的內容是否相等

int strcmp(const char *str1,const char *str2)

strncmp()函式

用於比較兩個字串的前n個字元是否相等

int strncmp(const char *str1,const char *str2,size_t n)

字串查詢函式

strchr()函式

指定字元在指定字串中第一次出現的位置

char *strchr(const char *str,char c)

strrchr()函式

指定字元在指定字串中最後一次出現的位置

char *strrchr(const char *str,char c)

strstr()函式

在字串中搜尋時否包含乙個子字串

char *strstr(const char *haystack,const char *needle)

字串連線函式

strcat()函式

實現字串的連線

char* strcat(char* dest,const char* src)

strncat()函式

解決快取區的問題

char* strncat(char* dest,const char* src,size_t n)

字串複製函式

strcpy()函式

char* strcpy(char* dest,const char* src)

字串作為函式引數

使用字串作為函式引數時,可以將字元陣列或指向字串的指標作為實參傳遞給函式,函式的引數可以時陣列名也可以是字元指標

高階案例---去除字串兩端空格

*//*

1、定義乙個長度為20的字元陣列,用%s輸入乙個字串,然後用%s輸出和puts二種方式輸出。

*/#include

intmain()

/*2、從鍵盤上輸入使用者名稱和密碼,編寫程式判斷是否使用者名為「administrator」,密碼是否為「123456」,如是顯示登入成功。如果錯誤,顯示「你的賬號或密碼錯誤,請重新輸入

*/#include

#include

intmain()

return0;

}/*3、輸入一行文字,找出其中其中大寫字母、小寫字母、空格、數字及其它字元各有多少個?

*/#include

#include

intmain()

printf

("大寫字母有%d個\n"

,q);

printf

("小寫字母有%d個\n"

,w);

printf

("數字有%d個\n"

,e);

printf

("空格有%d個\n"

,r);

printf

("其他字元有%d個\n"

,t);

return0;

}/*4、從鍵盤上輸入一行文字,編寫程式找出a出現的次數。用函式strchr()完成;

*/#include

#include

intgetcount

(char

* str,

char c)

return count;

}int

main()

C語言第七天

今天學習了結構體這個高大上的東西,在與函式結合的時候,我徹底懵了.做作業的時候我老忘記結構體是一種我自己定義的資料型別 老想著用int之類的型別.這樣就容易懵了,下次我一定要注意這些問題.結構體是一種自定義的資料型別 用struct關鍵字宣告乙個結構體 struct point 定義乙個結構體變數 ...

Python學習第七天 字串和常用資料結構

使用字串 舉例字串的形式 str1 hello,world 所謂字串,就是由零個或多個字元組成的有限序列,一般記為s a1a2a3 an 0 n 無窮大 除了字串之外,python還內建了多種型別的資料結構,如果要在程式中儲存和運算元據,絕大多數時候可以利用現有多的資料結構來實現,最常用的包括列表 ...

C 學習第七天

c 中的params引數 引數陣列 1 params引數是陣列。呼叫方式可以陣列方式,也可以單個元素方式。static void test string name,params int scores console.writeline 你好,你的scores is name,sb test 劉德華 ...