C語(yǔ)言程序復(fù)習(xí)試題與參考答案_第1頁(yè)
C語(yǔ)言程序復(fù)習(xí)試題與參考答案_第2頁(yè)
C語(yǔ)言程序復(fù)習(xí)試題與參考答案_第3頁(yè)
C語(yǔ)言程序復(fù)習(xí)試題與參考答案_第4頁(yè)
C語(yǔ)言程序復(fù)習(xí)試題與參考答案_第5頁(yè)
已閱讀5頁(yè),還剩76頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

..C語(yǔ)言程序設(shè)計(jì)目錄第一章C語(yǔ)言程序設(shè)計(jì)概述1一、主要內(nèi)容1二、練習(xí)題部分1三、參考答案3第三章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式4一、主要內(nèi)容4二、練習(xí)題5〔一練習(xí)題之?dāng)?shù)據(jù)類型5〔二練習(xí)題之運(yùn)算符和表達(dá)式8三、參考答案13〔一練習(xí)題之?dāng)?shù)據(jù)類型參考答案13〔二練習(xí)題之運(yùn)算符和表達(dá)式參考答案14第四章順序程序設(shè)計(jì)15一、主要內(nèi)容15二、練習(xí)題15三、參考答案16第五章選擇結(jié)構(gòu)程序設(shè)計(jì)17一、主要內(nèi)容17二、練習(xí)題17三、參考答案22第六章循環(huán)結(jié)構(gòu)25一、主要內(nèi)容25二、練習(xí)題25三、參考答案34第七章數(shù)組39一、主要內(nèi)容39二、練習(xí)題39三、參考答案49第八章函數(shù)54一、主要內(nèi)容54二、練習(xí)題55三、參考答案62第九章預(yù)處理命令67一、主要內(nèi)容67二、練習(xí)題67第十章指針69一、主要內(nèi)容69二、練習(xí)題69三、參考答案74第十一章結(jié)構(gòu)體和共用體76一、主要內(nèi)容76二、練習(xí)題76三、參考答案78第十二章位運(yùn)算82一、主要內(nèi)容82二、練習(xí)題82第十三章文件83一、主要內(nèi)容83二、練習(xí)題83三、參考答案85..第一章C語(yǔ)言程序設(shè)計(jì)概述一、主要內(nèi)容c程序基本結(jié)構(gòu)特點(diǎn)函數(shù)與主函數(shù)程序由一個(gè)或多個(gè)函數(shù)組成,函數(shù)由函數(shù)頭和函數(shù)體構(gòu)成。必須有且只能有一個(gè)主函數(shù)main<>程序執(zhí)行從main開(kāi)始,在main中結(jié)束,其它函數(shù)通過(guò)嵌套調(diào)用得以執(zhí)行。程序語(yǔ)句C程序由語(yǔ)句組成,用";"作為語(yǔ)句終止符/**/部分為注釋,不能嵌套,不產(chǎn)生編譯代碼編譯預(yù)處理不是C語(yǔ)言的一部分C程序的運(yùn)行步驟運(yùn)行一個(gè)C程序,從輸入源程序開(kāi)始,要經(jīng)過(guò)編輯源程序文件〔?C、編譯生成目標(biāo)文件〔?obj、連接生成可執(zhí)行文件〔?exe和執(zhí)行四個(gè)步驟二、練習(xí)題部分一、選擇題:1、C語(yǔ)言程序編譯過(guò)程中產(chǎn)生的文件有:〔A.索引文件和文本文件兩種B.目標(biāo)文件和可執(zhí)行文件C.二進(jìn)制文件一種D.ASCII碼文件和二進(jìn)制文件兩種2、以下說(shuō)法中正確的是:<>A.C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行B.在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義C.C語(yǔ)言程序總是從main函數(shù)開(kāi)始執(zhí)行D.C語(yǔ)言程序中,main函數(shù)必須放在程序的開(kāi)始部分3、C語(yǔ)言源程序的基本單位是:〔A.函數(shù)B.標(biāo)識(shí)符C.表達(dá)式D.語(yǔ)句4、以下敘述正確的是:〔A>C語(yǔ)言比其他語(yǔ)言高級(jí)B>C語(yǔ)言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行C>C語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式D>C語(yǔ)言出現(xiàn)的最晚、具有其他語(yǔ)言的一切優(yōu)點(diǎn)5、在一個(gè)C語(yǔ)言程序中:〔A>main函數(shù)必須出現(xiàn)在所有函數(shù)之前B>main函數(shù)可以在任何地方出現(xiàn)C>main函數(shù)必須出現(xiàn)在所有函數(shù)之后D>main函數(shù)必須出現(xiàn)在固定位置6、C++語(yǔ)言中工程文件的擴(kuò)展名是:?!睞..cppB..prjC..cD..obj〔說(shuō)明:BC++環(huán)境中工程文件擴(kuò)展名.prj,VC中為.dsp7、C文件的擴(kuò)展名是:〔〔A.cpp〔B.prj〔C.c〔D.txt8、一個(gè)C程序的執(zhí)行是從: <>A>本程序的main函數(shù)開(kāi)始,到main函數(shù)結(jié)束B(niǎo)>本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C>本程序的main函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D>本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序main函數(shù)結(jié)束9、以下敘述正確的是:<>A>在C程序中,main函數(shù)必須位于程序的最前面B>C程序的每行中只能寫一條語(yǔ)句C>C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句D>在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤10、以下敘述不正確的是:<>A>一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B>一個(gè)C源程序必須包含一個(gè)main函數(shù)C>C程序的基本組成單位是函數(shù)D>在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面11、C語(yǔ)言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置:<>A>必須在最開(kāi)始B>必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面C>可以任意D>必須在最后12、一個(gè)C語(yǔ)言程序是由 :<>A>一個(gè)主程序和若干子程序組成B>函數(shù)組成C>若干過(guò)程組成D>若干子程序組成13、以下敘述中正確的是:〔AC語(yǔ)言的源程序不必通過(guò)編譯就可以直接運(yùn)行BC語(yǔ)言中的每條可執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令CC源程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運(yùn)行DC語(yǔ)言中的函數(shù)不可以單獨(dú)進(jìn)行編譯14、以下對(duì)C語(yǔ)言函數(shù)的描述中,正確的是:〔AC程序必須由一個(gè)或一個(gè)以上的函數(shù)組成BC函數(shù)既可以嵌套定義又可以遞歸調(diào)用C函數(shù)必須有返回值,否則不能使用函數(shù)DC程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)程序文件中15、C語(yǔ)言的注釋定界符是:<>A.{}B.[]C.**D./**/二、填空題:1、C程序的運(yùn)行需要經(jīng)過(guò)_和__兩步進(jìn)行。2、C語(yǔ)言的編譯單位是____。3、C語(yǔ)言程序由___組成。4、結(jié)構(gòu)化設(shè)計(jì)中的三種基本結(jié)構(gòu)是__、__和___。5、C語(yǔ)言中,一個(gè)函數(shù)一般由兩個(gè)部分組成,它們是___和___。6、一個(gè)C語(yǔ)言程序總是從__函數(shù)開(kāi)始執(zhí)行程序。7、一個(gè)C程序中至少應(yīng)包括一個(gè)___。8、C語(yǔ)言函數(shù)是由函數(shù)頭和函數(shù)體兩部分組成。其中,函數(shù)頭包括___,____和___。9、C程序中用/*……*/括起來(lái)的內(nèi)容是程序的。10、C源程序的基本單位是。三、判斷題:1、C語(yǔ)言程序的三種基本結(jié)構(gòu)是遞歸、選擇、循環(huán)。〔2、函數(shù)若無(wú)返回值,則它的返回值是整數(shù)值0?!?、函數(shù)若無(wú)返回值,則它一定無(wú)形參?!踩?、參考答案一、選擇題:1~5:BCACB6~10:BCACD11~15:CBBAD二、填空題:1、編譯連接2、文件3、函數(shù)4、順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)5、函數(shù)首部函數(shù)體6、主函數(shù)〔或main函數(shù)7、函數(shù)8、函數(shù)類型函數(shù)名函數(shù)參數(shù)9、注釋10、函數(shù)三、判斷題:1、×2、×3、×第三章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式〔溫馨提示:本章內(nèi)容非常繁瑣,細(xì)節(jié)較多,請(qǐng)將所記筆記中的說(shuō)明部分和例題好好看看,一般考選擇題和填空題一、主要內(nèi)容標(biāo)識(shí)符命名原則:合法的要求是由字母,數(shù)字,下劃線組成,并且第一個(gè)必須為字母或則是下劃線。關(guān)鍵字不可以作為用戶標(biāo)識(shí)符號(hào)。maindefinescanfprintf及其他庫(kù)函數(shù)的函數(shù)名都不是關(guān)鍵字可以用作標(biāo)識(shí)符。If與if不同,If是可以做為用戶標(biāo)識(shí)符,因?yàn)镃區(qū)分大小寫?;緮?shù)據(jù)類型:基本數(shù)據(jù)類型有哪些?所占空間大小及說(shuō)明符。整型、實(shí)型、字符型常量的合法表示形式,字符串的表示形式。a實(shí)型數(shù)據(jù)的合法形式:小數(shù)形式和指數(shù)形式尤其要注意指數(shù)形式的格式e前必有數(shù),e后必為整數(shù)。2.333e-1就是合法的b>字符數(shù)據(jù)的合法形式:以單引號(hào)括起來(lái)的一個(gè)字符,注意轉(zhuǎn)義字符P48表3-3。如‘\x6d’是合法的字符,ASCII碼為十六進(jìn)制的6d,‘\141’也合法,ASCII碼為八進(jìn)制141,‘\108’不合法。c>字符常量和字符串的區(qū)別:'a'是字符占一個(gè)字節(jié),"a"是字符串占兩個(gè)字節(jié)<含有一個(gè)結(jié)束符號(hào)>。常量和變量符號(hào)常量的定義格式:eg#definePI3.14159<注意宏定義后無(wú)分號(hào)結(jié)尾>變量的定義格式:變量賦初值的方式。inta=b=c=3;不合法數(shù)據(jù)混合計(jì)算時(shí)數(shù)據(jù)類型的轉(zhuǎn)換:P54圖3-10。強(qiáng)制類型轉(zhuǎn)換:一定是〔inta不是int〔a,注意類型上一定有括號(hào)的。注意〔int〔a+b和〔inta+b的區(qū)別。前是把a(bǔ)+b轉(zhuǎn)型,后是把a(bǔ)轉(zhuǎn)型再加b。運(yùn)算符1.運(yùn)算符的優(yōu)先級(jí)別和結(jié)合方向:?jiǎn)文窟\(yùn)算>雙目運(yùn)算算術(shù)>關(guān)系運(yùn)算>邏輯運(yùn)算>條件運(yùn)算>賦值運(yùn)算>逗號(hào)運(yùn)算2.算術(shù)運(yùn)算符:%要求左右兩邊都是整型數(shù),運(yùn)算結(jié)果為余數(shù)。/運(yùn)算若左右兩邊都是整型數(shù),結(jié)果為整數(shù)。自增自減運(yùn)算符,前置先自增減,再運(yùn)算;后置先運(yùn)算,再自增減。自增自減運(yùn)算符只能作用于變量,不能作用于常量和表達(dá)式。如:#defineA3A++;是錯(cuò)誤寫法。3.關(guān)系運(yùn)算符:a注意賦值=與關(guān)系==的區(qū)別。b>c語(yǔ)言中沒(méi)有邏輯類型,邏輯"真"用非0表示,邏輯"假"用0表示,c>x在[a,b]間的關(guān)系表達(dá)式為x>=a&&x<=b,不能寫為a>=x>=b。但該表達(dá)式語(yǔ)法成立,有運(yùn)算結(jié)果。如3>=1>=5運(yùn)算時(shí)從左向右依次運(yùn)算,即3>=1為真,值為1,此時(shí),表達(dá)式為1>=5,運(yùn)算結(jié)果為假,值為0。所以整個(gè)1>=3>=5的值為0.4.邏輯運(yùn)算符:a>!優(yōu)先級(jí)別比較高,!>&&>||。b&&和||運(yùn)算時(shí)注意短路原則?!渤??!5.賦值運(yùn)算符:a復(fù)合賦值運(yùn)算符的使用。如a=12,則a+=a-=a*=a;運(yùn)算后a的值6.條件運(yùn)算符:a結(jié)合方向從右向左。7.逗號(hào)運(yùn)算符:優(yōu)先級(jí)別最低;也叫順序執(zhí)行運(yùn)算符,表達(dá)式的數(shù)值逗號(hào)最右邊的那個(gè)表達(dá)式的數(shù)值?!?,3,4的表達(dá)式的數(shù)值就是4表達(dá)式1.能將數(shù)學(xué)表達(dá)式寫成c表達(dá)式2.計(jì)算表達(dá)式的值,注意優(yōu)先級(jí)別和結(jié)合方向。二、練習(xí)題〔一練習(xí)題之?dāng)?shù)據(jù)類型一、選擇題:1、以下標(biāo)識(shí)符中,不能作為合法的C用戶定義標(biāo)識(shí)符的是〔AputcharBdoubleC_123DINT2、下列字符序列中,不可用作C語(yǔ)言標(biāo)識(shí)符的是〔A.b70B.#abC.symbolD.a_13.以下不能定義為用戶標(biāo)識(shí)符的是:〔A.MAINB._HJC.208ongD.LINE124.以下是正確的字符常量是:〔。A."c"B.'\\'C.'W1'D."\32a"5.以下各項(xiàng)是錯(cuò)誤的整型常量的是:〔A.-0xcdfB.018C.0xeD.0116、下列四組選項(xiàng)中,均不是C語(yǔ)言關(guān)鍵字的選項(xiàng)是 :<>A>defineB>getcC>includeD>whileIFcharscanfgotypeprintfcasepow7、下面四個(gè)選項(xiàng)中,均是正確的八進(jìn)制數(shù)或十六進(jìn)制數(shù)的選項(xiàng)是:<>A>-10 B>0abc C>0010 D>0al20x8f -017 -0x11 -0xl23-011 0xc 0xf1 -0x88、下面四個(gè)選項(xiàng)中,均是正確的數(shù)值常量或字符常量的選項(xiàng)是: <>A>0.0 B>"a" C>'3' D>+0010f3.9E-2.50110xabcd8.9elel0xFFOO2e2'&''\'''0a50.9、下面不正確的字符串常量是:< >。A>'abc'B>"12'12"C>"0"D>""10.設(shè)int類型的數(shù)據(jù)長(zhǎng)度為2字節(jié),則該類型數(shù)據(jù)的取值范圍是:〔A.0至65536B.0至65535C.-32767至32768D.-32768至3276711、在C語(yǔ)言中<以16位PC機(jī)為例>,5種基本數(shù)據(jù)類型的存儲(chǔ)空間長(zhǎng)度的排列順序?yàn)?lt;>A>char<int<1ongint<=float<doubleB>char=int<1ongint<=float<doubleC>char<int<1ongint=float=doubleD>char=int=1ongint<=float<double12.若有以下程序段〔n所賦的是八進(jìn)制數(shù)intm=32767,n=0327;printf<"%d,%o\n",m,n>;執(zhí)行后輸出結(jié)果是:〔A>32767,327B>32767,0327C>32767,777D>32767,077713.設(shè)變量a是整形,f是實(shí)型,i是雙精度型,則表達(dá)式10+′a′+i*f值的數(shù)據(jù)類型為:〔A.intB.floatC.doubleD.不確定14.在C語(yǔ)言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是:〔A.補(bǔ)碼B.反碼C.源碼D.ASCII碼15.字符串"a"在內(nèi)存中占據(jù)的字節(jié)個(gè)數(shù)為:〔A.0B.1C.2D.316.下列為字符常量的是:〔A."a"B.‘a(chǎn)b’C.‘\n’D.‘\084’17.在C語(yǔ)言中,下面字符串能用作變量名的是:〔A.a+bB.autoC.2-andD.a218.已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語(yǔ)句c2='A'+'6'-'3';后c2中的值為< >A>D B>68 C>不確定的值 D>C19、在C語(yǔ)言中合法的字符型常量是。〔A、"A"B、‘\t’C、65D、A20、以下選項(xiàng)中,C中正確的整型常量形式是?!睞、0x16B、-202.18C、1,000D、0458二、填空題:1. 在C語(yǔ)言中的實(shí)型變量分為兩種類型,它們是___和______。2.將下列字符串表示成C語(yǔ)言的字符串常量〔1C:\TC\LIB_____________〔2Hesaid:"I’mastudent."________________〔385%studentpassed.____________________________3.在C語(yǔ)言中,標(biāo)識(shí)符中英文字母的大小寫________〔是/不是等價(jià)的。換句話說(shuō),sum、Sum、SUM是3個(gè)_______〔相同/不同的標(biāo)識(shí)符。4.已知charw;intx;floaty;doublez;則表達(dá)式:w*x+z-y所求得的數(shù)據(jù)類型為。5.變量名由字母、數(shù)字和下劃線組成,并且必須是______打頭。7.已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch='a'+'8'-'3'的值為。三、看程序?qū)懡Y(jié)果1.如果對(duì)以下程序進(jìn)行編譯和運(yùn)行,其結(jié)果為_(kāi)_______。main<>{intx,y;x=555;y=x+2;y=x+2;printf<"x=%d",x,y>;}2.執(zhí)行以下程序,寫出程序運(yùn)行結(jié)果________。main<>{intc1,c2;c1=97;c2=98;printf<"%c%c\n",c1,c2>;printf<"%d%d\n",c1,c2>;}3.執(zhí)行以下程序,寫出程序運(yùn)行結(jié)果________。main<>{charc1,c2;c1='A';c2='a';c1=c1+2;c2=c2+2;printf<"%d%c",c1,c2>;}〔二練習(xí)題之運(yùn)算符和表達(dá)式一、選擇題:1、以下運(yùn)算符中,優(yōu)先級(jí)最高的運(yùn)算符是〔A.=B.!=C.*<乘號(hào)>D.<>2、若有以下定義,則能使值為3的表達(dá)式是〔intk=7,x=12;A.x%=<k%=5>B.x%=<k-k%5>C.x%=k-k%5D.<x%=k>-<k%=5>3、設(shè)在tc2.0中有整型變量x,y,z均為3,表達(dá)式<x++>+<y++>+<z++>的值是<>A.6B.7C.8D.94、有以下程序運(yùn)行后的輸出結(jié)果是:〔main<>{chara='A',b;print<"%c,",++a>;printf<"%c\n",b=a++>;}A.B,BB.B,CC.A,BD.A,C5、有以下程序運(yùn)行后的輸出結(jié)果是:〔main<>{chara='a';printf<"%c,",++a>;printf<"%c\n",a++>;}A>b,bB>b,cC>a,bD>a,c6、設(shè)a=6,b=4,則表達(dá)式b*=a+3的值為:〔A3B18C27D367、有如下程序段,其輸出結(jié)果是:<>inta=3;floatb=15.6,f=1.5;printf<"%d",a+<int>b/2+<int>f%3>;A>10B>11C>12D>138、以下程序的輸出結(jié)果是:〔main<>{inta=3;printf<"%d%d\n",a,a++>;}A.43B.44C.53D.549、以下程序的輸出結(jié)果是〔。main<>{inta=10;printf<"%d%d\n",a,a++>;}〔A1110〔B1111〔C1220〔D121110、若有定義:inta=8,b=5,c;執(zhí)行語(yǔ)句c=a/b+0.4;后c的值為〔?!睞1.4〔B1〔C2.0〔D211、若x,i,j和k都是int型變量, 則執(zhí)行下面表達(dá)式x=<i=4,j=16,k=32>后x的值為< >A>4B>16C>32D>5212、若有代數(shù)式3ae/bc,則不正確的C語(yǔ)言表達(dá)式是: < >A>a/b/c*e*3B>3*a*e/b/cC>3*a*e/b*cD>a*e/c/b*313、以下不正確的敘述是:< >A>在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低B>在C程序中,APH和aph是兩個(gè)不同的變量C>若a和b類型相同,在執(zhí)行了賦值表達(dá)式a=b后b中的值將放人a中,而b中的值不變。D>當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值。14、已知各變量的類型說(shuō)明如下: < >inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;則以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是:A>a+=a-=<b=4>*<a=3> B>a=a*3=2C>x%<-3> D>y=f1oat<i>15、若有定義:inta=7;floatx=2.5,y=4.7; 則表達(dá)式x+a%3*<int><x+y>%2/4的值是:< >A>2.500000 B>2.7500OO C>3.500000 D>0.000000。16、表達(dá)式b*=〔b=3+<a=10>的值為:〔〔A3〔B19〔C27〔D3917、假設(shè)所有變量均為整型,則表達(dá)式<a=2,b=5,b++,a+b>的值是:< >A>7B>8C>6D>218、若有以下程序:

main<>

{intk=2,i=2,m;

m=<k+=i*=k>;printf<"%d,%d\n",m,i>;

}

執(zhí)行后的輸出結(jié)果是: 〔〔A>8,6〔B>8,3〔C>6,4〔D>7,419.在C語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是:〔A.%B./C.==D.<=20.若有以下定義:intx=10,y=3,z;則語(yǔ)句:printf<"%d\n",z=<x%y,x/y>>;的輸出結(jié)果為<>A.1B.0C.2D.321.下列哪一個(gè)表達(dá)式的值是整數(shù)類型<>。 A.15/2B.15/2+2.0C.25/5.0D.0.5*1022.若doublex=2,y;則執(zhí)行y=x+3/2;后,y的值是〔。A.3.500000B.3.000000C.2.000000D.323、以下運(yùn)算符中優(yōu)先級(jí)最低的是〔A&&B&C||D|24、設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是〔A><x=y=6,x+y,x+1>B><x=y=6,x+y,y+1>C><x=6,x+1,y=6,x+y>D><y=6,y+1,x=y,x+1>25.設(shè)有以下定義inta=0;doubleb=1.25;charc=’A’;#defined2則下面語(yǔ)句中錯(cuò)誤的是: <><A>a++; <B>b++ <C>c++; <D>d++;26、若有intx=12,n=5;則x%=<n%=2>;后x的值是。〔A、1B、0C、-1D、227、設(shè)有定義intk=0;則以下四個(gè)表達(dá)式中與其它三個(gè)的值不同的是?!睞、k++B、k+=1C、++kD、k+1二、填空題:1、若有以下定義intm=5,y=2;則計(jì)算表達(dá)式y(tǒng)+=y-=m*=y后的y值是。2、若a為int型變量,則下面表達(dá)式的值為。<a=4*5,a*2>,a+63、若a是int型變量,則執(zhí)行表達(dá)式"a=25/3%3"后,a的值為。4、s=3,s++,s;這個(gè)語(yǔ)句執(zhí)行完后,s的值為。5、C語(yǔ)言中的標(biāo)識(shí)符只能由三種字符組成,他們是字母、數(shù)字和。6、已知i=5;寫出語(yǔ)句a=--i,執(zhí)行后整型變量a的值是。7、設(shè)x的值為15,n的值為2,則表達(dá)式x*=n+3運(yùn)算后x的值是。8、intx=2;x*=y=z=4;則x的值為。9、表達(dá)式i++相當(dāng)于表達(dá)式i=。10、若s是unsignedint型變量,則下面表達(dá)式的值是________。s%2+<s+1>%211、程序段執(zhí)行后c3的值是_______。intc1=1,c2=2;floatc3;c3=1/c2*c1;12、已知’a’的ASCII碼為97,printf<"%5c\n",’e’>的輸出是______;printf<"%5d\n",’e’>的輸出是___________。13、表達(dá)式:5%2=__________,2/3=__________。14、在C語(yǔ)言中,單目運(yùn)算符的結(jié)合方向<運(yùn)算方向>是_____________;唯一的一個(gè)三目運(yùn)算符是_____________。15、設(shè)a,b,t為整型變量,初值為a=7,b=9,執(zhí)行完語(yǔ)句t=<a>b>?a:b后,t的值是。16、算術(shù)表達(dá)式a=b+3中,a、b稱為_(kāi)________,3稱為_(kāi)_______,=、+稱為_(kāi)________。17、若有定義:intb=7;floata=2.5,c=4.7;則表達(dá)式a+<int><b/3*<int><a+c>/2>%4的值為。18.C語(yǔ)言中為了簡(jiǎn)化程序,提高程序的編譯效率,在賦值運(yùn)算符前面加上其他運(yùn)算符號(hào)構(gòu)成復(fù)合運(yùn)算符。例如:x=x+5用復(fù)合運(yùn)算符可以寫成。19、表達(dá)式1/4+2.75的值是。20、若a是int型變量,且a的初值為6,則計(jì)算表達(dá)式"a+=a-=a*a"后a的值為21、若s是int型變量,且s=6,則表達(dá)式"s%2+<s+1>%2"的值為。22、若x是int型變量,則執(zhí)行表達(dá)式"x=<a=4,6*2>"后,x的值為。23、若x和n均是int型變量,且x的初值為12,n的初值為5,則執(zhí)行表達(dá)式"x%=<n%=2>"后,x的值為。24、設(shè)intx=1/4;則x的值為。25、若charw,intx,floaty,doublez;則表達(dá)式w*x+z-y的結(jié)果為類型。26、設(shè)x的值為15,n的值為2,則表達(dá)式x*=n+3運(yùn)算后x的值是。27、假設(shè)有條件intx=1,y=2,z=3;則表達(dá)式z+=x>y?++x:++y的值是。28、inta=2,b=3;表達(dá)式a>b?a++:++b的值為。29、執(zhí)行語(yǔ)句"a=5+<c=6>;"后,變量a、c的值依次為、。30、表達(dá)式a=3,a++,--a的值為。31、設(shè)a、b、c為整型數(shù),且a=3,b=5,c=2,則執(zhí)行完以下語(yǔ)句:a*=16+<b++>-<++c>;后a的值是。以下程序運(yùn)行后的輸出結(jié)果是main<>{inta=1,b=4,c=2;a=<a+b>/c;printf<"%d\n",--a>;}運(yùn)行結(jié)果;設(shè)inta=3,b=5;floatx=7.5,y=3.5;則表達(dá)式<float>a+b/2+<int>x%<int>y;的值是34、在C語(yǔ)言的表達(dá)式中,x=x+5用復(fù)合運(yùn)算符可以寫成。35、設(shè)a=12,表達(dá)式a/=a+a運(yùn)算后,a的值是。36.若定義:charc=‘\010’;則變量c中包含的字符個(gè)數(shù)是。37.賦值語(yǔ)句是由加上一個(gè)分號(hào)構(gòu)成。38.a(chǎn)=12,n=5,表達(dá)式a%=<n%=2>值是。39.設(shè)說(shuō)明為inta=10;執(zhí)行語(yǔ)句a*=1+2+3;后a的值是____________。40、設(shè)intm=1,n=2;則m==--n的結(jié)果是。41、設(shè)x為int型變量,則執(zhí)行語(yǔ)句x=10;x+=x-=x-x;后x的值為。42、設(shè)所有變量均為整型,則表達(dá)式〔a=5,b=3,--a,++b,a-b的值為。三、看程序?qū)懡Y(jié)果:1、寫出以下程序運(yùn)行的結(jié)果________。main<>{inti,j,m,n;i=8;j=10;m=++i;n=j++;printf<"%d,%d,%d,%d",i,j,m,n>;}2、閱讀下列程序,寫出運(yùn)行結(jié)果#include<stdio.h>main<>{inta=1,b=4,c=2;a=<a+b>/c;printf<"%d\n",--a>;}運(yùn)行結(jié)果;3、閱讀下列程序,寫出運(yùn)行結(jié)果main<>{intn=1;printf<"%d%d%d\n",n,n++,n-->;}運(yùn)行結(jié)果;4、main<>{inti=3;printf<"%d,%d\n",i,i++>;}運(yùn)行結(jié)果;5、執(zhí)行以下程序,寫出程序運(yùn)行結(jié)果main<>{inta=-017L;printf<"%d\n",a>;}三、參考答案〔一練習(xí)題之?dāng)?shù)據(jù)類型參考答案一、選擇題:1、B 2、B 3、C 4、B 5、B 6、A 7、C 8、D 9、A 10、D11、A 12、A 13、C 14、D 15、C 16、C 17、D 18、A19、B20、A二、填空題:1、floatdouble2、〔1"c:\\TC\\LIB"〔2"Hesaid:\"I\’amastudent"〔3"85%%studentpassed"3、不是,不同4、double5、字母、下劃線6、正確7、‘f’三、看程序?qū)懡Y(jié)果1、x=5552、ab97983、67c〔二練習(xí)題之運(yùn)算符和表達(dá)式參考答案一、選擇題:1、D 2、D 3、D 4、A 5、A 6、D 7、B 8、A 9、A 10、B11、C 12、C 13、D 14、A 15、A 16、D 17、B 18、C19、A20、D21、A22、B23、C24、C25、D26、B27、D二、填空題:1、-162、263、24、45、下劃線6、47、758、89、i+110、111、012、□□□□e□□10113、1014、由右向左條件運(yùn)算符15、916、變量常量運(yùn)算符17、5.518、x+=519、2.7520、-6021、122、1223、024、025、double26、7527、628、429、11630、331、5432、133、6.034、x+=535、036、137、賦值表達(dá)式38、039、6040、141、2042、0三、看程序?qū)懡Y(jié)果1、9,11,9,102、13、1014、4,35、-15第四章順序程序設(shè)計(jì)一、主要內(nèi)容輸入輸出函數(shù)printf函數(shù)的格式考查:a格式:printf<"格式控制串",輸出表>b輸出表:要輸出的數(shù)據(jù)〔可以沒(méi)有,多個(gè)時(shí)以","分隔格式控制串:包含兩種信息格式說(shuō)明:%[修飾符]格式字符,用于指定輸出格式普通字符或轉(zhuǎn)義序列:原樣輸出c修飾符m、n、l的功能:修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長(zhǎng)度<m,左補(bǔ)空格;否則按實(shí)際輸出.n對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)<四舍五入>對(duì)字符串,指定實(shí)際輸出位數(shù)L在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型scanfa格式:scanf<"格式控制串",地址表b格式控制字符串中包含的非格式控制字符要原樣輸入;如:scanf<"sum=%d",&a>;輸入時(shí)"sum="也要輸入。scanf函數(shù)中沒(méi)有精度控制,如:scanf<"%5.2f",&a>;是非法的。3.getchar<>獲取一個(gè)字符。a格式:charc;c=getchar〔;4.putchar〔輸出一個(gè)字符,括號(hào)中的參數(shù)是一個(gè)字符變量或常量a格式:putchar〔‘a(chǎn)’;二、練習(xí)題一、選擇題:1.設(shè)有語(yǔ)句scanf<"%d,%d",&m,&n>;要使m、n的值依次為2,3,正確的輸入是<>A.2?3↙B.2,3↙C.2;3D.2↙3↙2.______是C語(yǔ)言的標(biāo)準(zhǔn)函數(shù)名?!睞.scanfB.caseC.whileD.int3、若有inti=-19,j=i%4;printf<"%d",j>;結(jié)果為。〔A、-3B、1C、3D、-14、intx,y;scanf<"%d,%d",&x,&y>;若要使x得11,y得12,則以下輸入形式中錯(cuò)誤的是。<>A、11,12↙B、11空格12↙C、11,空格↙12↙D、11,↙12↙二、填空題:1、在TC中,printf<>函數(shù)輸出表列的求值順序是。2、在scanf函數(shù)中,表示變量的地址。3、以下程序的運(yùn)行結(jié)果是。main<>{printf<"%s,%5.3s","computer","computer">;}4、若想通過(guò)以下輸入語(yǔ)句使a=5.0,b=4,c=3,則輸入數(shù)據(jù)的形式應(yīng)該是。intb,c;floata;scanf<"%f,%d,c=%d",&a,&b,&c>;5、若變量x、y已定義為int類型且X的值為99,y的值為9,請(qǐng)將輸出語(yǔ)句printf<_____,x/y>;補(bǔ)充完整,使其輸出的計(jì)算結(jié)果形式為:x/y=11。6、表達(dá)式pow<2.8,sqrt<double<x>>>值的數(shù)據(jù)類型為。7、輸入一個(gè)華氏溫度,要求輸出攝氏溫度:voidmain<>{floatc,f;printf<"請(qǐng)輸入一個(gè)華氏溫度:">;;;/*攝氏溫度c=〔f-32*/printf<"攝氏溫度為%5.2f\n",c>;}8、intx=102,y=012;printf<"%2d,%2d\n",x,y>;則執(zhí)行結(jié)果是。三、參考答案一、選擇題:1、B2、A3、A4、B二、填空題:1、由右向左2、&3、computer,□□com4、5,4,c=35、"x/y=%d"6、double7、scanf<"%f",&f>;c=5.0/9*<f-32>;8、102,10第五章選擇結(jié)構(gòu)程序設(shè)計(jì)一、主要內(nèi)容三種程序結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)if語(yǔ)句〔條件選擇語(yǔ)句aif語(yǔ)句的三種形式:bif后面的表達(dá)式類型任意的;若執(zhí)行語(yǔ)句是多條,必須為復(fù)合語(yǔ)句,即寫在一對(duì)花括號(hào)內(nèi)。cif結(jié)構(gòu)可以嵌套,注意缺省{}時(shí),else總是和它上面離它最近的未配對(duì)的if配對(duì)switch語(yǔ)句a格式中,E1,E2,…En是常量表達(dá)式,且值必須互不相同b注意執(zhí)行時(shí)語(yǔ)句中有break和無(wú)break時(shí),執(zhí)行流程的區(qū)別?!脖咎幊?糲default可以不寫。二、練習(xí)題一、選擇題:1、經(jīng)過(guò)以下語(yǔ)句定義后,表達(dá)式z+=x>y?++x:++y的值為:〔intx=1,y=2,z=3;A.2B.3C.6D.52、能正確表示邏輯關(guān)系:"a≥10或a≤0"的C語(yǔ)言表達(dá)式是:<>A.a>=10ora<=0B.a>=0|a<=10C.a>=10&&a<=0D.a>=10||a<=03.已知inta=5,b=7,c=3;則邏輯表達(dá)式a<b||++c運(yùn)算后,c的值為:<>A.1B.0C.3D.44、下列程序的輸出結(jié)果是:〔main<>{intx,y,z;x=y=z=1;++x&&++y||++z;printf<"%d%d%d\n",x,y,z>;}A.111B.222C.221D.2115、在C語(yǔ)言中邏輯值"真"是用表示的。〔A.預(yù)定義為真值的宏B.非零值C.正數(shù)D.非零整數(shù)6、設(shè)有intx,y;以下語(yǔ)句判斷x和y是否相等,正確的說(shuō)法是該語(yǔ)句:〔if<x=y>printf<"xisequaltoy.">;A.語(yǔ)法錯(cuò) B.不能判斷x和y是否相等C.編譯出錯(cuò) D.能判斷x和y是否相等7、以下程序的輸出結(jié)果是:〔。main<>

{inta=5,b=4,c=6,d;

printf<"%d\n",d=a>b?<a>c?a:c>:<b>>;

}A.5B.4C.6D.不確定8、若希望當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為"真",A的值為偶數(shù)時(shí),表達(dá)式的值為"假",則以下不能滿足要求的表達(dá)式是:〔A.A%2==1B.!<A%2==0>C.!<A%2>D.A%29、若希望當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為"真",A的值為偶數(shù)時(shí),表達(dá)式的值為"假",則以下不能滿足要求的表達(dá)式是:〔A.A%2==1B.!<A%2==0>C.!<A%2>D.A%210、執(zhí)行以下語(yǔ)句后,a,b的值分別為:〔。inta,b,c;a=b=c=1;++a||++b&&++c;〔A2,2〔B1,1〔C2,1〔D1,211、判斷char型變量cl是否為小寫字母的正確表達(dá)式為:〔A.’a’<=c1<=’z’B.<c1>=a>&&<c1<=z>C.<‘a(chǎn)’>=c1><‘z’<=c1>D.<c1>=’a’>&&<c1<=’z’>12、已知intx=10,y=20,z=30;以下語(yǔ)句執(zhí)行后x,y,z的值分別是:〔。if<x>y>z=x;x=y;y=z;〔Ax=10,y=20,z=30〔Bx=20,y=30,z=10〔Cx=20,y=30,z=30〔Dx=20,y=30,z=2013、以下選項(xiàng)中非法的表達(dá)式是: 〔<A>0<=x<100<B>i=j==0 <C><char><65+3> <D>x+1=x+114、閱讀以下程序:

main<>

{intx;

scanf<"%d",&x>;

if<x--<5>printf<"%d"'x>;

elseprintf<"%d"'x++>;

}

程序運(yùn)行后,如果從鍵盤上輸人5,則輸出結(jié)果是:〔<A>3 <B>4 <C>5<D>615.C語(yǔ)言對(duì)于嵌套if語(yǔ)句規(guī)定else總是與〔匹配。A>與最外層的ifB.>與之前最近的ifC>與之前最近的不帶else的ifD>與最近的{}之前的if16.以下有關(guān)switch語(yǔ)句的正確說(shuō)法是________。< >Abreak語(yǔ)句是語(yǔ)句中必須的一部分B在switch語(yǔ)句中可以根據(jù)需要使用或不使用break語(yǔ)句Cbreak語(yǔ)句在switch語(yǔ)句中不可以使用D在switch語(yǔ)句中的每一個(gè)case都要用break語(yǔ)句17.設(shè)有:inta=2,b=3,c=7,d=8,m=3,n=3;執(zhí)行<m=a>b>&&<n=c>d>后的n值為_(kāi)________。A>0B>1C>2D>3 < >18.可判斷非0變量a為正,b為負(fù)的正確表達(dá)式是_________。 < >A>a*b<0B><a>0||b>0>&&a*b<0C><a<0||b<0>&&a*b<0D>a>0&&a*b<019.假定inta=3,b=2,c=1,表達(dá)式:<c==a>c>+<a/b>的值是_________。< >A>1.75B>2C>1.5D>2.520.設(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>21、如果a=4,b=3,c=2,d=1,則條件表達(dá)式a<b?a:c<d?c:d的值是?!睞、1B、2C、3D、422、設(shè)有定義inta=1,b=2,c=3,d=4,m=2,n=2;則執(zhí)行表達(dá)式<m=a<b>&&<n=c>d>后,n的值為?!睞、1B、2C、3D、0二、填空題:1、設(shè)x=3,y=-4,z=5,則表達(dá)式!<x>y>+<y!=z>||<x+y>&&<y=z>的值是。2、 當(dāng)a=5,b=4,c=2時(shí),表達(dá)式a>b!=c的值是_______。3、為表示關(guān)系x≥y≥z,正確的C語(yǔ)言邏輯、關(guān)系表達(dá)式為。4、有inta=3,b=4,c=5,x,y;,則以下表達(dá)式的值為!<x=a>&&<y=b>&&c5、在C語(yǔ)言中,表示邏輯"真"值用.6、當(dāng)a=3,b=2,c=1時(shí),表達(dá)式f=a>b>c的值是.7、與if〔x==0等價(jià)的表達(dá)式寫法寫法是。8、若定義:inta=5,b=2,c=1;則表達(dá)式a-b>c||b==c的值是;表達(dá)式a-b>c&&b==c的值是。":?"條件運(yùn)算符是C語(yǔ)言中唯一的三目運(yùn)算符。由其連接的表達(dá)式為條件表達(dá)式,其格式為:<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>。執(zhí)行過(guò)程:首先計(jì)算表達(dá)式1的值,如果表達(dá)式1的值是"真"〔非0,則整個(gè)表達(dá)式的值為的值;如果表達(dá)式1的值是"假"〔0,則整個(gè)表達(dá)式的值為的值。10.C語(yǔ)言提供的三種邏輯運(yùn)算符是______、______和_______。11.若已知a=10,b=20,則表達(dá)式!a<b的值是___________12.若a,b變量的值任意,表達(dá)式<a==b>&&<a>b>的值是_________。13.設(shè)x,y,z均為int型變量,請(qǐng)寫出:〔1x、y中至少有一個(gè)小于z的表達(dá)式_____________;〔2x、y都大于z的表達(dá)式____________;14、能正確表示a>=10或a<=0的關(guān)系表達(dá)式為。15、以下程序的功能是:輸出a、b、c三個(gè)變量中的最小值,請(qǐng)?zhí)羁铡?include<stido.h>main<>{inta,b,c,min;scanf<"%d%d%d",&a,&b,&c>;if<>min=a;elsemin=b;if<>min=c;printf<"%d\n",min>;}三、看程序?qū)懡Y(jié)果:1、main<>{intx,y,z;x=y=z=1;z=++x&&++y||++z;運(yùn)行結(jié)果:printf<"%d%d%d\n",x,y,z>;}2、main<>{intm=5;if<m++>5>printf<"%d\n",m>;運(yùn)行結(jié)果:elseprintf<"%d\n",m-->;}3、若從鍵盤輸入58,則以下程序輸出的結(jié)果是。main<>

{inta;

scanf<"%d",&a>;

if<a>50>printf<"%d",a>;

if<a>40>printf<"%d",a>;

if<a>30>printf<"%d",a>;

}4、以下程序運(yùn)行后的輸出結(jié)果是。main<>

{intp,a=5;

if<p=a!=0>

printf<"%d\n",p>;

else

printf<"%d\n",p+2>;

}

5、源程序如下:#include<stdio.h>main<>{inta=2,b=7,c=5;switch<a>0>{case1:switch<b<0>{case1:printf<"">;break;case2:printf<"!">;break;}case0:switch<c==5>{case0:printf<"*">;break;case1:printf<"#">;break;case2:printf<"$">;break;}default:printf<"&">;}printf<"">;}運(yùn)行結(jié)果:6、main<>{intx=1,y=2;switch<x>{case0:case1:switch<y>運(yùn)行結(jié)果:{case1:case2:y+=2;}case2:x++;}printf<"%d,%d\n",x,y>;}7.以下程序的輸出結(jié)果是。main<>{intx=1,y=1,a=0,b=0;switch<x>{case1:switch<y>{case0:a++;case1:b++;case2:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf<"a=%d,b=%d\n",a,b>;}8.以下程序段的運(yùn)行結(jié)果是_________。inta,b,c;a=50;b=100;c=30;if<a>b>{a=b;b=c;c=a;}printf<"a=%d,b=%d,c=%d"a,b,c>;9.下面程序的輸出結(jié)果是〔voidmain〔{inti=10;switch〔i{case9:i+=1;case10:i+=1;case11:i+=1;case12:i+=1;}printf〔"i=%d\n",i;}四、編程題:1、從鍵盤輸入3個(gè)整數(shù),按照從大到小的順序輸出。2、設(shè)有一個(gè)函數(shù)如下。編程,輸入x,求y值。y=QUOTE3、求一元二次方程ax2+bx+c=0的根,要求考慮所有根的情況。4、設(shè)有一個(gè)函數(shù)如下。編程,輸入x,求y值。y=QUOTE5.輸入一個(gè)字符,判斷其是否是大寫字母,如果是,則轉(zhuǎn)換成為小寫字母,然后輸出字符,如果不是小寫字母,則直接輸出字符。6、有分段函數(shù)x,x<1y=2x-1,1<=x<103x–11,x>=10編寫一程序,輸入x,輸出相應(yīng)的y值。7、分別用兩種判斷方法,寫出判斷一個(gè)年份為閏年的程序。三、參考答案一、選擇題:1~5:CDCCB6~10:BCCCC11~15:DCDBC16~20:BDDBD21、A22、B二、填空題:1、1 2、1 3、〔x>=y&&<y>=z> 4、0 5、非零值6、0 7、if〔!x 8、109、表達(dá)式2,表達(dá)式310、!,&&,||11、112、013、〔1x<z||y<z<2>x>z&&y>z14、a>=10||a<=015、〔1a<b<2>c<min三、看程序?qū)懡Y(jié)果:1、2212、63、5858584、15、#&6、2,47、a=1,b=38、a=100,b=30,c=1009、i=13四、編程題:1、從鍵盤輸入3個(gè)整數(shù),按照從大到小的順序輸出。main<>

{

intx,y,z,t;

scanf<"%d%d%d",&x,&y,&z>;

if<x>y>

{t=x;x=y;y=t;}/*交換x,y的值*/

if<x>z>

{t=z;z=x;x=t;}/*交換x,z的值*/

if<y>z>

{t=y;y=z;z=t;}/*交換z,y的值*/

printf<"smalltobig:%d%d%d\n",x,y,z>;

}2、設(shè)有一個(gè)函數(shù)如下。編程,輸入x,求y值。y=QUOTE#include<math.h>main<>

{doublex,y;

scanf<"%f",&x,>;if<x>0>

y=sqrt<x>;elseif<x<0>

y=<x+1>/<x*x+2>;elsey=0;

printf<"y=%f\n",y>;}3、求一元二次方程ax2+bx+c=0的根,要求考慮所有根的情況。教材P108例5.64、設(shè)有一個(gè)函數(shù)如下。編程,輸入x,求y值。y=QUOTE#include<math.h>main<>

{doublex,y;

scanf<"%f",&x,>;if<x>=0>

y=sqrt<x+1>;elsey=sin<x>;printf<"y=%f\n",y>;}5.輸入一個(gè)字符,判斷其是否是大寫字母,如果是,則轉(zhuǎn)換成為小寫字母,然后輸出字符,如果不是小寫字母,則直接輸出字符。main<>

{charch;

scanf<"%c",&ch,>;if<ch>=’A’&&ch<=’Z’>

ch=ch+32;printf<"ch=%c\n",ch>;}6、有分段函數(shù)x,x<1y=2x-1,1<=x<103x–11,x>=10編寫一程序,輸入x,輸出相應(yīng)的y值。#include<math.h>main<>

{doublex,y;

scanf<"%f",&x,>;if<x>10>

y=3*x-11;elseif<x>1>

y=2*x-1;elsey=x;

printf<"y=%f\n",y>;}7、分別用兩種判斷方法,寫出判斷一個(gè)年份為閏年的程序。見(jiàn)教材P106頁(yè)例5.5第六章循環(huán)結(jié)構(gòu)一、主要內(nèi)容三種循環(huán)結(jié)構(gòu):1.while語(yǔ)句a當(dāng)型結(jié)構(gòu),條件成立執(zhí)行循環(huán)體。b先判斷表達(dá)式,后執(zhí)行循環(huán)體。循環(huán)體有可能一次都不執(zhí)行2.do~while語(yǔ)句a先執(zhí)行后判斷,至少執(zhí)行一次循環(huán)體bdo~while語(yǔ)句表達(dá)式后面必須加分號(hào)3.for語(yǔ)句afor語(yǔ)句中expr1,expr2,expr3類型任意,都可省略,但分號(hào);不可省循環(huán)嵌套:執(zhí)行時(shí)先內(nèi)存循環(huán),后外層循環(huán)。〔看程序?qū)懡Y(jié)果題外層循環(huán)可包含兩個(gè)以上內(nèi)循環(huán),但不能相互交叉break和continue<注意程序中兩者的區(qū)別>1.break語(yǔ)句在循環(huán)語(yǔ)句和switch語(yǔ)句中,終止并跳出循環(huán)體或開(kāi)關(guān)體2.break只能終止并跳出最近一層的結(jié)構(gòu)3.continue語(yǔ)句,結(jié)束本次循環(huán),跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句,進(jìn)行下一次是否執(zhí)行循環(huán)體的判斷4.continue僅用于循環(huán)語(yǔ)句中二、練習(xí)題一、選擇題:1.執(zhí)行語(yǔ)句:for<i=1;i<9;i++>后;變量i的值是〔?!睞10〔B9〔C不定〔D112.若t為int類型,進(jìn)人下面的循環(huán)之前,t的值為0,while<t=l>{……}則以下敘述中正確的是〔。<A>循環(huán)控制表達(dá)式的值為0

<B>循環(huán)控制表達(dá)式的值為1<C>循環(huán)控制表達(dá)式不合法

<D>以上說(shuō)法都不對(duì)3.對(duì)do...while語(yǔ)句錯(cuò)誤的描述是:〔A.可構(gòu)成多重循環(huán)結(jié)構(gòu) B.循環(huán)次數(shù)不可能為0C.循環(huán)次數(shù)可能為0 D.先執(zhí)行后判斷。4.下面程序段的運(yùn)行結(jié)果是〔。intn=0;while<n++<=2>;printf<"%d",n>;〔A4〔B3〔C2〔D有語(yǔ)法錯(cuò)誤5.以下描述正確的是〔。A.由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句。B.do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while〔表達(dá)式后面不能寫分號(hào)。C.在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變成零〔"假"的操作。D.do-while循環(huán)中,根據(jù)情況可以省略while。6.關(guān)于do-while語(yǔ)句的正確敘述是〔A. do-while語(yǔ)句構(gòu)成的循環(huán)不能用其它語(yǔ)句構(gòu)成的循環(huán)來(lái)代替B. do-while語(yǔ)句構(gòu)成的循環(huán)只能用continue語(yǔ)句退出C. 用do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)D. 用do-while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)7.C語(yǔ)言中,while和do…while循環(huán)的主要區(qū)別是〔。A.while的循環(huán)控制條件比do…while的循環(huán)控制條件嚴(yán)格B.do…while的循環(huán)體至少無(wú)條件執(zhí)行一次C.do…while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D.do…while的循環(huán)體不能是復(fù)合語(yǔ)句8.以下程序的輸出結(jié)果是〔。main<>{intx=10,y=10,i;for<i=0;x>8;y=++i>printf<"%d,%d",x--,y>;}A.10192B.9876C.10990D.1010919.現(xiàn)已定義整型變量inti=1;執(zhí)行循環(huán)語(yǔ)句while<i++<5>;后,i的值為〔A>1B>5C>6D>以上三個(gè)答案均不正確10.有以下程序main<>{inti;for<i=0;i<=3;i++>switch<i>{case1:printf<"%d",i>;case2:printf<"%d",i>;break;default:printf<"%d",i>;}}執(zhí)行后輸出的結(jié)果是:〔A.01123B.012C.012020D.12011、執(zhí)行語(yǔ)句:for<i=1;i<=9;i++>;后變量i的值是:〔A.10B.9C.不定D.1112.設(shè)執(zhí)行變量y值為3,執(zhí)行下列循環(huán)語(yǔ)句后,變量y的值是〔。doy++;while<y++<4>;〔A>3 〔B>4〔C>5〔D>613.若k為整型變量,則下面while循環(huán)執(zhí)行的次數(shù)是〔。k=10;while<k==0>k=k-1;<A>0次 <B>1次<C>10次<D>無(wú)限次14.以下程序段_________。x=-1;do{x=x*x;}while<!x>;A>是死循環(huán)B>循環(huán)執(zhí)行2次C>循環(huán)執(zhí)行1次D>有語(yǔ)法錯(cuò)誤15.對(duì)表達(dá)式for<表達(dá)式1;;表達(dá)式3>可理解為〔A.>for<表達(dá)式1;0;表達(dá)式3>B>for<表達(dá)式1;1;表達(dá)式3>C>for<表達(dá)式1;表達(dá)式1;表達(dá)式3>D>for<表達(dá)式1;表達(dá)式3;表達(dá)式3>二、填空題:在循環(huán)語(yǔ)句中,continue和break語(yǔ)句的區(qū)別是:語(yǔ)句提前結(jié)束本次循環(huán),進(jìn)行下一次循環(huán)的判斷;而語(yǔ)句跳出循環(huán)結(jié)構(gòu),結(jié)束循環(huán)。2、執(zhí)行下面的程序段后,k值是。k=1;n=263;do{k*=n%10;n/=10;}while<n>;3.用_________________語(yǔ)句可以實(shí)現(xiàn)提前結(jié)束循環(huán)。4.執(zhí)行完語(yǔ)句for<i=0;i<3;i++>;后,變量i的值為_(kāi)________________。5、在C語(yǔ)言中,實(shí)現(xiàn)循環(huán)的語(yǔ)句有:if__goto語(yǔ)句、while語(yǔ)句、語(yǔ)句和for語(yǔ)句。三、看程序?qū)懡Y(jié)果:1.下列程序段的輸出結(jié)果是。voidmain<>{inti,j;for<i=4;i>=1;i-->{for<j=1;j<=i;j++>printf<"*">;printf<"\n">;}}2.以下程序運(yùn)行后的輸出結(jié)果是。#include<stdio.h>main<>{intk=1,s=0;do{if<<k%2>!

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論