c c 字元學習

2021-06-20 17:57:42 字數 1597 閱讀 4003

1.c++的基本型別分為2類:一組由儲存為整數的值組成;一組有儲存為浮點格式的值組成

char:c++中char字元是以整型儲存於記憶體

string:(1)string並不是簡單型別,是復合型別

(2)string是乙個類。

注意:c風格的字串:char ch=;//該處是c風格字串

char ch2[10]="sheng";//該處不是c風格的字串,c風格的字串必須以\0結尾,該處甚至只是字元陣列。

備註:在notepad++中執行前不要忘記儲存修改內容,坑死爹。

2.string提供函式s.c_str()將string型別轉換為char型別

const char *str=s.c_str();//c_str()函式返回const char*型別,不能賦值或初始化char*,char陣列。

3.c++提供的cin,cout流輸入輸出。

(1) 輸入

在上述程式中cin.get()或cin.getline暫未確定和getline()均被直接跳過。(string版本的getlian函式有指定分界符的版本)

輸出為:

此時可確定為cin.getline()未成功輸入。

char陣列的輸入:

cin的工作原理:cin使用空白(空格,製表符和換行符)確定字串的結束位置,這意味著cin在獲取字元陣列輸入時只讀取乙個單詞,讀取該單詞後,cin將字元放入陣列中,並自動在結尾新增空字元。這意味著輸入wo   shi 時  cin只能輸入wo,shi將被留在輸入佇列中等待下一次cin,賦值給字串。

cin.getline()

:面向行的輸入,cin讀取單詞,而cin.getline輸入整行,它通過回車鍵輸入的換行符確定輸入結尾

cin.get():原理同cin.getline,但在結束時會將換行符留在輸入佇列中,下次使用cin.get(變數名,字串)將直接跳過。

get()有其他版本(1)cin.get(變數名,字串)(2)cin.get()無參:該方法讀取輸入佇列下乙個字元,可通過該方法讀掉換行符。

回到上述問題,判斷應該由於cin輸入時回車符結束被留存在輸入佇列中。解決方法 ,通過cin.get()讀掉換行符。

除錯成功

該案例也說明cin在輸入時,結束時的換行符被留在了輸入佇列中。

我們將cin.getline()在cin前使用:

執行成功:

c c 學習 字串處理

c 字串處理?在c 中,有兩種字串,一種是從c沿襲過來的,稱為c 字串,簡稱c 串。c 串是以乙個全0位 整數0 位元組作為結束符的字串行。該全0位元組即是8位的整數0,也是ascii碼的0。c 串還稱為ascii串 即ascii字串行加上尾巴zero c 串也是字串字面值,其格式為雙引號括起來的字...

c c 轉義字元

c語言常用轉義字元 轉義字元 含義ascii碼 16 10進製 a響鈴 bel 07h 7 b退格 bs 08h 8 f換頁 ff 0ch 12 n換行 lf 0ah 10 r回車 cr 0dh 13 t水平製表 ht 09h 9 v垂直製表 vt 0bh 11 反斜槓 5ch 92 問號字元 3f...

C C ,字元陣列

這次我們主要討論c中字元陣列的用法,字元陣列在我看來是陣列裡較難得一部分,下面我們來共同研究一下。字元陣列的定義 一定是 char 型別,後面的是能儲存的字元個數 在定義的同時可以初始化,也可以在使用的時候逐個初始化。定義時初始化 char str 10 char s1 20 char s1 20 ...