C語言的字元和字串

2021-10-01 22:41:11 字數 1645 閱讀 3499

其他參考:

c++中的string字串

一,字元

型別:char

輸入:getchar

輸出:putchar

示例:

#include void main()

return;

}

執行結果:(8行)

a^zb

97a26

a97a

10^z

解釋:

輸入a^zb並回車,輸入了2個字元a和^z,再輸入a並回車,輸入了2個字元a和換行符,再輸入^z程式結束

注1:'\0'的ascii碼是0,『^a』 - '^z' 的ascii碼是1-26,其中換行符'\n'的是10,'^z'的是26,但是當輸入緩衝區為空時'^z'出現在'\n'之後時,'^z'的ascii碼是-1,表示檔案結尾end of file

注2:eof是常量-1,oj輸入輸出經常用eof來控制。

注3:10號'\n'和26號'^z'都是getchar的截斷,輸入一行字串,getchar只能讀取到第乙個'\n'或'^z',後面如果還有就丟棄

二,字串

1,字串的表示

c語言中,字串用char陣列表示,字串末尾加上'\0'表示結束

2,輸入輸出

輸入:gets

輸出:puts

示例:

#include #includevoid main()

執行結果1:(4行)

abcde

^za5

abcde

執行結果2:(5行)

abcde

a^zb

2a?

可以看出,換行符和^z都是gets函式的截斷,區別在於

換行符會被gets讀取並丟棄,而gets對^z的處理和getchar一樣,緩衝區為空時就是-1號字元,緩衝區不為空時就是26號字元

3,strcat函式——字串連線

string catenate字串連線

示例:

#include #includevoid main()

執行結果:

2 2

4 2abcd cd

strcat(str1, str2)函式就是把str2複製到str1後面

4,strcpy和strncpy函式——字串複製

strcpy(str1,str2)把str2複製到str1的位置

strncpy(str1,str2,n)把str2的前n個字元複製到str1的位置

5,strcmp函式——字串比較

strcmp(str1,str2)是按照字典序比較,返回值》0,=0,<0分別表示str1>str2,str1==str2,str16,strlen和sizeof——字串長度

sizeof是關鍵字,計算的是陣列長度

strlen是函式,計算的是字串中字元數目,不包括'\0'

7,strlwr和strupr函式——字串大小寫

strlwr是把大寫字母換成小寫字母

strupr是把小寫字母換成大寫字母

C語言 字串和字串函式

輸入 gets 函式 1.gets 從標準輸入裝置讀取字串,以回車結束讀取,使用 0 結尾,回車符 n 被捨棄沒有遺留在緩衝區。2.可以用來輸入帶空格的字串。3.可以無限讀取,不會判斷上限,因此使用gets不安全,可能會造成溢位。fgets 和 fputs 函式 1.fgets函式的第2個引數指明了...

C語言字元陣列和字串

用來存放字元的陣列稱為字元陣列,例如 char a 10 一維字元陣列 char b 5 10 二維字元陣列 char c 20 給部分陣列元素賦值 char d 對全體元素賦值時可以省去長度 字元陣列實際上是一系列字元的集合,也就是 字串 string 在c語言中,沒有專門的字串變數,沒有stri...

C語言輸入字元和字串

字元 對三個函式的總結 getchar getche getch 函式緩衝區 標頭檔案回顯 適用平台 getchar 有stdio.h 有windows linux mac os 等所有平台 getche 無conio.h 有windows getch 無conio.h 無windows 使用者按下...