2 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
iostream 是輸入輸出流類庫, stdio.h 是C語言的標(biāo)準(zhǔn)輸入輸出流函數(shù)庫的頭文件,不是類,是為兼容C語言標(biāo)準(zhǔn)庫才用的,不建議用,很多C++編譯器甚至不支持這個(gè)東西。。。。
printf 是C語言的東西,他是一個(gè)函數(shù),字面意思是打印,你輸出的是文本,所以顯示屏是按文本規(guī)則輸出字符的,文本要換行需要碰到換行符號(hào),這是最早打字機(jī)定義的一種字符 \r 也就是10, 你只要輸出一個(gè) 他就回?fù)Q一行,不過現(xiàn)在換行符用的少,改用\n回車字符 13 只有碰到這兩個(gè)字符才會(huì)換行,writeln 會(huì)換行是他替你填了 \n\r (回車換行)。。。
這兩個(gè)字符的來歷是來源于一種古老的工具,打字機(jī),打字機(jī)打字打到頭,或者你要提前換行,你就要輸入一個(gè)特殊字符 \n 回車,將小車?yán)阶钭筮叄?\r 紙張換行,目前的打印機(jī)和顯示屏,以及文本顯示工具都還是按這個(gè)方式,只是簡(jiǎn)單的多 , 一個(gè) \r 或\n就能換行,但是 \n\r 連用代表換一行, 你要換行只要輸出下面。。。
\r , \n ,\n\r 三種任意一種, 通常寫法就是 "你好!\n不好" 這就是兩行的字 ,但windows記事本用的是\n\r。。。 網(wǎng)絡(luò)協(xié)議中的文本通常也是\n\r,平常則常用\n。。。

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
procedure 是過程關(guān)鍵字, function 是函數(shù)關(guān)鍵字 ,c++ 和c 都是省去了這種關(guān)鍵字,所以沒有對(duì)應(yīng)。。。。 procedure 可以認(rèn)為是無返回值的函數(shù)。。。。 procedure proc(a:int) ; 就等于 c 中的 void proc(int a); procedure 和void不能等價(jià), procedue 是個(gè)類型說明的關(guān)鍵字,C語言和C++沒有這種東西,所以不能完全等價(jià) 你可以寫 void proc(void) 卻不能寫 procedure proc(procedure) pascal中有類型說明符 號(hào), var 變量聲明(此后的代碼全是變量聲明),等價(jià)basic中的 dim ,c,c++中沒有。。。。 procedure 過程說明符 等價(jià) basic 中的 Sub ,c中同樣沒有。。。function 函數(shù)說明 basic中也是 funciton,c 和c++沒有。。。。。。。 c和C++ 對(duì)過程和函數(shù)不做區(qū)分, 只要返回值是 void函數(shù)就是過程,void是返回值類型,不是過程聲明關(guān)鍵字,c語言,c++出現(xiàn)較晚,語法不是很嚴(yán)格,很多感覺不必要的關(guān)鍵詞都沒有定義了。。。 bisic pascal 返回值都寫在后邊 如 function a(i:char):char,c,和c++是前面 , char a(char i) ,可以看出在對(duì)應(yīng)關(guān)系上 function 是多余的一個(gè)關(guān)鍵字,procedure 也一樣 。。。。 其實(shí)函數(shù)和過程還是有區(qū)別的,主要區(qū)別是過程退出時(shí),什么都不用管,而函數(shù)必須要去復(fù)原堆棧,因?yàn)橐》祷刂?,調(diào)用者需要調(diào)用前保存返回的堆棧位置,過程則不用保存,函數(shù)調(diào)用后還要多一個(gè)步奏,取返回值,取完后復(fù)原堆棧,在編譯上有區(qū)別,如果你有返回值卻從來不用,倒不如寫成 procedure 運(yùn)行更快。。。。
- 2 回答
- 0 關(guān)注
- 1896 瀏覽
添加回答
舉報(bào)