嵌入(ru)式學習筆記:數(shu)據的輸入(ru)輸出(chu)
時間(jian):2018-09-18 來源:未知(zhi)
sizeof(數據(ju)類型或(huo)變(bian)量(liang)名);
1、字(zi)符的輸(shu)入與輸(shu)出
getchar:函數原型 :int getchar(void);
功能:從終端獲取字符
返回值:
成功:返回(hui)的是讀到的字符的ASCII碼(ma)值
失(shi)敗:返回EOF(-1)
putchar:函數(shu)原型(xing) int putchar(int c);
功能(neng):向終(zhong)端輸出字(zi)符
返回值:
成功(gong):輸出(chu)字(zi)符(fu)的ASCII碼值
失敗:返回EOF
2、字符串的輸入與輸出
gets:函(han)數原(yuan)型:char *gets(char *s);
功能:從鍵盤輸入一以回車結束的字符(fu)串放入字符(fu)數組(zu)中,并且自動加‘\0’;
其中:s為字符(fu)數組,存儲輸(shu)入(ru)的字符(fu)串(chuan)
返回值:
成功:返回字(zi)符數組(zu)的起始地(di)址;
失(shi)敗:返回NULL;
注:gets輸(shu)(shu)入時,要注意不要越(yue)界(jie),只能輸(shu)(shu)入n-1個;
puts: int puts(const char *s);
功能:向終端輸出字符串s
參數:s為需要(yao)輸出(chu)的字符(fu)串
返回值:
成功:返回輸入的(de)字符的(de)個(ge)數(shu),包括‘\0’
失敗:返回(hui)EOF
3、標準(zhun)格(ge)式(shi)化(hua)輸入與輸出
printf:
函數原型:int printf(“格式(shi)控(kong)制串”,輸出表);
功能:向終端打印輸出
輸出(chu)表(biao):輸出(chu)多個內容時(shi),用逗號(hao)隔(ge)開,輸出(chu)表(biao)可以變量,也可以是(shi)常(chang)量返回值(zhi):
成功:返回輸出的字節數(shu)(按終端統(tong)計(ji))
失敗:返回EOF
%d--------有符號的十(shi)進制整(zheng)型
%hd-------有符號十(shi)進制(zhi)的短整型數
%ld-------long
%lld------long long
%u------無(wu)符號(hao)十進制(zhi)整數
%o------八進制的無符(fu)號整(zheng)型
%x,%X-----十(shi)六(liu)進制(zhi)的無符號整型(xing)
#------自動在八進制(zhi)數(shu)前(qian)面加(jia)0,十(shi)六(liu)進制(zhi)前(qian)面加(jia)0x
%c-----字(zi)符型
%s-------打印字符串(chuan),遇到‘\0’就結束
%f-----float
%lf-----double
%e-----指數形式的浮點數
%g-----%f和%e較短的一種
m-----輸出數據(ju)的(de)域(yu)寬,如(ru)(ru)果(guo)數據(ju)的(de)寬度大于(yu)m時,數據(ju)按原(yuan)樣輸出,如(ru)(ru)果(guo)小于(yu)m
時,數據右對齊,左補空格(ge)
- ------左對齊(qi),右(you)補空(kong)格(默認(ren)右(you)對齊(qi))
.n-----浮點型小數位(wei)保留n位(wei),第n+1位(wei)四舍五入
打(da)印字(zi)(zi)符串(chuan)時,n表示打(da)印多(duo)少個字(zi)(zi)符
scanf:
函數(shu)原型(xing):int scanf(“格式控制串”,地址表);
功能:按(an)指(zhi)定格式從(cong)鍵盤讀入(ru)數據(ju),存(cun)入(ru)地址(zhi)表指(zhi)定的存(cun)儲單元中,并按(an)回(hui)車(che)鍵結束
返回值:
成功:返回(hui)輸入的變量的個數
失敗:返回(hui)EOF
輸(shu)入(ru)(ru)數據時,如果(guo)需要輸(shu)入(ru)(ru)多個變(bian)量,一(yi)般(ban)用空格、回車(che)(che)或(huo)tab鍵作(zuo)為分隔符(fu);輸(shu)入(ru)(ru)字(zi)符(fu)數據時,容易產生垃(la)圾字(zi)符(fu),如‘ ’,‘\n’,(因為用%c時,空格和回車(che)(che)作(zuo)為有效(xiao)字(zi)符(fu)輸(shu)入(ru)(ru))
解決辦法:
1、getchar();
2、%*c *表示不(bu)把輸入的值賦給變量

