




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言二級考試資料編著:黃雨晨目錄一、C語言基礎(chǔ)知識- 1 -1.標(biāo)實(shí)符,常量,變量- 1 -(1)標(biāo)識符- 1 -(2)常量:- 1 -(3)整型常量與實(shí)型常量- 1 -2.變量的定義- 2 -3.算術(shù)表達(dá)式- 2 -5.賦值表達(dá)式- 3 -6.復(fù)合賦值表達(dá)式- 3 -7.+ -運(yùn)算符- 4 -8.逗號表達(dá)式- 5 -9.課后習(xí)題;- 5 -(1)選擇題:- 5 -(2)填空題:- 6 -二、基本輸入、輸出語句- 6 -1.printf函數(shù)的一般調(diào)用形式- 6 -2.printf中常用的格式說明:- 7 -3.注意事項(xiàng)- 7 -4.輸出語句例題:- 7 -5.輸入語句:- 8 -6.練習(xí)題與
2、復(fù)合語句、空語句:- 8 -(1)選擇題- 8 -(2)編程題- 9 -三:c語言的程序結(jié)構(gòu)- 9 -1.關(guān)系運(yùn)算與邏輯運(yùn)算:- 10 -(1)簡介:- 10 -(2)幾個(gè)簡單的關(guān)系運(yùn)算符:- 10 -(3)幾個(gè)簡單的邏輯運(yùn)算符- 10 -2.if語句:- 10 -(1)定義:- 10 -(2)分類:- 10 -3.if的嵌套:- 11 -(1)講解- 11 -(3)例題:- 12 -4.條件表達(dá)式- 13 -5.switch語句:- 13 -6.習(xí)題- 13 -(1)選擇題- 13 -(2)填空題- 14 -(3)編程題- 15 -四、循環(huán)結(jié)構(gòu)- 17 -1.while語句:- 17 -(1
3、)格式:- 17 -(2)注意:- 17 -(3)例題- 17 -2.do while()- 18 -(1)格式- 18 -(2)注意- 18 -3.for語句- 18 -(1)格式:- 18 -(2)注意- 19 -(3)例題- 19 -4.for嵌套- 20 -(1)實(shí)例1- 20 -(2)實(shí)例2- 20 -(3)實(shí)例3- 21 -(4)注意- 21 -(5)素?cái)?shù)的判定- 21 -6.break,continue語句- 22 -(1)break- 22 -(2)continue- 22 -7.程序應(yīng)用及習(xí)題- 23 -(1)選擇題- 23 -(2)填空題- 26 -(3)編程題- 27 -
4、第六章、字符型數(shù)據(jù)- 28 -1.字符型常量- 28 -(1)格式- 28 -(2)要求- 28 -(3)注意:- 29 -2.字符串常量- 29 -(1)格式- 29 -(2)注意:- 29 -3.字符型變量- 29 -(1)格式- 29 -(2)輸入與輸出- 29 -(3)程序舉例- 29 -4.課后習(xí)題- 30 -(1)選擇題- 30 -(2)填空題- 32 -(3)編程題- 33 -IIC語言復(fù)習(xí)資料一、C語言基礎(chǔ)知識1.標(biāo)實(shí)符,常量,變量(1)標(biāo)識符定義:由字母、數(shù)字、下劃線組成,并且第一個(gè)字母必須為字母或下劃線的。這樣的組成就是標(biāo)識符。注意:在C中大寫字母與小寫字母被認(rèn)為是兩個(gè)不同
5、的字符。分類:1)關(guān)鍵字:在C中已經(jīng)定義好了的。不能用作它的。(if double int)。2)預(yù)定義標(biāo)識符:如printf scanf.3)用戶標(biāo)識符:用戶根據(jù)自己的需要來定義的。(2)常量:定義:是指在程序的執(zhí)行過程中,其指不會被改變的量、分類:1)整型常量:沒有小數(shù)的常量3 9 1232)實(shí)型常量:有小數(shù)點(diǎn)的常量3.9 3.0 3)字符常量:由單個(gè)字符組成的量'a' 'b' '5'(內(nèi)存中占1個(gè)存儲單元)4)字符串常量:至少有一個(gè)字符組成的量"a" "abc" "fgbrhbg"
6、(內(nèi)存中以-0結(jié)束,占兩個(gè)存儲單元)5)符號常量:符號常量的值到底是多少,這是由在來定義符號常量時(shí)來決定的。#define pi 3.14(宏定義)以下選項(xiàng)中,能用作數(shù)據(jù)常量的是:A)o115 B)0118 C)1.5e1.5 D)115l以下選項(xiàng)中不能作為c語言合法常量的是:AA)'cd' B)0.1e+6 C)"a" D)'011'以下選項(xiàng)中不屬于字符常量的是:BA)'C' B)"C" C)'xCC0' D)'072'(3)整型常量與實(shí)型常量整型常量的表示方法*十進(jìn)制數(shù):
7、0-9*八進(jìn)制數(shù):以0開頭的數(shù)字,由0-7組成。下列合法的八進(jìn)制數(shù)是:A)0 B)028 C)-077 D)01.0*十六進(jìn)制數(shù):以O(shè)X開頭,由0-9和A-F組成。A)oxff B)Oxabc C)Ox11 D)Ox19實(shí)型常量的表示方法:134.2小數(shù)形式:134.2指數(shù)形式:1.342e2*字母e和E之前必須要偷*字母e和E之后的數(shù)字必須是整數(shù)*字母e和E之間不能有空格2.90E-1 0.425E 3 -444.5 424E-2 0.1e+6 1.23E1.32.變量的定義1)定義:在程序的運(yùn)行過程中其值可以被改變的量,就叫變量。2)原則:變量必須先定義后再使用。(變量定義的過程就是給變量
8、開品存儲單元的過程。)3)分類:*整型變量:用關(guān)鍵字int來表示short int 短整型long int 長整型 (在內(nèi)存中占4個(gè)單元,如123l)unsigned 無符號 如有-200u這就是錯(cuò)的。(全部是正數(shù))變量的定義:int a 這是定義了一個(gè)整型變量a。* float 單精度 在內(nèi)存中占4個(gè)字節(jié)。* double 雙精度 在內(nèi)存中占8個(gè)字節(jié)。3.算術(shù)表達(dá)式(1)基本的算術(shù)運(yùn)算符+、-、*、/、%這些都是雙目運(yùn)算符(有兩個(gè)操作對象)注意:除%外,其他的運(yùn)算符的運(yùn)算對象可以是整型也可以是實(shí)型。%操作對象只能是整型。如:10%3=1 10.7%5 54.64%643.3說明:1)如果雙目
9、運(yùn)算符兩邊云算數(shù)的類型一致,則所得的結(jié)果的類型與運(yùn)算數(shù)的類型一致。如1.0/2.0=0.5 1/2=02)雙目運(yùn)算符兩邊運(yùn)算數(shù)的類型不一致,則系統(tǒng)會自動(dòng)進(jìn)行類型轉(zhuǎn)換,使兩邊的類型一致后,再進(jìn)行運(yùn)算。1.0/2=0.53)所有的單精度數(shù)據(jù),在運(yùn)算過程中都以雙精度進(jìn)行計(jì)算。(一般定義變量為實(shí)型類型的時(shí)候,可以直接定義為double型)(2)優(yōu)先級( ) + - * / % + -由高低如:5+1/2=54.強(qiáng)制類型轉(zhuǎn)換格式:(類型名)(表達(dá)式)*類型名后面的括號內(nèi)表達(dá)式為單個(gè)表達(dá)式時(shí),可省略括號,當(dāng)后面的為多個(gè)表達(dá)式時(shí),括號不可省略。例如:(int)3.525=3(double)10%3=?例如:
10、表達(dá)式:(int)(double)9/2)-(9)%2的值是:A)0 B)3 C)4 D)5設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是:A)X=Y*5=X+ZB)int(15.8%5)C)x=y+z+5,+yD)x=25%5.05.賦值表達(dá)式格式:變量名=表達(dá)式注:1.不可以顛倒(左邊必須是變量名,右邊必須是C語言中合法的表達(dá)式)2.功能是先求出右邊變大事的值,然后把次賦值給賦值號左邊的變量。確切的說是把數(shù)據(jù)存入以該變量為標(biāo)識的存儲單元中去。a=4 a=b+73.結(jié)合性的優(yōu)先級僅高于逗號表達(dá)式。順序是自右向左的。如a=2+7/34."="是一個(gè)賦值號,不是一個(gè)等號。5.x=
11、y,變量的值也是可以傳遞和賦值的。它的意思是將變量y中的賦值到x中去。同樣N=N+1也成立。6.賦值運(yùn)算符左側(cè)只能是變量,不能是常量或表達(dá)式 a+b=c是違法的。7.賦值號的右邊也可以是一個(gè)賦值表達(dá)式。如a=b=7+1.補(bǔ)充:表達(dá)式和語句的區(qū)別:表達(dá)式后面加一個(gè)分好就是語句。6.復(fù)合賦值表達(dá)式如:1)a+=3-a=a+3 同理可得a*=3 /= -=a+=a=a+a a的初值為9a+=a-=18a+=(a=a-18)a+=(a=-9)a+=a-182)若有定義語句:int x=10;則表達(dá)式x-=x+x的值為:A)-20 B)-10 C)0 D)103)設(shè)有定義:int =2;以下表達(dá)式中,值
12、不為6的是:A)X*=X+1 X=X*(X+1)B)X+.2*XC)X*=(1+X)D)2*X,X+=24)若變量均已正確定義并賦值,以下合法的C語言賦值語句是:A)x=y=5;B)X=n%2.5;C)x+n=ID)x=5=4+1;7.+ -運(yùn)算符 + 自身加1 - 自身減1如:i=3 i+ _I=i+1 i=4*單目運(yùn)算*i+ +i1)#include<stdio.h>int main()int i =3;printf("%dn",i);結(jié)果為:32)#include<stdio.h>int main()int i =3;printf("
13、%dn",+i);結(jié)果為:4*當(dāng)+在前,先自身加1,然后再干別人干的事3)#include<stdio.h>int main()int i =3;printf("%dn",i+);結(jié)果為:3*當(dāng)+在后,先干別人干的事然后再自身加14)int a,i=3;a=i+;a=3;a=+1;a=48.逗號表達(dá)式(1)定義:用逗號將表達(dá)式連接起來的式子稱為逗號表達(dá)式(2)格式:表達(dá)式1,表達(dá)式2,表達(dá)式3,表達(dá)式N(3)說明:1)逗號運(yùn)算符的結(jié)合性為從左到右進(jìn)行計(jì)算,逗號表達(dá)式的值是最后一個(gè)表達(dá)式的值。2)在所有運(yùn)算符中,逗號表達(dá)式的優(yōu)先級最低。例題:int i
14、=5;int a,b,c;a=(i+8,6,i+7); a=12,i=5b=(i+,+i); a=7,i=7c=(i+7,i+); a=5,i=6 9.課后習(xí)題;(1)選擇題:1)以下選項(xiàng)中正確的整型常量是:A.12. B. -20C.1,000 D.2 5 62)以下選項(xiàng)中正確的實(shí)型常量是:A.0B.3. 4344C.0.345*122D.8753)以下選項(xiàng)中不正確的實(shí)型常量是:A.2.50E-1B.0.78646e 2C.-55.55D.566E-24)以下選項(xiàng)中不正確的用戶標(biāo)識符是:A.ABC.CB.fileC)MainD.PRINTF5)以下選項(xiàng)中不正確的用戶標(biāo)識符是:A._123B.
15、printfC)A $D.Dim6)C語言中運(yùn)算對象必須是整型的運(yùn)算符是:A.%B./C.!D.* *7)可在C語言中用作用戶標(biāo)識符的一組標(biāo)識符是:A.voiddefineWORDB.as_b3_123IFC.For-abccaseD.2cDOSIG8)若變量已正確定義并賦值,復(fù)合C語言語法的表達(dá)式是:A.a=a+7;B.a=7+b+c,a+C.int(12.3%3)D.a=a+7=c+b9)以下敘述中正確的是:A.a是實(shí)型變量,c允許進(jìn)行賦值a=10,但不可以這樣說:實(shí)型變量中允許存放整型值。B.在賦值表達(dá)式中,賦值號左邊既可以是變量也可以是任意表達(dá)式。C.執(zhí)行表達(dá)式a=b后,在內(nèi)存中a和b
16、的存儲單元中原有值將被改變,a的值已由原來的值變?yōu)楦淖兒蟮闹?,b的值有原來的改變?yōu)?.D.已有a=3,b=5,當(dāng)執(zhí)行了表達(dá)式a=b,b=a之后。使a中的值變?yōu)?,b中的值變?yōu)?.10)以下敘述正確的是:A.在C語言中無論是整數(shù)還是實(shí)數(shù),只要在允許的范圍內(nèi)都能無誤的表示。B.C程序由主函數(shù)組成C.C程序由若干函數(shù)組成D.C程序中只允許包含一個(gè)函數(shù)11)VC6.0中int類型變量所占字節(jié)數(shù)是:A.1B.2C.3D.412)合法的八進(jìn)制數(shù)是:A.0B.028C.-033D.01.013)不合法的十六進(jìn)制數(shù)是:A.oxffB.0XabcC.0x11D.0x19(2)填空題:1)若K為INT型變量。請寫
17、出運(yùn)算K+后表達(dá)式的值()和變量K的值()2)若X為DOUBLE型變量,請寫出運(yùn)算X=3.2,+X后表達(dá)式的值()和變量X的值()3)函數(shù)體由()開始,由()結(jié)束。函數(shù)體內(nèi)的前面是(定義說明)部分,后面是(語句)部分。4)C語言中的標(biāo)識符可以分為(關(guān)鍵字)、(用戶標(biāo)識符)和預(yù)定義標(biāo)識符。5)在C語言中,用關(guān)鍵字()定義基本整型變量,用關(guān)鍵字()定義單精度實(shí)型變量。用( )定義雙精度實(shí)型變量6)把a(bǔ)1,a2定義成雙精度實(shí)型變量,并賦初值1的定義語句是()7)C語言程序中定義的變量,代表內(nèi)存中的一個(gè)()8)表達(dá)式3.5+1/2的計(jì)算結(jié)果是()二、基本輸入、輸出語句1.printf函數(shù)的一般調(diào)用形式
18、格式:printf(格式控制,輸出項(xiàng)1,輸出項(xiàng)2,輸出項(xiàng)3);在printf函數(shù)的最后面加上;號就是輸出語句。1)給輸出項(xiàng)白提供輸出格式說明格式說明符:作用:就是使數(shù)據(jù)按格式說明符的要求進(jìn)行輸出。組成:由%號和緊跟在其后的格式描述符組成。*int%d*float或double%f或%e(科學(xué)計(jì)數(shù)法)*char%c2)提供原樣輸出的文字或字符*在“”中除了格式說明符之外的內(nèi)容要全部原樣輸出。*各個(gè)輸出項(xiàng)之間要用逗號隔開。*輸出項(xiàng)可以使任意合法的常量,變量或表達(dá)式。2.printf中常用的格式說明:在格式說明符中,每一個(gè)格式說明符都必須以%號開頭由相應(yīng)的類型標(biāo)識字母結(jié)束。但在他們之間可以有其他的一
19、個(gè)內(nèi)容:(1)%c:輸出一個(gè)字符(2)%d:輸出一個(gè)十進(jìn)制的數(shù)據(jù)(3)%o:以八進(jìn)制格式輸出(4)%x:以十六進(jìn)制輸出(5)%u:無符號十進(jìn)制輸出(6)%f:以帶小數(shù)點(diǎn)的數(shù)字輸出(7)%e:以指數(shù)形式輸出(8)%s:輸出一個(gè)字符串(9)%:輸出一個(gè)%(10)%4d:輸出的數(shù)據(jù)長度是4個(gè)長度,當(dāng)原來的長度大于4時(shí)會自動(dòng)突破。小于4時(shí)會自動(dòng)填充空格。(11)%x.yf:x代表數(shù)制的寬度(包括小數(shù)點(diǎn));y代表小數(shù)點(diǎn)后面的小數(shù)位數(shù)。3.注意事項(xiàng)1)輸出比較自由一些,輸出有的各個(gè)數(shù)之到底是什么,取決于格式說明符之間的內(nèi)容。2)格式說明符要與輸出項(xiàng)一一對應(yīng)。3)輸出語句中還可以有nr t a4)盡量不要在
20、輸出語句中改變輸出變量的值。*int a=2;printf("%d%d",a+,a);結(jié)果:2,25)輸出的數(shù)據(jù)中如果存在變量,一定要是定義過的。4.輸出語句例題:1)#include<stdio.h>main()int a=1,b=0;printf("%d,",b=a+b);printf("%dn",a=2*b);程序運(yùn)行后的輸出結(jié)果是:A.0,0B.1,0C.3,2D.1,22)double y=3.141593;printf("%d%8.6f",x,y);輸出結(jié)果是:A.123.141593B.1
21、23.141593C.12,3.141593D.12 3.1415933)#include<stdio.h>main()double a=123.456;printf("%6.2f",a);輸出結(jié)果為:5.輸入語句:格式:scanf(格式控制,輸入項(xiàng)1.輸入項(xiàng)2,);例如:想通過鍵盤輸入三個(gè)是分別給變量a,b,c。并且他們分別為整型,浮點(diǎn)型,雙精度型。輸入語句為scanf("%d%f%lf",&k,&a,&y);說明:(1)格式說明符與輸出語句一樣。(2)在格式串中,必須含有與輸入項(xiàng)對應(yīng)的格式轉(zhuǎn)換說明符。(3)在VC6
22、.0的環(huán)境下,要收輸入的double型數(shù)據(jù)的格式說明符一定要用%lf,否則數(shù)據(jù)不能正確的輸入。(4)由于輸入時(shí)一個(gè)字符流,所以當(dāng)輸入的數(shù)據(jù)少于輸入項(xiàng)時(shí),程序會等待用戶輸入,直到滿足要求。當(dāng)輸入得分?jǐn)?shù)據(jù)多余輸入項(xiàng)時(shí),多余的數(shù)據(jù)會自動(dòng)作廢。(5)%*d:跳過輸入6.練習(xí)題與復(fù)合語句、空語句:(1)復(fù)合語句:多個(gè)語句被括起來,當(dāng)成一條語句來執(zhí)行。(2)空語句:最后的表示只有一個(gè)“;”(用于計(jì)數(shù))練習(xí)題:(1)選擇題1)int x;x=11/3;int y = 5;printf("%d,%dn",x,y);輸出結(jié)果為:%d,%32)若變量已正確說明為int類型,要給a,b,c輸入數(shù)
23、據(jù),以下正確的語句是:A.read(a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%D%D%D",&a,&b,&c);D.scanf("%d%d%d",&a,&b,&c);3)若變量已正確說明為float類型,要通過以下賦值語句給a賦予10、b賦予22、c賦予33,以下不正確的輸入形式是:BA.10B.10.0,22.0,33.0C.10.0D.10 222222.0,33.03333scanf("%f%f%f",&a,&am
24、p;b,&c);(2)編程題4)編寫一個(gè)程序,從鍵盤上輸入兩個(gè)數(shù)字,然后讓他們互換一下。#include<stdio.h>int main()int a,b,c;printf("請輸入兩個(gè)數(shù):n");scanf("%d %d",&a,&b);a=b;b=c;c=a;printf("兩數(shù)交換后的結(jié)果為:%d %d",a,b);5)編寫一個(gè)程序,從鍵盤上輸入一個(gè)數(shù)字,進(jìn)行四舍五入計(jì)算,要求保留兩位小數(shù)。#include<stdio.h>int main()double a;printf(&q
25、uot;請輸入一個(gè)要進(jìn)行四舍五入的數(shù):n");scanf("%lf",&a);a=a*100+0.5;a=(int)(a);a=a/100;printf("四舍五入的結(jié)果為:%lf",a);6)編寫程序,使從鍵盤上輸入的三個(gè)數(shù)倒著輸出:#include<stdio.h>int main()int a,b,c,d;scanf("%d",&a);if(a>=1000)printf("輸入有誤,請重新輸入:n");scanf("%d",&a);b=a
26、/100;c=(a%100)/10;d=a%10;a=d*100+c*10+b;printf("%dn",a);三:c語言的程序結(jié)構(gòu)1.關(guān)系運(yùn)算與邏輯運(yùn)算:(1)簡介:關(guān)系表達(dá)式與邏輯表達(dá)式的運(yùn)算結(jié)果都會得到一個(gè)邏輯值。就是“真”,“假”在c語言鐘0表示“假”,非0(無論是負(fù)數(shù)還是正數(shù)都是真。更多時(shí)候用1來代替)表示“真”。(2)幾個(gè)簡單的關(guān)系運(yùn)算符:< <= > >= = !=注意:1)由兩個(gè)字符組成的運(yùn)算符,中間不能有空格。2)它們都是雙目運(yùn)算符,具有自左向右的結(jié)合型。3)上面的6個(gè)運(yùn)算符中,前4個(gè)的優(yōu)先級要比后面2個(gè)的優(yōu)先級要高。4)先計(jì)算,后
27、判斷,然后進(jìn)行賦值計(jì)算。(3)幾個(gè)簡單的邏輯運(yùn)算符&&與一假則假|(zhì)或一真則真!非非假則真,非真則假例:1)1&&0=1,0&&6=02)int a=4,b=7;a&&b=1;3)int x=0,y=7;x+&&y+=?x=?y=?+x&&y+=?x=?y=?2.if語句:(1)定義:只有兩種結(jié)果。要么執(zhí)行這條語句,要么執(zhí)行那條語句。if(條件表達(dá)式)上述條件成立執(zhí)行(花括號【符合語句】、離ifz最近的一條句子、空語句)的句子else上述條件不成立執(zhí)行的句子(2)分類:1)不含有else的語句if(條
28、件)語句2)含有else的語句if(條件)語句1;else語句2;語句3;(語句3不受控制)例:#include<stdio.h>int main()int a,b,c,t;printf("input 3 numbers:n");scanf("a=%d b=%d c=%d",&a,&b,&c);if(a>b)t=a;a=b;b=t;if(a>c)t=c;c=a;a=t;if(b>c)a=b;b=c;c=t;printf("%d %d %dn",a,b,c);3.if的嵌套:(1)講
29、解#include<stdio.h>int main()int a;scanf("%d",&a);if(a>60)if(a>90)printf("you");elseprintf("liang");elseprintf("cha");輸入一個(gè)學(xué)生的成績,評定他的成績。每十分一個(gè)等級#include<stdio.h>main()int a;printf("input a number:n");scanf("a=%d",&a);
30、if(a>=90) printf("A");elseif(a>=80) printf("B");elseif(a>=70) printf("C");elseif(a>=60) printf("D")else printf("E");(3)例題:1)設(shè)有定義:inta=1,b=2,c=3;以下語句中執(zhí)行效果與其他三個(gè)不同德是:A.if(a>b) c=a,a=b,b=c;B.if(a>b) c=a;a=b;b=c;C.if(a>b) c=a;a=b;b=c;
31、D.if(a>b) c=a,a=b,b=c;2)有以下程序,程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍內(nèi)會有輸出結(jié)果:#include<stdio.h>main()int x;scanf("%d",&x);if(x<=3) ; else if(x!=10)printf("%dn",x);A.不等于10的整數(shù)B.大于3且不等于10的整數(shù)C.大于3或等于10的整數(shù)D.小于3的整數(shù)3)有以下程序,程序的輸出結(jié)果為:#include<stdio.h>main()int a=1,b=2,c=3,d=0;if(a=1&&
32、;b+=2)(b+一次,b=3)if(b!=2|c-!=3)(由于b!=2成立,后面的c-不會執(zhí)行,因此c的結(jié)果不變)printf("%d,%d,%dn",a,b,c);else printf("%d,%d,%dn",a,b,c);else printf("%d,%d,%dn",a,b,c);A.1,2,3 B.1,3,2 C.1,3,3 D.3,2,14.條件表達(dá)式1)是c語言中唯一的一個(gè)三目運(yùn)算2)格式:表達(dá)式1?表達(dá)式2:表達(dá)式3當(dāng)表達(dá)式1成立(非零時(shí)),表達(dá)式的值是表達(dá)式2的值,否則就是3的值。如:1)1<2?4:52)
33、printf("%d",x<0?(-1)*+x:x+);(假定X的值為-3)3)x+>3?(x<3?a,b):b5.switch語句:switch(表達(dá)式)case常量表達(dá)式1:語句1;break;case常量表達(dá)式2:語句2;break;case常量表達(dá)式3:語句3;break;case常量表達(dá)式4:語句4;break;case常量表達(dá)式5:語句5;break;case常量表達(dá)式6:語句6;default:語句n;(1)switch后面無分號(2)通常常量表達(dá)式為整型類型(3)default用于最后系統(tǒng)自動(dòng)判斷的剩余值(4)break用于返回,退出循環(huán)(
34、最后一條語句不用加break,因?yàn)閳?zhí)行完后只有最后一個(gè)返回值了)(5)case后面有一定要加一個(gè)空格,關(guān)鍵字后面不能與其他字符連在一起。6.習(xí)題(1)選擇題1)下列運(yùn)算符中優(yōu)先級最高的運(yùn)算符是:A.!B.%C.-=D.&&2)下列運(yùn)算符中優(yōu)先級最低的運(yùn)算符是:A.|B.!=C.<=D.+3)設(shè)a、b、c都是int型變量,且a=3,b=4,c=5;則以下表達(dá)式中,值為0的表達(dá)式為:A.a&&bB.a<=bC.a|b+c&&b-cD!(a<b)&&!c|1)4)以下程序的輸出結(jié)果為:A.0B.1C.2D.3main(
35、)int a=2,b=-1,c=2;if(a<b)if(b<0)c=0;else c+=1;printf("%dn",c);(else與最近的if配對,若第一個(gè)if不成立,則繼續(xù)執(zhí)行下一條語句。)5)以下程序的輸出結(jié)果為:A.1B.2C.3D.4main()int w=4,x=3,y=2,z=1;printf("%dn",(w<z?w:z<y?z:x);6)若執(zhí)行以下程序時(shí)從鍵盤山輸入3和4,則輸出結(jié)果為:A.14B.16C.18D.20main()int a,b,s;scanf("%d%d",&a,&
36、amp;b);s=a;if(a<b) s=b;s*=s;printf("%dn",s);7)以下是if語句的基本形式:Dif(表達(dá)式)語句;其中“表達(dá)式”A.必須是邏輯表達(dá)式B.必須的關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以使任意合法的表達(dá)式*if括號內(nèi)用的最多的是邏輯表達(dá)式*其次是邏輯表達(dá)式*有時(shí)候要實(shí)現(xiàn)程序的某種特定的需求,會用一些特殊的表達(dá)式(2)填空題1)C語言中用(非零)表示真,用(零)表示假。2)比較!=和<=的優(yōu)先級3)C語言中邏輯運(yùn)算符的優(yōu)先級順序?yàn)椋ǚ牵?、(與)、(或)4)C語言中邏輯運(yùn)算符(非)的優(yōu)先級最高5)將下列數(shù)學(xué)式改寫成C語
37、言的滾系表達(dá)式或邏輯表達(dá)式A)a=b|a<c和B)x>4|x<-4A)a=b或a<cB)|x|>46)請寫出以下程序的輸出結(jié)果:_main()int a=100;if(a>100) printf("%dn",a>100);elseprintf("%dn",a<=100);7)請寫出與以下表達(dá)式等價(jià)的表達(dá)式A)_B)_A)!(x>0)A)!0 8)當(dāng)a=1,b=2,c=3時(shí),以下C語句執(zhí)行后,a、b、c中的值分別為_、_、_if(a>c)b=a;a=c;c=3,2,3;3,2,2;9)若變量已正確
38、定義,以下語句段的輸出結(jié)果為:_x=0,y=2,z=3;switch(x)case 0:switch(y=2)case 1:printf("*");break;case 2:printf("%");break;case 1:switch(z)case 1:printf("$");case 2:printf("*");break;default printf("#");*switch(x)=0,執(zhí)行循環(huán)體內(nèi)的case 0;*y=2,為比較表達(dá)式,若條件成立,則執(zhí)行為真,即“1”;*break常用于
39、循環(huán)語句中,條出的為離它最近的一層循環(huán);(3)編程題1)請將以下的語句改成switch語句。if(a<30)m=1;else if(a<40)m=2;else if(a<50)m=3;else if(a<60)m=4;else m=5;轉(zhuǎn)化為:switch(a/10)case 3:m=1;break;case 4:m=2;break;case 5:m=3;break;case 6:m=4;break;default:m=5;2)編寫程序,輸入一位學(xué)生的生日(年:y0、月m0、日d0);并輸入當(dāng)前的日期(年:y1、月:m1、日:d1);輸出該生的實(shí)足年齡。#include
40、<stdio.h>int main()int a,b,c,x,y,z,n;printf("請輸入你的生日:n");scanf("%d %d %d",&a,&b,&c);if(a>2015|b>12|c>31)printf("輸入有誤,請重新輸入:n");scanf("%d %d %d",&a,&b,&c);printf("請輸入現(xiàn)在的時(shí)間:n");scanf("%d %d %d",&x,&a
41、mp;y,&z);if(a>2015|b>12|c>31)printf("輸入有誤,請重新輸入:n");scanf("%d %d %d",&x,&y,&z);if(x>a)if(y>b)n=x-a+1;elsen=x-a;printf("您現(xiàn)在有%d歲n",n);3)編寫程序,輸入三個(gè)數(shù),打印出最大值#include<stdio.h>int main()int a,b,c,t;t=a;if(a>b)if(b>c) t=a;else t=celse t
42、=b;printf("%dn",t);四、循環(huán)結(jié)構(gòu)1.while語句:(1)格式:while(表達(dá)式)循環(huán)體(2)注意:1)while是一個(gè)關(guān)鍵字2)括號及括號內(nèi)的表達(dá)式不能丟3)while控制的是與其相鄰的一條語句(以“;”結(jié)束),如果有多條語句,則要用括起來(復(fù)合語句)。4)while語句多用于控制重復(fù)某一操作來實(shí)現(xiàn)某種計(jì)算。(3)例題例:從1加到100求和#include<stdio.h>int main()int sum=0,i=1;while(i<=100)sum+=i+;printf("%dn",sum);例:從1開始加到哪
43、個(gè)數(shù)時(shí)他們的和超過1000#include<stdio.h>int main()int i=1,sum=0,j=1;while(sum<=1000)sum+=i+;printf("%dn",-i);*程序中的"-i"是因?yàn)楫?dāng)sum的值大于1000時(shí),i累計(jì)多加了一次,因此在輸出結(jié)果時(shí)要自身先減1;例:有以下程序,運(yùn)行后輸出結(jié)果為:D#include<stdio.h>int main()int n=2,k=0;while(k+&&n+>2);printf("%d %dn",k,n);A
44、.0 2B.1 3C.5 7D.1 21)k+&&n+>2后,由于首先執(zhí)行k+>2,結(jié)果為假,但自身加1,執(zhí)行完后k=1;n+不會執(zhí)行,因此n無變化,n=2。2)while語句后面有一個(gè)分號,這里表示while控制的是一條空語句,繼續(xù)向下執(zhí)行,輸出的結(jié)果:1 22.do while()(1)格式do循環(huán)體while(表達(dá)式)(2)注意1)先執(zhí)行循環(huán),后判斷條件。2)循環(huán)體至少執(zhí)行1次。3)while后面的分號必須要有。3.for語句(1)格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體for(k=1;k<10;k+)printf("*")
45、;|int k=1;while(k<10)printf("*");k+;(2)注意1)表達(dá)式1是對變量的初始2)表達(dá)式2為條件表達(dá)式,邏輯表達(dá)式3)循環(huán)內(nèi)包含的控制變量4)表達(dá)式的間隔為分號且不能省略,不是逗號5)一個(gè)表達(dá)式可以為任何有效的C語言表達(dá)式,以“,”為分隔,最后一個(gè)為“;”結(jié)束6)表達(dá)式可以為空語句(;),但不能少分號(3)例題1)從1+100求和。#include<stdio.h>int main()int i=1;sum=0;for(;i<=100;i+)sum+=i;2)從1+100中偶數(shù)的和。#include<stdio.h
46、>int main()int i=2;sum=0;for(;i<=100;i+=2)sum+=i;3)以下程序的輸出結(jié)果為#include<stdio.h>int main()int c=0,k;for(k=1;k<3;k+)switch(k)default:c+=k;case 2:c+;break;case 4:c+=2;break;printf("%dn",c);A.3B.5C.7D.9分析:default:c+=k;這里沒有break跳出循環(huán),繼續(xù)執(zhí)行case 2:c+后,變?yōu)?;執(zhí)行第二次循環(huán)k=2;c變?yōu)?;4)以下程序的輸出結(jié)果為_
47、0 1 123_#include<stdio.h>int main()int f,f1,f2,i;f1=0;f2=1;printf("%d %d".f1,f2);for(i=3;i<=5;i+)f=f1+f2;printf("%d",f);f1=f2;f2=f;分析:f用來求f1+f2的和,共求3次,f1=f2用來把f1的值歸1;f2=f用來把求得的值賦給下一次循環(huán)計(jì)算時(shí)的變量。4.for嵌套(1)實(shí)例1要求:在屏幕上輸出如下結(jié)果:11,12,13,14,15,16,17,8,1922,99#include<stdio.h>
48、int main()int i,j;for(i=1;i<10;i+)for(j=1;j<10;j+)printf("%d%d ",i,j);printf("n");(2)實(shí)例2要求:在屏幕上輸出如下結(jié)果:1*1=1 1*2=2 1*3=3 1*9=99*1=9 9*2=18 9*3=279*9=81#include<stdio.h>int main()int i,j;for(i=1;i<=9;i+)for(j=1;j<=9;j+)printf("%d*%d=%2d ",i,j,i*j);printf
49、("n");(3)實(shí)例3要求:在屏幕上輸出倒三角* * * *#include<stdio.h>int main()int i,j,k;for(i=0;i<=4;i+)for(k=1;k<=i;k+)prinf(" ");for(j=0;j<7-i*2;j+)printf("*");printf("n");(4)注意1)for嵌套先執(zhí)行內(nèi)循環(huán),執(zhí)行完一遍后再執(zhí)行外循環(huán)。2)花括號控制最近的一個(gè)for循環(huán)體(5)素?cái)?shù)的判定編寫程序,找出2-100以內(nèi)的所有素?cái)?shù)素?cái)?shù):只能被1和它本身整除的
50、數(shù)#include<stdio.h>int main()int i,k,tag;for(i=3;i<=100;i+=2)tag=0;for(k=2;k<sqrt(i)&&tag=0;k+)if(i%k=0)tag=1;if(tag=0)printf("%d",i);1)sqrt:c庫函數(shù)里求平方的值的函數(shù)2)tag=0:6.break,continue語句(1)break終止了break所在的當(dāng)層循環(huán)的執(zhí)行。main()int i,s=0;for(;i+)s+=i;if(s>5000)break;printf("s=%
51、d,i=%d",s,i);(2)continue跳過循環(huán)體continue所在位置下面的語句,返回程序開始的地方,繼續(xù)執(zhí)行下一層循環(huán)體main()int k=1,s=0;for(;k<=5;k+)s+=kif(s>5)printf("s=%dn",s);continue;printf("%dn",s);輸出結(jié)果為:1 3S=6s=10s=157.程序應(yīng)用及習(xí)題(1)選擇題1)以下程序中的變量已正確定義,輸出結(jié)果為:for(i=0;i<4;i+) for(k=1;k<3;k+) ; printf("*"
52、);A.*B.*C.*D.*外層循環(huán)與內(nèi)層循環(huán)控制的都是輸出空語句,程序最后才執(zhí)行輸出一個(gè)*2)以下程序輸出結(jié)果為:A.9B.1C.11D.10int k,j,s;for(k=2;k<6;k+,k+)s=1;for(j=k;j<6;j+) s+=j;printf("%dn",s);5 7 9 11*外循環(huán)中有兩次k+,相當(dāng)于k+=2;那么當(dāng)k小于6時(shí),程序循環(huán)兩次*每次執(zhí)行內(nèi)層循環(huán)之后,s的值都變?yōu)?;直接看最后一次的外循環(huán)3)以下程序輸出結(jié)果為:A.12B.15C.20D.25int i,j,m=0;for(i=1;i<=15;i+=4) for(j=3
53、;j<=19;j+=4)m+;printf("%dn",m);*外層:i=1,5,9,13*內(nèi)層:j=3,7,11,15,194)以下程序輸出結(jié)果為:BA.10B.9C.10D.9 9 8 9 8 8 7 8 7 7 6 int n=10;while(n>7)n-;printf("%dn",n);5)以下程序段的輸出結(jié)果為:A.1B.3 0 C.1 -2D.死循環(huán)int x=3;doprintf("%3d",x-=2);while(!(-x);*執(zhí)行第一次循環(huán)之后x為1,-x為0;!0則為真,繼續(xù)執(zhí)行循環(huán)體6)以下程序段的
54、輸出結(jié)果為:A.15B.14C.不確定D.0main()int i,sum;for(i=1;i<6;i+) sum+=sum;printf("%dn",sum);*sum無確定的值7)以下程序段的輸出結(jié)果為:A.741B.852C.963D.875421main()int y=10;for(;y>0;y-)if(y%3=0)printf("%d",-y);continue*程序輸出的是1-10之間3的倍數(shù)自減1的結(jié)果8)若x是int型變量,以下程序段輸出結(jié)果為:A.*3B.#3C.#3D.*3#4 #4 *4*4#5 *5 *5 #5for(
55、x=3;x<6;x+)printf(x%2)?("*%d"):("#%dn"),x);*1,0,1:真,假,真9)以下程序段的輸出結(jié)果為:A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$main()int i;for(i=1;i<=5;i+)if(i%2)printf("*");else continue;printf("#");printf("$n");*循環(huán)體:i=1,2,3,4,5;*奇數(shù)時(shí)輸出*#,偶數(shù)什么也不是輸出。10)以下敘述正確的是:A.do while語句構(gòu)成的的循環(huán)不能用其他語句構(gòu)成的循環(huán)代替B.do while語句構(gòu)成的循環(huán)只能用break語句退出C.用do wh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 借款投資合作合同范本
- 公司廠房抵押合同范本
- ktv經(jīng)營合同范本
- 與商戶合同范本
- 親戚之間租車合同范本
- 勞動(dòng)合同范本 日語
- 2024年重慶市榮昌區(qū)人民醫(yī)院招聘筆試真題
- 中國監(jiān)理合同范本
- 中山餐飲合同范本
- 2024年河源市紫金縣藍(lán)塘鎮(zhèn)招聘考試真題
- 商會2025年工作計(jì)劃
- 《安全生產(chǎn)法》2024版
- 《消費(fèi)者心理與行為分析》第五版 課件全套 肖澗松 單元1-10 消費(fèi)者心理與行為概述 - 消費(fèi)者購買決策與購后行為
- 《會展概述》課件
- 體檢報(bào)告電子版
- 2024年中考語文真題分類匯編(全國版)專題12議論文閱讀(第01期)含答案及解析
- 七年級下冊心理健康教育教學(xué)設(shè)計(jì)
- 食堂清洗及消毒制度
- 服裝質(zhì)量管理制度
- 自然辯證法概論:第四章-馬克思主義科學(xué)技術(shù)社會論
- 會議會務(wù)服務(wù)投標(biāo)方案投標(biāo)文件(技術(shù)方案)
評論
0/150
提交評論