




已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言習(xí)題答案 第一章 C語(yǔ)言基礎(chǔ)知識(shí)一,選擇題 1 答案是A A正確 課本第2頁(yè)11行 B 可以作為復(fù)合語(yǔ)句的標(biāo)志 C main 函數(shù)不是用戶(hù)命名的 D 分號(hào)是語(yǔ)句結(jié)束的標(biāo)志,肯定是語(yǔ)句的一部分 做這個(gè)題目需要對(duì)書(shū)上的概念透徹的理解 2 答案是A A 錯(cuò)誤 課本第4頁(yè)關(guān)于用戶(hù)標(biāo)識(shí)符是這樣介紹的-命名時(shí),標(biāo)識(shí)符 的選擇由用戶(hù)自定,但是不能與關(guān)鍵字相同,所以A選項(xiàng)錯(cuò)誤。這個(gè) 題目考察用戶(hù)標(biāo)識(shí)符 3 答案是B 用戶(hù)標(biāo)識(shí)符是標(biāo)識(shí)符,所以可以是有下劃線,但是中劃線不屬于字母, 數(shù)字,下劃線其中一種。這個(gè)題目考察用戶(hù)標(biāo)識(shí)符的概念。 4 答案是B define 是預(yù)定義標(biāo)識(shí)符,而預(yù)定義標(biāo)識(shí)符可以是用戶(hù)標(biāo)識(shí)符,所以 define可以是用戶(hù)標(biāo)識(shí),if 是關(guān)鍵字,而關(guān)鍵字不能是用戶(hù)標(biāo)識(shí)符, 所以if不可以是用戶(hù)標(biāo)識(shí)符 5 答案是D sizeof 是關(guān)鍵字,參照附錄二 注:6-13 考察用戶(hù)標(biāo)識(shí)符概念 6 答案是D D答案以數(shù)字2開(kāi)頭了,不符合標(biāo)識(shí)符定義 7 答案是C C答案以數(shù)字開(kāi)頭了 8 答案是D int 是關(guān)鍵字 9 答案是B 答案A 是關(guān)鍵字,答案C是以數(shù)字開(kāi)頭了,不符合概念,答案D出 現(xiàn)了小數(shù)點(diǎn) 10 答案是A 答案A出現(xiàn)了小數(shù)點(diǎn) 11 答案是C 答案C 以數(shù)字開(kāi)頭了 12 答案是A B答案中float 是關(guān)鍵字,C答案中3c以數(shù)字3開(kāi)頭了,D答案中-5d 中 - 不屬于字母,數(shù)字,下劃線中一種 13 答案是A B答案中-max中-錯(cuò)誤,C答案中3COM以字母3開(kāi)頭了,D答案中 int 是關(guān)鍵字,不是用戶(hù)標(biāo)識(shí)符 14 答案是B A答案中15. 后面不應(yīng)該有點(diǎn),C答案中出現(xiàn)了逗號(hào),D中字母B有 問(wèn)題 15 答案是B 課本第8頁(yè)倒數(shù)8行 16 答案是B B中出現(xiàn)了8,而八進(jìn)制只能有0到7組成 17 答案是D 答案D中開(kāi)頭是0不是o 18 答案是C 答案A中E后面是整數(shù),0.5是小數(shù) 答案B 中E后面不能為空 答案D中E前面不能為空 本題目考察指數(shù)的表示形式 19 答案是C 答案A中2.0有問(wèn)題,不能為小數(shù)形式 答案B中E前面不能為空 答案D中E后面不能為空 本題目考察指數(shù)的表示形式 20 答案是A B中八進(jìn)制中不能出現(xiàn)數(shù)字8,C中e后面不能是小數(shù),D中e后面 不能為空 21 答案是B B中0.4是小數(shù),不正確 22 答案是C C中0.5是小數(shù),不正確 23 答案是D 3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8 本題目考察算術(shù)運(yùn)算符,需要注意整數(shù)除以整數(shù)結(jié)果只能是整數(shù) 24 答案是D %不能用于實(shí)型的計(jì)算 25 答案是D D答案中$不屬于字母,數(shù)字,下劃線 26 答案是 A A答案是逗號(hào)表達(dá)式,B答案中x+1=y是賦值表達(dá)式,左邊只能是變 量,而這里是x=1, 同理答案C中x+10也是錯(cuò)誤的,在D答案中, 考察的是強(qiáng)制類(lèi)型轉(zhuǎn)換, 正確的是(double)x/10 27 答案是 A 本題考察的是注釋需要注意的地方,具體解答見(jiàn)課本第2頁(yè)中間部分 28 答案是B 答案A中n2沒(méi)有定義,答案C中在定義f之前不能使用它,答案D 中E后面必須是整數(shù) 29 答案是 C 考察的是強(qiáng)制類(lèi)型轉(zhuǎn)換,正確的是k%(int)f 30 答案是 D 本題目類(lèi)似與課本第16頁(yè)的例15,解題方法是要抓住+m,-n,-m, 表達(dá)式的值是變量變化之后的值,而n-表達(dá)式的值是變量n變化之 前的值 31 答案是B 本題目是課本第10頁(yè)的例9,具體解答見(jiàn)課本,本題目考察的是負(fù) 整數(shù)與無(wú)符號(hào)正整數(shù)在計(jì)算機(jī)中存放的格式的一樣的,但表示的不 同的兩個(gè)數(shù) 32 答案是C A答案中%運(yùn)算對(duì)象不能為實(shí)型,26.8錯(cuò)誤,B答案中考察的賦值 運(yùn)算符,賦值運(yùn)算符左邊必須是變量,所以賦值運(yùn)算符左邊1+2錯(cuò) 誤,同理答案D錯(cuò)誤 33 答案是 C 本題目考察的是課本第15頁(yè)的關(guān)于自加與自減運(yùn)算符的第一點(diǎn)說(shuō) 明,即增量運(yùn)算符的運(yùn)算對(duì)象只能是變量,而在C答案中+(i+1) 中,i+1是表達(dá)式 34 答案是 B 本題目考察的是整數(shù)除以整數(shù)結(jié)果是整數(shù),在B答案中1/2結(jié)果是0,導(dǎo)致整個(gè)表達(dá)式的值是0,明顯是錯(cuò)誤的 35 答案是D 36 答案是A 本題目見(jiàn)課本第13頁(yè)倒數(shù)第10行 本題目主要考察n+表達(dá)式的值是n變化之前的值,然后使n的值增加1 37 答案是 B c=a/b+0.4 c=8/5+0.4 c=1+0.4 c=1.4 因?yàn)閏 是int 型的,所以n的值是1 ,做此題目需要仔細(xì)閱讀題目 38 答案是 D (int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000 同樣a,b的類(lèi)型是double型的 39 答案是D 見(jiàn)課本第9頁(yè)例8二,填空題 1 課本第9頁(yè)倒數(shù)第7行 2 課本第3頁(yè)倒數(shù)第5行 3 課本第9頁(yè)倒數(shù)第6行 4 課本第7頁(yè)倒數(shù)第5行 5 課本第8頁(yè)整型變量和第11頁(yè)實(shí)型變量的介紹 6 5+3.6/2=5+1.8=6.8 7 a+表達(dá)式的值是a變化之前的值,當(dāng)然a本身增加了1 8 把10賦給變量B第二章 順序結(jié)構(gòu)一 選擇題1, 答案是 C 隨意使用空語(yǔ)句會(huì)導(dǎo)致邏輯上出現(xiàn)錯(cuò)誤,不要隨便使用。2, 答案是 B 語(yǔ)句必須以分號(hào)結(jié)尾,A,C,D表達(dá)式后面均沒(méi)有分號(hào)。3, 答案是 C int x=13,y=4;說(shuō)明x,y均為整型,所以x/y只取整數(shù)部分(舍去法),值為3, 把3賦值給x,整個(gè)x=x/y表達(dá)式的值為左邊變量x的值,所以輸出為3。4, 答案是 A a,b均為整型,a/b是取ab所得商的整數(shù)部分,所以是0,再把0賦值給 c,所以是c的值是0。5, 答案是 DA 注釋語(yǔ)句可以放在代碼的任何位置B 將r定義為整型不會(huì)在編譯時(shí)出錯(cuò),會(huì)自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換C 變量s為浮點(diǎn)型,格式描述符f時(shí)正確的D 是非法的變量6, 答案是 D(x,y)是逗號(hào)表達(dá)式,它的值只有一個(gè),所以格式說(shuō)明符的個(gè)數(shù)和輸出項(xiàng)的個(gè)數(shù)是相等的。并且逗號(hào)表達(dá)式的值為最后一個(gè)表達(dá)式的值,最后一個(gè)表達(dá)式是y=2003,所以整個(gè)表達(dá)式的值是2003,因此輸出值為2003。7, 答案是 Am是十進(jìn)制整數(shù)以十進(jìn)制有符號(hào)的形式輸出,即照原樣輸32767,n=032767,032767是八進(jìn)制的整數(shù)以八進(jìn)制無(wú)符號(hào)形式輸出,去掉前面的0。見(jiàn)教材P208, 答案是 C m,n的值都是十六進(jìn)制數(shù)0xabc,m-=n即是m=m-n, 把m-n的值賦給m, 即把0賦給m,再把m值以十六進(jìn)制無(wú)符號(hào)的形式輸出,輸出的十六進(jìn)制 數(shù)不用在前面0x或者0X。見(jiàn)教材P219, 答案是 B 表達(dá)式i的值是在變量自減之前的值,i的初值為10,所以該表達(dá)式的 值也為10;表達(dá)式j(luò)+的值是變量自加之后的值,j初值為1,所以該表達(dá) 式在值是2。10, 答案是 C m=0256,即m是八進(jìn)制的數(shù)0256,要以八進(jìn)制無(wú)符號(hào)的形式輸出,即輸出 256;n=256,即n是十進(jìn)制的數(shù)256,也要以八進(jìn)制無(wú)符號(hào)的形式輸出,首 先要把十進(jìn)制數(shù)轉(zhuǎn)化為八進(jìn)制數(shù),256轉(zhuǎn)化為八進(jìn)制為0400,以無(wú)符號(hào)形 式輸出,即輸出400。11, 答案是 B 在printf語(yǔ)句中,格式控制的個(gè)數(shù)只有一個(gè),即d,而輸出項(xiàng)有兩項(xiàng),即a和b。而得到的結(jié)果應(yīng)該只有一個(gè),所以應(yīng)該輸出第一個(gè)變量的值,即變量a的值。12, 答案是 C 第一個(gè)數(shù)據(jù)的輸出控制寬度是2位,但是x的值是102,占3位,要輸出的數(shù)據(jù)寬度大于規(guī)定的輸出寬度,所以按數(shù)據(jù)的實(shí)際寬度輸出,輸出102。第二個(gè)數(shù)據(jù)要求以十進(jìn)制形式輸出,輸出控制寬度是2,y的值為012,是八進(jìn)制數(shù),所以要轉(zhuǎn)換成十進(jìn)制數(shù)10后再輸出。13, 答案是 B表達(dá)式af/=c*=(x=6.5),按從右到左結(jié)合,先把6.5賦值給x,再執(zhí)行cc*6.5,c的值變?yōu)?5,再執(zhí)行ff/65,為浮點(diǎn)數(shù)的除法,f的值為1.53,再把f的值賦給a,a為整型數(shù)據(jù),執(zhí)行強(qiáng)制類(lèi)型轉(zhuǎn)換,a的值為1。a對(duì)應(yīng)的輸出格式為d,即輸出1;c對(duì)應(yīng)的輸出格式為d,輸出65,f對(duì)應(yīng)的輸出格式3.1f,即輸出控制寬度為3位,保留小數(shù)點(diǎn)后一位小數(shù),即輸出1.5,x對(duì)應(yīng)的輸出格式也為3.1f,輸出6.5。14, 答案是 B long x=-123456L;說(shuō)明x為長(zhǎng)整型的數(shù)據(jù),長(zhǎng)整型數(shù)據(jù)對(duì)應(yīng)的輸出格式應(yīng)該為ld。15, 答案是 C m=(k+=i*=k);按從右到左結(jié)合,先執(zhí)行i=i*k;即i被賦值為4,再執(zhí)行kk4;k被賦值為6,最后把6賦給m,輸出m和i的值。16, 答案是 C 略(參考12題)17, 答案是 D m遵循從右向左結(jié)合的原則;m的值為m自增之前的值,所以執(zhí)行完xm以后,x被賦值為3;表達(dá)式xx8/+n中有加號(hào)除號(hào),先算8/+n,+n的值為自增之后的值為5,8/5取整為1,即xx8/+n轉(zhuǎn)化為xx1,即把x1的值賦給x,x的值變?yōu)?。18, 答案是 D A 輸入函數(shù)應(yīng)為scanf(); B,C 輸入數(shù)據(jù)列表必須是地址表達(dá)式;19, 答案是 A 從鍵盤(pán)輸入數(shù)據(jù)的格式必須與輸入控制要求的格式一樣 B答案三個(gè)之間不要有空格;C答案用逗號(hào)分開(kāi)是多余的;D答案格式不匹配。20, 答案是 A 格式控制要求輸入的兩個(gè)數(shù)據(jù)之間要用逗號(hào)隔開(kāi),A沒(méi)有逗號(hào)所以錯(cuò)誤,D兩個(gè)輸入數(shù)之間的回車(chē)換行可以忽略。21, 答案是 C x乘以100是為了把x小數(shù)點(diǎn)后的兩位小數(shù)變?yōu)檎麛?shù),再加上0.5,如果小數(shù)點(diǎn)后一位大于等于5則會(huì)進(jìn)一位,如果小數(shù)點(diǎn)后一位小于5則不會(huì)出現(xiàn)進(jìn)位的情況,再對(duì)其進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,采用舍去法丟掉小數(shù)部分,即對(duì)x乘上100后的數(shù)實(shí)現(xiàn)了小數(shù)位到整數(shù)位的四舍五入。最后再除以100.0,把數(shù)字變回原來(lái)的大小,整數(shù)與浮點(diǎn)數(shù)相除結(jié)果為浮點(diǎn)數(shù),即實(shí)現(xiàn)了要求。22, 答案是 C 從鍵盤(pán)輸入數(shù)據(jù)的格式必須與輸入控制要求的格式一樣。23, 答案是 B輸入控制中第一個(gè)數(shù)要求以“2d”形式輸入,即要求輸入一個(gè)兩位的數(shù),而從鍵盤(pán)輸入的數(shù)為876,所以從左到右取兩位數(shù)字87,即把87賦值給整型變量a,余下的6再賦值給浮點(diǎn)型變量b,自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換,b的值為6.000000,后面輸入的543則沒(méi)有賦值給變量。24, 答案是 D“”會(huì)輸出一個(gè)“”,“d”會(huì)照原樣輸出,因?yàn)闆](méi)有格式說(shuō)明,m,n無(wú)法輸出到屏幕。二 填空題1, 一條語(yǔ)句 分號(hào) 參見(jiàn)教材P182, 88首先將八進(jìn)制數(shù)0210轉(zhuǎn)化為十六進(jìn)制的數(shù)0X88,輸出格式說(shuō)明要以十六進(jìn)制無(wú)符號(hào)的形式輸出,所以省略0X,直接輸出88。3, 11把十進(jìn)制數(shù)轉(zhuǎn)化為八進(jìn)制數(shù),以無(wú)符號(hào)的形式輸出4, 25 21 37 b為八進(jìn)制數(shù)025,c為十六進(jìn)制數(shù)0X25,首先把b、c都轉(zhuǎn)化為十進(jìn)制的整數(shù),分別為21、37,按照輸出格式要求a、b、c以十進(jìn)制整數(shù)形式輸出,中間以空格分開(kāi),所以輸出為25 21 37。5, n1%dnn2=%d除了n1,n2的值之外,還必須加入“n1”“n2”照原樣輸出的字符,很明顯在兩個(gè)數(shù)據(jù)之間還加了換行符。6, i=10,j=20格式控制中加入了格式說(shuō)明以外的其他字符,則在輸入數(shù)據(jù)時(shí)這些字符也要同樣輸入。輸入格式控制為i=%d,j=%d,所以則應(yīng)該從鍵盤(pán)輸入i=10,j=207, 261a為十進(jìn)制數(shù)177轉(zhuǎn)化為八進(jìn)制的數(shù)為0261,以無(wú)符號(hào)的形式輸出為2618, 16a的初值為0,在表達(dá)式a+=(a=8)中,a首先被賦值為8,再執(zhí)行操作a=aa,所以a最后被賦值為16,即輸出a的值為16第三章 選擇結(jié)構(gòu)一、選擇題1、D 此題主要是考語(yǔ)句的特征。一條語(yǔ)句只包含一個(gè)分號(hào),D項(xiàng)有兩個(gè)分號(hào),應(yīng)該是兩條語(yǔ)句,所以選D。2、C此題主要是考真假條件的等價(jià)。題目中的E為非0時(shí)條件為真,為0事為假。那么把非0和0帶到選項(xiàng)中可知,C項(xiàng)正好是E為0時(shí)表達(dá)式為真,非0時(shí)為假,所以選C。3、D 任意合法的表達(dá)式都可以作為邏輯運(yùn)算符的運(yùn)算對(duì)象4、D 此題主要是考邏輯運(yùn)算和關(guān)系運(yùn)算的優(yōu)先級(jí)別.只要掌握!、算術(shù)運(yùn)算和&的優(yōu)先級(jí)別便可選對(duì).這幾種運(yùn)算符的具體優(yōu)先級(jí)關(guān)系見(jiàn)P26第7行。5、A 此題主要是考邏輯運(yùn)算符!、&和|之間的優(yōu)先級(jí)別。!最高,&次之,|最低。先求得!a為0,所以不必計(jì)算!b的值,即!a&!b的值為0,由c=0,!c=1,而0|1=1,所以選D。6、A 此題主要是考了邏輯、關(guān)系和算術(shù)運(yùn)算,熟練掌握邏輯運(yùn)算、關(guān)系運(yùn)算和算術(shù)運(yùn)算的優(yōu)先級(jí)別后,就不難了。A 選項(xiàng)中!a為0,所以!a=1為假,那么就不用計(jì)算&后面的表達(dá)式了,因?yàn)?與任何數(shù)均為假;B項(xiàng)中先計(jì)算出ab為假,則(ab)&!c也為假,而0|1=1; C項(xiàng)中a和b均為真,所以a&b的值為1;D項(xiàng)中先計(jì)算出(b+b)&(c-a)=1,又a=2,2|1=1 所以選A。7、D 此題考到了+運(yùn)算符以及邏輯運(yùn)算。當(dāng)計(jì)算機(jī)碰到a&b時(shí),先計(jì)算表達(dá)式a的值,若為真才會(huì)計(jì)算表達(dá)式b的值,否則將不會(huì)去計(jì)算b的值,因?yàn)橐坏゛=0,則0&b必為0;而a|b則正好是相反的,即先計(jì)算表達(dá)式a的值,若a為假才會(huì)計(jì)算表達(dá)式b的值,否則將不會(huì)去計(jì)算b的值,因?yàn)橐坏゛=1,則1|b的值必為1,理解了這兩點(diǎn)后,我們?cè)诳搭}目:具體的分析在教材第一冊(cè)第三章P26頁(yè)的例2。8、D 此題和題2非常的相似,也是考真假條件的轉(zhuǎn)換,其中D項(xiàng)中只有k為0時(shí),!k%2=1才成立,顯然和A、B、C三項(xiàng)不同。9、C 此題主要是考if和else的配對(duì)問(wèn)題??稍诮滩牡谝粌?cè)第三章P32第4行找到答案。10、D 此題主要是考if和else的一般形式。if后面的語(yǔ)句要么是單條語(yǔ)句,要么是由 擴(kuò)起來(lái)的復(fù)合語(yǔ)句,不能是if后有兩條語(yǔ)句的,所以本題程序在運(yùn)行的時(shí)候會(huì)出錯(cuò)。11、C 此題考到了關(guān)系運(yùn)算和邏輯運(yùn)算及一定數(shù)學(xué)知識(shí)。|x-y|10可等價(jià)為-10x-y10,首先選項(xiàng)A表示x-y的絕對(duì)值小于10,與題中的數(shù)學(xué)關(guān)系一樣;將-10x-ya為真,所以(n=ba)為1,那么將不會(huì)去計(jì)算m=abc的值為0,所以不執(zhí)行第一條語(yǔ)句;在判斷第二個(gè)條件,c-1=d表達(dá)式的結(jié)果為真,所以執(zhí)行其下面的語(yǔ)句,那么將輸出d+1的值為3 ,所以選答案B。注意:本題中有一個(gè)錯(cuò)誤,就是最后一條語(yǔ)句掉了個(gè)“;”,請(qǐng)大家補(bǔ)上分號(hào),再做此題 ,否則本題將選答案D (這是打印錯(cuò)誤,出題者的本意不是要選D)17、C 此題主要是考查條件表達(dá)式和條件運(yùn)算符。首先要注意條件表達(dá)式的結(jié)合方向,它是從右至左的(可參照附錄三) 第一個(gè)條件表達(dá)式的值為a,第二個(gè)條件表達(dá)式的值為c ,而c=6,所以答案選C 。18、A此題主要是考查if-else語(yǔ)句和條件表達(dá)式的轉(zhuǎn)化。只要理解了if-else語(yǔ)句和條件表達(dá)式的運(yùn)算規(guī)則的話(huà),就很容易選出A19、D 此題主要是考查在switch語(yǔ)句中break和default的作用及break的適用范圍。詳細(xì)說(shuō)明可參看教材第一冊(cè)第三章 P33對(duì)switch的說(shuō)明部分和第四章P45關(guān)于break語(yǔ)句的注意事項(xiàng)。20、B 此題考查的是條件表達(dá)式求解問(wèn)題。先看第一個(gè)條件表達(dá)式語(yǔ)句,ac為假,所以k=k=2選 B21、A 此題考查的是條件表達(dá)式的求解順序。參照附錄三可知,它的結(jié)合方向是自右至左,所以先求得右邊一個(gè)條件表達(dá)式的值為2,再求得左邊一個(gè)的值為1,即選A22、C 此題考查的是真假條件的等價(jià)問(wèn)題。x-y為真表示x-y是非0的,也即x-y0 即選C二、填空題1、答案是:10 20 0分析:多數(shù)同學(xué)得到的答案是10 20 1,顯然是沒(méi)有弄清楚第三條賦值語(yǔ)句:c=(a%b1).這是將后面一個(gè)邏輯表達(dá)式的值給c,那么關(guān)于邏輯表達(dá)式的考題,無(wú)非就是考察運(yùn)算符的優(yōu)先級(jí),也就上說(shuō)先算哪個(gè),后算哪個(gè)的問(wèn)題。在這個(gè)題里面,先計(jì)算第一個(gè)圓括號(hào)里面的內(nèi)容,a%b的值是10,所以101為假。在邏輯或運(yùn)算的時(shí)候,兩個(gè)運(yùn)算對(duì)象都為假,則結(jié)果為假。所以c的值為0.答案是:10 20 02、答案是: 1 分析:程序中是一個(gè)ifelse結(jié)構(gòu)。這個(gè)題最容易出錯(cuò)的地方在于if的條件,注意,里面的是c=a是一個(gè)賦值表達(dá)式,不是將c與a的值進(jìn)行比較。所以條件為真,輸出賦值以后c的值,為1。3、答案是:4,5,99 分析:題中的重點(diǎn)在于兩個(gè)if結(jié)構(gòu),大家要注意兩點(diǎn):第一,如果if后面沒(méi)有花括號(hào),則它后面的第一條語(yǔ)句是它的結(jié)構(gòu)題,并且只有一條語(yǔ)句。(如果后面是一個(gè)結(jié)構(gòu),則整個(gè)結(jié)構(gòu)都屬于if結(jié)構(gòu)的結(jié)構(gòu)體)。第二,變量在不斷的被重新賦值,所以其值在不斷的變化。4、答案是:yes 分析:該題與第二題是同一回事。5、答案是:1 分析:這個(gè)題還上一個(gè)ifelse結(jié)構(gòu),考查點(diǎn)仍然是考察考生是否能夠正確識(shí)別if后面括號(hào)里的表達(dá)式p=a!=0,根據(jù)運(yùn)算符的優(yōu)先級(jí)知道,這里應(yīng)該先算a!=0,這是一個(gè)邏輯運(yùn)算,a的值為5,所以a!=0為真,其邏輯值為1,將1賦值給p,所以條件為真,輸出p的值,為1。6、答案是:20,0 分析:見(jiàn)第3題分析。7、答案是:585858 分析:題中有三個(gè)if結(jié)構(gòu),注意,這三個(gè)if結(jié)構(gòu)是相互獨(dú)立的,是互不相關(guān)的,只要他們的條件成立,就要執(zhí)行其結(jié)構(gòu)體(后面的輸出語(yǔ)句)。通過(guò)鍵盤(pán)輸入,得a的值為58,所以a50為真,輸出58;然后判斷a40,仍然為真,再輸出58,最后判斷a30,肯定為真,所以再輸出58,連續(xù)三次輸出58。8、答案是:0 分析:本題的關(guān)鍵在于關(guān)系運(yùn)算符的運(yùn)算次序,a=5,b=4,c=3.abc看起來(lái)是真的,但是這這是數(shù)學(xué)里面是這樣的,這里我們要一步一步的計(jì)算,先算ab,a確實(shí)大于b,所以為真,邏輯值為1,后面的計(jì)算就變成了1c,顯然為假,邏輯值為0,并將它賦值給d,所以最后輸出d的值為0。9、答案是:3 分析:這個(gè)題主要考察條件運(yùn)算符。程序要輸出(P/30?p/10:p%3)這個(gè)條件表達(dá)式的值。P為30,所以p/3=10,100顯然為真,所以整個(gè)表達(dá)式的值應(yīng)該是p/10的值,p/10得3。10、答案是:2 1 分析:題中是一個(gè)switch嵌套結(jié)構(gòu)。里面的switch是case 1的語(yǔ)句,題的關(guān)鍵點(diǎn)在于這個(gè)語(yǔ)句(即里面的這個(gè)switch結(jié)構(gòu))的后面并沒(méi)有跳出整個(gè)結(jié)構(gòu)的break語(yǔ)句。所以,當(dāng)x=1,與case相配以后,執(zhí)行完后面的語(yǔ)句(即里面的這個(gè)switch結(jié)構(gòu)),然后沒(méi)有遇到break語(yǔ)句,所以并不跳出結(jié)構(gòu)體,而是繼續(xù)執(zhí)行case 2后面的語(yǔ)句。所以最后得到的結(jié)果應(yīng)該是2 1,而不是1 0。第四章 循環(huán)結(jié)構(gòu)選擇題:(1) 答案:B N的值為10,n7為真,執(zhí)行循環(huán)體,n的值減1后為9,輸出n的值9 N的值為9,n7為真,執(zhí)行循環(huán)體,n的值減1后為8,輸出n的值8 N的值為8,n7為真,執(zhí)行循環(huán)體,n的值減1后為7,輸出n的值7 N的值為7,n7為假,結(jié)束循環(huán)。(2)答案:Ak的值為5,進(jìn)入循環(huán),(-k)表達(dá)式的值為4(真),同時(shí)k的值改變?yōu)?,輸出表達(dá)式k-=3的值1,同時(shí)k的值為1。 k為1,表達(dá)式(k)的值為0, 結(jié)束循環(huán)。(3)答案:A1 X=0,y=5,z=3,(z0&x0&x0&x0&x3-5-7-9,語(yǔ)句s+=1每次執(zhí)行使s增加的數(shù)為:2,4,6,8,10,所以s的值為自然數(shù)110中偶數(shù)的值。(10)答案:C分析:C項(xiàng)s=s+1/n, 1/n首先運(yùn)算,n為整型變量,1也是整型變量,當(dāng)n=210時(shí),1/n的值為整數(shù)0,故C不正確(11) 答案:A(12)答案:C(13)答案:C分析:x的值為15。執(zhí)行while循環(huán),(x10)為真,執(zhí)行循環(huán)體。執(zhí)行x+;x的值為16。再執(zhí)行if語(yǔ)句。(x%3)為真,執(zhí)行x+,x的值為17,再執(zhí)行break;語(yǔ)句,退出循環(huán)體,結(jié)束while語(yǔ)句的執(zhí)行。最后輸出x的值17。(14)答案:D(15)答案:D分析:continue語(yǔ)句會(huì)提前結(jié)束此次循環(huán)體的執(zhí)行,不會(huì)結(jié)束整個(gè)for語(yǔ)句的執(zhí)行。 (16 )答案:D(17)答案:B2*i-1(18)答案:A(19)答案:D分析:變量i的值為0,執(zhí)行while循環(huán),表達(dá)式(i10)為真,進(jìn)入循環(huán)體,執(zhí)行if(i1) continue; 表達(dá)式(i1)為真,執(zhí)行continue; 提前結(jié)束此輪循環(huán)體的執(zhí)行(后面兩語(yǔ)句不執(zhí)行),再判斷表達(dá)式(i10)的值,為真,進(jìn)入循環(huán)體,執(zhí)行if(i1) continue; 因?yàn)閕的值為1,沒(méi)改變,表達(dá)式(i1)仍為真,執(zhí)行continue; 提前結(jié)束此輪循環(huán)體的執(zhí)行(后面兩語(yǔ)句不執(zhí)行),再判斷表達(dá)式(i10)的值,為真,進(jìn)入循環(huán)體。填空題:(1) 答案:1分析:此題的循環(huán)體是省略了大括號(hào)的空語(yǔ)句 ;,x的初值是2;執(zhí)行while語(yǔ)句,先判斷表達(dá)式的值,(x-)的值為1(真),同時(shí)x的值減1變?yōu)?,再執(zhí)行循環(huán)體(空語(yǔ)句;),再判斷表達(dá)式(x-)的值,表達(dá)式的值為0,同時(shí)x值減1,變?yōu)?,因?yàn)楸磉_(dá)式的值為0(假),循環(huán)結(jié)束。最后輸出x的值1。(2)答案:11(分析略)(3)答案:n=n/10(4)答案:0分析:i的值從5變化到0時(shí),for語(yǔ)句中的第二個(gè)表達(dá)式都為真。t=5*4*3*2*1*00。最后輸出i的值為0。(5)答案:5分析:for循環(huán)語(yǔ)句的循環(huán)體是空語(yǔ)句;(6)答案:6分析:此題屬于循環(huán)的嵌套。當(dāng)i=1時(shí),輸出0個(gè)號(hào),當(dāng)i=2時(shí),輸出1個(gè)號(hào),當(dāng)i=3時(shí),輸出2個(gè)號(hào),當(dāng)i=,4時(shí),輸出3個(gè)號(hào),共輸出6個(gè)號(hào)。 (7)答案:sum=120分析:i的值是1,sum的值是1,執(zhí)行while循環(huán)。i=5為真,sum的值為1,i自加1,值為2。i=5為真,sum的值為2,i自加1,值為3。i=5為真,sum的值為6,i自加1,值為4。i=5為真,sum的值為24,i自加1,值為5。i=5為真,sum的值為120,i自加1,值為6。i=5為假,結(jié)束循環(huán)。輸出sum=120. (8)答案:23分析:a的值為1,i的值為1。i4為真,執(zhí)行switch體,i值為1,執(zhí)行a+=5,a的值改變?yōu)?。執(zhí)行i+,i的值為2。i4為真,執(zhí)行switch體,i值為2,分別執(zhí)行a+=3;a+=5,a的值改變?yōu)?3。執(zhí)行i+,i的值為.3。i4為真,執(zhí)行switch體,i值為3,分別執(zhí)行a+=2;a+=3;a+=5,a的值改變?yōu)?3。執(zhí)行i+,i的值為4。i4為假,結(jié)束for循環(huán)。輸出a 的值23(9)答案:132分析:m=0,n=0,k=0,i=9當(dāng)i值為9時(shí),i=11為真,執(zhí)行switch語(yǔ)句,(i/10)的值為0,匹配case 0,執(zhí)行m+,n+,再執(zhí)行break語(yǔ)句,跳出switch體,再執(zhí)行i+, i值為10;此時(shí)m值為1,n的值為1,k的值為0.當(dāng)i值為10時(shí),i=11為真,執(zhí)行switch語(yǔ)句,(i/10)的值為1,匹配default,執(zhí)行k+,n+,結(jié)束switch體,執(zhí)行i+,i值為11. 此時(shí)m值為1,n的值為2,k的值為1.當(dāng)i值為11時(shí),i=11為真,執(zhí)行switch語(yǔ)句,(i/10)的值為1,匹配default,執(zhí)行k+,n+,結(jié)束 switch體,執(zhí)行i+,i值為12. 此時(shí)m值為1,n的值為3,k的值為2.當(dāng)i值為12時(shí),i=11為假,結(jié)束for循環(huán)。最后輸出m,n,k的值132.(10)答案:i=A&x=A&x=Z)為真,因此執(zhí)行x+32這個(gè)操作,所以x=C+32,因此打印輸出的是c。7 答案:A分析:(1) x=B-A+a=66-65+97=98(2) y=x+2=98+2=100,ASCII值為100的是字符d所以最后輸出的98,d8 答案:A分析:整型數(shù)據(jù)和字符型數(shù)據(jù)交替輸入的時(shí)候輸入形式只有兩種:(1)40*50(2)40* 50#其他情況下,都會(huì)降空格符號(hào)作為字符讀入,導(dǎo)致結(jié)果錯(cuò)誤,所以選A)9 答案:A分析:A)兩個(gè)相同的值進(jìn)行位異或操作,結(jié)果為010 答案:A分析:(1) a=4|3: 00000100 | 00000011 _ 00000111所以 a=7(2) b=4&3: 00000100 & 00000011 _ 00000000所以b=0 11 答案:D分析:(1)z=1=0(2)x/y=3/2=1(3)x/y&z=1&0=012 答案:D分析:(1)2+x: 00000010 + 10100111 _ 10101001(2)3: 00000011 _ 11111100(3)(2+x)(3): 10101001 11111100 _ 01010101 13 答案:D分析:(1)0x3對(duì)應(yīng)的二進(jìn)制為:00000011 0x8對(duì)應(yīng)的二進(jìn)制為:00001000 b=a|0x8: 00000011 | 00001000 _ 00001011所以b的值被賦為11。(2)b: 00001011c=b1: 00010110所以c被賦值為22。14 答案:A15 答案:D分析:1,2,3依次賦給了c1,c2,c3,回車(chē)符也作為字符賦給了c4,所以c5,c6依次讀入的是4,5。(3) 填空題1 答案:1分析:(1)輸入字符a后,表達(dá)式getchar()=a成立,表達(dá)式的值為真, (2)將表示式的值賦給x(注意:=是賦值語(yǔ)句),所以x的值為1。2 答案:11110111分析:(1)x: 00000010 _ 11111101 (2)y: 00000101y1: 00001010 (3)z=xy1: 11111101 00001010 _ 111101113 答案:3分析:只有, b,xf三個(gè)是正確的轉(zhuǎn)義字符。第六章 函數(shù)一、選擇題:1. 答案:B分析:在C語(yǔ)言中,函數(shù)可以在任何地方出現(xiàn),而main函數(shù)作為函數(shù)中的一類(lèi),沒(méi)有特殊的限制和要求,故也可以在任何地方出現(xiàn)。2.答案:B分析:C語(yǔ)言默認(rèn)規(guī)定3. 答案:D分析:對(duì)應(yīng)每個(gè)形參的類(lèi)型結(jié)構(gòu)。4. 答案:A分析:sin(1/2)會(huì)當(dāng)作sin(0)處理。實(shí)參的類(lèi)型決定了重載函數(shù)的選擇。5. 答案:D分析:函數(shù)的調(diào)用不可以作為一個(gè)函數(shù)的形參。6. 答案:D分析:fun(a,b)的作用是返回a、b中較大的。fun(x,y)=fun(3,8)=8, r=fun(fun(x,y),2*z)=fun(8,12)=127. 答案:C分析:f1(x,y)的作用是返回x、y中較大的,f2(x,y)的作用是返回x、y中較小的。d=f1(a,b)=f1(4,3)=4d=f1(d,c)=f1(4,5)=5e=f2(a,b)=f2(4,3)=3e=f2(e,c)=f2(3,5)=3此時(shí)各值為a=4,b=3,c=5,d=5,e=3,f=a+b+c-d-e=4。所以答案d, f , e為5, 4, 38. 答案:A分析:c程序的基本單位是函數(shù)。函數(shù)中不可以嵌套定義函數(shù)。main()函數(shù)可以放在任意位置。被調(diào)用的函數(shù)只要在調(diào)用之前說(shuō)明了即可。9. 答案:B分析:fun(x,y)的作用是求x、y的和。fun(a+c,b)=a+c+b=15,(int) fun(a+c,b)=(int)15=15。fun((int) fun(a+c,b),a-c)=fun(15,-6)=9。10. 答案:D分析:fun(x,y)的作用是選擇x,y里面較小的一個(gè)。fun(9,8)=8,fun(8,7)=7;fun(fun(a,b),fun(b,c)=fun(8,7)=711. 答案:C分析:fun1(a)=a2,fun2(x,y)=(int)(fun1(x)+fun1(y)=(int)( x2+ y2),所以fun1(1.1,2.0)=(int)(1.21+4.0)=(int)5.21=5由于w是double型的,所以w的值為5.0。 12. 答案:A分析:函數(shù)的說(shuō)明有其自己的格式,應(yīng)該包括函數(shù)類(lèi)型、函數(shù)名、以及形參類(lèi)型,形參名可有可無(wú),但是一定要統(tǒng)一,形參名隨便取。13. 答案:C分析:允許這種函數(shù)說(shuō)明的方式存在。如果只在主函數(shù)中說(shuō)明,則只能在主函數(shù)中調(diào)用f;如果在主函數(shù)以前說(shuō)明,則包括主函數(shù)的所有函數(shù)都可以調(diào)用,如果同時(shí)主函數(shù)又說(shuō)明了,則不影響。14. 答案:D分析:函數(shù)的形參不可以傳給對(duì)應(yīng)的實(shí)參。15. 答案:D分析:形式參數(shù)的改變不影響實(shí)參。所以本題是一個(gè)迷惑題,不需要看函數(shù)體的內(nèi)容。二、填空題:1.答案:a=1.0,b=1.0,s=1.0;分析:分別求出變量的初始值。a=a*x為的是求xn ,所以其初始值為1,b=b*i位的是求n!,所以其初始值為1,當(dāng)n=0時(shí),s=1,所以s的初始值為1。由于定義的是double型的數(shù)據(jù),所以答案為a=1.0,b=1.0,s=1.0;2.答案:m=fun(a,4)+fun(b,4)-fun(a+b,3);分析: 由程序可以看出fun(x,n)=xn。fun(a,4)=a4, fun(b,4)=b4,fun(a+b,3)=(a+b)3,當(dāng)要計(jì)算m= a4+ b4+(a+b)3 時(shí),函數(shù)調(diào)用語(yǔ)句為m= fun(a,4)+ fun(b,4)+ fun(a+b,3); 3. 答案:x x*x+1分析:1)求f(x)的累加和,即為求f(0)+f(1)+ f(2)+ f(3)+ f(4)+,函數(shù)SunFun來(lái)實(shí)現(xiàn)此功能。括號(hào)中應(yīng)該填入累加的序號(hào)值,即為x。2)f(x)=x2+1,F(xiàn)(int x)函數(shù)來(lái)實(shí)現(xiàn)這個(gè)功能,所以填寫(xiě)x*x+1。4. 答案:-f fun(10)分析:1)函數(shù)的作用為計(jì)算m=1-2+3-4+5-6+7-8+9-10,實(shí)際上為計(jì)算m=1*1+(-1)*2+1*3+(-1)*4+1*9+(-1)*10,在循環(huán)體中,i為1,2,3.,f為1的符號(hào)。每循環(huán)一次,f的符號(hào)應(yīng)該變換一下,所以變換的語(yǔ)句為f=-f。2)當(dāng)n=1時(shí),計(jì)算的是m=1;當(dāng)n=2時(shí),計(jì)算的是m=1-2因?yàn)橛?jì)算的是m=1-2+3-4+5-6+7-8+9-10,所以答案為n=10,即fun(10)。5. 答案:9分析:1)函數(shù)的意思為f(x,y)=(y-x)*xf(3,4)= (4-3)*3=3f(3,5)=(5-3)*3=6 2)d=f(3,6)=(6-3)*3=9.6. 答案:double max分析:通過(guò)程序可以看出,main函數(shù)中使用了max函數(shù),而其他地方?jīng)]有對(duì)max函數(shù)進(jìn)行說(shuō)明。所以程序中應(yīng)該對(duì)max函數(shù)進(jìn)行說(shuō)明。說(shuō)明的格式為double max(double,double)。7. 答案:3,2,2,3分析:1)x=2,y=3,當(dāng)調(diào)用fun(x,y)時(shí),相當(dāng)于執(zhí)行fun(2,3)。x=x+y;x=2+3=5;y=x-y;y=5-3=2;x=x-y;x=5-2=3;此時(shí)x, y的值為3,2,所以輸出的結(jié)果為3,2。2)在main函數(shù)中,實(shí)參不會(huì)因?yàn)樾螀⒌母淖兌淖儯?x,y的值仍為2,3,所以所以輸出的結(jié)果為2,3.第七章 指針一、選擇題1 A 本題主要考指針賦值,n2=n1;是把n2的值賦給n1,故根據(jù)指針賦值的定義可知選A,即把q所指對(duì)象的值賦給p所指對(duì)象。2 B 本題主要考指針定義,因?yàn)閜指向變量x,故輸出其值的時(shí)候應(yīng)該是x的值。3 C 本題主要考指針的定義和賦值,C前面是定義一個(gè)量a并賦值為10,后面定義一個(gè)指針,并把a(bǔ)的值賦給這個(gè)指針。4 C 本題主要考指針的定義及賦值,開(kāi)始時(shí)使p指向a,q指向b,把它們的值交換,然后再顯示。故得正確答案C。5 C 本題主要考函數(shù)指針的定義,函數(shù)前面的*號(hào)表求返回值是指針類(lèi)型,void表示返回?zé)o值弄的。故選C。6 A 本題主要考的是指針的變量的賦值,在使用scanf()函數(shù)的時(shí)候,后面跟的是一個(gè)地址,由于pa本身保存的是地址,故選A7 D 本題主要考的指針的賦值及指向指針的指針的賦值,根據(jù)定義知選D。B的正確形式是*q2;C的正確形式應(yīng)該是q=&p;8 C 本題主要考的是全局變量和局部變量,以及指針的用法,第一個(gè)f(&a)的返回值是5,第二個(gè)返回值是2.9 B 本題主要考的是變量自加,指針傳值,以及指針的賦值。通過(guò)第二行a=b可知p1,p2指向的變量的值相同,都指向了b所指的對(duì)象,也是p2所指的對(duì)象a,由于(*a)+;是實(shí)現(xiàn)a所指對(duì)象的自加,故由a變成b,故最終選A。10 A 本題主考NULL,一般來(lái)說(shuō)當(dāng)我們把一個(gè)空值以整數(shù)的形式輸出出來(lái)的時(shí)候,默認(rèn)的情況是0.11 C 本題考的是指針變量的賦值,雖然p沒(méi)有賦值,表示沒(méi)有指向某個(gè)具體的對(duì)象,但事實(shí)上系統(tǒng)會(huì)讓它隨機(jī)的指向存儲(chǔ)單元里的一個(gè)對(duì)象,那么它的返回值應(yīng)該是所指存儲(chǔ)單元中的值。12 B 本題主要考函數(shù)中參數(shù)變量的定義,在B中連續(xù)定義兩個(gè)變量,這在函數(shù)中是不可以的。13 C 本題主要考指針的指針,c先指向b,b是一個(gè)指針,它指向a,故c最終是指向a的,故其值是a中的值14 A 本題主要考指針的賦值,我們不能把一個(gè)具體的值賦給一個(gè)指針變量。B選項(xiàng)是w,p指向同一對(duì)象。C是p指向a。D是把w所指對(duì)象的值賦給p所指對(duì)象。15 B 本題主要考指針傳值,p,q分別指向a,b,然而r會(huì)指向它們的較小值。16 D 在D中把一個(gè)整形變量的值賦給一個(gè)指針的地址,故而是錯(cuò)的。應(yīng)該寫(xiě)成p=&a;17 D 本題主要考調(diào)用函數(shù)時(shí)指針傳值和一般的變量的傳值區(qū)別。指針通過(guò)地址傳值,而變量是直接傳值。c指針指向b,故對(duì)c指針里面的值的修改等于直接修改b中的值。18 D 本題主要考指針的定義及指針變量的值的輸出方式,指針b指向a,故輸出其值是51119 C 本題主要考指針標(biāo)識(shí)符*和乘號(hào)*的區(qū)別,*p=*p1*(*p2)中第1,2,4個(gè)*號(hào)是指針標(biāo)識(shí)符,而第三個(gè)是乘號(hào),故其運(yùn)算的結(jié)果是320 C 本題也是考指針標(biāo)識(shí)符*和乘號(hào)*的區(qū)別,第一個(gè)函數(shù)中的*號(hào)是乘號(hào),此時(shí)指針p中保存的是指針p1和指針p2指向?qū)ο蟮某朔e。21 A 本題主考函數(shù)的嵌
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡(jiǎn)易退股協(xié)議書(shū)范本
- 委托電力施工協(xié)議書(shū)范本
- 保密信息保護(hù)及保密協(xié)議范本
- 智能家居場(chǎng)地加盟運(yùn)營(yíng)合同
- 男女方婚后協(xié)議書(shū)范本
- 節(jié)能環(huán)保型廠房出租及環(huán)保設(shè)施維護(hù)協(xié)議
- 礦產(chǎn)資源測(cè)繪成果保密及數(shù)據(jù)共享合同
- 企業(yè)標(biāo)識(shí)標(biāo)牌設(shè)計(jì)制作及維護(hù)一體化服務(wù)合同
- 個(gè)人租車(chē)協(xié)議模板
- 垃圾分類(lèi)數(shù)學(xué)統(tǒng)計(jì)
- IP授權(quán)合作框架協(xié)議
- 涼山州2010級(jí)高考情況分析暨2010年四川高考數(shù)學(xué)試題評(píng)析及復(fù)習(xí)
- 國(guó)開(kāi)《學(xué)前教育科研方法》期末大作業(yè)范文1
- 院感手衛(wèi)生試題及答案
- 世界文明史學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 艦艇損害管制與艦艇損害管制訓(xùn)練
- 英語(yǔ)國(guó)家概況(修訂版)Chapter-18
- 光伏發(fā)電項(xiàng)目試驗(yàn)檢測(cè)計(jì)劃
- 2023-2024學(xué)年四川省南充市高一下學(xué)期7月期末物理試題(解析版)
- 2024年全國(guó)財(cái)會(huì)知識(shí)競(jìng)賽考試題庫(kù)(濃縮500題)
- 中學(xué)體育七年級(jí)《籃球基本技巧》說(shuō)課課件
評(píng)論
0/150
提交評(píng)論