


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單項選擇題1. A是構(gòu)成C語言程序的根本單位。A、函數(shù)B、過程C、子程序 D、子例程2. C語言程序從C開始執(zhí)行。A程序中第一條可執(zhí)行語句??B程序中第一個函數(shù)?C程序中的main函數(shù)??D包含文件中的第一個函數(shù)3. 以下說法中正確的選項是 C。A、C語言程序總是從第一個定義的函數(shù)開始執(zhí)行B、 在C語言程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義C、C語言程序總是從 main函數(shù)開始執(zhí)行D、C語言程序中的 main函數(shù)必須放在程序的開始局部4. 以下關(guān)于C語言的說法錯誤的選項是B 。AC程序的工作過程是編輯、編譯、連接、運行BC語言不區(qū)分大小寫。CC程序的三種根本結(jié)構(gòu)是順序、選擇、循環(huán)DC程序
2、從main函數(shù)開始執(zhí)行5. 以下正確的標(biāo)識符是C 。A. -a1B.aiC.a2_iD.i ntt58題為相同類型題考點:標(biāo)識符的命名規(guī)那么1只能由字母、數(shù)字、下劃線構(gòu)成2數(shù)字不能作為標(biāo)識符的開頭3關(guān)鍵字不能作為標(biāo)識符選項A中的-,選項B中“與“不滿足1;選項D中的int為關(guān)鍵字,不滿足36 以下C語言用戶標(biāo)識符中合法的是B 。A3axBxCcaseD-e2Eu nio n選項A中的標(biāo)識符以數(shù)字開頭不滿足2;選項C, E均為為關(guān)鍵字,不滿足3;選項D中的不滿足1;7以下四組選項中,正確的C語言標(biāo)識符是C。A %xB a+bC a123D 123選項A中的“%,選項B中“ +不滿足1;選項D中的
3、標(biāo)識符以數(shù)字開頭不滿足28. 以下四組字符串中都可以用作 C語言程序中的標(biāo)識符的是 A。A、print_3ddb8aBcB、lamone_halfstart$it3paiC、str_1CpppowwhileD、PxqMy->bookline#His.age選項B中的“',$選項D中“> # ,不滿足1;選項C中的while為關(guān)鍵字,不滿足39. C語言中的簡單數(shù)據(jù)類型包括D。A、整型、實型、邏輯型B、整型、實型、邏輯型、字符型C、整型、字符型、邏輯型D、整型、實型、字符型10. 在C語言程序中,表達(dá)式 5%2的結(jié)果是C。A)2.5B)2C)1D)3詳見教材P5253.%為求
4、余運算符,該運算符只能對整型數(shù)據(jù)進(jìn)行運算。且符號與被模數(shù)相同。5%2=1 ; 5% (-2) =1 ;(-5) %2=-1 ;( -5)%( -2)=-1 ;/為求商運算符,該運算符能夠?qū)φ汀⒆址?、浮點等類型的數(shù)據(jù)進(jìn)行運算,5/2=211. 如果inta=3,b=4 ;那么條件表達(dá)式 "a<b?a:b"的值是 _A_。A)3B)4C)0D)1詳見教材P97.表達(dá)式1 ?表達(dá)式2:表達(dá)式3先計算表達(dá)式1 ,假設(shè)表達(dá)式1成立,那么選擇計算表達(dá)式2,并表達(dá)式2的值作為整個大表達(dá)式的值;假設(shè)表達(dá)式1不成立,那么選擇計算表達(dá)式3,并將表達(dá)式 3的值作為整個大表達(dá)式的值此題中的
5、a<b相當(dāng)于表達(dá)式1,a相當(dāng)于表達(dá)式 2,b相當(dāng)于表達(dá)式3.a為3,b為4。a<b表達(dá)式1成立,因此計算表達(dá)式2,并將表達(dá)式2的值即a中的值,并作為整個表達(dá)式的值,因此整個表達(dá)式的值為312. 假設(shè) intx=2,y=3,z=4 那么表達(dá)式 x<z?y:z 的結(jié)果是(B).A)4B)3C)2D)0E)113. C語言中,關(guān)系表達(dá)式和邏輯表達(dá)式的值是( B)。A)0B)0 或 1C)1D) ' !或F'14. 下面(D)表達(dá)式的值為4.?A)11/3?B)11.0/3?C)(float)11/3?D)(i nt)(11.0/3+0.5)1416題為同一類型詳見教
6、材P5456.(1) 相同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運算(+、-、*、/)得到結(jié)果還保持原數(shù)據(jù)類型。(2) 不同數(shù)據(jù)類型的元素進(jìn)行數(shù)學(xué)運算,先要統(tǒng)一數(shù)據(jù)類型,統(tǒng)一的標(biāo)準(zhǔn)是低精度類型轉(zhuǎn)換為高精度 的數(shù)據(jù)類型。選項A,11與3為兩個整數(shù),11/3結(jié)果的數(shù)據(jù)類型也應(yīng)為整數(shù),因此將3.666666的小數(shù)局部全部舍掉,僅保存整數(shù),因此11/3=3.選項B,11.0為實數(shù),3為整數(shù),因此首先要統(tǒng)一數(shù)據(jù)類型,將整型數(shù)據(jù)3轉(zhuǎn)換為3.0,轉(zhuǎn)換后數(shù)據(jù)類型統(tǒng)一為實型數(shù)據(jù),選項B變?yōu)?1.0/3.0,結(jié)果的數(shù)據(jù)類型也應(yīng)為實型數(shù)據(jù),因此選項B11.0/3=3.666666選項C,先將整數(shù)11強(qiáng)制類型轉(zhuǎn)換,轉(zhuǎn)換為實型11.0
7、,因此選項 C變?yōu)?1.0/3,其后計算過程、結(jié)果與選項B同選項D,首先計算11.0/3,其計算過程、結(jié)果與選項 B同,得到3.666666 ;再計算3.666666+0.5=4.166666, 最后將4.166666強(qiáng)制類型轉(zhuǎn)換為整型,即將其小數(shù)局部全部舍掉,結(jié)果為415. 設(shè)整型變量a=2,那么執(zhí)行以下語句后,浮點型變量b的值不為0.5的是(B )A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a*1.0)16. 假設(shè) "intn ;floatf=13.8;那么執(zhí)行',“ n=(i nt)f%3 后,"n 的值是(A)
8、“ (int)f表示將f中的值強(qiáng)制類型轉(zhuǎn)換為整型,即將13.8的小數(shù)局部舍掉,轉(zhuǎn)換為13 ;然后計算13%3,結(jié)果為1,再將結(jié)果賦給變量n,因此n的值為117. 以下對一維數(shù)組 a的正確說明是:DA) chara (10);B)inta;C)intk = 5, ak ; D) chara3= a' , ' b' , ' c' ;詳見教材P143144,一維數(shù)組的定義、初始化類型符數(shù)組名常量表達(dá)式類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識符命名規(guī)那么;常量表達(dá)式是指數(shù)組的長度(數(shù)組中包含元素的個數(shù)),其值只能是整數(shù),不可以是變量,而且從1開始計數(shù)。選
9、項A,常量表達(dá)式只能放在中括號中選項B,只有在對數(shù)組初始化(即賦值)的時候才可以省略數(shù)組的長度,B中并未對a進(jìn)行初始化。選項C,常量表達(dá)式不能為變量。18. 以下能對一維數(shù)組a進(jìn)行初始化的語句是:(C)A.i nta5=(0,1,2,3,4,)B.i nta(5)=C.i nta3=0,1,2D.i nta5=10*1詳見教材P145, 一維數(shù)組的定義、初始化選項B,D,常量表達(dá)式只能放在中括號中選項A,數(shù)組可以看做是假設(shè)干個相同數(shù)據(jù)類型元素的有序集合,因此以集合的形式對其初始化,使用對其初始化,選項A用了().19. 在C語言中對一維整型數(shù)組的正確定義為D。A)i nta(10);B)i n
10、tn=10,a n;C)i ntn ;a n ;D)#defi neN10in taN;20. :inta10;那么對a數(shù)組元素的正確引用是(D )。A、a10B、a3.5C、a(5)D、a0詳見教材P144,數(shù)組元素的引用數(shù)組名下標(biāo)引用數(shù)組元素時,中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開始計數(shù)inta10表示定義了一個包含10個整型數(shù)據(jù)的數(shù)組a,數(shù)組元素的邏輯地址下標(biāo)范圍為09,即a0表示組中第1個元素;a1表示組中第2個元素;a2表示組中第3個元素;a9表示組中第10個元素.選項A,超過了數(shù)組a的邏輯地址下標(biāo)范圍;選項B,邏輯地址下標(biāo)只能為整數(shù)選項C,邏輯地址下標(biāo)只能放在中
11、21. 假設(shè)有以下數(shù)組說明,那么i=10;aai元素數(shù)值是(C )。in ta12=1,4,7,10,2,5,8,11,3,6,9,12;先算aai內(nèi)層的ai,由于i=10,因此ai即a10.a10對應(yīng)下面數(shù)組中的元素為9.因此aai即為a9a9對應(yīng)下面數(shù)組中的元素為6因此a9即為622. 假設(shè)有說明:inta3=1,2,3,4,5,6,7; 那么數(shù)組a的第一維的大小為:(B)A.2B.3C.4D.無確定值57D)369二維數(shù)組的一維大小,即指二維數(shù)組的行數(shù),在此題中,按行對二維數(shù)組賦值,因此內(nèi)層有幾個大括號, 數(shù)組就有幾行23. 對二維數(shù)組的正確定義是(C )詳見教材P149152,二維數(shù)組
12、的定義、初始化類型符數(shù)組名常量表達(dá)式常量表達(dá)式二維數(shù)組可以看做是矩陣類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標(biāo)識符命名規(guī)那么;第一個常量表達(dá)式是指數(shù)組的行數(shù);第二個常量表達(dá)式是指數(shù)組的列數(shù);常量表達(dá)式的值只能是整數(shù),不可以是變量,而且從1開始計數(shù)一維數(shù)組初始化時可以省略數(shù)組長度二維數(shù)組初始化時可以省略行數(shù),但不能省略列數(shù)選項A,B,都省略了列數(shù)選項D,不符合二維數(shù)組定義的一般形式,行、列常量表達(dá)式應(yīng)該放在不同的中A.i nta=1,2,3,4,5,6;B.i nta2=1,2,3,4,5,6;C.i nta3=1,2,3,4,5,6;D.i nta2,3=1,2,3,4,5,6;24 in
13、ta34;那么對數(shù)組元素引用正確的選項是_C_A)a24B)a1,3C)a20D)a(2)(1)詳見教材P150,數(shù)組元素的引用數(shù)組名下標(biāo)下標(biāo)引用數(shù)組元素時,中的下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可以為變量,且從0開始計數(shù)第一個下標(biāo)表示行邏輯地址下標(biāo),第二個下標(biāo)表示列邏輯地址下標(biāo)。此題圖示詳見 P149圖6.7因此a的行邏輯地址范圍02; a的列邏輯地址范圍03 ;選項A,列邏輯地址下標(biāo)超過范圍選項B,D,的引用形式不正確。25.C語言中函數(shù)返回值的類型是由A決定的.A)函數(shù)定義時指定的類型 B)return語句中的表達(dá)式類型C)調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型D)形參的數(shù)據(jù)類型26在C語言中,函數(shù)
14、的數(shù)據(jù)類型是指(A)A函數(shù)返回值的數(shù)據(jù)類型B.函數(shù)形參的數(shù)據(jù)類型C調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型D.任意指定的數(shù)據(jù)類型27. 在函數(shù)調(diào)用時,以下說法正確的選項是( B )A. 函數(shù)調(diào)用后必須帶回返回值B. 實際參數(shù)和形式參數(shù)可以同名C. 函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量D. 主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個文件里28. 在C語言中,表示靜態(tài)存儲類別的關(guān)鍵字是:(C)A)auto B)registerC)static D)extern29 未指定存儲類別的變量,其隱含的存儲類別為(A )。A)autoB)staticC)exter nD)register30. 假設(shè)有以下說明語句:structst
15、ude ntintn um;char name;floatscore;stu;那么下面的表達(dá)不正確的選項是:(D)A. struct是結(jié)構(gòu)體類型的關(guān)鍵字B. structstudent是用戶定義的結(jié)構(gòu)體類型C. num,score都是結(jié)構(gòu)體成員名D. stu是用戶定義的結(jié)構(gòu)體類型名31. 假設(shè)有以下說明語句:structdatein tyear;in tmo nth;in tday;brithday;那么下面的表達(dá)不正確的選項是_c.A) struct是聲明結(jié)構(gòu)體類型時用的關(guān)鍵字B) structdate是用戶定義的結(jié)構(gòu)體類型名C) brithday是用戶定義的結(jié)構(gòu)體類型名D) year,da
16、y都是結(jié)構(gòu)體成員名32. 以下對結(jié)構(gòu)變量 stul中成員age的非法引用是 Bstructstude ntintage ;intnum ;stu1,*p ;p=&stu1 ;A)stu1.ageB)stude nt.ageC)p->ageD)(*p).age33. 設(shè)有如下定義:struckskin ta;floatb;data;in t*p;假設(shè)要使P指向data中的a域,正確的賦值語句是CA)p=&a;B)p=data.a;C)p=&data.a; D)*p=data.a;34. 設(shè)有以下說明語句:typedefstructstuinta;floatb;stu
17、type;那么下面表達(dá)中錯誤的選項是(D )。A、struct是結(jié)構(gòu)類型的關(guān)鍵字B、structstu是用戶定義的結(jié)構(gòu)類型C、a和b都是結(jié)構(gòu)成員名D、stutype是用戶定義的結(jié)構(gòu)體變量名35. 語句int*p;說明了 C。A) p是指向一維數(shù)組的指針B) p是指向函數(shù)的指針,該函數(shù)返回一int型數(shù)據(jù)C) p是指向int型數(shù)據(jù)的指針指針的定義教材P223D) p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)的指針36以下不正確的定義是(A )。A. in t*p=&i,i;B.i nt*p,i;C. inti,*p=&i;D.inti,*p;選項A先定義一個整型指針變量 p,然后將變量
18、i的地址賦給p。然而此時還未定義變量 i因此編 譯器無法獲得變量i的地址。(A與C比照,選項 C先定義變量i,那么在內(nèi)存中為i分配空間,因此i在 內(nèi)存空間的地址就可以確定了;然后再定義p,此時可以為 p賦i的地址,C正確)37假設(shè)有說明:intn=2,*p=&n,*q=p,那么以下非法的賦值語句是:(D)A) p=qB) *p=*qC) n=*qD) p=np,q同為整型指針變量,二者里面僅能存放整型變量的地址。選項A,q中為地址,因此可將此地址賦給p選項B, *p表示p所指向?qū)ο髇的內(nèi)容,即一個整數(shù);*q表示q所指向?qū)ο蟮膬?nèi)容,由于在定義q時為其初始化,將 p中n的地址給q,因此p中
19、存放n的地址,*q表示q所指向?qū)ο髇的內(nèi)容.因此*p=*q 相當(dāng)于n=n;選項C, n=*q等價于n=n;選項D,p中只能存放地址,不能將 n中的整數(shù)值賦給p38有語句:inta10,;那么B是對指針變量 p的正確定義和初始化。A)i ntp=*a;B)i nt*p=a;C)i ntp=&a;D)i nt*p=&a;選項A,a是數(shù)組名,不是指針變量名,因此不可用*標(biāo)注數(shù)組名a選項C,a是數(shù)組名,數(shù)組名就是地址,無需再用地址符號。而且在定義指針變量p時,應(yīng)在變量名前加*,標(biāo)明p是指針變量選項D,a是數(shù)組名,數(shù)組名就是地址,無需再用地址符號。39假設(shè)有說明語句"inta5
20、,*p=a;那么對數(shù)組元素的正確引用是(C)。A.apB.p aC.*(p+2)D.p+2首先定義一個整型數(shù)組a, a的長度為5,然后定義一個指針變量p,并同時對p進(jìn)行初始化,將數(shù)組a的地址賦給p。因此此時p中存放的數(shù)組a的首地址,即數(shù)組中第一個元素a0的地址。對于數(shù)組元素下標(biāo)的引用(詳見p144), 般形式數(shù)組名下標(biāo)其中下標(biāo)為邏輯地址下標(biāo),從 0開始計數(shù),方括號中的下標(biāo)可以是變量,可以是表達(dá)式,但結(jié)果一定要是整數(shù)。選項A,p中存放的是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)選項B,a是數(shù)組名,數(shù)組名就是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)選項C,(重點! ! !詳見p231234)p+2表示指向
21、同一數(shù)組中的下兩個元素的地址,當(dāng)前p指向a0,那么p+2表示a2的地址,因此*(p+2)表示a2的內(nèi)容40. 有如下程序in ta10=1,2,3,4,5,6,7,8,9,10,*P=a;那么數(shù)值為9的表達(dá)式是BA)*P+9B)*(P+8)C)*P+=9D)P+8(重點! !詳見 p231234)首先定義一個整型數(shù)組a, a的長度為5,然后定義一個指針變量P,并同時對P進(jìn)行初始化,將數(shù)組a的地址賦給P。因此此時P中存放的數(shù)組 a的首地址,即數(shù)組中第一個元素a0的地址。數(shù)組中9對應(yīng)的是a8,選項B , P+8表示數(shù)組中后 8個元素的地址,即a8的地址。*(P+8)那么表示該地址內(nèi)所存放的內(nèi)容,即
22、a8的值。選項A , *P表示P所指向?qū)ο蟮膬?nèi)容,此時 P指向a0,*P即a0的值1.*P+9=1+9=10選項C, *P表示P所指向?qū)ο蟮膬?nèi)容,此時 P指向a0,*P即a0的值。因此*P+=9即*P=*P+9,等 價于 a0=a0+9.選項D , P+8表示數(shù)組中后 8個元素的地址,即a8的地址,而非 a8中的值。41. 在C語言中,以D作為字符串結(jié)束標(biāo)志A) ' n' B) ' ' C) '00' D)'42. 以下數(shù)據(jù)中屬于字符串常量的是(A )。A. “ a B.ABCC.'OdbQ. ' a'假設(shè)干個字符
23、構(gòu)成字符串在C語言中,用單引號標(biāo)識字符;用雙引號標(biāo)識字符串選項B,C,分別用和標(biāo)識字符串選項D,標(biāo)識字符。43. charx="hello",y='h','e','a','b','e',那么關(guān)于兩個數(shù)組長度的正確描述是B.A)相同B)x大于yC)x小于yD)以上答案都不對C語言中,字符串后面需要一個結(jié)束標(biāo)志位'0',通常系統(tǒng)會自動添加。對一維數(shù)組初始化時可采用字符串的形式(例如此題數(shù)組x),也可采用字符集合的形式(例如此題數(shù)組y)。在以字符串形式初始化時,數(shù)組x不盡要存儲字符串中
24、的字符,還要存儲字符串后的結(jié)束標(biāo)志位,因此數(shù)組x的長度為6;在以字符集合形式初始化時,數(shù)組y,僅存儲集合中的元素,因此數(shù)組y長度為5二、讀程序根本輸入輸出及流程控制1.#i nclude<stdio.h>mai n()in ta=1,b=3,c=5;if(c=a+b)prin tf("yesn");elseprin tf(" non");運行結(jié)果為:no詳見教材p89選擇結(jié)構(gòu)詳見教材p91關(guān)系符號詳見附錄Dp378符號的優(yōu)先級=表示判斷符號兩邊的值是否相等;=表示將符號右邊的值賦給左邊的變量此題考點是選擇結(jié)構(gòu)3種根本形式的第二種選擇結(jié)構(gòu)三種一
25、般形式中的語句皆為復(fù)合語句,復(fù)合語句要用括起來,只有當(dāng)復(fù)合語句中只包括一條語句時可以省略,此題即如此,因此兩個printf操作沒有加假設(shè) c=a+b 成立,那么執(zhí)行 printf("yesn");否那么(即c=a+b不成立),執(zhí)行printf("non");+的優(yōu)先級高于=,因此先算a+b,值為4,表達(dá)式5=4不成立,因此執(zhí)行printf("non");即輸岀字符串no2.#i nclude<stdio.h>mai n()in ta=12,b=-34,c=56,mi n=0;min=a;if(min>b)min=b;
26、if(min>c)min=c;printf("min=%d",min);運行結(jié)果為: min=-34詳見教材 p89 選擇結(jié)構(gòu)此題考點是選擇結(jié)構(gòu) 3 種根本形式的第一種 一共包含了兩個選擇結(jié)構(gòu)(兩個 if 語句)定義變量,并賦值此時 a=12,b=-34,c=56,min=0將a中值拷貝,賦給 min,覆蓋了 min中的0,此時min中的值被更新為12。假設(shè) min>b 成立,那么執(zhí)行 min=b;假設(shè) min>c 成立,那么執(zhí)行 min=c;輸出 min 中的值12大于-34,第一個if語句的表達(dá)式成立,因此執(zhí)行min=b;執(zhí)行后min中的值被更新為-3
27、4.-34 小于 56,第二個 if 語句的表達(dá)式不成立,因此不執(zhí)行 min=c;最后輸出 min 中的值,為 -34.3.#include<stdio.h>main()intx=2,y=-1,z=5;if(x<y)if(y<0)z=0;elsez=z+1;printf(“ %nd ,z);運行結(jié)果為: 5遇到選擇結(jié)構(gòu),首先要明確條件表達(dá)式成立時執(zhí)行哪些操作。此題中,第一個if語句,其后的復(fù)合語句沒有大括號 ,說明復(fù)合語句中只包含一條語句,進(jìn)而省略了 。內(nèi)層的 if.else.是選擇結(jié)構(gòu)的第二種 根本形式,在結(jié)構(gòu)上視為一條語句。因此內(nèi)層的if.else. 作為第一個 i
28、f 語句的復(fù)合語句。假設(shè)表達(dá)式 x<y 成立,那么繼續(xù)判斷假設(shè) y<0 ,那么執(zhí)行 z=0;否那么(即 y>=0 ) ,執(zhí)行 z=z+1;輸出 z2>-1,表達(dá)式xvy不成立,因此不執(zhí)行內(nèi)層的ifelse 進(jìn)而z中的值沒有被改變。輸出 z 中的值為 54.#include<stdio.h>main()floata,b,c,t;a=3;b=7;c=1;if(a>b)t=a;a=b;b=t;if(a>c)t=a;a=c;c=t;if(b>c)t=b;b=c;c=t; printf("%5.2f,%5.2f,%5.2f",a,
29、b,c);運行結(jié)果為: 1.00,2.00,7.00 詳見教材 p72 數(shù)據(jù)的輸出形式此題包含了 3 個 if 語句,每個 if 語句后的 都不可省略,因為每個 中都包含了多條語句 假設(shè)表達(dá)式 a>b 成立,那么執(zhí)行 t=a;a=b;b=t;假設(shè)表達(dá)式 a>c 成立,那么執(zhí)行 t=a;a=c;c=t; 假設(shè)表達(dá)式 b>c 成立,那么執(zhí)行 t=b;b=c;c=t;輸岀a,b,c中的值,要求輸岀的每個數(shù)據(jù)寬度為5個空格,小數(shù)局部保存2位,數(shù)據(jù)右對齊3 小于 7, 因此表達(dá)式 a>b 不成立,因此不執(zhí)行 t=a;a=b;b=t;3大于 1,因此表達(dá)式 a>c 成立, 那
30、么執(zhí)行 t=a;a=b;b=t; 。第一句, 將 a 中的 3拷貝, 粘貼到 t 中;第二句, 將c中的1拷貝,粘貼到a中,覆蓋掉先前的 3 ;第三句。將t中的3拷貝到c中,覆蓋掉c中先前的1.執(zhí)行完復(fù)合語句后實現(xiàn)了a,c元素的值的互換,a為1,c為3,t為3,。7 大于 c 中的 3 ,因此 b>c 成立,執(zhí)行那么執(zhí)行 t=b;b=c;c=t; ,過程同上,執(zhí)行后 b 為 3, c 為 7, t 為 7 此時輸岀a,b,c中的值為1.00,2.00,7.005#include<stdio.h>main()floatc=3.0,d=4.0;if(c>d)c=5.0;el
31、seif(c=d)c=6.0; elsec=7.0;printf(“ %.n1f ,c);運行結(jié)果為: 7.0此題為 if.else. 語句的嵌套,第二 if.else. 作為第一個 if.else. 語句 else 局部的復(fù)合語句。假設(shè)表達(dá)式 c>d 成立,那么執(zhí)行 c=5.0; 否那么(表達(dá)式 c>d 不成立)假設(shè)表達(dá)式 c=d 成立,那么執(zhí)行 c=6.0; 否那么,執(zhí)行 c=7.0;輸岀 c 中的值3.0小于4.0,因此表達(dá)式 c>d不成立,執(zhí)行第二個ifelse。3.0不等于4.0,因此表達(dá)式c=d不成立,執(zhí)行c=7.0,將7.0賦給c,覆蓋掉c中的3.0,此時c中的
32、值為7.0輸出此時的 c 中的值6.#include<stdio.h>main() intm;scanf("%d",&m);if(m>=0) if(m%2=0) printf("%disapositiveevenn",m);else printf("%disapositiveoddn",m); else if(m%2=0)printf("%disanegativeevenn",m);else printf("%disanegativeoddn",m); 假設(shè)鍵入 9,那
33、么運行結(jié)果為 :-9isanegativeodd7.#include<stdio.h>main()intnum=0 ;while(num<=2)num+ ; printf("%dn",num) ; 運行結(jié)果為:123詳見教材 p115 循環(huán)結(jié)構(gòu)中的語句1,之后換行2,之后換行3,之后換行當(dāng)循環(huán)條件 num<=2 成立的時候,執(zhí)行循環(huán)體 num+ ; printf("%dn",num) 循環(huán)初值 num 為 0;循環(huán)條件 num<=2 成立第 1 次循環(huán):執(zhí)行 num+; 即將 num 中的值加 1 ,執(zhí)行后 num 為 1;
34、執(zhí)行 printf("%dn",num) ;在屏幕上輸出 num 中的值,即輸出此時 num 中的值為 1,循環(huán)條件 num<=2 成立第 2 此循環(huán):執(zhí)行 num+; 即將 num 中的值加 1 ,執(zhí)行后 num 為 2;執(zhí)行 printf("%dn",num) ;在屏幕上輸出 num 中的值,即輸出此時 num 中的值為 2,循環(huán)條件 num<=2 成立第 3 此循環(huán):執(zhí)行 num+; 即將 num 中的值加 1 ,執(zhí)行后 num 為 3;執(zhí)行 printf("%dn",num) ;在屏幕上輸出 num 中的值,即輸出
35、 此時 num 中的值為 3,循環(huán)條件 num<=2 不成立,結(jié)束循環(huán)。 8#include<stdio.h>main()intsum=10,n=1;while(n<3)sum=sum-n;n+;printf( “ %d,%d ,n,sum);運行結(jié)果為: 3,7當(dāng)循環(huán)條件 n<3 成立的時候,執(zhí)行循環(huán)體 sum=sum-n;n+; 中的語句。循環(huán)初值 sum 為 10,n 為 1;循環(huán)條件 n<3 成立第 1 次循環(huán):執(zhí)行 sum=sum-n=10-1=9 ;執(zhí)行n+,即將n中的值加1,執(zhí)行后n為2 ;此時n中的值為2, sum中的值為9,循環(huán)條件n<
36、;3成立,繼續(xù)執(zhí)行循環(huán)第 2 次循環(huán):執(zhí)行 sum=sum-n=9-2=7 ;執(zhí)行n+,即將n中的值加1,執(zhí)行后n為3 ;輸岀此時n,sum中的值,即為3,7。需要注意,在printf( “d,%d ,n,sun中要求輸岀的數(shù)據(jù)彼此間用逗號間隔,因此結(jié)果的兩個數(shù)據(jù)間一定要有逗號9.#include<stdio.h>main()intnum,c;scanf("%d",&num); doc=num%10;printf("%d",c);while(num/=10)>0);printf("n");從鍵盤輸入 23,那
37、么運行結(jié)果為: 32詳見教材 p117 循環(huán)結(jié)構(gòu); p60 復(fù)合的賦值運算符 dowhile( 表達(dá)式 );先無條件執(zhí)行循環(huán)體,再判斷循環(huán)條件。注意 while (表達(dá)式)后有分號 定義整型變量 num, c;為 num 賦一個整型值;執(zhí)行 c=num%10;printf("%d",c); 直到循環(huán)條件 (num/=10)>0 不成立;輸岀換行為 num 賦值 23第 1 次執(zhí)行循環(huán)體執(zhí)行 c=num%10=23%10=3;執(zhí)行 printf("%d",c); 輸岀 3判斷循環(huán)條件 num/=10 等價于 num=num/10; 因此 num=23
38、/10=2,2 大于 0,因此循環(huán)條件 (num/=10)>0 成 立,繼續(xù)執(zhí)行循環(huán)體。執(zhí)行完第 1 次循環(huán)時, num 為 2, c 為 3第 2 次執(zhí)行循環(huán)體執(zhí)行 c=2%10=2;執(zhí)行 printf("%d",c); 再輸岀 2判斷循環(huán)條件 num=2/10=0,0 等于 0,因此循環(huán)條件 (num/=10)>0 不成立。結(jié)束循環(huán)10#include<stdio.h>main()ints=0,a=5,n;scanf("%d",&n);dos+=1;a=a-2;while(a!=n);printf("%d ,
39、 %dn",s,a); 假設(shè)輸入的值 1,運行結(jié)果為: 2,1 詳見教材 p117 循環(huán)結(jié)構(gòu); p60 復(fù)合的賦值運算符 執(zhí)行 s+=1;a=a-2; 直到循環(huán)條件 a!=n 不成立; 為 n 賦值 1,s 為 0,a 為 5 第 1 次執(zhí)行循環(huán)體執(zhí)行 s+=1; 等價于 s=s+1=0+1執(zhí)行 a=a-2;a=5-2=3 判斷循環(huán)條件 ,3 不等于 1,因此循環(huán)條件 a!=n 成立 ,繼續(xù)執(zhí)行循環(huán)體。執(zhí)行完第1次循環(huán)時,s為1, a為3 第 2 次執(zhí)行循環(huán)體執(zhí)行 s+=1; 等價于 s=s+1=1+1=2執(zhí)行 a=a-2;a=3-2=1 判斷循環(huán)條件 ,1 等于 1 ,因此循環(huán)條件
40、 a!=n 不成立 ,結(jié)束循環(huán)。執(zhí)行完第2次循環(huán)時,s為2, a為1 輸出此時 s,a 中的值,結(jié)果為 2,111#include"stdio.h" main()charc; c=getchar();while(c!='?')putchar(c);c=getchar(); 如果從鍵盤輸入 abcde ? fgh (回車) 運行結(jié)果為: abcde12#include<stdio.h> main()charc; while(c=getchar()!=' $')if( A' <=c&&c<= Z
41、39; )putchar(c); elseif( a' <=c&&c<= z' )pu-3tc2h)a;r(c當(dāng)輸入為 ab*AB%cd#CD$ 時,運行結(jié)果為: ABABCDCD13.#include<stdio.h> main()intx,y=0;for(x=1;x<=10;x+)if(y>=10)break; y=y+x;printf(“ %d%d ,y,x);運行結(jié)果為: 105詳見教材 p120for 語句詳見教材 p126128break , continue 語句for(? 表達(dá)式 1;表達(dá)式 2; 表達(dá)式 3)
42、(1) 先求解表達(dá)式 1(2) 求解表達(dá)式 2,假設(shè)其值為真,執(zhí)行循環(huán)體,然后執(zhí)行(3). 假設(shè)為假,那么結(jié)束循環(huán),轉(zhuǎn)到 (5)(3) 求解表達(dá)式 3(4) 轉(zhuǎn)回上面 (2)繼續(xù)執(zhí)行(5) 循環(huán)結(jié)束,執(zhí)行 for 語句下面的一個語句break? ,跳出循環(huán)體; continue, 結(jié)束本次循環(huán)(第 i 次循環(huán)),繼續(xù)執(zhí)行下一次循環(huán)(第 i+1 次循環(huán) )此題表達(dá)式 1 為 x=1 ,表達(dá)式 2(循環(huán)條件)為 x<=10 ,表達(dá)式 3 為 x+ 初值 x 為 1, y 為 0,循環(huán)條件(即表達(dá)式 2) x<=10 成立,進(jìn)入循環(huán)體第 1 次循環(huán)執(zhí)行 if 語句。 0 小于 10, i
43、f 語句的條件表達(dá)式不成立,不執(zhí)行 break;執(zhí)行 y=y+x;y=0+1=1轉(zhuǎn)向表達(dá)式 3,執(zhí)行 x+,x=x+1=1+1=2 。循環(huán)條件 x<=10 成立,進(jìn)入第 2 次循環(huán)第 2 次循環(huán)執(zhí)行 if 語句。 1 小于 10, if 語句的條件表達(dá)式不成立,不執(zhí)行 break;執(zhí)行 y=y+x;y=1+2=3轉(zhuǎn)向表達(dá)式 3,執(zhí)行 x+,x=x+1=2+1=3 。循環(huán)條件 x<=10 成立,進(jìn)入第 3 次循環(huán)第 3 次循環(huán)執(zhí)行 if 語句。 3 小于 10, if 語句的條件表達(dá)式不成立,不執(zhí)行 break;執(zhí)行 y=y+x;y=3+3=6轉(zhuǎn)向表達(dá)式 3,執(zhí)行 x+,x=x+1=
44、3+1=4 。循環(huán)條件 x<=10 成立,進(jìn)入第 4 次循環(huán)第 4 次循環(huán)執(zhí)行 if 語句。 6 小于 10, if 語句的條件表達(dá)式不成立,不執(zhí)行 break; 執(zhí)行 y=y+x;y=6+4=10轉(zhuǎn)向表達(dá)式 3,執(zhí)行 x+,x=x+1=4+1=5 。循環(huán)條件 x<=10 成立,進(jìn)入第 5 次循環(huán)第 5 次循環(huán)執(zhí)行 if 語句。 10 等于 10, if 語句的條件表達(dá)式成立,執(zhí)行 break ,跳出循環(huán)。從 break 跳出至 for 語句的下一條語句。執(zhí)行 printf( “ %d%d ,y,x); 輸出當(dāng)前的 y 與 x. 結(jié)果為 10514.#include<stdi
45、o.h>main()charch;ch=getchar();switch(ch)case A' :printf( “%c, 'A');case B' :printf( “ %c , ' B' );break; default:printf(“n%s, other ); 當(dāng)從鍵盤輸入字母 A 時,運行結(jié)果為: AB 詳見教材 p103, switch 語句 switch (表達(dá)式)case 常量 1 :語句 1case 常量 2:語句 2IIIIIIIIIcase 常量 n :語句 n default: 語句 n+1 其中表達(dá)式,常量 1,,
46、常量n都為整型或字符型case 相當(dāng)于給出執(zhí)行程序的入口和起始位置, 假設(shè)找到匹配的常量, 那么從此處開始往下執(zhí)行程序, 不再匹 配常量,直至遇到 break 或 switch 結(jié)束此題過程:首先從鍵盤接收一個字符A并將其放在變量ch中。執(zhí)行switch語句。Switch后面的條件表達(dá)式為ch,因此表達(dá)式的值即為字符A'用字符A依次與下面的case中的常量匹配。與第 1 個 case 后的常量匹配,那么從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進(jìn)行匹配。) 因此先執(zhí)行printf(“%c ,',併幕上輸岀 A ;再往下繼續(xù)執(zhí)行 printf( “%c ,屏幕上輸岀B ;再繼
47、續(xù)執(zhí)行break,此時跳岀 switch語句。15. #include<stdio.h> main()inta=1,b=0 ; scanf(“ %d ,&a);switch(a)case1:b=1 ; break ; case2:b=2 ; break ; default:b=10 ; printf("%d",b) ;假設(shè)鍵盤輸入 5,運行結(jié)果為: 10 此題過程:首先用 scanf 函數(shù)為變量 a 賦值為 5。執(zhí)行switch語句。switch后面的條件表達(dá)式為 a,因此表達(dá)式的值即為 5.用5依次與下面case中的常 量匹配。沒有找到匹配的常量,因此
48、兩個case后的語句都不執(zhí)行。執(zhí)行 default后面的語句b=10 ;將10賦給變量 b。輸岀變量b,結(jié)果為1016. #include<stdio.h> main()_chargrade= ' C'switch(grade)case A':printf(“ n9"0 );case B' :printf(n"80);case C':printf(“n"70);case D':printf(“n"60);break;case E':printf(n“" <)6;0defa
49、ult:printf(“ ernror! );運行結(jié)果為:70-8060-70 此題過程:首先從鍵盤接收一個字符(并將其放在變量 grade中。執(zhí)行switch語句。switch后面的條件表達(dá)式為grade,因此表達(dá)式的值即為字符C用字符C依次與下面的case中的常量匹配。與第 3 個 case 后的常量匹配,那么從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進(jìn)行匹配。) 因此先執(zhí)行printf(“70 n");屏幕上輸岀70-80,并換行;再往下繼續(xù)執(zhí)行printf( “60 n")屏幕上輸岀60-70,并換行;再繼續(xù)執(zhí)行break,此時跳岀switch語句。17.#in
50、clude<stdio.h>main()inty=9;for(;y>0;y-)if(y%3=0)printf(%d"-y,);運行結(jié)果為:852詳見教材 p53 ,自增自減符號此題表達(dá)式 1 被省略,表達(dá)式 2(循環(huán)條件)為 y>0 ,表達(dá)式 3 為 y-初值 y 為 9,循環(huán)條件(即表達(dá)式2) y>0 成立,進(jìn)入循環(huán)體第 1 次循環(huán)執(zhí)行if語句。9%3=0 , if語句的條件表達(dá)式成立,執(zhí)行printf(%d -"),即y先自減1變?yōu)?,然后在輸岀,因此屏幕上輸岀 8轉(zhuǎn)向表達(dá)式 3,執(zhí)行 y-,y=y-1=8-1=7 。循環(huán)條件 y>0
51、 成立,進(jìn)入第 2次循環(huán)第 2 次循環(huán)執(zhí)行 if 語句。 7%3 不為 0, if 語句的條件表達(dá)式不成立,不執(zhí)行 printf(%d -"-y),轉(zhuǎn)向表達(dá)式 3,執(zhí)行 y-,y=y-1=7-1=6 。循環(huán)條件 y>0 成立,進(jìn)入第 3次循環(huán)第 3 次循環(huán)執(zhí)行if語句。6%3=0 , if語句的條件表達(dá)式成立,執(zhí)行printf(%d -y),即y先自減1變?yōu)?,然后在輸岀,因此屏幕上輸岀 5轉(zhuǎn)向表達(dá)式 3,執(zhí)行 y-,y=y-1=5-1=4 。循環(huán)條件 y>0 成立,進(jìn)入第 4次循環(huán)第 4 次循環(huán)執(zhí)行 if 語句。 4%3 不為 0, if 語句的條件表達(dá)式不成立,不執(zhí)行
52、 printf(%d -y), 轉(zhuǎn)向表達(dá)式 3,執(zhí)行 y-,y=4-1=3 。循環(huán)條件 y>0 成立,進(jìn)入第 5 次循環(huán) 第 5 次循環(huán)執(zhí)行if語句。3%3=0 , if語句的條件表達(dá)式成立,執(zhí)行printf(%d -),即y先自減1變?yōu)?,然后在輸出,因此屏幕上輸出 2轉(zhuǎn)向表達(dá)式 3,執(zhí)行 y-,y=y-1=2-1=1 。循環(huán)條件 y>0 成立,進(jìn)入第 5 次循環(huán) 第 6 次循環(huán)執(zhí)行 if 語句。 1%3 不為 0, if 語句的條件表達(dá)式不成立,不執(zhí)行 printf(%d-y),轉(zhuǎn)向表達(dá)式 3,執(zhí)行 y-,y=1-1=0 。循環(huán)條件 y>0 不成立,循環(huán)結(jié)束。18.#in
53、clude<stdio.h>main()inti,sum=0;i=1;dosum=sum+i;i+;while(i<=10);printf(“ %d,sum);運行結(jié)果為: 5519.#include<stdio.h>#defineN4main()inti;intx1=1,x2=2;printf("n");for(i=1;i<=N;i+)printf("%4d%4d",x1,x2);if(i%2=0)printf("n");x1=x1+x2;x2=x2+x1;運行結(jié)果為:12358132134此題首
54、先為整型變量賦初值 x1=1,x2=2表達(dá)式 1 為 i=1 ,表達(dá)式 2(循環(huán)條件)為 i<=N 即 i<=4 ,表達(dá)式 3 為 i+ 循環(huán)變量初值 i 為 1 ,循環(huán)條件(即表達(dá)式 2)i<=4 成立,進(jìn)入第 1 次循環(huán) 第1 次循環(huán)執(zhí)行 printf("%4d%4d",x1,x2); 因此屏幕上輸出 12執(zhí)行 if 語句。 1%2 不為 0, if 語句的條件表達(dá)式不成立,不執(zhí)行 printf("n");執(zhí)行 x1=x1+x2=1+2=3; 此時 x1 中的值已變?yōu)?3執(zhí)行 x2=x2+x1=2+3=5 。轉(zhuǎn)向表達(dá)式 3,執(zhí)行 i
55、+,i 為 2。循環(huán)條件 i<=4 成立,進(jìn)入第 2 次循環(huán)第 2 次循環(huán)執(zhí)行 printf("%4d%4d",x1,x2); 因此屏幕上輸出 35執(zhí)行 if 語句。 2%2=0 , if 語句的條件表達(dá)式成立,執(zhí)行printf("n"); 換行執(zhí)行 x1=x1+x2=3+5=8; 此時 x1 中的值已變?yōu)?8執(zhí)行 x2=x2+x1=5+8=13 。轉(zhuǎn)向表達(dá)式 3,執(zhí)行 i+,i 為 3 。循環(huán)條件 i<=4 成立,進(jìn)入第 3 次循環(huán) 第 3 次循環(huán)執(zhí)行 printf("%4d%4d",x1,x2); 因此屏幕上輸出 81
56、3執(zhí)行 if 語句。 3%2 不為 0, if 語句的條件表達(dá)式不成立,不執(zhí)行 printf("n");執(zhí)行 x1=x1+x2=8+13=21; 此時 x1 中的值已變?yōu)?21執(zhí)行 x2=x2+x1=21+13=34 。轉(zhuǎn)向表達(dá)式 3,執(zhí)行 i+,i 為 4 。循環(huán)條件 i<=4 成立,進(jìn)入第 4 次循環(huán) 第 2 次循環(huán)執(zhí)行 printf("%4d%4d",x1,x2); 因此屏幕上輸出 2134執(zhí)行 if 語句。 4%2=0 , if 語句的條件表達(dá)式成立,執(zhí)行printf("n"); 換行執(zhí)行 x1=x1+x2=21+34=55; 此時 x1 中的值已變?yōu)?55執(zhí)行 x2=x2+x1=34+55=89 。轉(zhuǎn)向表達(dá)式 3,執(zhí)行 i+,i 為 5。循環(huán)條件 i<=4 不成立,結(jié)束循環(huán)20#include<stdio.h>main()intx,y;for(x=30,y=0;x>=10,y<10;x-,y+)x/=2,y+=2;printf( “ x=%d,y=%dn ,x,y);運行結(jié)果為:x=0,y=1221.#include<stdio.h>#defineN4main()inti,j;for(i=1;i<=N;i+)for(j=1;j<i;j+)
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度證件外借風(fēng)險評估與管理合同
- 洗衣店裝修簡易協(xié)議
- 二零二五年度商場家居用品柜臺租賃管理合同
- 2025年度建筑工程施工環(huán)境保護(hù)責(zé)任協(xié)議書
- 2025年度供應(yīng)鏈物流保密協(xié)議合同
- 文化產(chǎn)業(yè)借款融資居間合同
- 2025年度農(nóng)村土地承包經(jīng)營權(quán)流轉(zhuǎn)及農(nóng)業(yè)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整合作合同
- 2025年度企業(yè)兼職市場營銷人員勞務(wù)合同模板
- 2025年度房產(chǎn)贈與資產(chǎn)重組合同
- 2025年度人工智能系統(tǒng)維護(hù)與數(shù)據(jù)安全合同
- 2024屆南通二模(又蘇北七市二模)數(shù)學(xué)試題
- 菜點與酒水知識課件
- 新修訂《中小學(xué)教師職業(yè)道德規(guī)范》解讀
- 品質(zhì)月工作總結(jié)
- 江西省南昌市2024屆高三一模語文試題及答案解析
- 第一章村集體經(jīng)濟(jì)組織會計制度講解
- 2024年濟(jì)南護(hù)理職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- -藝術(shù)博覽會與藝術(shù)品拍賣
- 2024年貴州水投水務(wù)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- (完整版)ERP流程及操作手冊
- 接上童氣:小學(xué)《道德與法治》統(tǒng)編教材研究
評論
0/150
提交評論