c語言中的輸入輸出
❶ 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,向顯示器輸出字元串(輸出完,自動換行,即用' '替'