版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、位運算符〔~、<<、>>、&、^、|〕2、位運算本卷須知〔1〕對象只能是整數(shù)或字符型數(shù)據(jù)。〔2〕進展位運算前,一定要先將數(shù)據(jù)轉換成二進制數(shù)?!?〕各個位運算符的優(yōu)先級注:字符型數(shù)據(jù)參與位運算時,采用其ASCII碼進展運算。第九節(jié)位運算23、位運算的規(guī)那么〔1〕~:0變1,1變0?!?〕<<:a<<i表示a向左移動i位,右補0?!?〕>>:a>>i表示a向右移動i位,左補符號位?!?〕&:a&b a、b對應的二進制位,同時為1,那么結果即為1,否那么為0?!?〕|:a|b a、b對應的二進制位,只要有一個為1,那么結果即為1,否那么為0?!?〕^:a^b a、b對應的二進制位,一樣為0,不同為1。注意:<<左移一位表示乘以2;>>右移一位表示除以23〔7〕位數(shù)不同的運算數(shù)之間的運算規(guī)那么a將兩個運算數(shù)右端對齊b再將位數(shù)短的一個運算數(shù)往高位擴大,即:無符號數(shù)和正整數(shù)左側用0補全,負數(shù)左側用1補全,然后對補齊后位數(shù)相等的兩個數(shù)按位進展位運算4本章考點:考點考核幾率分值printf函數(shù)〔難點〕100%3~4putchar函數(shù)60%1~2scanf函數(shù)〔難點〕100%3~4getchar函數(shù)60%1~2第二章數(shù)據(jù)輸出與輸入
5第一節(jié)數(shù)據(jù)輸出1、printf函數(shù)的一般格式:printf(格式輸出控制,輸出列表)〔1〕格式輸出控制:需用一對雙引號括起來,雙引號內包含“格式說明〞和“普通字符〞兩局部?!?〕輸出列表:需要輸出的數(shù)據(jù),多個數(shù)據(jù)之間用逗號隔開。printf(“%d,%o\n〞,m,n);printf(“m=%d,n=%o\n〞,m,n);62、格式說明“格式說明〞由“%〞和格式字符組成,如%d,%c,更多格式說明請參考P34,表2-1。它的作用是把輸出數(shù)據(jù)轉換為指定格式輸出。注:在printf函數(shù)中,假設格式說明的個數(shù)少于輸出項的個數(shù),多余的輸出項那么忽略不輸出,這是二級C考試中經常出現(xiàn)的題目,〔參考P34,例2〕73、普通字符普通字符會原樣輸出,轉義字符需要輸出對應的字符。注:printf函數(shù)輸出數(shù)據(jù)時,學生做題很容易忽略普通字符的輸出。在二級C考試中,這類題目常出現(xiàn)。例:main(){inta,b;a=10;b=15;printf("a+b=%d",a+b);}8說明:〔1〕可以在%和格式字符之間參加一個整數(shù)來控制輸出數(shù)據(jù)所占的寬度,如果整數(shù)指定的寬度大于實際輸出數(shù)據(jù)的寬度,數(shù)據(jù)的輸出采用右對齊的方式,左邊自動補空格;反之,那么以輸出數(shù)據(jù)的實際寬度輸出。輸出語句輸出結果printf(“%d〞,258);258printf(“%2d〞,258);258printf(“%4d〞,258);□258printf(“%f〞,1.25);1.250000printf(“%10f〞,1.25);□□1.2500009〔2〕當在%和格式字符f之間參加“整數(shù)1.整數(shù)2〞來控制輸出數(shù)據(jù)的格式時,“整數(shù)1〞用于指定輸出數(shù)據(jù)占的總寬度,“整數(shù)2〞用于指定輸出實數(shù)的小數(shù)局部的個數(shù),當輸出數(shù)據(jù)的小數(shù)個數(shù)多余“整數(shù)2〞指定的個數(shù)時,截去多余的數(shù)據(jù),并對截去的第一位小數(shù)做四舍五入處理,當輸出數(shù)據(jù)的小數(shù)個數(shù)少于“整數(shù)2〞指定的個數(shù)時,在小數(shù)的右邊添0補足。輸出語句輸出結果printf(“%4.4f〞,3.15);3.1500printf(“%7.4f〞,3.15);□3.1500printf(“%2.0f〞,3.15);□310〔3〕如果在輸出的八進制前添加0,或在輸出的十六進制前添加0x,可在%號和格式字符0和x之間插入#號〔注意:#號對其他格式字符通常不起作用〕。輸出語句輸出結果printf(“%o〞,207);317printf(“%#o〞,207);0317printf(“%#x〞,207);0xce11特別說明:如果要輸出“%〞時,那么應該在格式控制中用兩個連續(xù)的“%〞,即“%〞來表示,也就是在格式控制中出現(xiàn)兩個連續(xù)的“%〞,那么此時“%〞不再用來代表格式說明。例如:
printf(“%%d〞,258);不會輸出整數(shù)258,在屏幕上看到的結果為“%d〞。因為“%%〞會輸出一個“%〞,“d〞會按原樣輸出,這時因為沒有格式說明,整數(shù)258無法輸出到屏幕上124、數(shù)據(jù)輸出實例〔inta=66;floatb=123.56;〕通過以下各輸出語句,講解輸出函數(shù)的各種格式?!?〕printf("%d",a); 66〔2〕printf("%3d",a); □66〔3〕printf("%-3d",a); 66□〔6〕printf("%-7.2f",b); 123.56□〔6〕printf("%c",a); B〔7〕printf("%x",a); 42135、putchar函數(shù)格式為:putchar(c)這里的c只能是字符型變量或字符型常量,即putchar函數(shù)只能輸出字符型數(shù)據(jù)。例如putchar〔‘C’〕知指輸出一個大寫字母C到大屏幕上141、scanf函數(shù)的一般格式:scanf(格式輸入控制,輸入數(shù)據(jù)列表)格式輸入控制與printf函數(shù)的格式輸出控制一樣。輸入數(shù)據(jù)列表必須是一個或者是多個合法的地址表達式。scanf〔“%d〞,&a〕;scanf〔“%f〞,&a〕;scanf〔“%c〞,&a〕;參考書39頁表2-5第二節(jié)數(shù)據(jù)輸入函數(shù)152.說明:〔1〕當從鍵盤中輸入多個數(shù)值數(shù)據(jù)時,輸入數(shù)值數(shù)據(jù)之間用分隔符〔包括空格符、制表符和回車符,但是不包括逗號〕隔開。例如:intx,y,z;scanf(“%d%d%d〞,&x,&y,&z);如對x、y、z三個整型變量分別輸入10、20、30,那么數(shù)據(jù)的輸入格式如下:10<間隔符>20<間隔符>30<回車>16〔2〕在輸入控制中,格式說明的類型與輸入項的類型應該一一對應匹配。如果類型不匹配,系統(tǒng)并不給出出錯信息,但不能得到正確的輸入數(shù)據(jù)。當輸入長整型數(shù)據(jù)〔long〕時,必須使用%ld格式;輸入double數(shù)據(jù)時,必須使用%lf或%le,否那么不能得到正確數(shù)據(jù)?!?〕與printf相似,在scanf函數(shù)中的格式字符前可以用一個整數(shù)指定輸入數(shù)據(jù)所占的寬度,但對實數(shù)不能指定小數(shù)的位數(shù)。17〔4〕在輸入控制中,格式說明的個數(shù)與輸入項的個數(shù)應該一樣。如果格式說明的個數(shù)少于輸入項的個數(shù),系統(tǒng)自動完畢輸入,多余的數(shù)據(jù)沒有被讀入,但可以作為下一個輸入操作的輸入數(shù)據(jù);如果格式說明的個數(shù)多余輸入項的個數(shù),系統(tǒng)同樣自動完畢輸入。例如:對于如下輸入語句:intx,y,z;scanf(“%d%d〞,&x,&y,&z);如采用如下的輸入形式:10<間隔符>20<間隔符>30<回車>,由于在輸入控制中只有兩個格式說明%d,那么只能對x和y變量分別輸入10和20,而30不能被讀入,只能作為以后其他輸入的輸入數(shù)據(jù)。18〔5〕跳過輸入數(shù)據(jù)的方法。可以在格式字符與%之間參加一個“*〞使輸入過程跳過輸入的數(shù)據(jù)。例如如下程序:intx,y,z;scanf(“%d%*d%d%d〞,&x,&y,&z);如采用如下的輸入形式:10<間隔符>20<間隔符>30<間隔符>40<回車>,那么系統(tǒng)會把10賦給變量x,跳過數(shù)據(jù)20,把30賦給變量y,把40賦給變量z。19〔6〕假設在scanf函數(shù)的輸入控制中含有其他的字符,那么在輸入時要求按一一對應的位置原樣輸入這些字符。例如:intx,y,z;scanf(“x=%dy=%dz=%d〞,&x,&y,&z);要求按如下的形式輸入:X=10<間隔符>y=20<間隔符>z=30<回車>203注意:〔1〕scanf的輸入分隔符不包含逗號,因此在使用鍵盤輸入數(shù)據(jù)時,不能以逗號作為分隔符。如果需要以逗號作為分隔符,那么應該在格式控制字符串中使用逗號,例如:scanf(“%d,%d,%d〞&x,&y,&z);注意:在以上三個%d之間有逗號隔開。按要求輸入格式如下:10,20,30<回車>21〔2〕一般情況下,scanf的格式控制字符串中不要包含其它非格式控制符,否那么往往容易讓人混淆。也就是說,在scanf中只使用格式控制符,可以簡化操作。列如:scanf(“%d%d%d〞&x,&y,&z);注意:在scanf的雙引號中除了有3個%d外,沒有其他任何字符。按要求如數(shù)格式如下:102030<回車>也可以輸入一個數(shù)據(jù)就使用一個回車符號:10<回車>20<回車>30<回車>223〕使用scanf時,如果數(shù)據(jù)輸入未能完成,那么程序一直等待鍵盤輸入,此時用戶應該完成數(shù)據(jù)輸入。許多初學者在未輸入數(shù)據(jù)的情況下回車,程序沒有任何反映,好象死機了一樣。這樣是沒有輸入數(shù)據(jù)的緣故,只要用戶輸入數(shù)據(jù)即可。23〔4〕使用scanf給變量賦值和直接使用賦值語句給變量賦值,都能使變量的值發(fā)生改變,但二者具有本質的區(qū)別。使用賦值語句給變量賦值,是將某一個固定的值在程序源代碼中寫死,當源代碼編譯成可執(zhí)行程序〔即用戶軟件〕后,用戶無法改變變量的值,每次執(zhí)行的結果均一樣。而使用scanf給變量賦值,是在程序運行過程中,使用鍵盤動態(tài)的給變量賦值,這樣當生成可執(zhí)行程序后,用戶可以根據(jù)自身的需求,給變量賦不同的值,得到不同的運行結果。24總結scanf函數(shù)的本卷須知〔1〕輸入數(shù)值型數(shù)據(jù)時,各數(shù)值間的分隔符可以是:空格、Tab、回車?!?〕輸入字符型數(shù)據(jù)時,空格、Tab、回車都會被認為是字符,而不是分隔符?!?〕“格式輸入控制〞中的普通字符,在輸入數(shù)據(jù)時一定要原樣輸入。〔4〕跳過輸入數(shù)據(jù),在%和格式字符之間加一個“*〞。254、數(shù)據(jù)輸入實例〔charc1,c2; intc,d,e;〕〔1〕scanf("%d%d%d",&c,&d,&e);輸入:5<空格>6<空格>7<回車>輸入:5<Tab>6<Tab>7<回車>輸入:5<回車>6<回車>7<回車> //以上三種輸入方式,c、d、e的值分別都為5、6、7?!?〕scanf(“%d,%d,%d〞,&c,&d,&e);輸入:5,6,7<回車>假設輸入第一個數(shù)據(jù)后,使用了任意一種分隔符,那么只確定輸入了c的值為5,d和e為本身的初始值,假設沒有初始值,那么為不定值。注:在C語言中,沒有指定值的任何類型的變量,在輸出時為不定值。26〔3〕scanf(“%d%*d%d%d〞,&c,&d,&e);輸入:2<空格>3<空格>4<空格>5<回車> //c、d、e的值分別為2、4、5〔4〕scanf("%c%*c%*c%c",&c1,&c2);輸入:a<空格>b4<回車> //c1、c2的值分別為a、4〔5〕scanf("%2d%d%d",&c,&d,&e);輸入:123<空格>456<回車>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東外語外貿大學《大數(shù)據(jù)運維實驗》2023-2024學年第一學期期末試卷
- 廣東食品藥品職業(yè)學院《藝術作品朗誦》2023-2024學年第一學期期末試卷
- 廣東石油化工學院《傳統(tǒng)建筑與園林營造》2023-2024學年第一學期期末試卷
- 廣東汕頭幼兒師范高等專科學?!豆P理論與實務》2023-2024學年第一學期期末試卷
- 廣東培正學院《會計信息系統(tǒng)》2023-2024學年第一學期期末試卷
- 七年級上冊《6.1.1 立體圖形與平面圖形》課件與作業(yè)
- 七年級上冊《2.2.1 第2課時 有理數(shù)乘法的運算律》課件與作業(yè)
- 廣東南方職業(yè)學院《教育研究概論》2023-2024學年第一學期期末試卷
- 廣東茂名農林科技職業(yè)學院《播音主持》2023-2024學年第一學期期末試卷
- 廣東理工職業(yè)學院《實驗核醫(yī)學》2023-2024學年第一學期期末試卷
- 大型活動車輛調度管理方案
- 醫(yī)生幫扶計劃和幫扶措施
- 房屋永久居住權合同范本
- 浙江省寧波市慈溪市2023-2024學年高二上學期期末考試 歷史 含解析
- 《新聞傳播倫理與法規(guī)》習題與答案
- 上海市市轄區(qū)(2024年-2025年小學五年級語文)人教版期末考試(下學期)試卷及答案
- 電信業(yè)務運營與服務規(guī)范
- 信息安全技術測試題與答案
- 安保工作考核表
- 收費站突發(fā)事件應急預案(10篇)
- 2024年-2025年公路養(yǎng)護工理論知識考試題及答案
評論
0/150
提交評論