C語(yǔ)言復(fù)習(xí)要點(diǎn)_第1頁(yè)
C語(yǔ)言復(fù)習(xí)要點(diǎn)_第2頁(yè)
C語(yǔ)言復(fù)習(xí)要點(diǎn)_第3頁(yè)
C語(yǔ)言復(fù)習(xí)要點(diǎn)_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余54頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué)習(xí)好資料歡迎下載第一章C 語(yǔ)言基礎(chǔ)知識(shí)一、 教學(xué)重點(diǎn),難點(diǎn)分析1. C 語(yǔ)言概述知識(shí)點(diǎn)所占分值考核幾率專家點(diǎn)評(píng)C 語(yǔ)言概述0-1 分20%簡(jiǎn)單識(shí)記C 語(yǔ)言程序的構(gòu)成0-1 分30%簡(jiǎn)單識(shí)記標(biāo)識(shí)符1-2 分60%簡(jiǎn)單,屬重點(diǎn)識(shí)記知識(shí)點(diǎn)常量1-2 分80%簡(jiǎn)單,屬重點(diǎn)識(shí)記知識(shí)點(diǎn)變量2-3 分100%難度適中,重點(diǎn)理解重點(diǎn)掌握注意:從幾年的試題分析看 C 語(yǔ)言的概述和程序的構(gòu)成合起來(lái)考試已經(jīng)是一個(gè)慣例了。2. 運(yùn)算符與表達(dá)式知識(shí)點(diǎn)所 占 分考核幾率專家點(diǎn)評(píng)值C 運(yùn)算符簡(jiǎn)介0-1 分10%簡(jiǎn)單識(shí)記運(yùn)算符的結(jié)合和優(yōu)先級(jí)0-1 分60%簡(jiǎn)單識(shí)記強(qiáng)制類型轉(zhuǎn)換運(yùn)算符0-1 分30%簡(jiǎn)單識(shí)記逗號(hào)運(yùn)算符和逗號(hào)表

2、達(dá)式0-1 分40%簡(jiǎn)單,屬重點(diǎn)識(shí)記知識(shí)點(diǎn)基本的算術(shù)運(yùn)算符1-2 分100%簡(jiǎn)單,屬重點(diǎn)識(shí)記知識(shí)點(diǎn)算術(shù)表達(dá)式和運(yùn)算符的1-2 分100%難度適中,重點(diǎn)理解重點(diǎn)掌握優(yōu)先級(jí)與結(jié)合、自增自減運(yùn)算符2-3 分100%難度適中,重點(diǎn)理解重點(diǎn)掌握賦值運(yùn)算符和賦值表達(dá)式2-4 分100%簡(jiǎn)單,重點(diǎn)掌握重點(diǎn)理解復(fù)合的賦值運(yùn)算符1-2分80%偏難,不是重點(diǎn)賦值運(yùn)算中的類型轉(zhuǎn)換0-1分75%偏難,不是重點(diǎn)位運(yùn)算符和位運(yùn)算0-1分80%偏難,屬重點(diǎn)識(shí)記知識(shí)點(diǎn)二 教學(xué)講點(diǎn)學(xué)習(xí)好資料歡迎下載1. C 語(yǔ)言的基本構(gòu)成和格式#include “stdio.h”main()int a,b,sum;/* 定義變量 */a=10

3、;/* 把整數(shù) 10 賦值給變量 a*/b=20;/* 把整數(shù) 20 賦值給變量 b*/sum=a+b; /*把兩數(shù)之和賦值給變量sum*/printf( “a=%d,b=%d,sum=%dn”,a,b,sum);/*輸出計(jì)算結(jié)果 */(1).C 程序由函數(shù)組成, 一個(gè)程序必須且只能有一個(gè)主函數(shù)(main(),C 程序總是從主函數(shù)開始執(zhí)行,在主函數(shù)中結(jié)束。(2).定義函數(shù)時(shí)函數(shù)名后必須有一對(duì)小括號(hào),函數(shù)體必須放在一對(duì)花括號(hào)內(nèi),在函數(shù)體中,函數(shù)體有兩個(gè)部分: 定義部分和執(zhí)行部分。 定義語(yǔ)句必須出現(xiàn)在執(zhí)行語(yǔ)句之前,我們先定義了 a,b,sum,然后才給它們賦值。(3).C 語(yǔ)言中每條語(yǔ)句都以分號(hào)“

4、; ”結(jié)束,分號(hào)時(shí) C 語(yǔ)句的一部分。即使是程序的最后一個(gè)語(yǔ)句也不例外。分號(hào)是語(yǔ)句結(jié)束的標(biāo)志。(4). 一行可以寫多條語(yǔ)句,一條語(yǔ)句也可以分在多行上寫,但是,不能將一個(gè)整體分開。例如: i nt 是錯(cuò)誤的,而 int 正確。(5). C 語(yǔ)言的注釋必須放在“ /* ”和“ */ ”之間,“ /”和“ * ”之間不允許有空格?!?/* ”和“ */ ”之間不允許再插入“ /* ”或“ */ ”。注釋可以出現(xiàn)在程序中的任意位置。注釋部分不被執(zhí)行。(6).C 語(yǔ)言程序書寫格式自由, 語(yǔ)句可以從任一列開始書寫, 一行內(nèi)可以寫多個(gè)語(yǔ)句。但是過(guò)于“自由”的程序書寫格式往往使人們很難讀懂程序,初學(xué)者應(yīng)該從一

5、開始就養(yǎng)成好的習(xí)慣,是程序便于閱讀。2. 標(biāo)識(shí)符( 1) 標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成。( 2) 標(biāo)識(shí)符的第一個(gè)字符必須是字母或下劃線。( 3) 標(biāo)識(shí)符的大小寫字母是有區(qū)別的,如abc 和 ABC 是兩個(gè)完全不同的標(biāo)識(shí)符。( 3) 標(biāo)識(shí)符的分類:關(guān)鍵字:關(guān)鍵字是具有特定的含義的、專門用來(lái)說(shuō)明C 語(yǔ)言特定成分的一類標(biāo)識(shí)符。詳細(xì)的查閱附錄。預(yù)定義標(biāo)識(shí)符:在C 語(yǔ)言中它也有特定的含義。預(yù)定義標(biāo)識(shí)符可以用位 “用戶表標(biāo)識(shí)符” 使用,只是這將使這些標(biāo)識(shí)符失去了原來(lái)的意義。用戶標(biāo)識(shí)符:由用戶根據(jù)需要定義的標(biāo)識(shí)符被成為用戶標(biāo)識(shí)符。 用戶標(biāo)示符用來(lái)給變量、函數(shù)、數(shù)組或者指針等命名。3. C 語(yǔ)言的數(shù)據(jù)類

6、型學(xué)習(xí)好資料歡迎下載3.1 數(shù)據(jù)可以分為常量和變量。常量是指在程序執(zhí)行中不變的量,常量分為:整型常數(shù)、實(shí)型常數(shù)、字符常量、字符串常量。整型數(shù)據(jù):進(jìn)制間的轉(zhuǎn)換3.11.二、八、十六進(jìn)制轉(zhuǎn)為十進(jìn)制規(guī)則:“按權(quán)相加”3.12.十進(jìn)制轉(zhuǎn)為二、八、十六進(jìn)制規(guī)則:整數(shù)部分:基數(shù)除取余,逆序排列小數(shù)部分:基數(shù)乘取整,順序排列3.13.二進(jìn)制轉(zhuǎn)為八、十六進(jìn)制規(guī)則:三(四)合一,按序相拼(整數(shù)部分,從右向左取, 小數(shù)部分從左向右取,位數(shù)不足補(bǔ)零)。3.14.八、十六進(jìn)制轉(zhuǎn)為二進(jìn)制規(guī)則:一分三(四),按序相拼3.2 整型數(shù)據(jù)在內(nèi)存中的存放形式1 字節(jié) 8 位, 1Byte8bit字長(zhǎng):指 CPU 能同時(shí)處理的二進(jìn)

7、制位數(shù)。由CPU 的型號(hào)而定。如: 16 位微機(jī)的字長(zhǎng)就是 16 位或 2 字節(jié)。1GB=1024MB , 1MB=1024KB , 1KB=1024BB:表示字節(jié),字節(jié)是表示存儲(chǔ)容量的最小單位。位(bit ):是計(jì)算機(jī)中信息表示的最小單位。3.21.正整數(shù)在內(nèi)存中用“原碼”形式存放。 (直接轉(zhuǎn)換為二進(jìn)制即可) 。如: 50000000000000101二字節(jié)能存放的最大數(shù)是 :327670111111111111111對(duì)帶符號(hào)數(shù),最高位是符號(hào)位,用0 表示正,用 1 表示負(fù)。3.22.負(fù)整數(shù)在內(nèi)存中用“補(bǔ)碼”形式存放。取補(bǔ)碼的步驟:(1)忽略負(fù)號(hào),求出原碼。(2)將原碼按位取反( 0 、1

8、互換)。(3)在第二步的基礎(chǔ)上加1。如:取 -5 的補(bǔ)碼。學(xué)習(xí)好資料歡迎下載(1)0000000000000101(2)1111111111111010(3)1111111111111011將補(bǔ)碼轉(zhuǎn)換成相應(yīng)的整數(shù)的步驟:(1)將補(bǔ)碼按位取反加1。(2)將步驟 1 得到的二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),然后加上負(fù)號(hào)即可。例如:1000000000000000按位取反加 1011111111111111111000000000000000轉(zhuǎn)換成十進(jìn)制: 1×215 32768加負(fù)號(hào): -32768幾個(gè)特殊的帶符號(hào)整數(shù):1000000000000000-3276801111111111111113

9、27671111111111111111-13.23.無(wú)符號(hào)整數(shù):只有正整數(shù),沒有負(fù)整數(shù),最高位不表示符號(hào)位,每一位均參與轉(zhuǎn)換。二進(jìn)制帶符號(hào)整數(shù)無(wú)符號(hào)整數(shù)1111111111111111-1655351000000000000000-3276832768例 2-12:若有: int a=-1; unsigned b=65535;則printf( “%d,%u,%d,%u”,a,a,b,b); 輸出結(jié)果是: -1, 65535,-1, 65535 數(shù)據(jù)益出問(wèn)題:例 2-13:若有 int a=32767;則 a=a+1 的結(jié)果是:-32768例 2-14:若有 unsigned b=65536;

10、則 b 的值是: 0 分析: 32767:01111111111111111+1100000000000000將 100000000000000按照帶符號(hào)數(shù)轉(zhuǎn)為十進(jìn)制為 -32768 65535:1111111111111111 +111111111 11111111+11 00000000 0000000065536unsigned b=655536;而 b 屬于無(wú)符號(hào)整型, 在內(nèi)存中只占兩字節(jié), 所以只學(xué)習(xí)好資料歡迎下載能包括 16 位。標(biāo)準(zhǔn) C 沒有具體要求規(guī)定各類型數(shù)據(jù)所占內(nèi)存的字節(jié)數(shù), 現(xiàn)以這次考試標(biāo)準(zhǔn) viusal c+6.0 為例,說(shuō)明各類型變量所占的位數(shù)。類型所占位所占 字類型

11、所占位所占字節(jié)數(shù)節(jié)數(shù)數(shù)數(shù)short162unsignedint324int324unsignedlong324long324float324unsigned short162double6483.3 實(shí)型數(shù)據(jù)(浮點(diǎn)數(shù))3.31.實(shí)型常量(1)小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成,必須有小數(shù)點(diǎn),小數(shù)點(diǎn)的某一側(cè)可以沒有數(shù)字。如: .23 ,123.876 ,123.(2)指數(shù)形式:用“ e”或“ E”后接一個(gè)整數(shù),表示以10 為底的冪數(shù)。注意:“e”或“ E”之前之后必須有數(shù)字,且之后的數(shù)字必須是整數(shù)。他們和前后的數(shù)字之間不能有空格。例如:例 2-15:下列合法的常量是()。A.-32169B.0128C

12、.0XDEFGD.13E0.5例 2-16:下列合法的實(shí)型常量是()。(A) 0Xff(B)124E(C) 1.23E5.0(D) 3.E2 (E) 1.25E+2 (F).23e+023.32.實(shí)型變量單精度型 float 占 4字節(jié)雙精度型 double 占8 字節(jié)長(zhǎng)雙精度long double 占 16 字節(jié)(較少用)4. 表達(dá)式與運(yùn)算符4.1 算術(shù)運(yùn)算符及其表達(dá)式:+-*/%:(求余運(yùn)算)注意:(1)%兩邊必須是整型數(shù)據(jù)。12.0%3 表達(dá)式是錯(cuò)誤的。(2)求余( %)的方法是:忽略符號(hào),求出余數(shù),再將所得余數(shù)的符號(hào)定為與被除數(shù)相同。例如: 17%3 結(jié)果是: 2學(xué)習(xí)好資料歡迎下載17

13、%-3 結(jié)果是: 2, -17%3 結(jié)果是: -2,-17%-3 結(jié)果是: -24.2 強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型表達(dá)式:(類型名)表達(dá)式注意:類型名(表達(dá)式)這種形式是C+的強(qiáng)制類型表達(dá)方式。5.賦值運(yùn)算符及其表達(dá)式5.1.賦值運(yùn)算符=格式:變量名 =表達(dá)式功能:將表達(dá)式的值賦給左邊的變量。注:(1)賦值運(yùn)算符左邊只能是一個(gè)變量,不能是常量,也不能是表達(dá)式。a+b=34=3 是非法的表達(dá)式a=6a+(b=3) 都是合法的表達(dá)式a=b=20a=(b=10)/(c=2) 都是合法的表達(dá)式(2)實(shí)型數(shù)據(jù)賦給整型變量時(shí),小數(shù)部分被舍去,整型數(shù)據(jù)賦給實(shí)型變量時(shí),系統(tǒng)自動(dòng)將整型數(shù)據(jù)轉(zhuǎn)換為實(shí)型數(shù)據(jù)。例如: fl

14、oat a; int b;表達(dá)式 a=10%3 的值是 1.0表達(dá)式 b=a=10%3 的值是 15.2%= &= |= >>= <<=.復(fù)合賦值運(yùn)算符及其表達(dá)式: += -= *= /=例如: a+=3 相當(dāng)于 a=a+3,a/=b+4 相當(dāng) a/=(b+4)或 a=a/(b+4)例 :若 a=12,則執(zhí)行表達(dá)式 a+=a-=a+a后 a 的值是多少?分析: a+=a-=(a+a) /*a 的值是 12*/a+=a-=24/*a 的值是 12*/a+=a=a-24/*a 的值是 12*/a+=a=-12/*a 的值是 12*/a+=-12/*a 的值是 -12

15、*/a=a+(-12)/*a 的值是 -12*/a=-24/*a 的值是 -24*/5.3.自增、自減運(yùn)算符及其表達(dá)式+ -注意:(1)只能用于變量,不能用于常量和表達(dá)式。如: 6+ (a+b)- 都是錯(cuò)誤的。(2)當(dāng)它們用于變量名前時(shí),表達(dá)式的值為變量的值加一或減一。當(dāng)位于變量名學(xué)習(xí)好資料歡迎下載后時(shí),表達(dá)式的值為變量原來(lái)的值。不論位于變量名前還是變量名后,只要進(jìn)行了自增、自減運(yùn)算,變量的值都會(huì)在原來(lái)的基礎(chǔ)上加1或減 1。如: a=3 則 a+ 表達(dá)式的值是 3 運(yùn)算之后變量的值是4a=3 則 +a 表達(dá)式的值是4 之后變量的值是 4a=3 則 a- 表達(dá)式的值是3之后變量的值是 2a=3

16、則 -a 表達(dá)式的值是2之后變量的值是 2(3)口訣:j=i+; 這個(gè)表達(dá)式是先引用后增值。即:先把i 的初始值給變量 j,然后 i 再自加 1。j=+i; 這歌表達(dá)式是先增值后引用。即: i 先自加 1,然后再將我們自加后的值賦值給變量 j。但是記住它們是一起執(zhí)行的, 就是說(shuō):例如 j=i+ 先引用后增值實(shí)際上是一起執(zhí)行的,它們之間不存在先后關(guān)系, 我們只是位了好記才用到了上面的方法。 老師在上課的時(shí)候先不要說(shuō),但是你們必須知道。 j=i-,j=-i 和上面 j=i+,j=+i 的方法是一樣。5.4 逗號(hào)運(yùn)算符及其表達(dá)式1.格式:表達(dá)式1,表達(dá)式 2, ,表達(dá)式 n注意: 1.逗號(hào)表達(dá)式的值

17、是整個(gè)逗號(hào)表達(dá)式中最后一個(gè)表達(dá)式的值。2.求值順序是從左到右依次求解。例如: a( 3,b1)的值是 1 運(yùn)算結(jié)束后 a 的值是 1, b 的值是 1。三相關(guān)試題1.2008 年 4 月相關(guān)試題( 11)以下敘述中正確的是A)C 程序中的注釋只能出現(xiàn)在程序的開始位置和語(yǔ)句的后面B)C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語(yǔ)句C)C程序書寫格式自由,一個(gè)語(yǔ)句可以寫在多行上D)用C語(yǔ)言編寫的程序只能放在一個(gè)程序文件中( 12)以下選項(xiàng)中不合法的標(biāo)識(shí)符是A)print B)FOR C)&a D)_00(13)以下選項(xiàng)中不屬于字符常量的是A) 'C'B) "C&quo

18、t;C)'xCC0'D) '072'(14)設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是A)x=y*5=x+z B)int(15.8%5)C)x=y+z+5,+y D)x=25%5.0填空( 7)設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,+i,i+ 的值為【 7】。2.2007年9月相關(guān)試題學(xué)習(xí)好資料歡迎下載( 11)C 語(yǔ)言源程序名的后綴是A ).exeB).CC).objD).cp( 12)可在 A ) andC 程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是B) DateC) HiD) case_2007y-m-dDr.TomBig1( 13)以下選項(xiàng)中,合法的一組A

19、)028B) 12.C 語(yǔ)言數(shù)值常量是C) .177D) 0x8A.5e-30Xa234e1.510,000-0xf4.5e00abc3.e5( 14)以下敘述中正確的是A )C 語(yǔ)言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開始執(zhí)行B)可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C)C 語(yǔ)言規(guī)定必須用 main 作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束D)main 可作為用戶標(biāo)識(shí)符,用以命名任意一個(gè)函數(shù)作為主函數(shù)( 16)以下關(guān)于 long、intA )均占 4 個(gè)字節(jié)和 short 類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是B)根據(jù)數(shù)據(jù)的大小來(lái)決定所占內(nèi)存的字節(jié)數(shù)C)由用戶自己定義D)由

20、C 語(yǔ)言編譯系統(tǒng)決定( 17)若變量均已正確定義并賦值,以下合法的C 語(yǔ)言賦值語(yǔ)句是A )x=y=5;B)x=n%2.5;C)x+n=i;D) x=5=4+1;3.2007年4月相關(guān)考題( 12)下列敘述中錯(cuò)誤的是(D )A)計(jì)算機(jī)不能直接執(zhí)行用C 語(yǔ)言編寫的源程序B)C 程序經(jīng) C 編譯程序編譯后,生成后綴為.obj 的文件是一個(gè)二進(jìn)制文件C)后綴為 .obj 的文件,經(jīng)連接程序生成后綴為.exe 的文件是一個(gè)二進(jìn)制文件D)后綴為 .obj 和.exe 的二進(jìn)制文件都可以直接運(yùn)行( 13)按照 C 語(yǔ)言規(guī)定的用戶標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是(A)大寫字母B)連接符C)數(shù)字字符D)下

21、劃線B )( 14)以下敘述中錯(cuò)誤的是( C )A) C 語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言B)結(jié)構(gòu)化程序有順序、分支、循環(huán)三種基本結(jié)構(gòu)組成C)使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題D)結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法( 15)對(duì)于一個(gè)正常運(yùn)行的C 程序,以下敘述中正確的是(A )A)程序的執(zhí)行總是從main 函數(shù)開始,在 main 函數(shù)結(jié)束B)程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main 函數(shù)結(jié)束C)程序的執(zhí)行總是從main 函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束D)程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束( 19)有以下程序,其中 %u 表示按無(wú)符號(hào)整數(shù)輸出( B

22、 )main()unsigned int x=0xFFFF; /* x 的初值為十六進(jìn)制數(shù) */ printf (“ %un” ,x) ;/* 注意: x 是占兩個(gè)字節(jié) */學(xué)習(xí)好資料歡迎下載程序運(yùn)行后的輸出結(jié)果是A) -1B)65535C) 32767D)0xFFFF第二章順序結(jié)構(gòu)一教學(xué)重點(diǎn)、難點(diǎn)知識(shí)點(diǎn)所 占 分考核幾率專家點(diǎn)評(píng)值C語(yǔ)句分類0-130%簡(jiǎn)單識(shí)記字符輸出函數(shù) putchar()1-270%難度適中,重點(diǎn)掌握字符輸入函數(shù) getchar()1-270%難度適中,重點(diǎn)掌握格式輸入函數(shù) printf()3-4100%難度適中,重點(diǎn)理解重點(diǎn)掌握格式輸出函數(shù) scanf()3-4100%

23、難度適中,重點(diǎn)理解重點(diǎn)掌握二教學(xué)內(nèi)容1.語(yǔ)句C 語(yǔ)句共分為 5 類:1.1控制語(yǔ)句1.2函數(shù)調(diào)用語(yǔ)句:printf (“this is a c statement”);1.3表達(dá)式語(yǔ)句每一個(gè)合法的表達(dá)式后加上分號(hào)(; )就構(gòu)成了表達(dá)式語(yǔ)句。+a;i+j ;語(yǔ)句和表達(dá)式的區(qū)別:表達(dá)式有唯一確定的值,而語(yǔ)句沒有值。1.4賦值語(yǔ)句格式:賦值表達(dá)式;學(xué)習(xí)好資料歡迎下載i=1,j 2 是逗號(hào)表達(dá)式i=1; j 2;是兩條賦值語(yǔ)句i+ ; i- ;+i ;-i ;都是賦值語(yǔ)句等價(jià)于 i i+1;或 i=i-1 ;1.5 空語(yǔ)句:只有一個(gè)單獨(dú)的分號(hào)構(gòu)成的語(yǔ)句。如:;就是一條空語(yǔ)句。1.6 復(fù)合語(yǔ)句:用一對(duì)將

24、若干語(yǔ)句括起來(lái)構(gòu)成一條復(fù)合語(yǔ)句。2.輸入輸出語(yǔ)句在使用庫(kù)函數(shù)時(shí)必須先用預(yù)編譯命令 #include<頭文件名 > 或 #include“頭文件名”將相應(yīng)的頭文件包含到源程序中。如: #include<stdio.h>2.1.printf()函數(shù)格式: printf (“格式控制”,輸出列表);功能:按格式控制指定的格式輸出數(shù)據(jù)。注意:格式控制包括以開頭的“格式說(shuō)明符”和原樣輸出的普通字符。如: printf (“ a d,a+b d”,30,4+7);輸出結(jié)果是: a30,a+b11(1)d 格式 d:按實(shí)際長(zhǎng)度輸出十進(jìn)制整數(shù)。 md:輸出占 m 列,若小于 m 列,左

25、邊補(bǔ)空格,若大于 m 列,按實(shí)際輸出。 -md:輸出占 m 列,若小于 m 列,右邊補(bǔ)空格,若大于 m 列,按實(shí)際輸出。 ld:輸出長(zhǎng)整型數(shù)據(jù),輸入輸出長(zhǎng)整型數(shù)據(jù)時(shí)必須用該格式。例如: printf( “%d,%6d,%-6d,%ld”,386,1234,3456,12345L);輸出結(jié)果: 386,1234,3456,12345printf( “%2d”,12345);輸出結(jié)果: 12345( 2) u 格式u:以無(wú)符號(hào)十進(jìn)制形式輸出整數(shù)。printf( “%u”,-1); 65535ptintf( “%u”,-32768);32768( 3) o 格式 o:以無(wú)符號(hào)八進(jìn)制形式輸出整數(shù),不輸

26、出前導(dǎo)符0。printf( “%d,%o”,-1,-1); -1,177777(4)x 或 X 格式 x 或 X 以無(wú)符號(hào)十六進(jìn)制形式輸出整數(shù)。不輸出前導(dǎo)符0x 或 0X,小寫對(duì)小寫,大寫對(duì)大寫。printf( “%d,%x,%X,%x ”,-1,-1,0xabc,0XAbc);-1,ffff,ABC,abco 和 x、 X 格式。注:若要輸出十六進(jìn)制和八進(jìn)制的前導(dǎo)符,則要用printf( “%#o,%#x,%#X ”,-1,-1,0xaBc);0177777,0xffff,0XABC(5)c 格式學(xué)習(xí)好資料歡迎下載 c 用來(lái)輸出一個(gè)字符,不輸出單引號(hào)定界符。c 和 d 可以相互轉(zhuǎn)換。prin

27、tf( “%c,%d”,a,a);a,97printf( “%c,%d”,100,100); d,100(6)s 格式用來(lái)輸出一個(gè)字符串,不輸出雙引號(hào)和字符串結(jié)束符。 s:輸出字符串的有效字符。printf( “%s”,”china0yunnan”); china%ms:輸出占 m 列,若小于 m 列,左邊補(bǔ)空格,大于m 列,按實(shí)際輸出。printf( “%5s,%-5s,%2s”,”swfc”,”swfc”,”swfc”);swfc,swfc ,swfc%m.ns:輸出占 m 列,只輸出字符串的左n 個(gè)字符到 m 列的右端。如: printf( “%7.5s”,”yunnan”);yunna

28、(7)f 格式:按小數(shù)形式輸出實(shí)型數(shù)據(jù)。 f:默認(rèn)輸出 6 位小數(shù)。如: printf( “%f,%f ”,543.12,5.4312e+2);543.120000,543.120000%m.nf:輸出占 m 列,其中有 n 位小數(shù)。若超過(guò) m 列,確保 n 位小數(shù)后按實(shí)際輸出。注意四舍五入問(wèn)題。如: printf( “%7.3f,%-7.3f,%4.2f ”,3.1415726,3.1415926,314.5926);3.142,3.142,314.59(8)e 格式5 位小數(shù), 3 位指數(shù)。以指數(shù)形式輸出一個(gè)實(shí)數(shù)。小數(shù)點(diǎn)前只有一位非零數(shù),如: printf( “%e,%e”,123.4,1

29、23.45e-7);234000e+002,1.234500e-005(9)g 格式自動(dòng)在 f 和 e 中選擇較短的一種輸出,對(duì)于小數(shù)部分不輸出無(wú)意義的0。如: printf( “%g,%g”,123.45,123.45e-2);123.45,1.2345printf( “%g”,123000000.0);23e+08小結(jié):(1)表示輸出一個(gè)。如: printf( “%d=%d”,10,10);%d=10(2)除了 x, e, g 大小寫均可外,其它都只能小寫。如: printf( “%d=%D”,20,20);20=%D(3)輸出格式說(shuō)明符所能操作的數(shù)據(jù)類型必須與輸出項(xiàng)的類型一致。如: pr

30、intf( “%d”,1.234);/* 出錯(cuò) */2.2. scanf()函數(shù)學(xué)習(xí)好資料歡迎下載格式: scanf(“格式控制”,地址列表);注意:( 1)可指定數(shù)據(jù)所占的列數(shù),輸入后由系統(tǒng)自動(dòng)截取相應(yīng)的位數(shù)。如: scanf(“%3d%2d”,&a,&b);若輸入: 3863018則: a 的值是: 386b 的值是: 30若輸入: 3863a 的值是: 386b 的值是: 3scanf(“%3c%2d”,&ch,&c);若輸入: 3863018則: ch 的值是: 3b 的值是: 30( 2) *md: 表示跳過(guò) m 列不讀。如: scanf(“%*3d%

31、3d%4d ”,&a,&b);若輸入: 123456則: a 的值是: 456b 的值是:原來(lái)的值。( 3)不能在 scanf()函數(shù)中指定輸入數(shù)據(jù)的小數(shù)位數(shù)。如: scanf(“%7.5f”,&a);/* 出錯(cuò) */在 scanf()函數(shù)中,輸入時(shí)普通字符原樣輸入。如: scanf(“a=%d,b=%d”,&a,&b);若要給 a 賦值 5,b 賦值 10,正確的輸入是: a5,b10scanf(“%d*,%d#,%d”,&a,&b,&c);若要讓 a,b,c 分別得到 1,2,3,正確的輸入是: 1*,2#,3<回車 &

32、gt;若兩個(gè)格式說(shuō)明符之間沒有其它字符, 則在輸入數(shù)據(jù)時(shí), 兩數(shù)據(jù)之間要用回車或空格分隔,回車或空格可以是多個(gè)。但是, c 格式除外。如: scanf(“%d%d”,&a,&b);若想讓 a 的值為 5, b 的值為 10。則正確的輸入是:5 空格 10<回車 > 或 5<回車 >10<回車 >或 5 空格 空格 空格 10<回車 >(6)多個(gè) %c 格式之間沒有其它字符,仍然不能用回車或空格來(lái)分隔。如: scanf(“%c%c%c”,&a,&b,&c);若輸入: a 空格 b 空格 c<回車 >

33、;a 的值是 a,b 的值是空格, c 的值是 b。( 7)格式說(shuō)明符所能操作的數(shù)據(jù)類型必須與對(duì)應(yīng)變量的類型相同。如: int a; scanf(“%f”,&a); /* 出錯(cuò) */總結(jié):1.普通字符原樣輸入,原樣輸出。2.對(duì)于 d 格式,指定寬度小于輸出寬度,原樣輸出。3. #o, #x, #X 表示要輸出八進(jìn)制的前導(dǎo)符數(shù)字 0,和十六進(jìn)制的前導(dǎo)符0x,0X 。學(xué)習(xí)好資料歡迎下載4. x, X 格式,小寫對(duì)小寫,大寫對(duì)大寫。5. *md: 表示跳過(guò)相應(yīng)的輸入項(xiàng)。6.注意進(jìn)制間的轉(zhuǎn)換,以及無(wú)符號(hào)數(shù)和帶符號(hào)數(shù)之間的轉(zhuǎn)換。7.在 scanf()函數(shù)中,給 double 類型變量輸入數(shù)據(jù)時(shí),

34、應(yīng)該使用 lf 類型說(shuō)明符,而輸出時(shí),可以用 lf ,也可以用 lf 。四 試題分析1.2008年 4月試題分析(16)有以下程序段char ch; int k;ch='a' k=12;printf("%c,%d,",ch,ch,k); printf("k=%dn",k);已知字符 a的ASCll 十進(jìn)制代碼為 97,則執(zhí)行上述程序段后輸出結(jié)果是A) 因變量類型與格式描述符的類型不匹配輸出無(wú)定值B) 輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值C)a,97,12k=12D)a,97,k=122.2007年9月試題分析( 15)若在定義語(yǔ)

35、句: int a,b,c,*p=&c; 之后,接著執(zhí)行以下選項(xiàng)中的語(yǔ)句,則能正確執(zhí)行的語(yǔ)句是A )scanf("%d",a,b,c);C) scanf("%d",p);B)scanf("%d%d%d",a,b,c);D) scanf("%d",&p);( 18)有以下程序段int j; float y; char scanf("%2d%f%s", &j, &y, name);name50;當(dāng)執(zhí)行上述程序段,從鍵盤上輸入A )55566.0B)566.0555667

36、777abc 后, y 的值為C)7777.0D) 566777.0填空( 6)執(zhí)行以下程序時(shí)輸入1234567<CR>,則輸出結(jié)果是【6】 。#include<stdio.h>main() int a=1,b;scanf("%2d%2d",&a,&b);printf("%d%dn",a,b);3.2007年4月試題分析( 16)設(shè)變量均已正確定義, 若要通過(guò) scan(“%d%c%d%c”,&a1,&c1,&a2,&c2 );語(yǔ)句為變量 a1 和 a2 賦數(shù)值 10 和 20,為變

37、量 c1 和 c2 賦字符 X 和 Y 。以下所示的輸入形式中正確的是(注: 代表空格字符)( D)A) 10 X 20Y回車 B) 10 X20Y回車C) 10X回車D) 10X回車20Y回車20Y回車學(xué)習(xí)好資料歡迎下載填空( 6) 執(zhí)行以下程序后的輸出結(jié)果是main()。int a=10;a=( 3*5,a+4);printf (“ a=%dn” ,a) ;第三章 選擇結(jié)構(gòu)一教學(xué)重點(diǎn)、難點(diǎn)知識(shí)點(diǎn)所占分值考核幾率專家點(diǎn)評(píng)關(guān)系運(yùn)算符及優(yōu)先次序0-140%簡(jiǎn)單識(shí)記關(guān)系表達(dá)式0-150%簡(jiǎn)單,屬重點(diǎn)識(shí)記知識(shí)點(diǎn)邏輯運(yùn)算符及優(yōu)先級(jí)1-250%簡(jiǎn)單識(shí)記邏輯表達(dá)式1-250%簡(jiǎn)單,屬重點(diǎn)識(shí)記知識(shí)點(diǎn)if語(yǔ)句

38、的幾種形式1-2100%簡(jiǎn)單識(shí)記if語(yǔ)句的嵌套1-2100%難度適中,重點(diǎn)掌握條件運(yùn)算符0-1100%難度適中,重點(diǎn)掌握switch 語(yǔ)句2-4100%簡(jiǎn)單,重點(diǎn)掌握重點(diǎn)理解語(yǔ)句標(biāo)號(hào)0-110%偏難,不是重點(diǎn)goto1-210%簡(jiǎn)單識(shí)記二教學(xué)內(nèi)容1.關(guān)系運(yùn)算與邏輯運(yùn)算1.1邏輯值真(非零值)假(零)1.2 關(guān)系運(yùn)算符及其表達(dá)式<<=>>=!=關(guān)系運(yùn)算符優(yōu)先級(jí)別低于算術(shù)運(yùn)算符,高于賦值運(yùn)算符。( <<=>>=)優(yōu)先級(jí)別高于( =!=)如: a>b+c 等價(jià)于 a>(b+c)a=b<c 等價(jià)于 a=(b<c)a=b<c

39、等價(jià)于 a=(b<c)4=4 表達(dá)式的值為“真” 。學(xué)習(xí)好資料歡迎下載44 表達(dá)式不合法關(guān)系表達(dá)式的值只有1 和 0,其中 1 表示“真”,0 表示“假”。1.3 邏輯運(yùn)算符及其表達(dá)式&& 邏輯“與” | 邏輯“或” !邏輯“非”優(yōu)先級(jí)別:! && |運(yùn)算規(guī)則:邏輯 && :遇假則假邏輯 |:遇真則真邏輯?。赫婕倩Q邏輯表達(dá)式的值: 1(真)、0(假)例如: 3>4 結(jié)果是: 03&&4 結(jié)果是: 1!3&&4 結(jié)果是: 00|3結(jié)果是: 1注意:在求解邏輯與( && )表達(dá)式時(shí),若 &

40、amp;& 運(yùn)算符左邊表達(dá)式的值為 0(假),則不再進(jìn)行 && 右邊表達(dá)式的運(yùn)算, 且將整個(gè) && 表達(dá)式的值定為 0;在求解邏輯或( |)表達(dá)式時(shí),若 |左邊表達(dá)式的值為非 0 值(真),則不再進(jìn)行 |右邊表達(dá)式的運(yùn)算,且將整個(gè)邏輯 |表達(dá)式的值定為 1(真)。2.if 語(yǔ)句2.1if 語(yǔ)句格式:1)if (表達(dá)式)語(yǔ)句 1;2) if (表達(dá)式)語(yǔ)句 1;else語(yǔ)句2;稱為:全 if單 if注意:( 1) if 后的表達(dá)式必須用()括起, else后沒有表達(dá)式。( 2) if 和 else 都只能控制緊跟它的一條語(yǔ)句,若要控制多條語(yǔ)句,必須用一對(duì)括

41、起構(gòu)成一條復(fù)合語(yǔ)句。2.2 執(zhí)行方式:2.21 if 語(yǔ)句的執(zhí)行方式: 首先判斷表達(dá)式的值是否為“真” ,若“真”,則執(zhí)行語(yǔ)句部分。如果表達(dá)式的值為“假” ,則“跳過(guò)”語(yǔ)句部分執(zhí)行 if 語(yǔ)句后面的其它語(yǔ)句。學(xué)習(xí)好資料歡迎下載2.22 if-else 語(yǔ)句的執(zhí)行方式: 首先判斷表達(dá)式的值是否為“真” ,若“真”,則執(zhí)行語(yǔ)句部分。如果表達(dá)式的值為“假” ,則執(zhí)行 else 語(yǔ)句后面的語(yǔ)句。例 1:main() int m=5;if(m+>5) printf( “m=%d”,m); else printf(“m=%d”,m-) ;例 2:main()int m=5;if(+m>5) p

42、rintf( “m=%d”,m);else printf(“m=%dn”,m-) ;printf(“m=%d”,m);2.3 if 語(yǔ)句的嵌套if (表達(dá)式 1)if (表達(dá)式else2) 語(yǔ)句語(yǔ)句 2;1;elseif (表達(dá)式else3) 語(yǔ)句語(yǔ)句3;4;else 總是與前面最近的且未配對(duì)的if (表達(dá)式 1)if (表達(dá)式 2)語(yǔ)句 1;if語(yǔ)句配對(duì),組成一對(duì)if-else 語(yǔ)句。elseif (表達(dá)式 3) 語(yǔ)句 2;else語(yǔ)句 3;第一個(gè) else 語(yǔ)句有的同學(xué)會(huì)把它誤以為和第一個(gè)if配對(duì),但是實(shí)際的情況是和第二個(gè) if 語(yǔ)句配對(duì),即:if (表達(dá)式 1)if (表達(dá)式 2)語(yǔ)句

43、1;elseif (表達(dá)式else3) 語(yǔ)句語(yǔ)句2;3;例 1請(qǐng)分析下列程序的輸出結(jié)果。main() int s,t,a,b; sanf(“%d%d”,&a,&b); s=1;t=1;學(xué)習(xí)好資料歡迎下載if(a>0) s=s+1;if(a>b) t=s+1;else if(a=b) t=s;else t=2*s;printf( “%dn”,t);若運(yùn)行時(shí)輸入 510 回車 ,則程序的執(zhí)行結(jié)果是?main() int s,t,a,b;sanf(“%d%d”,&a,&b); s=1;t=1;if(a>0) s=s+1; if(a>b) t=s

44、+1; else if(a=b) t=s; else t=2*s;printf( “%dn”,t);若運(yùn)行時(shí)輸入 510 回車,則輸出結(jié)果是?例 2分析下列程序的輸出結(jié)果main() int a=4,b=3,c=5,t=0; if(a<b) t=a;a=b;b=t; if(a<c) t=a;a=c;c=t;printf( “%d %d %dn”,a,b,c);main() int a=4,b=3,c=5,t=0; if(a<b) t=a;a=b;b=t; if(a<c) t=a;a=c;c=t; printf( “%d %d %dn”,a,b,c);聯(lián)想交換的思想:若要

45、交換a 和 b 的值,通常的做法是:t=a;a=b;b=t;3.條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符:?:是唯一一個(gè)三目運(yùn)算符。優(yōu)先級(jí)別高于賦值運(yùn)算,結(jié)合方向自右向左。格式:表達(dá)式 1 ?表達(dá)式 2 :表達(dá)式 3執(zhí)行方式:先求“表達(dá)式1”的值,若其值為“真” ,求出“表達(dá)式 2”的值作為學(xué)習(xí)好資料歡迎下載整個(gè)條件表達(dá)式的值;若其值為“假” ,求出“表達(dá)式 3”的值作為整個(gè)表達(dá)式的值。例如: max=a>b?a:b;相當(dāng)于: if(a>b)max=a;elsemax=b;a>b?a:c>d?c:d相當(dāng)于 a>b?a:(c>d?c:d)注意:表達(dá)式 1、2、3 的值

46、不要求具有相同的類型, 最后結(jié)果的類型為表達(dá)式 2、 3 中較高類型的一種。如 :(x=6)>(y=5)?1:1.5 表達(dá)式的值是 1.0 而不是 1。4.switch語(yǔ)句格式:switch(表達(dá)式 ) case常量表達(dá)式 1:語(yǔ)句 1;break;case常量表達(dá)式 2:語(yǔ)句 2;break;case常量表達(dá)式 n:語(yǔ)句 n;break;default:語(yǔ)句 n+1;break;說(shuō)明:( 1) switch、case、default、 break 都是關(guān)鍵字。花括號(hào)里面的語(yǔ)句叫做 switch語(yǔ)句體。 Switch 語(yǔ)句體中可以沒有 break 語(yǔ)句和 default 部分。( 2)

47、Switch 語(yǔ)句的圓括號(hào)中表達(dá)式的值必須是整型或是字符型,不能為實(shí)型。case后的表達(dá)式可以是求得整型量的常量表達(dá)式, 但是常量表達(dá)式中不能含有變量。( 3) 執(zhí)行 Switch 語(yǔ)句時(shí),首先計(jì)算 Switch 后圓括號(hào)的表達(dá)式的值,然后將這個(gè)值與語(yǔ)句體中 case 后的常量表達(dá)式的值相比較,如果某個(gè)常量表達(dá)式的值與之相等,則執(zhí)行該 case 后的語(yǔ)句塊;如果沒有任何一個(gè)常量表達(dá)式的值與之相等,則執(zhí)行 default 后的語(yǔ)句塊。( 4) 在執(zhí)行的時(shí)候如果遇到 break 語(yǔ)句,則跳出 switch 語(yǔ)句。如果執(zhí)行完一個(gè)case或者 default 語(yǔ)句塊后沒有遇到 break,則繼續(xù)順序往下執(zhí)行,知道遇到 break 語(yǔ)句或者語(yǔ)句體被執(zhí)行完畢為止。( 5) default 最多只能有一個(gè),通常出現(xiàn)在switch 語(yǔ)句的最后部分,但也可以出現(xiàn)在 case之間或所有的 case之前。四試題分析1.2008 年 4 月試題分析:學(xué)習(xí)好資料歡迎下載(17)已知字母 A 的ASC代碼值為 65,若變量 kk 為char型,以下不能正確判斷出 kk 中的值為大寫字母的表達(dá)式是A)kk>='A'&&kk<=&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論