c語言中如何輸入輸出字串

2021-12-23 01:11:53 字數 5729 閱讀 1748

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 int main d輸出的是有符號的整數,超過127的數字,在二進位制的最高位就是1了。那麼在後符號數的首位標記正負。如果是1,就是負數了。具體還是看看補碼運演算法則吧 c語言的字元是ascii編碼 標準的ascii碼只到127吧 沒記清楚 大概是這個數 char 的變數存的值太大直...

C語言字串輸出亂碼,C語言,字串輸出是亂碼

輸出來亂碼是必須的,因為你的數源據型別搞錯了bai,你使用的是字元 du函式zhistringcopy 來拷貝字元 那麼要處理的數dao據當是char型別,然而你所定義的指標應當也是char型別 你應當修改的地方是 int str1,str2 請將int改為char 將你程式中的所有int替換為ch...

C語言字串問題,C語言中,字串是什麼?

這迴圈需要執行4次,對應的字元就是0001,也就是說這個sc需要5個空間,加一個 0 for i 0 i 2.你這個程式每次執行的結果可能是不確定的,因為你沒有初始化sc陣列,printf以字串的形式輸出,他是遇到 0 字元才結束的,所以為了保證程式的結果是一致的,建議初始化陣列。sc 5 這樣就可...