第一章 C語言の第一節 必備Linux命令和C語言基礎
第一章 C語言の第二節 數據類型、常量、變量及運算符
第一章 C語言の第三節 輸入輸出專題
本文章采用VMware Workstation Pro進行嵌入式(Linux)系列學習
從零開始,重新學習(嵌入式相關內容)并記錄知識點(涉及基礎c語言(數據結構)、linux編程、shell腳本、文件io、網絡編程)等),同時也是為了方便自身回顧,如有不對的地方請大佬多多指教,謝謝!->歡迎評論區留言
數據輸出(C語言無I/O語句,I/O操作由函數實現)
#include
1.1 字符輸出函數1.2 格式輸出函數格式:putchar(c)
參數:c為字符常量、變量或表達式
功能:把字符c輸出到顯示器上
返回值:正常,為顯示的代碼值
1.3 printf支持的格式字符格式:printf(“格式控制串”,輸出表)
功能:按指定格式向顯示器輸出數據
輸出表:要輸出的數據
格式控制串:包含兩種信息
格式說明:%[修飾符]格式字符,用于指定輸出格式
普通字符:原樣輸出
格式符 | 作用 |
---|---|
i,d | 十進制整數 |
x,X | 十六進制無符號整數 |
o | 八進制無符號整數 |
u | 無符號十進制整數 |
c | 單一字符 |
s | 字符串 |
e,E | 指數形式浮點小數 |
f | 小數形式浮點小數 |
g | e和f中較短一種 |
%% | 百分號本身 |
附加格式說明符
修飾符 | 功能 |
---|---|
m | 輸出數據域寬,數據長度 |
.n | 對實數,指定小數點后位數(四舍五入);對字符串,指定實際輸出位數 |
- | 輸出數據在域內左對齊(缺省右對齊) |
+ | 指定在有符號數的正數前顯示正號(+) |
0 | 輸出數值時指定左面不使用的空位置自動填0 |
井號鍵(#) | 在八進制和十六進制數前顯示前導0,0x |
l | 在d,o,x,u前,指定輸出精度為long型;在e,f,g前,指定輸出精度為double型 |
2.2 格式輸入函數格式:getchar()
功能:從鍵盤讀一字符
返回值:正常,返回讀取的代碼值;出錯或結束鍵盤輸入,返回-1(ctrl+d)
2.3 scanf支持的格式字符格式:scanf(“格式控制串”,地址表)
功能:按指定格式從鍵盤讀入數據,存入地址表指定存儲單元中,并按回車鍵結束
返回值:正常,返回輸入數據個數
地址表:變量的地址,常用取地址運算符&
格式符 | 作用 |
---|---|
i,d | 十進制整數 |
x,X | 十六進制無符號整數 |
o | 八進制無符號整數 |
u | 無符號十進制整數 |
c | 單一字符 |
s | 字符串 |
e | 指數形式浮點小數 |
f | 小數形式浮點小數 |
scanf函數支持的格式說明符可以帶以下修飾符
修飾符 | 功能 |
---|---|
h | 用于d,o,x前,指定輸入為short型整數 |
l | 用于d,o,x前,指定輸入為long型整數;用于e,f前,指定輸入為double型實數 |
m | 指定輸入數據寬度,遇空格或不可轉換字符結束 |
星號(*) | 抑制符,指定輸入項讀入后不賦給變量 |
3.輸入函數的垃圾處理及字符串的輸入輸出 3.1 如何處理輸入函數留下的垃圾注:
用“%c”格式符時,空格和轉義字符作為有效字符輸入
輸入數據時,遇以下情況認為該數據結束:①遇空格、TAB或回車;②遇非法輸入;③遇寬度結束
方法1:用getchar()清除
代碼驗證
#includeint main(int argc, char *argv[])
{int x;
char ch;
scanf("%d", &x);
getchar();
ch = getchar();
printf("x = %d, ch = %d\n", x, ch);
return 0;
}
結果
5
x = 5, ch = 10
方法2:用格式串中空格或“%*c”來“吃掉”
代碼驗證
#includeint main(int argc, char *argv[])
{int x;
char ch;
scanf("%d", &x);
scanf(" %c", &ch); // 或scanf("%*c%c", &ch);
printf("x = %d, ch = %d\n", x, ch);
return 0;
}
結果
5
a
x = 5, ch = 97
3.2 字符串輸入函數格式:char* gets(char *s)
功能:從鍵盤輸入一以回車結束的字符串放入
說明1:輸入串長度應小于字符數組維數
說明2:與scanf函數不同,gets函數并不以空格作為字符串輸入結束的標志
3.3 字符串輸出函數不安全的函數(容易導致棧錯誤):stack smashing detected
格式:int puts(const char *s)
功能:向顯示器輸出字符串(輸出完,換行)
說明:字符數組必須以‘\0’結束
總結gcc a.c -lm(編譯時的鏈接選項)
本章為嵌入式學習系列文章 第一章:C語言の第三節 輸入輸出專題
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
分享題目:嵌入式系列文章之第一章C語言の第三節輸入輸出專題-創新互聯
分享鏈接:http://vcdvsql.cn/article8/ejjip.html
成都網站建設公司_創新互聯,為您提供Google、企業建站、服務器托管、微信公眾號、品牌網站制作、關鍵詞優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯