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 這樣就可...