1樓:桃絮飄飄
在c語言中,輸入輸出字串有以下兩種方式:
1 用scanf/printf輸入輸出。
scanf/printf是c語言的格式化輸入輸出函式,可以用於輸入輸出各種基礎型別,字串(char*)也
其支援範圍內。
格式化字元為%s。
定義char str[100];
輸入scanf("%s",str);
輸出printf("%s",str);
2 c語言還支援專門的字串輸入輸出函式:gets/puts。
gets的作用為,讀入一行輸入,並將讀到的換行符替換為字串結束符。
puts的作用為,將字串單行輸出,即輸出字串內容後,會自動在結尾增加換行。
定義char str[100];
輸入gets(str);
輸出puts(str);
擴充套件資料:
起初,c語言沒有官方標準。2023年由美國**電報公司(at&t)貝爾實驗室正式發表了c語言。布萊恩·柯林漢(brian kernighan) 和 丹尼斯·裡奇(dennis ritchie) 出版了一本書,名叫《the c programming language》。
這本書被 c語言開發者們稱為k&r,很多年來被當作 c語言的非正式的標準說明。人們稱這個版本的 c語言為k&r c。
k&r c主要介紹了以下特色:
結構體(struct)型別
長整數(long int)型別
無符號整數(unsigned int)型別
把運算子=+和=-改為+=和-=。因為=+和=-會使得編譯器不知道使用者要處理i = -10還是i =- 10,使得處理上產生混淆。
即使在後來ansi c標準被提出的許多年後,k&r c仍然是許多編譯器的最 準要求,許多老舊的編譯器仍然執行k&r c的標準。
1970到80年代,c語言被廣泛應用,從大型主機到小型微機,也衍生了c語言的很多不同版本。
2023年,美國國家標準協會(ansi)成立了一個委員會x3j11,來制定 c語言標準。
2023年,美國國家標準協會(ansi)通過了c語言標準,被稱為ansi x3.159-1989 "programming language c"。因為這個標準是2023年通過的,所以一般簡稱c89標準。
有些人也簡稱ansi c,因為這個標準是美國國家標準協會(ansi)釋出的。
2023年,國際標準化組織(iso)和國際電工委員會(iec)把c89標準定為c語言的國際標準,命名為iso/iec 9899:1990 - programming languages -- c 。
因為此標準是在2023年釋出的,所以有些人把簡稱作c90標準。不過大多數人依然稱之為c89標準,因為此標準與ansi c89標準完全等同。
2023年,國際標準化組織(iso)和國際電工委員會(iec)釋出了c89標準修訂版,名叫iso/iec 9899:1990/cor 1:1994,有些人簡稱為c94標準。
2023年,國際標準化組織(iso)和國際電工委員會(iec)再次釋出了c89標準修訂版,名叫iso/iec 9899:1990/amd 1:1995 - c integrity [7] ,有些人簡稱為c95標準。
2樓:丿
在標頭檔案中用字串處理函式輸入和輸出,gest用來輸入,puts用來輸出。
字串輸入函式gets,從鍵盤鍵入以回車結束的字串放入字元陣列中,並自動加』\0'。輸入串長度應小於字元陣列維數,字串中可以包含空格。
字串輸出函式puts,向顯示器輸出字串(輸出完,自動換行,即用'\n'替'\0')。字元陣列必須以'\0'結束。
示例**如下:
#include
int main()
char str[40];
printf("請輸入字串");
gets(str);
printf("請輸出字串");
puts(str);
system("pause");
return 0;
擴充套件資料:
在c中,對檔案的操作分為兩種方式,即流式檔案操作和i/o檔案操作。
流式檔案操作,這種方式的檔案操作有一個重要的結構file,file在標頭檔案stdio.h中定義如下:
typedef struct file; /* this is the file object */
直接i/o檔案操作,這是c提供的另一種檔案操作,它是通過直接存/取檔案來完成對檔案的處理,此類檔案操作常用的函式及其所用的一些符號在io.h和 fcntl.h中定義,在使用時要加入相應的標頭檔案。
3樓:八零後電影院
1、字串陣列輸入輸出字串:
char s1="array"; //字元陣列
char s2[6]="array"; //陣列長度=字串長度+1
printf("%s,%c\n",s1,s2[2]);
2、字串指標輸入輸出字串:
char *sp="pointer"; //字元指標
printf("%s,%c,%c\n",sp,*sp,*(sp+2));
3、指標和scanf函式共同輸入輸出字串:
char s1[6];
scanf("%s\n",s1);
printf("%s,%c\n",s1,s1[2]);
4、指標+陣列+scanf 輸入輸出字串:
char str[60], *sp=str;//將陣列的首地址str賦給指標變數spscanf("%s\n",sp);
printf("%s,%c,%c\n",sp,*sp,*(sp+3));
printf("%s,%c,%c\n",str,str[0],str[3]);
c語言字串及基本構成:
1、陣列:如果一個變數名後面跟著一個有數字的中括號,這個宣告就是陣列宣告。字串也是一種陣列。
它們以ascii的null作為陣列的結束。要特別注意的是,方括內的索引值是從0算起的。
2、指標:如果一個變數宣告時在前面使用 * 號,表明這是個指標型變數。換句話說,該變數儲存一個地址,而 *(此處特指單目運算子 * ,下同。
c語言中另有 雙目運算子 *) 則是取內容操作符,意思是取這個記憶體地址裡儲存的內容。指標是 c 語言區別於其他同時代高階語言的主要特徵之一。
3、字串:c語言的字串其實就是以'\0'字元結尾的char型陣列,使用字元型並不需要引用庫,但是使用字串就需要c標準庫裡面的一些用於對字串進行操作的函式。它們不同於字元陣列。
使用這些函式需要引用標頭檔案。
4樓:匿名使用者
在c語言中,輸出字串的函式有兩個:
puts():直接輸出字串,並且只能輸出字串。
printf():通過格式控制符 %s 輸出字串。除了字串,printf() 還能輸出其他型別的資料。
這裡不妨再演示一下,請看下面的**:
printf("%s\n", str); //通過變數輸出
直接輸出
puts(str); //通過變數輸出
直接輸出
return 0;
執行結果:
在 printf() 函式中使用%s
輸出字串時,在變數列表中給出陣列名即可,不能寫為printf("%s", str);字串的輸入
在c語言中,輸入字串的函式有兩個:
scanf():通過格式控制符 %s 輸入字串。除了字串,scanf() 還能輸入其他型別的資料。
gets():直接輸入字串,並且只能輸入字串。
擴充套件資料
函式應用
1. 連線運算 concat(s1,s2,s3…sn) 相當於s1+s2+s3+…+sn.
例:concat(『11』,'aa』)='11aa』;
2. 求子串。 copy(s,i,i) 從字串s中擷取第i個字元開始後的長度為l的子串。
例:copy(『abdag』,2,3)=』bda』
3. 刪除子串。過程 delete(s,i,l) 從字串s中刪除第i個字元開始後的長度為l的子串。
例:s:=』abcde』;delete(s,2,3);結果s:=』ae』
4. 插入子串。 過程insert(s1,s2,i) 把s1插入到s2的第i個位置
例:s:=abc;insert(『12』,s,2);結果s:=』a12bc』
5. 求字串長度 length(s) 例:length(『12abc』)=5
在asp中 求字串長度用 len(s)例: len("abc12")=5
6. 搜尋子串的位置 pos(s1,s2) 如果s1是s2的子串 ,則返回s1的第一個字元在s2中的位置,若不是子串,則返回0.
例:pos(『ab』,』12abcd』)=3
7. 字元的大寫轉換。upcase(ch) 求字元ch的大寫體。
例:upcase(『a』)=』a』
8. 數值轉換為數串。 過程 str(x,s) 把數值x化為數串s.
例:str(12345,s); 結果s=』12345』
9. 數串轉換為數值。 過程val(s,x,i) 把數串s轉化為數值x,如果成功則i=0,不成功則i為無效字元的序數,第三個引數也可不傳
例:val(『1234』,x,i);結果 x:=1234
5樓:摩羯面對現實
c語言中輸入輸出字串的函式如下:
在c語言中,輸出字串的函式有兩個:
1、puts():直接輸出字串,並且只能輸出字串。
2、printf():通過格式控制符 %s 輸出字串。除了字串,printf() 還能輸出其他型別的資料。
在c語言中,輸入字串的函式有兩個:
1、scanf():通過格式控制符 %s 輸入字串。除了字串,scanf() 還能輸入其他型別的資料。
2、gets():直接輸入字串,並且只能輸入字串。
擴充套件資料:
輸出字串的例子:
printf("%s\n", str); //通過變數輸出
直接輸出
puts(str); //通過變數輸出
直接輸出
return 0;
執行結果:
在 printf() 函式中使用%s輸出字串時,在變數列表中給出陣列名即可,不能寫為printf("%s", str);。
c語言字串輸出是亂碼,C語言,字串輸出是亂碼
include include include int random int num void main printf 請依次輸入學生姓名 for i 0 i被點到的同學的名字是 printf s p random n 1 int random int num 你好沒有亂碼 就是邏輯上有些錯誤如圖 ...
c語言中字串和陣列的區別,C語言中字串和陣列的區別
這個是字元陣列。c語言字元陣列和字串的區別,字元陣列是一個儲存字元的陣列,而字串是一個用雙括號括起來的以 0 結束的字元序列,雖然字串是儲存在字元陣列中的,但是一定要注意字串的結束標誌是 0 總的來說是沒有區別的,字串就是以字元陣列形式儲存的。可以把一個字串看成是一個字元陣列,可以按陣列那樣操作。兩...
C語言中什麼是字串,C語言中如何定義字串?
加了 符號的字元,例如 c 3 在c語言中,由零個或多個字元組成且通過雙引號括起來的有限序列就叫字串.例如 hello world 我愛中國 a 123456 等等.另外字串在記憶體中是由字元型陣列來儲存的.且在儲存的時候多加 0 表示字串已經結束.例如 char string 12 hello w...