日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

程序輸入與輸出

當我們操作一個linux終端的時候,執行linux命令程序,可以看到命令的輸出信息,或者要求輸入數據。那么,這些操作就是linux命令程序與用戶進行交互。程序與用戶的交互過程,可以認為是程序的輸入與輸出過程。這里我們先介紹程序在終端的輸入與輸出;當介紹到文件操作的時候,程序可以與硬盤進行輸入輸出的操作。

printf函數

在編程的過程中,我們需要輸出一些有用的調試日志信息,便于跟蹤調試程序。例如,我們想知道在程序運行的過程中,某一個變量的值,某一個內存地址的值,或者提示用戶,當前程序正在進行什么工作。那么,這一切都離不開printf()函數。

在C語言的庫函數中,提供了printf()函數,能夠輸出多種數據格式,非常有用于調試輸出信息。更高級的使用,可以配合sprintf()或snprintf()函數,可以把數據格式化輸出到內存塊中,方便快速組合出有用的字符串格式。

首先,我們來看看printf()函數,如下是一個簡單的測試例子:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

程序運行的結果如下:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

可以看到,在printf()函數中,把age變量的值給打印出來,讓我們可以看到程序里,某一個變量的內容。此時,我們知道了printf()函數的作用,那么,下面來看看printf()函數的定義格式和各種使用方式。

2.1 printf函數定義和基本使用

C語言提供的printf()函數定義如下:

int printf(const char* format_str, [argument list]);

函數分析:

(1) 參數 format_str 是控制格式輸出字符串;

(2) 參數 argument list 是參數列表,該參數是可選參數,不是必須要設置的,可以為空;

(3) 函數的返回值是int類型,是實際打印輸出的字符個數;

如下是一個程序測試例子:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

程序運行的結果如下:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

就是只輸出一串字符串。在這個例子中,printf()函數的參數只攜帶了控制格式輸出字符串,不攜帶參數列表。所以,它的作用就只是輸出一串字符串。

2.2 printf函數輸出格式

1 輸出字符和字符串

格式轉換符有:

(1) %c --- 輸出一個字符;

(2) %s --- 輸出一個字符串;

如下是程序測試例子:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

程序運行的結果如下:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

通過測試例子,可以知道:

(1) %c 格式,把變量a存儲的數據當作一個字符輸出;

(2) %s 格式,把變量pstr指向的字符串輸出;

2 輸出有符號和無符號整數

格式轉換符有:

(1) %d --- 輸出有符號數的十進制格式;

(2) %u --- 輸出無符號數的十進制格式;

如下是程序測試例子:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

程序運行的結果如下:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

通過測試例子,可以知道:

(1) %d 格式,輸出有符號數的十進制格式,例如上面的例子中,把255這個數值存放到a變量,由于a是char類型,只有1個字節的容量。255表示的二進制是1111 1111,最高位是符號位,符號位為1表示負數。最終,表示的負數是:數值位取反,得到000 0000,然后,再加1,就得到 000 0001,所以,就是-1這個數值。

(2) %u 格式,輸出無符號數的十進制格式,在上面的例子中,unsigned 指定變量是無符號類型,所以,unsigned char 這個類型表示的1個字節中,沒有符號位,一個字節中的8位都是數值位,所以,存放的二進制是 1111 1111表示的數值就是255。

3 輸出十六進制和八進制

格式轉換符有:

(1) %x --- 輸出數值是十六進制格式,是小寫字符;

(2) %X --- 輸出數值是十六進制格式,是大寫字符;

(3) %o --- 輸出數值是八進制格式;

如下是程序測試例子:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

程序運行的結果如下:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

通過測試例子,可以知道:

(1) %x格式,把變量x存放的數據值,以十六進制格式輸出,如果輸出十六進制有字母,則以小寫格式表示。

(2) %X格式,就是大寫的X字母,以十六進制格式輸出變量x的值,如果輸出的十六進制有字母,則以大寫格式表示。

(3) %o格式,是以八進制格式輸出數值。

4 浮點數

格式轉換符有:

(1) %f --- 以浮點數的格式輸出數值,就是帶小數點的數據;

(2) %e --- 以科學計數法e的方式輸出浮點數;

如下是程序測試例子:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

程序運行的結果如下:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

通過測試例子,可以知道:

(1) %f格式,輸出帶有小數點的浮點數;

(2) %e格式,以科學計數法e的方式輸出浮點數的值,例如上面的例子中,輸出:

x1 = 1.250000e+01

根據科學計數法e的表示格式,e字母后面帶數值N表示10的N次方。那么,1.250000e+01這個數值中,e字母后面帶有數值1,表示10的1次方。所以有:

1.250000e+01 = 1.250000 * 10^1 = 1.250000 * 10 = 12.5

所以對于x這個數值,使用%f, %e格式表示,都是相同的值。

5 轉移字符

轉移字符格式有:

(1) n --- 換行;

(2) t --- 水平跳格,如同按下TAB按鍵;

(3) r --- 回到當前行的開始位置;

(4) ’ --- 輸出單引號;

(5) ” --- 輸出雙引號;

(6) \ --- 輸出一條反斜杠;

如下是程序測試例子:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

程序運行的結果如下:

C語言的調試利器 - printf 大法,無堅不摧,攻無不破

 

其中,注意:

printf("abcwwwr123n");

開始在新的一行輸出 abcwww,然后,遇到 r 的時候,回到行的開始位置,就回到字符a這個位置,然后,再輸出123,此時,新輸出的123字符就把abc字符給覆蓋。最終,輸出123www這樣的字符。

分享到:
標簽:語言
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定