![c語言基礎(chǔ)復(fù)習(xí)提綱(共11頁)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/fbe7d811-5897-41cb-bd27-ce4a91d67ff6/fbe7d811-5897-41cb-bd27-ce4a91d67ff61.gif)
![c語言基礎(chǔ)復(fù)習(xí)提綱(共11頁)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/fbe7d811-5897-41cb-bd27-ce4a91d67ff6/fbe7d811-5897-41cb-bd27-ce4a91d67ff62.gif)
![c語言基礎(chǔ)復(fù)習(xí)提綱(共11頁)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/fbe7d811-5897-41cb-bd27-ce4a91d67ff6/fbe7d811-5897-41cb-bd27-ce4a91d67ff63.gif)
![c語言基礎(chǔ)復(fù)習(xí)提綱(共11頁)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/fbe7d811-5897-41cb-bd27-ce4a91d67ff6/fbe7d811-5897-41cb-bd27-ce4a91d67ff64.gif)
![c語言基礎(chǔ)復(fù)習(xí)提綱(共11頁)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/fbe7d811-5897-41cb-bd27-ce4a91d67ff6/fbe7d811-5897-41cb-bd27-ce4a91d67ff65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上二、C語言的結(jié)構(gòu)化語句C語言中有三種結(jié)構(gòu)化語句,分別為:1. 順序結(jié)構(gòu):2 .選擇結(jié)構(gòu):3. 循環(huán)結(jié)構(gòu):三、語句C語言中的語句主要有以下幾種需要大家掌握:1. 表達(dá)式語句在表達(dá)式之后加上一個(gè)分號(hào)“;”,就構(gòu)成了一個(gè)表達(dá)式對(duì)應(yīng)的語句。在這里要強(qiáng)調(diào)每個(gè)C語言的語句之后都必須要有一個(gè)“;” 【注意事項(xiàng)】一行內(nèi)可以有多句表達(dá)式語句,但是在程序的寫法上要求書寫規(guī)范,便于閱讀。2. 空語句若一個(gè)語句只有一個(gè)“;”,即構(gòu)成空語句。【注意事項(xiàng)】(1)“空語句”表示程序執(zhí)行時(shí)不產(chǎn)生任何動(dòng)作。(2)但隨意使用空語句會(huì)導(dǎo)致邏輯上出現(xiàn)
2、錯(cuò)誤,需要慎用。 (3) 空語句一般用在延時(shí)程序中,表示等待時(shí)間?!咀⒁馐马?xiàng)】一條空語句即一個(gè)“;”也是一條語句。3. 復(fù)合語句用花括號(hào)括起來的多個(gè)語句組成一個(gè)復(fù)合語句。其表示為:語句1;語句2; 語句n;注意!一條復(fù)合語句在語法上相當(dāng)于一條語句。【經(jīng)典例題】例4:以下敘述中錯(cuò)誤的是( )A)C語句必須以分號(hào)結(jié)束。B)復(fù)合語句在語法上被看作一條語句。C)空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行。D)賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句?!咀⒁馐马?xiàng)】(1)一個(gè)復(fù)合語句在語法上等同于一個(gè)語句,也可稱為是一個(gè)語句塊。(2)凡是單個(gè)語句能夠出現(xiàn)的地方復(fù)合語句都能夠出現(xiàn)。(3)復(fù)合
3、語句花括號(hào)的后面不能加有“;”。4. 注釋以“/*”開頭并且以“*/”結(jié)尾。【注意事項(xiàng)】(1)強(qiáng)調(diào)注釋可以在程序中的任何地方。(2)對(duì)程序的編譯和運(yùn)行不起作用,不影響程序的運(yùn)行結(jié)果。(3)程序運(yùn)行時(shí)將無視注釋的存在。(4)注釋是給閱讀程序的人看的。程序中以“/*”開頭并且以“*/”結(jié)尾的部分表示程序的注釋部分,注釋可以加在程序的任何位置?!窘?jīng)典例題】例 有以下程序段:main() int a=0,b=0;a =10; /*給a賦
4、值b=20; 給b賦值 */printf("a+b=%dn",a+b); /*輸出計(jì)算結(jié)果*/程序運(yùn)行后的結(jié)果是(B)A)a+b=30 B)a+b=10 C)30 D)程序出錯(cuò) 四、輸出函數(shù)總共有兩個(gè),分別為printf和putch
5、ar函數(shù)。1. printf函數(shù)(1)printf函數(shù)的一般格式:printf(格式輸出控制,輸出列表)1)格式輸出控制:需用一對(duì)雙引號(hào)括起來,雙引號(hào)內(nèi)包含“格式說明”和“普通字符”兩部分。2)輸出列表:需要輸出的數(shù)據(jù),多個(gè)數(shù)據(jù)之間用逗號(hào)隔開。(2)格式說明(詳見教材197面,把上面輸出格式要求全部掌握)注:在printf函數(shù)中,若格式說明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),多余的輸出項(xiàng)則忽略不輸出,這是二級(jí)C考試中經(jīng)常出現(xiàn)的題目。(3)普通字符會(huì)原樣輸出,轉(zhuǎn)義字符需要輸出對(duì)應(yīng)的字符。注:printf函數(shù)輸出數(shù)據(jù)時(shí),做題時(shí)很容易忽略普通字符(除了格式控制符之外的字符)的輸出。在考試中,這類題目常出現(xiàn)。例:
6、main() inta,b; a=10; b=15;printf("a+b=%d",a+b); 程序運(yùn)行結(jié)果為:(4)數(shù)據(jù)輸出實(shí)例(已知int a=66; float b=123.56;)通過以下各輸出語句,掌握輸出函數(shù)的各種格式。(1)printf("%d",a);
7、160; 66(2)printf("%3d",a); 66(3)printf("%-3d",a); 66(4)printf("%f",b);
8、160; 123.(5)printf("%7.2f",b); 123.56(6)printf("%-7.2f",b); 123.56(6)printf("%c",a);
9、 B(7)printf("%x",a); 42【注意事項(xiàng)】1)輸出控制是由雙引號(hào)括起來的格式轉(zhuǎn)換控制信息.它分為兩種信息:用于說明的信息,計(jì)算機(jī)會(huì)按照原樣輸出;以上例子中的“a=”它可以是任意的常量,變量,表達(dá)式漢字,字符等。2)帶有"%"的格式轉(zhuǎn)換說明,用于指定輸出數(shù)據(jù)的格式。例如”%d”。3) 輸出數(shù)據(jù)列表包括需要輸出的一些數(shù)據(jù)。各個(gè)數(shù)據(jù)之間用逗號(hào)分隔開。輸出數(shù)據(jù)的個(gè)數(shù)與輸出控制中的格式轉(zhuǎn)換說明的個(gè)數(shù)相等,并
10、且在順序上要一一對(duì)應(yīng)且類型匹配。輸出數(shù)據(jù)列表中的數(shù)據(jù)可以是任意合法的常量、變量或表達(dá)式。 4) 在輸出控制中,格式說明的個(gè)數(shù)應(yīng)與輸出項(xiàng)的個(gè)數(shù)相同。如果格式說明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),多余的輸出項(xiàng)則不予輸出;如果格式說明的個(gè)數(shù)多于輸出項(xiàng)的個(gè)數(shù),則對(duì)多余的格式說明將輸出不定值。【經(jīng)典例題】例:輸出語句printf("%d,%d",2,3,4);的輸出結(jié)果為2,3。例:輸出語句printf("a=%d,b=%d",2.3,4.0);的輸出結(jié)果為a=2,b=3?!咀⒁馐马?xiàng)】1)可以在%和格式字符之間加入一個(gè)整數(shù)來控制輸出數(shù)據(jù)所占的寬度,強(qiáng)調(diào)如果整數(shù)指定
11、的寬度大于實(shí)際輸出數(shù)據(jù)的寬度,數(shù)據(jù)的輸出采用右對(duì)齊的方式,左邊自動(dòng)補(bǔ)空格;反之,則以輸出數(shù)據(jù)的實(shí)際寬度輸出。2)當(dāng)在%和格式字符f之間加入“整數(shù)1.整數(shù)2”來控制輸出數(shù)據(jù)的格式時(shí),強(qiáng)調(diào)“整數(shù)1”用于指定輸出數(shù)據(jù)占的總寬度,“整數(shù)2”用于指定輸出實(shí)數(shù)的小數(shù)部分的個(gè)數(shù)。當(dāng)輸出數(shù)據(jù)的小數(shù)個(gè)數(shù)多于“整數(shù)2”指定的個(gè)數(shù)時(shí),截去多余的數(shù)據(jù),并對(duì)截去的第1位小數(shù)作四舍五入處理。當(dāng)輸出數(shù)據(jù)的小數(shù)個(gè)數(shù)少于“整數(shù)2”指定的個(gè)數(shù)時(shí),在小數(shù)的右邊添0補(bǔ)足。3)如果需要在輸出的八進(jìn)制數(shù)前添加0,或在輸出的十六進(jìn)制數(shù)前添加0x,可在%號(hào)和格式字符o和x之間插入一個(gè)#號(hào)(注意:#號(hào)對(duì)其他格式字符通常不起作用)4)如果要輸出
12、"%"時(shí),則應(yīng)該在格式控制中用兩個(gè)連續(xù)的"%",即"%"來表示,也就是在格式控制中出現(xiàn)兩個(gè)連續(xù)的"%",則此時(shí)"%"不再用來代表格式說明。下面是關(guān)于以上幾種特殊情況下數(shù)據(jù)的輸出格式以及輸出結(jié)果: 各種特殊情況時(shí)數(shù)據(jù)輸出結(jié)果對(duì)比輸出語句 輸出結(jié)果 輸出語句 輸出結(jié)果printf("%d",254);254 printf("%2d",254);254 pr
13、intf("%4d",254); 254printf("%f",1.25); 1. printf("%10f",1.25); 1.printf("%4.4f",1.25); 1.2500 printf("%7.4 f",1.25); 1.2500printf("%2.0 f",1.25); 1 printf("%o",254);376 printf("%#o",254);0376 pr
14、intf("%#x",254);0xfeprintf(“%”);% printf(“%d”,254);%d 2.putchar函數(shù)此函數(shù)只能輸出字符型的數(shù)據(jù)。表示將括號(hào)里面的字符型數(shù)據(jù)以字符的形式輸出到屏幕上。 ( 1)輸出格式為:putchar(字符型變量或常量);(2)舉例:例:putchar(c); 其中“c”為變量。例:putchar(C); 其中“C”為字符型常量。【注意事項(xiàng)】putchar函數(shù)的參數(shù)只有一個(gè),可以是字符型的變量或者常量。如果是常量必須用單引號(hào)括起來。 五、輸入函數(shù)數(shù)據(jù)的輸入函數(shù),總共有兩個(gè),分別為printf和p
15、utchar函數(shù)。1. scanf函數(shù)(1)輸入格式:scanf (輸入控制,輸入數(shù)據(jù)列表)【說明】1)“輸入控制”的含義與printf函數(shù)的“輸出控制”相同,它的作用是指定輸入時(shí)的數(shù)據(jù)轉(zhuǎn)換格式。例子中的“%d”。2)輸入數(shù)據(jù)列表是一個(gè)或者多個(gè)合法的地址表達(dá)式。例子中的“&a”。其中“&”為取地址的符號(hào),后面必須跟變量或者變量表達(dá)式。我們要從鍵盤上將不同的數(shù)據(jù)輸入計(jì)算機(jī)中時(shí),也要限制以什么格式輸入,可以接受那些數(shù)據(jù),這就是格式化的輸入函數(shù)?!練v年考題】例:若有定義:int a,b;,通過語句scanf("d;d",&a,&b);,能把整數(shù)3賦
16、給變量a,5賦給變量b的輸入數(shù)據(jù)是( )。A)3 5 B)3,5 C)3;5 D)35例:若變量已正確定義為int 型,要通過語句scanf(%d,%d,%d,&a,&b,&c);給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯(cuò)誤的是(u代表一個(gè)空格符)( )A)uuu1,2,3<回車> B)1u2u3<回車>C)1,uuu2,uuu3<回車> D)1,2,3<回車&g
17、t;【注意事項(xiàng)】在scanf函數(shù)中的格式控制部分中,說明部分按照原樣輸入,而輸入項(xiàng)必須是表示地址的地址變量。(2)scanf函數(shù)中的格式說明:(詳見教材195面,記熟表格內(nèi)容)【注意事項(xiàng)】 (1)當(dāng)從鍵盤輸入多個(gè)數(shù)值數(shù)據(jù)時(shí),輸入數(shù)值數(shù)據(jù)之間用分隔符(包括空格符、制表符和回車符,但是不包括逗號(hào))隔開。 (2)在輸入控制中,格式說明的類型與輸入項(xiàng)的類型應(yīng)該一一對(duì)應(yīng)匹配。如果類型不匹配,系統(tǒng)并不給出出錯(cuò)信息,但不能得到正確的輸入數(shù)據(jù)。當(dāng)輸入長(zhǎng)整型數(shù)據(jù)(long)時(shí),必須使用%ld格式;輸入double數(shù)據(jù)
18、時(shí),必須使用%lf或%le,否則不能得到正確數(shù)據(jù)。 (3)與printf相似,在scanf函數(shù)中的格式字符前可以用一個(gè)整數(shù)指定輸入數(shù)據(jù)所占的寬度,但對(duì)實(shí)數(shù)不能指定小數(shù)的位數(shù)。(4)在輸入控制中,格式說明的個(gè)數(shù)與輸入項(xiàng)的個(gè)數(shù)應(yīng)該相同。如果格式說明的個(gè)數(shù)少于輸入項(xiàng)的個(gè)數(shù),系統(tǒng)自動(dòng)結(jié)束輸入,多余的數(shù)據(jù)沒有被讀入,可作為下一個(gè)輸入操作的輸入數(shù)據(jù);如果格式說明的個(gè)數(shù)多于輸入項(xiàng)的個(gè)數(shù),系統(tǒng)同樣自動(dòng)結(jié)束輸入。(5)跳過輸入數(shù)據(jù)的方法??梢栽诟袷阶址c%之間加入一個(gè)“*”使輸入過程跳過輸入的數(shù)據(jù)。(6)若在scanf函數(shù)的輸入控制串中含有其他的字符,則在輸入時(shí)要
19、求按一一對(duì)應(yīng)的位置原樣輸入這些字符。2. getchar函數(shù):從終端輸入一個(gè)字符。( 1)輸入格式:getchar( ) 第三章: If結(jié)構(gòu)一、關(guān)系運(yùn)算1. C語言中的邏輯值:(1) 真:非零即真,包括:整數(shù)、負(fù)數(shù)、小數(shù)(2) 假:零即假2. 關(guān)系運(yùn)算符和表達(dá)式:(1) 關(guān)系運(yùn)算符:>、>=、<、<=、=、!=(2) 優(yōu)先級(jí):算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>賦值運(yùn)算符>逗號(hào)運(yùn)算符(3) 關(guān)系表達(dá)式:由關(guān)系運(yùn)算符組成的表達(dá)式叫做關(guān)系表達(dá)式。例如:a>b a!=10(4) 關(guān)系運(yùn)算的結(jié)果:1表示真,0表示假(5) 結(jié)合方向:從左向右,
20、即先算左邊再算右邊 二、邏輯運(yùn)算(1)邏輯運(yùn)算符:&&、|、?。?)邏輯表達(dá)式:由邏輯運(yùn)算符組成的表達(dá)式a && b a真b真為真,否則為假(一假則假) a | b a假b假為假,否則為真 (一真則真)!a a為真時(shí)!a為假,a為假時(shí)!a為真(非真則假,非假則真)(3)優(yōu)先級(jí): !>算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>&&>|>賦值運(yùn)算符>逗號(hào)運(yùn)算符(4)例一:判斷下列表達(dá)式是真還是假?10 & 20&
21、#160; 10>20|20<30 a=10>20 !5(5)例二:計(jì)算變量a,b,c,d的值int a=0,b=0,c=0,d=0; a+; b=a+10>10;c=a>b&&b>=c;d=(+b<=0)|(d+); 三、if語句1. if語句結(jié)構(gòu)形式: if(表達(dá)式) 語句(1) 表達(dá)式可以為任何合法的表達(dá)式。包括:常量表達(dá)式、算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式和賦值表達(dá)式。(2) 語
22、句:只能是一條或是一個(gè)復(fù)合語句2. if語句的執(zhí)行過程:(1) 首先判斷表達(dá)式的真假(2) 如果表達(dá)式結(jié)果為真,則執(zhí)行語句;否則不執(zhí)行語句。3. 例一:判斷學(xué)生的成績(jī)是否優(yōu)秀?int a; /*用來表示某個(gè)學(xué)生的成績(jī)*/scanf("%d",&a);/*通過鍵盤將成績(jī)輸入給變量a*/ if(a>=90)printf("成績(jī)優(yōu)秀!"); 通過輸入不同的值來判斷輸出的內(nèi)容,如果輸入的數(shù)據(jù)不小于90,則輸出。4.此題必須要求完全掌握。int a=4,b=
23、3,c=5,t=0;if(a<b) t=a;a=b;b=t; a,b,c,t的值是:if(a<c) t=a;a=c;c=t; a,b,c,t的值是:int a=4,b=3,c=5,t=0;if(a<b) t=a;a=b;b=t; a ,b,c,t的值是:if(a<c) t=a;a=c;c=t; a,b,c,t的值是:5. 例:判斷一個(gè)數(shù)是否能被2整除?int a; /*用來表示某個(gè)數(shù)*/scanf("%d",&a);/*通過鍵盤輸入一個(gè)數(shù)給變量a*/ if(a%2=0)printf(
24、"a=%d能2整除",a); 6. 例:判斷一個(gè)數(shù)是否能被3和7同時(shí)整除?int a; /*用來表示某個(gè)數(shù)*/scanf("%d",&a);/*通過鍵盤輸入一個(gè)數(shù)給變量a*/ if(a%3=0&&a%7=0)printf("a=%d能被3和7同時(shí)整除",a); 7. 例:判斷輸入的一個(gè)字符是否是數(shù)字字符?char ch;scanf(“%c”,&ch);if(ch>=0&&am
25、p;ch<=9) printf("ch=%c是一個(gè)數(shù)字字符",ch);8. 例:判斷輸入的一個(gè)字符是否是大寫字母?char ch;scanf(“%c”,&ch);if(ch>=A&&ch<=Z) printf("ch=%c是一個(gè)大寫字母",ch);四、if-else語句if-else語句結(jié)構(gòu)的一般形式:if(表達(dá)式) 語句1 else語句2(1) 表達(dá)式可以為任何合法的表達(dá)式。包括:常量表達(dá)式、算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式和賦值表達(dá)式。(2) 語句:只能是一條或是
26、一個(gè)復(fù)合語句1. if-else語句的執(zhí)行過程:(1) 首先判斷表達(dá)式的真假(2) 如果表達(dá)式結(jié)果為真,則執(zhí)行語句1,否則執(zhí)行語句22. 例一:判斷變量a是不是一個(gè)偶數(shù),如果a是一個(gè)偶數(shù)則輸出a是一個(gè)偶數(shù),否則輸出a是一個(gè)奇數(shù)int a;scanf("%d",&a); if(a%2=0)printf("a=%d是一個(gè)偶數(shù)",a); elseprintf("a=%d是一個(gè)奇數(shù)",a); 3.陷阱題:main()&
27、#160; int a=1,b=2,c=3; if(c=a) printf(“%dn”,c); else printf(“%dn”,c);main() int a=1,b=2,c=3; if(c=a) printf(“%dn”,c); else printf(“%dn”,c);重點(diǎn)比較上面兩個(gè)例子中c=a和c=a的區(qū)別,賦值和比較是不
28、同的概念。if表達(dá)式中如果是賦值語句,只要賦的值不為0,條件就永遠(yuǎn)為真。if表達(dá)式中如果是關(guān)系語句,只要判斷邏輯值為真或假。五、 嵌套的if語句1. 嵌套的if語句即多個(gè)if或者if-else語句嵌套在一起,記住一句話:else總是與它前面沒有配對(duì)的if配對(duì) 2.例:判斷表達(dá)式的真假是重點(diǎn)main() int a=5,b=4,c=3,d=2; if(a>b>c) printf(“%dn”,d); else if(c-1>=d)=1)
29、160; prinft(“%dn”,d+1); else printf(“%dn”,d+2);注意兩點(diǎn):一是學(xué)會(huì)配對(duì)if-else,采用從后往前配對(duì);二是必須掌握判斷a>b>c的真假,(c-1>=d)=1的真假。 六、 條件表達(dá)式1.條件表達(dá)式的形式如下: 表達(dá)式1?表達(dá)式2:表達(dá)式3 2.條件表達(dá)式求職規(guī)則:(1) 首先判斷表達(dá)式1的值是否為真(2) 如果表達(dá)式1的值為真則表達(dá)式2的值為整個(gè)表達(dá)的值,否則表達(dá)式3的值為整個(gè)表
30、達(dá)式的值 3. 多個(gè)條件表達(dá)式的結(jié)合方向:自右向左 4. 例:求兩個(gè)數(shù)中的最大值: max=a>b?a:b; 5.例題int k=0,b=2,c=3;k=a<b?b:a; k=k>c?c:k;mian() int a=5,b=4,c=6,d;printf(“%dn”,d=a>b?(a>c?a:c):(c);七、 switch語句1. switch語句的一般格式: switch(表達(dá)式)
31、60; case 常量表達(dá)式1:語句塊1;break; case 常量表達(dá)式n:語句塊n;break; default:語句塊n+1;break; (1) switch、case、default、break都是關(guān)鍵字(2) 圓括號(hào)中的表達(dá)式:必須是整型或字符型,不能為實(shí)型。case后面的表達(dá)式可以是求得整型量和字符型量的常量表達(dá)式,但是常量表達(dá)式后面不能含
32、有變量。(3) 執(zhí)行switch語句的步驟: 首先計(jì)算switch后圓括號(hào)內(nèi)表達(dá)式的值; 如果計(jì)算結(jié)果與case后面某個(gè)常量表達(dá)式相等,則執(zhí)行該case后面的語句塊; 如果沒有任何一個(gè)常量表達(dá)式與之相等,則執(zhí)行default后的語句塊。(4) 執(zhí)行switch語句的執(zhí)行策略: 執(zhí)行過程中如果遇到break語句,則跳出switch語句 如果執(zhí)行完一個(gè)case或是default沒有遇到
33、break,則繼續(xù)順序往下執(zhí)行,直到遇到break語句或是switch語句體被執(zhí)行完畢。(5) default最多只能有一個(gè),通常出現(xiàn)在switch的最后部分,但也可以出現(xiàn)在case之間或所有case之前。例二:int a=1; switch(a) case 1:a+; case 2:a+; case 3:a+;defa
34、ult:a+; printf("a=%dn",a);請(qǐng)問輸出的結(jié)果為多少? 2. 區(qū)別下列兩個(gè)例子 例一:int a=1; switch(a) case 1:a+;break; case 2:a+;break;
35、; case 3:a+;break;default:a+;break; printf("a=%dn",a);請(qǐng)問輸出的結(jié)果為多少? 注:switch語句中,注意在case的語句塊后加break語句和不加break語句的區(qū)別,在考試中,經(jīng)??疾樵擃愵}。另外,考查default語句的執(zhí)行(只有所有case后的常量表達(dá)式都不成立時(shí),才執(zhí)行default后的語句)。第四章 循環(huán)結(jié)構(gòu)一、
36、0; 本章學(xué)習(xí)要點(diǎn)1. 明白并熟練掌握循環(huán)的過程,特別for循環(huán)是考試的重點(diǎn),請(qǐng)必須注意以下細(xì)節(jié):(1) 什么是循環(huán)?重復(fù)做同樣的事情就稱為循環(huán)。循環(huán)有四要素,請(qǐng)同學(xué)們謹(jǐn)記: 循環(huán)的起點(diǎn),就是循環(huán)從什么時(shí)候開始 循環(huán)的終點(diǎn),就是循環(huán)到什么時(shí)候結(jié)束,同學(xué)們千萬要記住一般的循環(huán)是要結(jié)束的,但是有種循環(huán)永遠(yuǎn)也結(jié)束不了,這樣的循環(huán)稱為死循環(huán) 循環(huán)的步長(zhǎng),指的是循環(huán)每次變化的值,如果循環(huán)每次都沒有變化,很容易變?yōu)樗姥h(huán) 循環(huán)體,循環(huán)體是每次重復(fù)做的事情(2) for循環(huán)的基本結(jié)構(gòu),表達(dá)式1,表達(dá)式2和表達(dá)式3分別代表什么(3) 必須
37、掌握循環(huán)的執(zhí)行步驟2. 掌握幾種常見的使用循環(huán)解決的問題,考試中涉及很多和循環(huán)相關(guān)的考點(diǎn),因此在學(xué)習(xí)循環(huán)的過程中一定要慢慢訓(xùn)練使用循環(huán)解決問題的思路。 二、 while循環(huán)1. while循環(huán)和for循環(huán)的循環(huán)執(zhí)行過程差不多一致,只是表達(dá)式1,2,3的位置不同而已2. while的一般形式 while(表達(dá)式) 循環(huán)體語句(1 while是C語言的關(guān)鍵字,必須小寫(2表達(dá)式是任意合法的表達(dá)式(包括:常量、算術(shù)、關(guān)系、邏輯
38、、賦值表達(dá)式)(3 循環(huán)體語句只能是一條語句或是一個(gè)復(fù)合語句(4 表達(dá)式不能省略,循環(huán)體語句省略時(shí)表示不做任何的操作3. while的執(zhí)行過程(1) 判斷表達(dá)式的真假(2) 如果表達(dá)式為真則執(zhí)行循環(huán)體語句,否則結(jié)束循環(huán)4. 例main() int k=5; while(-k) printf(“%d”,k-=3); printf(“n”);執(zhí)行過程如下:(1) 初值k=5,判斷表達(dá)式:-k的真假,-k為4故為真,執(zhí)行循環(huán)體:輸出k=k-3,輸出1(2) 初值k=1,
39、判斷表達(dá)式:-k的真假,-k為0故為假,循環(huán)執(zhí)行完畢(3) 執(zhí)行循環(huán)以后的語句printf(“n”);輸出一個(gè)回車,所以結(jié)果為:1<回車>5. 例,特別注意循環(huán)體為空,還有執(zhí)行過程中y-的變化main() int y=10; while(y-);printf(“y=%dn”,y) 程序運(yùn)行后y的值是: 三、 do-while循環(huán)1. do-while語句的一般形式do 循環(huán)
40、體語句 while(表達(dá)式);(1) do是C語言的關(guān)鍵字,需要和while搭配使用(2) 表達(dá)式可以是任意合法的表達(dá)式(3) 循環(huán)體語句只能是一條語句或是一個(gè)復(fù)合語句(4) 表達(dá)式不能省略,循環(huán)體語句省略時(shí)表示不做任何的操作(5) while后面的分號(hào)不能省略2. do-while語句的執(zhí)行過程:(1) 首先執(zhí)行循環(huán)體語句(2) 判斷表達(dá)式的真假(3) 如果表達(dá)式為真,則繼續(xù)執(zhí)行循環(huán)體語句,否則結(jié)束循環(huán)執(zhí)行步驟如下:(1) 初值:i=0,n=0 執(zhí)行循環(huán)體語句:i+;+i->i=2,判斷:n
41、!=0為假,則結(jié)束循環(huán);(2) 執(zhí)行完循環(huán)后繼續(xù)執(zhí)行循環(huán)后面的語句:printf("%d",i);輸出結(jié)果為:23. 知識(shí)點(diǎn)舉例:Int i,n=0;i=0;doi+; +i;while(n!=0);printf("%d",i);執(zhí)行步驟如下:(1) 初值:i=0,執(zhí)行循環(huán)體:printf(“%d”,i);輸出i的值為0,判斷表達(dá)式i+的真假,因?yàn)閕的初值為0,則i+的值為0,i的值為1,表大事i+值為0為假,結(jié)束循環(huán)(2) 執(zhí)行循環(huán)體后面的語句:printf(”%dn”,i);輸出的值為14. 例i=0;do
42、; printf(“%d”,i);while(i+);printf(”%dn”,i);四、 for循環(huán)1. for語句的格式for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體語句 (1) for是C語言的關(guān)鍵字(2) for里面的三個(gè)表達(dá)式必須使用分號(hào)隔開 表達(dá)式1表示賦初值,即循環(huán)的起點(diǎn) 表達(dá)式2表示控制循環(huán),即循環(huán)的終點(diǎn) 表達(dá)式3表示賦值,即循環(huán)的步長(zhǎng)(3) 循環(huán)體語句只能是一條語句或是一個(gè)復(fù)合語句(4) 請(qǐng)確定下列循環(huán)的起點(diǎn)、終點(diǎn)、步長(zhǎng)和循環(huán)體分析1
43、:第一個(gè)循環(huán)中表達(dá)式1:i=1表示循環(huán)的起點(diǎn)為1,表達(dá)式2:i<10表示循環(huán)的終點(diǎn)為9,記住不是10,因?yàn)閕<10不包括10,表達(dá)式3:i+表示i=i+1即循環(huán)的步長(zhǎng)為1,每次增加1,循環(huán)體為:sum=sum+i,每次sum都會(huì)隨著i的變化而變化,具體步驟待會(huì)即將揭開“神秘面紗”!分析2:第二個(gè)循環(huán)中表達(dá)式1:i=0表示循環(huán)的起點(diǎn)為0,表達(dá)式2:i<10表示循環(huán)的終點(diǎn)為9,記住不是10,因?yàn)閕<10不包括10,表達(dá)式3:i+=2表示i=i+2即循環(huán)的步長(zhǎng)為2,每次增加2,循環(huán)體為:sum=sum+i,每次sum都會(huì)隨著i的變化而變化。 inti,sum=0;
44、for(i=1;i<10;i+) sum=sum+i; inti,sum=0;for(i=0;i<10;i+=2) sum=sum+i;(5) 3個(gè)表達(dá)式可以省略,但是兩個(gè)分號(hào)不能省略,循環(huán)體語句省略時(shí)表示不做任何的操作 省略表達(dá)式1:for(;i<=100;i+) sum+=i; 省略表達(dá)式3:for(i=1;i<=100;) sum+=i;i+; 省略三個(gè)表達(dá)式:for(; ; )表示永真,程序?qū)⑦M(jìn)入死循環(huán)。2. for語句的執(zhí)行過程(1) 首先執(zhí)行表達(dá)式1(2)
45、 判斷表達(dá)式2的真假(3) 如果表達(dá)式為真則執(zhí)行循環(huán)體,否則結(jié)束循環(huán)(4) 執(zhí)行完循環(huán)體后執(zhí)行表達(dá)式3,接著執(zhí)行第2步,進(jìn)入循環(huán)執(zhí)行步驟如下:(1) 初值:i=1,sum=0 判斷:i<=5為真,則執(zhí)行循環(huán)體語句:sum=sum+i;->sum=0+1,i=i+1->sum=1,i=2(2) 初值:i=2,sum=1 判斷:i<=5為真,則執(zhí)行循環(huán)體語句:sum=sum+i;i+;->sum=1+2,i=i+1->sum=3,i=3(3) 初值:i=3,sum=3 判斷:i<=5為真,則執(zhí)行循環(huán)體語句:sum=sum+i;i+;->sum=3+3
46、,i=i+1->sum=6,i=4(4) 初值:i=4,sum=6 判斷:i<=5為真,則執(zhí)行循環(huán)體語句:sum=sum+i;i+;->sum=6+4,i=i+1->sum=10,i=5(5) 初值:i=5,sum=10 判斷:i<=5為真,則執(zhí)行循環(huán)體語句:sum=sum+i;i+;->sum=10+5,i=i+1->sum=15,i=6(6) 初值:i=6,sum=15 判斷:i<=5為假,則結(jié)束循環(huán)(7) 執(zhí)行完循環(huán)以后繼續(xù)操作循環(huán)后面的語句:printf("sum=%dn",sum);輸出結(jié)果為:sum=15(5) 執(zhí)
47、行循環(huán)體: 3. 計(jì)算1+2+3+4+5 inti,sum; sum=0; for(i=1;i<=5;i+) sum=sum+i; printf("sum=%dn",sum);根據(jù)右邊的分析一定要掌握累加時(shí)的語句意思。4.掌握使用循環(huán)解決“求和”系列問題(1) 第一步:定義變量,定義兩個(gè)變量,一
48、個(gè)i用來控制循環(huán),一個(gè)sum用來存儲(chǔ)和,謹(jǐn)記:求和必須給sum賦值為0;(2) 第二步:確定循環(huán)的起點(diǎn)、終點(diǎn)和步長(zhǎng),確定循環(huán)的起點(diǎn)即給變量i賦初始值,確定循環(huán)的終點(diǎn)即給變量i一個(gè)終止值,確定循環(huán)的步長(zhǎng)即讓變量i進(jìn)行這樣的變化;(3) 第三步:確定循環(huán)體的內(nèi)容(4) 計(jì)算1+2+3+100 定義變量i和sum,并給sum賦初始值為0 從1+2+3+100可知循環(huán)的起點(diǎn)為1,終點(diǎn)為100,因此表達(dá)式1為:i=1,表達(dá)式2為:i<=100(提醒不是i<100),表達(dá)式3為:i+ 1+2+3+100要計(jì)算的是各個(gè)數(shù)字之和,因此循環(huán)體的內(nèi)容為:sum=su
49、m+i 1+2+3+100的程序如下:inti,sum=0;for(i=1;i<=100;i+) sum=sum+i;(5) 計(jì)算1+3+5+100 定義變量i和sum,并給sum賦初始值為0 從1+3+5+100可知循環(huán)的起點(diǎn)為1,終點(diǎn)為100,因此表達(dá)式1為:i=1,表達(dá)式2為:i<=100(提醒不是i<100),表達(dá)式3為:i+=2 1+3+5+100要計(jì)算的是各個(gè)數(shù)字之和,因此循環(huán)體的內(nèi)容為:sum=sum+i 1+3+5+100的程序如
50、下:inti,sum=0;for(i=1;i<=100;i+=2) sum=sum+i;(6) 計(jì)算能被1到1000之內(nèi),能被3和7同時(shí)整除的所有整數(shù)之和 因?yàn)榍蠛?,故定義變量i和sum,并給sum賦初始值為0 從“計(jì)算能被1到1000之內(nèi)”這句話可知循環(huán)的起點(diǎn)為1,終點(diǎn)為1000,因此表達(dá)式1為:i=1,表達(dá)式2為:i<=1000(提醒不是i<100),表達(dá)式3為:i+(因?yàn)閮蓚€(gè)整數(shù)之間相差1) 要計(jì)算的是各個(gè)數(shù)字之和,因此循環(huán)體的內(nèi)容為:sum=sum+i,但是有個(gè)
51、條件:能被3和7同時(shí)整除,因此必須加上一個(gè)判斷條件:i%3=0&&i%7=0 程序如下:inti,sum=0;for(i=1;i<=1000;i+) if(i%3=0&&i%7=0) sum=sum+i;提醒每位同學(xué):這些題目為考試重點(diǎn),請(qǐng)不要死記硬背,首先記住步驟,然后靈活的處理每
52、個(gè)環(huán)節(jié)。6.掌握使用循環(huán)解決“求積”系列問題(1) 第一步:定義變量,定義兩個(gè)變量,一個(gè)i用來控制循環(huán),一個(gè)s用來存儲(chǔ)積,謹(jǐn)記:求和必須給s賦值為1;(2) 確定循環(huán)的起點(diǎn)、終點(diǎn)和步長(zhǎng),確定循環(huán)的起點(diǎn)即給變量i賦初始值,確定循環(huán)的終點(diǎn)即給變量i一個(gè)終止值,確定循環(huán)的步長(zhǎng)即讓變量i進(jìn)行這樣的變化;(3) 第三步:確定循環(huán)體的內(nèi)容(4) 計(jì)算1*2*3*4*100,即100! 因?yàn)榍蟪朔e,故定義變量i和s,并給s賦初始值為1 從1*2*3*4*100可知循環(huán)的起點(diǎn)為1,終點(diǎn)為100因此表達(dá)式1為:i=1,表達(dá)式2為:i<=100(提醒不是i<100),表達(dá)式3為
53、:i+ 要計(jì)算的是各個(gè)數(shù)字之乘積,因此循環(huán)體的內(nèi)容為:s=s*i 程序如下:inti,s=1;for(i=1;i<=100;i+) s=s*i;(5) 計(jì)算1*3*5*100 因?yàn)榍蟪朔e,故定義變量i和s,并給s賦初始值為1 從1*3*5*100可知循環(huán)的起點(diǎn)為1,終點(diǎn)為100,因此表達(dá)式1為:i=1,表達(dá)式2為:i<=100(提醒不是i<100),表達(dá)式3為:i+=2 要計(jì)算的是各個(gè)數(shù)字之乘積,因此循環(huán)體的內(nèi)容為:s=s*i 程序如
54、下:inti,s=1;for(i=1;i<=100;i+=2) s=s*i;(6) 計(jì)算xn xn 即為x*x*x*x共n個(gè)x相乘,因?yàn)榍蟪朔e,故定義變量i和s,并給s賦初始值為1 從x*x*x*x共n個(gè)x相乘可知,循環(huán)的起點(diǎn)為1,終點(diǎn)為n,因此表達(dá)式1為:i=1,表達(dá)式2為:i<=n(提醒不是i<100),表達(dá)式3為:i+ 要計(jì)算的是各個(gè)數(shù)字之乘積,因此循環(huán)體的內(nèi)容為:s=s*i 程序如下:inti,s=1;for(i=1;i<=n;i+) s=s*x;執(zhí)行過程中,當(dāng)i的值為1時(shí),計(jì)算的結(jié)果為s=1*x,當(dāng)i=n時(shí),計(jì)算的結(jié)果為s=x*x*x*x,特別注意每次循環(huán)的值都在此前的基礎(chǔ)上增加x倍,而1*2*3*4*100中s都在此前的基礎(chǔ)上增加i五、 循環(huán)結(jié)構(gòu)的嵌套在一個(gè)循環(huán)體的內(nèi)部包含了另外一個(gè)完整的循環(huán)結(jié)構(gòu)為循
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版道德與法治九年級(jí)下冊(cè)第二單元第三課《與世界緊相連第2框與世界深度互動(dòng)》聽課評(píng)課記錄
- 2022版新課標(biāo)七年級(jí)上冊(cè)道德與法治第五課交友的智慧2課時(shí)聽課評(píng)課記錄
- 人教版數(shù)學(xué)九年級(jí)上冊(cè)《直接開平方法解方程》聽評(píng)課記錄3
- 人教版地理八年級(jí)下冊(cè)7.1《自然特征與農(nóng)業(yè)》聽課評(píng)課記錄
- 環(huán)境評(píng)估服務(wù)合同(2篇)
- 湘教版數(shù)學(xué)八年級(jí)上冊(cè)2.2《命題的證明》聽評(píng)課記錄2
- 北師大版道德與法治九年級(jí)上冊(cè)6.2《弘揚(yáng)法治精神》聽課評(píng)課記錄
- 北京課改版歷史八年級(jí)上冊(cè)第10課《辛亥革命與中華民國建立》聽課評(píng)課記錄
- 湘教版數(shù)學(xué)七年級(jí)上冊(cè)《2.5整式的加法和減法(1)》聽評(píng)課記錄2
- 部編版八年級(jí)歷史上冊(cè)《第1課 鴉片戰(zhàn)爭(zhēng)》聽課評(píng)課記錄
- 2024年臨床醫(yī)師定期考核試題中醫(yī)知識(shí)題庫及答案(共330題) (二)
- 2025-2030年中國反滲透膜行業(yè)市場(chǎng)發(fā)展趨勢(shì)展望與投資策略分析報(bào)告
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末質(zhì)量檢測(cè)道德與法治試題 (含答案)
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 英語試題
- 春節(jié)節(jié)后收心會(huì)
- 《榜樣9》觀后感心得體會(huì)四
- 七年級(jí)下冊(cè)英語單詞表(人教版)-418個(gè)
- 2025年山東省濟(jì)寧高新區(qū)管委會(huì)“優(yōu)才”招聘20人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國社會(huì)科學(xué)評(píng)價(jià)研究院第一批專業(yè)技術(shù)人員招聘2人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 交警安全進(jìn)校園課件
- (2024年高考真題)2024年普通高等學(xué)校招生全國統(tǒng)一考試數(shù)學(xué)試卷-新課標(biāo)Ⅰ卷(含部分解析)
評(píng)論
0/150
提交評(píng)論