scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
創新互聯公司公司2013年成立,是專業互聯網技術服務公司,擁有項目成都網站設計、成都網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元寶安做網站,已為上家服務,為寶安各地企業和個人服務,聯系電話:18982081108
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將格式化數據寫入流式文件中.
Turbo C 2.0標準庫提供了兩個控制臺格式化輸入、輸出函數 scanf();和printf();這兩個函數可以在標準輸入輸出設備上以各種不同的格式讀寫數據。scanf()函數用來從標準輸入設備(鍵盤)上讀數據,printf()函數用來向標準輸出設備(屏幕)寫數據。下面詳細介紹這兩個函數的用法。
1.標準輸入語句
scanf()函數是格式化輸入函數,它從標準輸入設備(鍵盤)讀取輸入的信息。其調用格式為:scanf(<格式化字符串>,<地址表>);
格式化字符串包括以下三類不同的字符;
(1).空白字符:空白字符會使scanf()函數在讀操作中略去輸入中的一個或多個空白字符。
(2).非空白字符:一個非空白字符會使scanf()函數在讀入時剔除掉與這個非空白字符相同的字符。
(3).格式化說明符:以%開始,后跟一個或幾個規定字符,用來確定輸出內容格式。
一:格式輸出函數printf()
1、調用形式一般為:printf("格式化控制字符串",輸出表列);
2、格式化控制字符串用于指定輸出格式,它有三種形式:
1、格式說明符:規定了相應輸出表列內容的輸出格式,以%打頭,如%d、%o等
2、轉義字符:用來輸出轉義字符所代表的控制代碼或者特殊字符,比如常用的‘\n'、‘\t'
3、普通字符:需要原樣輸出的字符。
3、輸出表列為若干需要輸出的數據項,它與格式說明符在數量和類型上一一對應;
4、格式字符m指定輸出數據所占寬度,n對實數表示輸出n位小數,對字符串表示截取的字符個數,+表示右對齊,通常省略。
—表示左對齊,l用于長整型數據,可加在d、o、x、u前,更多格式說明符及其組合形式如下所示:
格式字符
數據對象
輸出形式
數據輸出方法
%(+)-md
int
unsigned
int
short
unsigned
short
char
十進制整數
1、無m按實際位數輸出
2、有m輸出m位;超過m位,按實際位數輸出,不足補空格
3、有+(默認為+)右對齊(左補空格)
4、有-左對齊(右補空格)
%(+)-mo
八進制整數
%(+)-mx
十六進制整數
%(+)-mu
無符號整數
%(+)-mld
long
unsigned
long
十進制整數
%(+)-mlo
八進制整數
%(+)-mlx
十六進制整數
%(+)-mlu
無符號整數
%(+)-m.nf
float
double
十進制小數
%(+)-m.ne
十進制指數
%(+)-g
自動選用%f和%e中較短的輸出寬度輸出單、雙精度浮點數
%(+)-mc
char
int
short
單個字符
1、無m輸出單個字符
2、有m輸出m位,補空格
3、有+(默認為+)右對齊(左補空格)
4、有-左對齊(右補空格)
%(+)-m.ns
字符串
一串字符
1.無m、n按實際字符串輸出全部字符
2、有m、n僅輸出前n個字符,補空格
3.有+(默認為+)右對齊(左補空格)
4、有-左對齊(右補空格)
二:格式輸入函數scanf()
1、
調用格式一般為:scanf("格式化控制字符串",地址表列);
2、格式化控制字符串和printf()函數含義相似,所不同的是它是對輸入格式進行控制;
3、地址表列是有若干等待輸入的數據所對應的內存單元地址組成,由逗號隔開,一般形式為a,a為變量;
4、地址表列在數量和類型上和格式化控制字符串中的格式說明符一一對應;
5、格式字符h表示輸入短型數據,可用在d、o、x前面,m指定輸入數據所占寬度,
*表示對應的數據項讀入后不賦給相應的變量,更多格式說明符及其組合如下
格式字符
數據對象
輸入形式
數據輸入方法
%md
int
short
unsigned
int
unsigned
short
十進制整數
1、無m按實際位數輸入
2、有m輸入m位,不足m則跟回車鍵
%mo
八進制整數
%mx
十六進制整數
%mld
long
unsigned
long
十進制整數
%mlo
八進制整數
%mlx
十六進制整數
%mlf
float
double
十進制整數
%mle
%mc
char
單個字符
1、無m取單個字符
2、有m輸入m位,僅取第一個字符
%ms
字符串
一串字符
1、無m取回車或空格前若干字符
2、有m僅取前m字符
在C語言中,輸入使用的是scanf函數,scanf函數的格式為scanf(格式控制,地址列表),如scanf("%d"a)。
輸出使用的是printf()函數,printf函數的格式為printf(格式控制,輸出表列),如printf("%d\n",a)。在輸出時可以在"%"和字母之間插進數字表示最大場寬。可以根據需要輸出數字的位數來決定“%”前的數值。
如:%3d表示輸出3位整型數, 不夠3位右對齊。
%9.2f 表示輸出場寬為9的浮點數, 其中小數位為2, 整數位為7,小數點占一位, 不夠9位右對齊。
%8s 表示輸出8個字符的字符串, 不夠8個字符右對齊。
擴展資料
C語言輸入輸出時的規則:
一、格式說明符個數與輸入數據個數不相等的情況:
當我們輸入數據時,只要沒有按回車鍵,所輸入的數據都還存放在緩沖區,并沒有存入變量中。按【Enter】鍵后,scanf()函數才會從緩沖區中取走數據。緩沖區是一個先進先出的隊列,即取走數據的時候,遵循先輸入的數據先取走的原則。
scanf函數的格式說明符有幾個就要取幾次數據,只要碰到格式說明符就必須把數據取走,至于是不是要把取走的數據存放起來,就得看數據列表中的數據個數。沒取完的數據繼續留在緩沖區中。
二、寬度輸出的情況:
1、在%和格式字符之間加入一個整數來控制輸出數據所占寬度
2、在%和格式字符f之間加入一個“整數1.?整數2”來控制輸出數據的格式。
整數1:整個輸出數據占的總寬度
整數2:輸出實數的小數部分的個數
注意:先用整數2處理小數部分,再用整數1處理整個數據,包括已處理好的小數部分
三、寬度輸入的情況:
寬度輸入指的是在%和格式說明符d之間加入一個整數。如:scanf("%2d", x);
注意:
1、%d與%1d是不同的,它們具有不同的含義。
2、 當寬度小于數據的實際寬度時,截取指定寬度的部分作為一個數進入緩沖區,再將剩余部分作為另一個數放入緩沖區。
參考資料來源:百度百科——scanf
百度百科——printf()
第一個要求:
#include
stdio.h
void
main()
{
char
a
;
scanf("%c",a)
;
/*
從鍵盤上輸入一個單個字符,并存入變量
a
中
*/
if(
(
a
=
'a'
)
(
a
=
'z'
)
)
/*
如果輸入的是
小寫字母
*/
{
a-=32
;
/*
把相應的小寫字母轉換為
大寫字母
,并輸出
*/
printf("%c",a)
;
}
else
/*
如果是其它所有字母的話,就直接輸出字母本身
*/
printf("%c\n",
a
)
;
}
第二個要求:
65(按
十進制
格式輸出)
101(按
八進制
格式輸出)
41(按
十六進制
格式輸出)
A(輸出ASCII
為
65
的字符本身,為大寫的
A)
C語言中如何實現多組數據輸入輸出? c語言中有一個標準輸入函數,即:scanf函數,它可以讀取輸入的任意格式類型的數據。scanf函數也有返回值,返回類型為int類型,它返回成功讀入的項目的個數。如果它沒有讀取任何項目(當它期望一個數字而您卻鍵入了一個非數字字符串時就會發生這種情況,scanf()會返回0。當它檢測到“文件結尾”(end of file)時,它返回EOF(EOF是在文件stdio.h中定義的特殊值,一般#define指令把EOF的值定義為-1,我們可以理解為:#define EOF -1)。
c語言中,所有的輸入函數都共用同一個輸入緩沖區,我們從鍵盤鍵入數據時,其實是將輸入寫入緩沖區中,當我們按下回車鍵時,scanf()函數從緩沖區中讀取輸入,刷新緩沖區。
C語言中實現多組數據輸入輸出主要有兩種方式:
1.首先輸入一個n,表示將有n個輸入輸出,例如:
#include stdio.hint main(){ int n,a; scanf("%d",n); while(n--){ scanf("%d",a); printf("輸出:%d\n",a); } return 0;}/*運行結果:3255輸出:255156輸出:156125輸出:125 */
2.使用while(scanf("%d",n)!=EOF){}語句,直達輸入ctrl+z,結束輸入,例如:
#include stdio.hint main(){ int a; while(scanf("%d",a)!=EOF){ printf("輸出:%d\n",a); } return 0;}/*運行結果:54輸出:545156輸出:515621輸出:21^Z*/
你先要設置數組的大小,這個你必須要定義的。你要不確定你要多少你最好把你的數值設置大些。至于你要輸多個你可以用循環語句如:for(i=1;i=n;i++)
scanf("%d",a[n]);
輸出還是一樣之是把scanf改成printf不要取地址就行了。
希望能對你有幫助。
C語言多組數據輸入輸出
#includestdio.hint pow(int a,int n)計算a的n次方{ if(n==1) return a; return a*pow(a,n-1);}int main(){ int T; int n,k,sum,i; scanf("%d",T); while(T--) { sum=0; scanf("%d%d",n,k); for(i=1;i=k;i++) { sum+=pow(n,i);累加 } printf("%d\n",sum); } return 0;}
c語言,如何實現多組數據結果對應輸出
scanf 一個 for
printf另一個for ................
C語言如何實現輸入多組數據測試
#includestdio.h
void main()
{
int n;
while(scanf("%d",n)!=EOF,n)
或者寫成while(scanf("%d",n)!=EOF)然后在循環里加一句if(n==0)break;
{
if(n==0)break;
if((n/10000==n%10)(n/1000%10==n/10%10))
判斷回文
printf("Yes.\
");
else
printf("No.\
");
}
}
這個代碼應該是對的,在OJ上,多組數據都是這么處理的。
這個沒關系的,提交的時候,這樣也是對的,因為OJ系統在判斷答案的時候,輸入和輸出數據放在不同的文件夾下面的,只要它的輸入文件在你的程序下運行,對應的輸出文件和他的一致,你的程序就是正確的,所以,就不需要把結果存起來。
如果你真的想那樣,那就用一個數組把答案存起來,等循環結束的時候,再把結果printf就行了
在c語言中,輸入輸出數據可以用輸入輸出函數,匯編語言如何實現輸入輸出數據?
匯編語言中,根據不同的芯片,也是不同的語句實現輸入輸出,但思想都是一樣的:輸入——將值取入;輸出——將值送出。語句:
輸入:
有的用 in R0,INPORTADD ;INPORTADD 是端口地址
輸出:
有的用 out R0,OUTADD ;OUTADD 是端口地址
而且,數據與地址,哪個放前,哪個放后,不同編譯環境也不同,所以,你要根據具體的環境來定。
單片機中,除了你提到的輸入輸出辦法,還有:用I/O來進行,就是用輸入輸出點的信號狀態來表達;也可用存儲芯片,如FLASH來進行處理數據的輸入輸出。
什么叫數據的輸入輸出?在C語言中如何實現?
數據的輸入:在程序運行時,通過外部手段,發送數據給程序,供程序使用的過程,稱為數據的輸入。
數據的輸出:程序運行時,對外界的任何修改,都可以稱為輸出,包括但不限于,命令行的打印,圖形界面的顯示,存儲設備數據的修改等。
在C語言中,可以通過系統接口進行數據的輸入輸出,比較常用的有標準輸入輸出,文件輸入輸出,以及圖形界面輸入輸出等。
還可以通過硬件相關接口,實現特殊設備的輸入輸出,比如讀取串口設備的輸入輸出等。
本文標題:c語言怎么輸入輸出函數 C語言函數怎么輸出
URL地址:http://newbst.com/article48/doojjep.html
成都網站建設公司_創新互聯,為您提供動態網站、品牌網站設計、企業建站、全網營銷推廣、網站建設、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯