執(zhí)行一個(gè)shell命令行時(shí)通常會(huì)自動(dòng)打開三個(gè)標(biāo)準(zhǔn)文件,即標(biāo)準(zhǔn)輸入文件(stdin),通常對(duì)應(yīng)終端的鍵盤;
創(chuàng)新互聯(lián)業(yè)務(wù)包括:成品網(wǎng)站、企業(yè)產(chǎn)品展示型網(wǎng)站建設(shè)、成都品牌網(wǎng)站建設(shè)、電子商務(wù)型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)(多語(yǔ)言)、商城網(wǎng)站開發(fā)、定制設(shè)計(jì)、成都營(yíng)銷網(wǎng)站建設(shè)等。效率優(yōu)先,品質(zhì)保證,用心服務(wù)是我們的核心價(jià)值觀,我們將繼續(xù)以良好的信譽(yù)為基礎(chǔ),秉承穩(wěn)固與發(fā)展、求實(shí)與創(chuàng)新的精神,為客戶提供更全面、更優(yōu)質(zhì)的互聯(lián)網(wǎng)服務(wù)!
標(biāo)準(zhǔn)輸出文件(stdout)和標(biāo)準(zhǔn)錯(cuò)誤輸出文件(stderr),這兩個(gè)文件都對(duì)應(yīng)終端的屏幕。進(jìn)程將從標(biāo)準(zhǔn)輸入文件中得到輸入數(shù)據(jù),將正常輸出數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出文件,而將錯(cuò)誤信息送到標(biāo)準(zhǔn)錯(cuò)誤文件中。
C語(yǔ)言中scanf是標(biāo)準(zhǔn)庫(kù)函數(shù),主要用來(lái)接收用戶輸入的數(shù)據(jù)。
C標(biāo)準(zhǔn)函數(shù)庫(kù)是所有符合標(biāo)準(zhǔn)的頭文件的集合,以及常用的函數(shù)庫(kù)實(shí)現(xiàn)程序,例如I/O輸入輸出和字符串控制。不像這三種COBOL、Fortran和PL/I等編程語(yǔ)言,在C語(yǔ)言的工作任務(wù)里不會(huì)包含嵌入的關(guān)鍵字,所以幾乎所有的C語(yǔ)言程序都是由標(biāo)準(zhǔn)函數(shù)庫(kù)的函數(shù)來(lái)創(chuàng)建的。
C語(yǔ)言簡(jiǎn)介
C語(yǔ)言是一門面向過(guò)程的計(jì)算機(jī)編程語(yǔ)言,與C++、C#、Java等面向?qū)ο缶幊陶Z(yǔ)言有所不同。C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、僅產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。
C語(yǔ)言描述問(wèn)題比匯編語(yǔ)言迅速、工作量小、可讀性好、易于調(diào)試、修改和移植,而代碼質(zhì)量與匯編語(yǔ)言相當(dāng)。C語(yǔ)言一般只比匯編語(yǔ)言代碼生成的目標(biāo)程序效率低10%-20%。因此,C語(yǔ)言可以編寫系統(tǒng)軟件。
k=k0xff?0x00ff:k8;其實(shí)就是
if(k0xff) {
k=0x00ff;
}else {
k=k8;
}的簡(jiǎn)寫。
其實(shí)0xff和0x00ff是一樣的,都表示同一個(gè)十六進(jìn)制的值。
書上這么寫,沒(méi)有錯(cuò);至于為什么,就不好說(shuō)了。
可能是讓你多學(xué)點(diǎn)知識(shí),也可能是現(xiàn)在很多書其實(shí)在編寫時(shí)并不是很認(rèn)真的。畢竟盡信書不如無(wú)書!
后面的k8是把0xff的值右移8位,達(dá)到計(jì)算的目的(具體什么目的要看具體內(nèi)容)
scanf是c語(yǔ)言中的標(biāo)準(zhǔn)庫(kù)函數(shù),主要作用是接收用戶輸入的數(shù)據(jù)。
scanf是C語(yǔ)言中的輸入函數(shù),可以從鍵盤獲得用戶輸入,和printf輸出功能正好相反。scanf的輸入格式是多種多樣的,使用時(shí)需根據(jù)情況選擇,最常用的是十進(jìn)制整數(shù)型輸入%d。
scanf的使用和輸入格式
scanf("%d", c); //輸入一個(gè)整數(shù)并賦值給c。
scanf("%d", d); //輸入一個(gè)整數(shù)并賦值給d。
scanf("%d,%d", c, d); //輸入兩個(gè)整數(shù)并分別賦值給c、d。
scanf("%d %d", c, d); //輸入兩個(gè)整數(shù)并分別賦值給c、d。
前兩個(gè)scanf:輸入一個(gè)整數(shù),按下回車鍵,scanf會(huì)讀取鍵盤輸入,并把數(shù)據(jù)賦值給c(或d);后兩個(gè)scanf:都是一樣功能,輸入格式不同,對(duì)于scanf(),輸入數(shù)據(jù)的格式要和控制字符串的格式保持一致。比如:輸入15 24回車,輸入15,24回車,同樣的把值分別賦給c和d。
Turbo C 2.0標(biāo)準(zhǔn)庫(kù)提供了兩個(gè)控制臺(tái)格式化輸入、輸出函數(shù) scanf();和printf();這兩個(gè)函數(shù)可以在標(biāo)準(zhǔn)輸入輸出設(shè)備上以各種不同的格式讀寫數(shù)據(jù)。scanf()函數(shù)用來(lái)從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)上讀數(shù)據(jù),printf()函數(shù)用來(lái)向標(biāo)準(zhǔn)輸出設(shè)備(屏幕)寫數(shù)據(jù)。下面詳細(xì)介紹這兩個(gè)函數(shù)的用法。
1.標(biāo)準(zhǔn)輸入語(yǔ)句
scanf()函數(shù)是格式化輸入函數(shù),它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)讀取輸入的信息。其調(diào)用格式為:scanf(<格式化字符串>,<地址表>);
格式化字符串包括以下三類不同的字符;
(1).空白字符:空白字符會(huì)使scanf()函數(shù)在讀操作中略去輸入中的一個(gè)或多個(gè)空白字符。
(2).非空白字符:一個(gè)非空白字符會(huì)使scanf()函數(shù)在讀入時(shí)剔除掉與這個(gè)非空白字符相同的字符。
(3).格式化說(shuō)明符:以%開始,后跟一個(gè)或幾個(gè)規(guī)定字符,用來(lái)確定輸出內(nèi)容格式。
c語(yǔ)言中scanf是標(biāo)準(zhǔn)庫(kù)函數(shù),主要用來(lái)接收用戶輸入的數(shù)據(jù)。
函數(shù)格式:int
scanf(char
*format,
args,
...);
功
能:從標(biāo)準(zhǔn)輸入設(shè)備按format指定格式輸入數(shù)據(jù)給args所指向的內(nèi)存單元
返
回
值
:讀入并賦給args的數(shù)據(jù)個(gè)數(shù)。遇文件結(jié)束返回eof,出錯(cuò)返回0
舉例如下:
int a;
scanf("%d", a); // 按%d的格式(即整型的格式),將用戶輸入的數(shù)據(jù)賦值給a指向的內(nèi)存單元(即變量a所在的內(nèi)存單元)。
// 簡(jiǎn)單理解就是將用戶輸入的數(shù)轉(zhuǎn)換為int類型并賦值給變量a