1)輸入單個字符:getc,getchar,getch(不會在屏幕顯示輸入字符)
成都創新互聯公司長期為成百上千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為臨湘企業提供專業的成都網站建設、網站建設,臨湘網站改版等技術服務。擁有十多年豐富建站經驗和眾多成功案例,為您定制開發。
2)
輸出單個字符:putc
3)
輸入一串字符(可以有空格,Tab
等):
gets
4)
輸出一串字符(可以有空格,Tab
等):
puts
5)
標準輸入:scanf(可以輸入數字,字符,字符串等。輸入以空白字符分割)
6)
標準輸出:printf(可以格式花輸出數字,字符,字符串等。)
文件輸入輸出:
在上面的輸入輸出函數(除了
getchar,getch)前面加上
f,比如fgetc,fputc,fscanf,fprintf,就是文件輸入輸出函數了。
一:格式輸出函數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字符
#include
"stdio.h"
void
input(int
a[10])
//給一維數組輸入數據
{
int
i;
for(i=0;i10;i++)
scanf("%d",a[i]);
}
void
output(int
a[10])
//輸出一維數組輸入數據
{
int
i;
for(i=0;i10;i++)
printf("%d
",a[i]);
}
int
main()
{
int
b[10];
input(b);
//調用input函數給數組b賦值
output(b);//調用output函數輸出數組b中的值
}
C++ 對C 作了 補充,增加了 你的 輸出設想。
C語言輸出函數,要求 給格式,主要是為了 滿足 多種多樣 的需求。
例如,同樣是 int 型,默認輸入輸出 是 10 進制,但有的人 要求 用 16進制,有的人要求用 8 進制。 有的人 為了 又看數的大小,又要知道 內存里的信息排列 于是 要求 既 輸出 10進制值,也輸出 16進制值(16進制 一位拉4位很容易變2進制)。
程序例子:
int x=25;
printf("%d %x %o\n",x,x,x); // 這樣 可以輸出 x 的10進制值,16進制值,8進制值。
程序例子:
int y;
printf("please input y in hex\n"); // 請按16進制數 拍入 y 的值
scanf("%x",y); // 按16進制數, 讀入 y
printf("y=%d\n",y); // 按10進制數 輸出 y
程序例子:
float f=1.2;
double d = 123450000;
printf("f=%g d=%g\n",f,d); // 輸出 f=1.2 d=1.2345e+008
滿足多種多樣 的需求。
------
C++, 可以用
cout x endl; 輸出 不需格式,為10進制。
cout f " " d endl; 輸出 不需格式,
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語言中用于輸出數據的函數
網址分享:http://vcdvsql.cn/article10/dsigggo.html
成都網站建設公司_創新互聯,為您提供營銷型網站建設、企業網站制作、關鍵詞優化、微信小程序、品牌網站設計、App開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯