當前位置:首頁 » 編程語言 » c語言中的輸入輸出

c語言中的輸入輸出

發布時間: 2022-10-17 21:18:00

c語言字元串數組怎麼輸入和輸出呢

在C語言中,有兩個函數可以在控制台(顯示器)上輸出字元串,它們分別是:

puts():輸出字元串並自動換行,該函數只能輸出字元串。

printf():通過格式控制符%s輸出字元串,不能自動換行。除了字元串,printf() 還能輸出其他類型的數據。

這兩個函數相信大家已經非常熟悉了,這里不妨再演示一下,請看下面的代碼:

#include <stdio.h>

int main(){

char str[] = "http://c.biancheng.net";

printf("%s ", str); //通過字元串名字輸出

printf("%s ", "http://c.biancheng.net"); //直接輸出

puts(str); //通過字元串名字輸出

puts("http://c.biancheng.net"); //直接輸出

return 0;

}

運行結果:

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

注意,輸出字元串時只需要給出名字,不能帶後邊的[ ],例如,下面的兩種寫法都是錯誤的:

printf("%s ", str[]);

puts(str[10]);

(1)c語言中的輸入輸出擴展閱讀:

由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。

字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。

❷ 在C語言中標准輸入輸出語句應該如何編寫操作

Turbo C 2.0標准庫提供了兩個控制台格式化輸入、輸出函數 scanf();和printf();這兩個函數可以在標准輸入輸出設備上以各種不同的格式讀寫數據。scanf()函數用來從標准輸入設備(鍵盤)上讀數據,printf()函數用來向標准輸出設備(屏幕)寫數據。下面詳細介紹這兩個函數的用法。
1.標准輸入語句
scanf()函數是格式化輸入函數,它從標准輸入設備(鍵盤)讀取輸入的信息。其調用格式為:scanf(<格式化字元串>,<地址表>);
格式化字元串包括以下三類不同的字元;
(1).空白字元:空白字元會使scanf()函數在讀操作中略去輸入中的一個或多個空白字元。
(2).非空白字元:一個非空白字元會使scanf()函數在讀入時剔除掉與這個非空白字元相同的字元。
(3).格式化說明符:以%開始,後跟一個或幾個規定字元,用來確定輸出內容格式。

❸ c語言有哪些輸入輸出函數

C語言輸入輸出函數有很多,標准I/O函數中包含了如下幾個常用的函數:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int scanf(const char *format, arg_list)
scanf主要從標准輸入流中獲取參數值,format為指定的參數格式及參數類型,如scanf("%s,%d",str,icount);
它要求在標准輸入流中輸入類似"son of bitch,1000"這樣的字元串,同時程序會將"son of bitch"給str,1000給icount.
scanf函數的返回值為int值,即成功賦值的個數,在上例中如果函數調用成功,則會返回2,所以我們在寫程序時,可以通過
語句if(scanf("%s,%d",str,icount) != 2){...}來判斷用戶輸入是否正確.
int printf(const char *format, arg_list)
printf主要是將格式化字元串輸出到標准輸出流中,在stdio.h頭文件中定義了標準的輸入和輸出,分別是stdin,stdout.
arg_list可以是變數名,也可以是表達式,但最終都會以值的形式填充進format中.
int getc(FILE *fp)
getc主要是從文件中讀出一個字元.常用的判斷文件是否讀取結束的語句為:(ch = getc(fp)) != EOF.EOF為文件結束標志,
定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp為stdin
時,getc(stdin)就等同於getchar()了.
int putc(int ch,FILE *fp)
putc主要是把字元ch寫到文件fp中去.如果fp為stdout,則putc就等同於putchar()了.
int getchar(void)
getchar主要是從標准輸入流讀取一個字元.默認的標准輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字元時又
涉及到緩沖的問題,所以並不是在屏幕中敲上一個字元程序就會運行,一般是通過在屏幕上敲上回車鍵,然後將回車前的字元
串放在緩沖區中,getchar就是在緩沖區中一個一個的讀字元.當然也可以在while循環中指定終止字元,如下面的語句:
while ((c = getchar()) != '#')這是以#來結束的.
int putchar(int ch)
putchar(ch)主要是把字元ch寫到標准流stdout中去.
char * gets(char *str)
gets主要是從標准輸入流讀取字元串並回顯,讀到換行符時退出,並會將換行符省去.
int puts(char *str)
puts主要是把字元串str寫到標准流stdout中去,並會在輸出到最後時添加一個換行符.
char *fgets(char *str, int num, FILE *fp)
str是存放讀入的字元數組指針,num是最大允許的讀入字元數,fp是文件指針.fgets的功能是讀一行字元,該行的字元數
不大於num-1.因為fgets函數會在末尾加上一個空字元以構成一個字元串.另外fgets在讀取到換行符後不會將其省略.
int fputs(char *str, file *fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在列印時並不添加換行符.
int fgetc(FILE *fp)
fgetc從fp的當前位置讀取一個字元.
int fputc(int ch, file *fp)
fputc是將ch寫入fp當前指定位置.
int fscanf(FILE *fp, char *format,...)
fscanf按照指定格式從文件中出讀出數據,並賦值到參數列表中.
int fprintf(FILE *fp, char *format,...)
fprintf將格式化數據寫入流式文件中.

❹ c語言是通過什麼來輸入輸出的

C語言是通過printf()函數和scanf()函數來進行輸入和輸出。

printf()格式化輸出函數,C語言標准庫函數,在 stdio.h 中定義。一般用於向標准輸出設備按規定格式輸出信息。printf()函數的調用格式為:printf("<格式化字元串>", <參量表>)。輸出的字元串除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。

scanf()格式化輸入函數。與printf函數一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數時要加上#include <stdio.h>。scanf()函數的調用格式為:scanf("<格式說明符>", <參量表>)。按用戶指定的格式從鍵盤上把數據輸入到指定的變數之中。

(4)c語言中的輸入輸出擴展閱讀:

printf("<格式化字元串>", <參量表>);

格式化字元串包含三種對象,分別為:

(1)字元串常量;

(2)格式控制字元串;

(3)轉義字元。

字元串常量原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式控制字元串和各輸出項在數量和類型上應該一一對應。其中格式控制字元串是以%開頭的字元串,在%後面跟有各種格式控制符,以說明輸出數據的類型、寬度、精度等。

❺ 淺談c語言輸入輸出流格式

printf格式輸出函數,作用是向終端輸出若干個任意類型的數據

一般格式為printf(「格式控制」,輸出表列)

例printf(「%d,%c\n」,i,c)

格式控製作用:

1. 格式說明(%..):將輸出的數據轉換為指定的格式輸出

2. 普通字元。按原樣輸出

格式控制中的普通字元按原樣輸出

例printf(「%d  %d」,a,b)

  printf(「a=%d  b=%d」,a,b)

在第二個函數中雙引號內的字元,除了兩個%d以外,其他的普通字元按原樣輸出,如果a,b的值分別為3,4,則輸出為a=3  b=4中間有空格

3. 格式字元:

1 d格式符。%d按十進制整數數據實際長度輸出;%md指定寬度(位數)m,如果數據位數小於m,則左端補空格;%ld長整型數據

2 o格式符。以八進制整數形式輸出

3 x格式符。以十六進制數形式輸出

4 u格式符。以十進制整數形式輸出無符號數

5 c格式符。用來輸出一個字元,一個整數,只要它的值在0~255之間,也可以用%c使之按字元形式輸出,在輸出前,系統會將該整數作為ASCII碼轉換成相應的字元;反之,一個字元數據也可以用整數形式輸出。

6 s格式符。用來輸出一個字元串。%s;%ms,輸出的字元串佔m列,如果字元串本身長度大於m,則突破m限制,將字元串全部輸出,如果小於m,則左補空格;%-ms,如果串長小於m,則在m列范圍內,字元串向左靠,右補空格;%m.ns,輸出m列,但只取字元串左端n個字元。這n個字元輸出在m列右側,左補空格;%-m.ns,取n個字元輸出在m列范圍的左側,右補空格,如果n>m,則m自動取n值,即保證n個字元正常輸出

7 f格式符。用來輸出實數(包括單雙精度),以小數形式輸出。%f,不指定欄位寬度,使整數部分全部輸出,並輸出6位小數。但注意,在輸出的數字中並非全部數字都是有效數字,單精度實數的有效數字一般為7位;%m.nf,指定輸出的數據共佔m列,其中有n位小數。如果數值長度小於m,則左端補空格;%-m.nf與%m.nf基本相同,只是使輸出的數值向左端靠,右端補空格。

8 e格式符。以指數形式輸出實數

9 g格式符。用來輸出實數,根據數值的大小,自動選f格式或者e格式,且不輸出無意義的零。P80

格式字元

說明

d ,i

以帶符號的十進制形式輸出整數

O

以八進制無符號形式輸出整數

X,x

以十六進制無符號形式輸出整數,用x則百偶是輸出十六進制數的a~f時以小寫形式輸出。用X時,則以大寫字母輸出

u

以無符號十進制形式輸出整數

c

以字元形式輸出,只輸出一個字元

s

輸出字元創

f

以小數形式輸出單雙精度數,隱含輸出7位小數

e,E

以指數形式輸出是說,用e時指數以e表示,用E時指數以E表示

g,G

選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0.用G時,若以指數形式輸出,則指數以大寫表示

字元

說明

l

用於長整型整數,可載入個師傅d,o,x,u前面

m

數據最小寬度

n

對實數,表示輸出n位小數,對字元串,表示截取的字元個數

-

輸出的數字或字元在域內向左靠

注意:除了X,E,G外,其他格式字元必須用小寫字母;可以在格式控制字元串內包含轉義字元;格式符之間可以加入修飾符;用連續兩個%來輸出%

scanf(格式控制,地址表列)

scanf(「%d%d%d」,&a,&b,&c)

&為地址運算符,&a指a在內存中的地址。

1.用%d%d%d輸入數據時不能用逗號做兩個數據間的分隔符可用空格

如果%d和%d之間有n個空格,則輸入時對應的位置應該有多於n個空格來分隔

總之,%d與%d之間有什麼簡單符號,輸入信息時候就要將這些符號加上,或者格式控制里是a=%d,則輸入數據時候也得輸入a=某個數據

2.用%c格式輸入字元時候,空格字元和轉義字元都作為有效字元輸入

例如:scanf(「%c%c%c」,&c1,&c2,&c3);若輸入「a空格b空格c」則c1為a,c2為空格,c3為b,正確的輸入法為「abc」字元間沒有空格

3.在輸入數據時候,遇到以下情況時,認為該數據結束①遇空格,或按回車,或跳格鍵;②指定寬度結束,如%3d;③遇非法輸入

❻ C語言輸入輸出字元串

在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語言中如何輸入輸出字元串

在<string.h>頭文件中用字元串處理函數輸入和輸出,gest用來輸入,puts用來輸出。

字元串輸入函數gets,從鍵盤鍵入以回車結束的字元串放入字元數組中,並自動加』'。輸入串長度應小於字元數組維數,字元串中可以包含空格。

字元串輸出函數puts,向顯示器輸出字元串(輸出完,自動換行,即用' '替'')。字元數組必須以''結束。

示例代碼如下:

#include<string.h>

int main()

{

char str[40];

printf("請輸入字元串");

gets(str);

printf("請輸出字元串");

puts(str);

system("pause");

return 0;

}

(7)c語言中的輸入輸出擴展閱讀

在C中,對文件的操作分為兩種方式,即流式文件操作和I/O文件操作。

流式文件操作,這種方式的文件操作有一個重要的結構FILE,FILE在頭文件stdio.h中定義如下:

typedef struct {

int level; /* fill/empty level of buffer */

unsigned flags; /* File status flags */

char fd; /* File descriptor */

unsigned char hold; /* Ungetc char if no buffer */

int bsize; /* Buffer size */

unsigned char _FAR *buffer; /* Data transfer buffer */

unsigned char _FAR *curp; /* Current active pointer */

unsigned istemp; /* Temporary file indicator */

short token; /* Used for validity checking */

} FILE; /* This is the FILE object */

直接I/O文件操作,這是C提供的另一種文件操作,它是通過直接存/取文件來完成對文件的處理,此類文件操作常用的函數及其所用的一些符號在io.h和 fcntl.h中定義,在使用時要加入相應的頭文件。

❽ c語言本身有沒有輸入輸出語句

C語言本身是不能輸入輸出的。C語言程序庫內包含了printf和scanf這兩個函數當用戶需要輸入輸出時就要輸入這兩個函數編譯時C語言程序庫則調用這兩個函數。C語言採用方式使得語言功能的擴充十分方便。如果需要增加新的功能只需要在函數庫中添加相應的函數即可;

而如果一個函數的功能需要進行調整也只需要修改函數本身的代碼但不需要修改調用了該函數的其他程序。

C語言中本身具有的函數稱為系統函數用戶可以直接調用這些函數完成相應的功能。例如printf、fabs等都是系統函數。系統函數被保存在稱為「C函數庫「的系統文件中當需要使用一個函數時應當通知系統該函數所在的函數庫這是通過包含頭文件的方式來實現的。

❾ c語言中有那些輸出輸入語句

putchar(輸出字元)getchar(輸入字元)printf(格式輸出)scanf(格式輸入)puts(輸出字元串)gets(輸入字元串)
%d按十進制整形數據的實際長度輸出
%md。m為指定的輸出欄位的寬度。如果位數小於m,則左邊補以空格,大於m,則實際輸出。例:printf("%4d,%4d,a,b");當a=123b=12345則輸出空123,12345
%ld是輸出長整形數據
o是格式符。以8進制輸出
x是格式符。以16進制輸出
u是格式符,用來輸出無符號數,10進制輸出

❿ C語言中有哪幾個輸入輸出函數簡述他們的用途

2.putchar() getchar() 輸出輸入函數只針對單個字元的操作。3.puts(),gets() 輸出輸入函數可以單個字元操作(但是功能有限的),主要是針對字元串操作。 下面我們定義int a用scanf("%d",a)可以獲取整型a的值,a=getchar(),gets(a)無法從鍵盤獲取數字用printf("%d",a)可以列印數字a的值,putchar(a),puts(a)沒法列印數字方面:printf()和scanf()勝char a用scanf("%c",&a) 可以獲取字元a的值,用a=getchar()能獲取a的值,用gets(a)不能獲取用printf("%c",a)可以列印字元a的值 用a=getchar()可以列印a的值,用puts(a)不能列印字元方面:getchar()和putchar()第1 scanf()和printf()第2 gets和puts()敗補充:puts()和gets()能接收和列印單個字元只限制變數是數組變數例如 char a[50]; gets(a); put(a);你輸入一個字元就會列印一個字元但如果是字元變數 char a='x'; char a; puts(a); 或 gets(a); puts(a);就無法運行char a[50]用scanf("%s",a)能獲取數組a的值,用a=getchar()無法獲取,用gets(a)能獲取a的值用printf("%s",a)能列印數組a的值 用putchar(a)無法列印,用puts(a)能列印a的值字元串(數組)方面:gets()和puts()第一,scanf()和printf()第2,getchar()和putchar()敗可見scanf()和printf()什麼都能實現,但對字元和字元串操作沒有其他兩種好getchar()和putchar()對字元操作優勢明顯,但不能操作數字變數,字元數組變數gets()和puts()對字元串操作優勢明顯,但也不能操作數字變數,字元變數scanf()和printf()格式輸入輸出能同時按格式一起輸入輸出字元,數字,字元串這是其他兩種不能比的所以程序以scanf()和printf()為主,其他兩種作為輔助,發揮各自的長處。最後來個總結,用程序表示#include <stdio.h>main(){ char a,b[50]; printf("請輸入第一個字元:\n"); scanf(" %c",&a); getchar(); //獲取前面的回車 printf("第一個的字元為:%c\n",a); printf("請輸入第二個字元:\n"); a=getchar(); printf("第二個字元為:"); putchar(a); putchar('\n'); printf("請輸入第一個字元串:\n"); scanf(" %s",&b); getchar(); //獲取前面的回車 printf("第一個的字元為:%s\n",b); puts("請輸入第二個字元串:"); gets(b); puts("第二個字元串為:"); puts(b); }

熱點內容
python逗號split 發布:2024-12-25 01:24:06 瀏覽:155
sqlwithas效率 發布:2024-12-25 01:21:25 瀏覽:484
pcielinux 發布:2024-12-25 01:12:02 瀏覽:644
展示迷宮演算法 發布:2024-12-25 00:58:25 瀏覽:438
手機酷我音樂上傳歌詞 發布:2024-12-25 00:58:14 瀏覽:797
路由器哪裡改密碼 發布:2024-12-25 00:53:18 瀏覽:659
編譯原理數組的翻譯三地址代碼 發布:2024-12-25 00:53:18 瀏覽:892
全新哈弗h6哪個車型配置夠用 發布:2024-12-25 00:51:35 瀏覽:888
安卓系統部落沖突如何用微信登錄 發布:2024-12-25 00:50:08 瀏覽:364
oracle啟動資料庫服務 發布:2024-12-25 00:50:03 瀏覽:66