C語言預習及課后習題(參考答案1-5)_第1頁
C語言預習及課后習題(參考答案1-5)_第2頁
C語言預習及課后習題(參考答案1-5)_第3頁
C語言預習及課后習題(參考答案1-5)_第4頁
C語言預習及課后習題(參考答案1-5)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第一章C語言概述課前預習題1.函數(shù)2.main()函數(shù)3.單行注釋、塊注釋、/xxx、*xxx*/4.函數(shù)首部、函數(shù)體5.scanf()6.函數(shù)調用7.編譯、連接8.有窮性、確定性、有0到多個輸入、有1到多個輸出、有效性課后習題1. A參考分析:C語言總是從main函數(shù)開始,main函數(shù)結束。但是C語言中存在一個exit(0)函數(shù),它可以使得程序在任何時候、任何位置結束程序的運行。如果不考慮exit(0)等函數(shù)的特殊作用,C則總是在main函數(shù)結束。2. C參考分析:C程序對main函數(shù)的位置沒有任何要求;其書寫格式自由,一行可以寫多條語句,一條語句(多關鍵字語句)可以寫在多行;C語言忽略注釋

2、,把注釋看作是一個空格,不會對注釋中的內(nèi)容進行語法檢查。因此,如果注釋中存在錯誤,系統(tǒng)是不可能發(fā)現(xiàn)的。另外,C語言的I/O操作均通過函數(shù)實現(xiàn),系統(tǒng)本身未提供相應的語句。3. D參考分析:C語言中,注釋語句的位置是任意的,當然,它不能破壞標識符的完整性。C語言只是將一個注釋看作是一個空格,因此對注釋內(nèi)的任何錯誤都不作檢查。4. C5. B參考分析:通常許多語言程序由主程序和子程序構成,但是C語言是函數(shù)式語言,整個程序由眾多函數(shù)組成。盡管有時習慣上稱main函數(shù)為主程序,顯然,嚴格地講還是B更為符合C語言的規(guī)則。6. C7.B8.C9.C10.C11.繪制NS算法流程圖。輸入一元二次方程的系數(shù) a

3、、b、c,判斷其根。,輸入數(shù)a,b,cIT'''- -a=0_,,-IT真b=0假,d=b*b-4*a*cN0一頭根d>=0/真彳r無數(shù)根無 根d=J假兩虛根兩同兩不同 實根實根第二章數(shù)據(jù)類型、運算符與表達式課前預習題1.變量在內(nèi)存中所占的字節(jié)數(shù)、變量的表數(shù)范圍、變量允許參與的運算4.八進制、十進制、十六進制5. 16. 267. 12、411. 10、612. 5.513. 3.514. 415. 12. 1、 4、 88. 6、 4、 216. 03. float9. -6017. 9、double10. 218.字符、數(shù)字、下劃線19. 'f20.

4、8.021 . int 型22. m/10%10*100+m/100*10+m%10課后習題1 A分析:在不同的計算機系統(tǒng)中,不同的C語言系統(tǒng)中,其各種數(shù)據(jù)類型所占據(jù)的存儲空間是不同的,但是有一個總的原則,即:char<=short<=int<=long<=float<=double,只有A符合16位PC機中的具體環(huán)境。2 C參考分析:逗號表達式的計算結果是最后一個表達式的值。k=23是括號內(nèi)最后一個表達式,因此x變量的值來自k變量的值。3 .B參考分析:逗號表達式的計算結果是最后一個表達式的值。b+在所在表達式參與運算時的值是5,該表達式計算完成后,b進行自增運

5、算,故a+b的值為2+6=8。4 A參考分析:是關鍵字的有:char、case、while。5 B參考分析:不是關鍵字的:include、scanf、type6 C參考分析:合法的有:A、P_0、la0、_A、_123、temp、INT。7 C參考分析:教材中只是強調首字符必須為字母,我們應當知道,在語言系統(tǒng)中,下劃線和字母具有同等的“法律效力”。8 A參考分析:不合法的B2,C2,C3,D2。解釋:A2:-0xffff十六進制數(shù)本身已經(jīng)包含了符號位,一般不前面加符號位,但加上符號位也不錯誤;C3:0668在有些C系統(tǒng)中,八進制數(shù)中允許出現(xiàn)8,但是通常不允許使用8;D3:0x顯然后面缺少數(shù)值,

6、但在TC中是允許的。9 D參考分析:不合法的A1,B3,C1,C3,D。解釋:A1:-0f1十六進制數(shù)沒有0x,顯然不合法,這里需要討論的是常量前面允許不允許加上-號,是否可以負負得正,顯然不可以,-在C中是自減運算,它只適用于變量;B1:0XcdfX大寫也可以!C3:5e2是個實型數(shù)。10 B參考分析:不合法的有A3,B,D1。部分解釋:A1,D2:C語言中小數(shù)點前面或后面的0可以省略。但是不能只有小數(shù)點自身;A3,B3,D1:e的前后必須有合法數(shù)字。1.e2.1e2合法,.e2不合法;B1:123是整型數(shù),不是浮點數(shù)。11 B參考分析:不合法的有A2:階碼不能為小數(shù);A3:浮點數(shù)的尾數(shù)及階

7、碼不能用八進制數(shù)表示;C1:e后必須有整數(shù),C2:階碼不能為小數(shù);D1:缺少尾數(shù)。12 A參考分析:""后面的數(shù)字,c總是按照八或十六進制解釋。由于c支持擴展ASCII字符集,所以,八進制數(shù)范圍在0377,十六進制數(shù)范圍在00ff。13 .B參考分析:不合法的有B1,B2,B3,C3,D1,D3;但B3和C3值得討論。C中只有少數(shù)字母是轉義字符,大多數(shù)字母不是。像'c'就不是,它就是字符c自身,非轉義字母加""也僅表示它本身。C3''也表示自身。本題的命題人顯然不知道'a'也是轉義字符。14 C15 .D參

8、考分析:不正確的有A3:非法八進制數(shù);B1、D1、D2:缺少x;D3是十進制數(shù)。16 .C參考分析:不正確的有A1:這是十進制數(shù);B1、D1:缺少x17 .D參考分析:不正確的有A2、C4:不是ox打頭;A3:e后不是整數(shù);B1是字符串;B2:2.5不是整數(shù)。18 .A參考分析:與PASCALS同,B)字符串內(nèi)的單引號不需雙寫。C語言中,在不引起誤解的情況下,雙引號界定的字符串里的單引號可以不加轉義標志"",單引號界定的雙引號字符也可以不加轉義標志""。19 C20C21 .A參考分析:不符合C語法規(guī)定的只有A,因為X為實型數(shù)。22 .A參考分析:B)表

9、達式不能出現(xiàn)在賦值號右側;C)x是實型數(shù),不能進行取余運算;D)應將float用括號擴起來(強制類型轉換)。23 D參考分析:整型變量可以輸入實型數(shù)值,實型變量也可以輸入整型數(shù)值24 D參考分析:注意它的描述,是只能用于整數(shù)運算,而不是整型數(shù)運算。25 .B參考分析:C不是賦值表達式,是逗號表達式,賦值僅是其中的一部分。嚴格說來,B也不是賦值表達式,它是由兩個賦值表達式組成的逗號表達式。26 A、B參考分析:表達式中的各字符以各自的ASCII碼參與運算。27 D參考分析:理論上+運算都是針對整型(含字符型)的,盡管現(xiàn)在很多系統(tǒng)提供了對實型變量的增量運算。28 .A參考分析:注意sum和sUM不

10、是一個變量(區(qū)分大小寫)。29 D參考分析:參考答案很明確地表明了,C語言中各種類型在內(nèi)存中所占用的字節(jié)數(shù)由所用機器字長決定。通常在PC機中字符、整型、實型所占用的內(nèi)存空間大小為1、2、4個字節(jié)。30 A參考分析:轉義字符'72'為字符':'。31 A參考分析:計算時要注意其結合性和優(yōu)先級。32 B參考分析:算術表達式的類型由表達式計算結果的類型決定33 C參考分析:實型只要參與運算就自動轉換為double型。34 .A參考分析:A3轉義字符以十六進制描述時,前面不能加0。非法的還有B335 A參考分析:c語言中整型和實型的絕對值函數(shù)各自獨立,為abs和fabs

11、;pow為一系統(tǒng)函數(shù)pow(y,x)=>yx。36 D參考分析:以上兩題均未說明x,y的類型,從表達式的性質可分析隱含為實型,因此應使用fabs。37D參考分析:計算機系統(tǒng)不能存儲字符本身,存儲的是字符的ASCII碼。37 B參考分析:m=n*100+0.5賦值過程中有實型轉整型的自動轉換。39 C參考分析:表達式的類型由表達式結果的類型決定。40 D參考分析:表達式的類型由表達式結果的類型決定。雖然本題各變量沒有具體的變量值,由于參與運算的變量中z變量為double型,表達式計算的結果肯定為double型。41 .D參考分析:A的值為0,B、C兩個表達式相同,值為2,只有D的值為3。4

12、2 .C參考分析:經(jīng)計算可知,只有C的值為12,不為7。第三章順序結構程序設計課前預習題1 函數(shù)調用2輸出一個字符3格式輸出數(shù)據(jù)4格式修飾符、格式符5d、c、s6左、尾部(后右側)7%c8取址、變量a的內(nèi)存地址9;10(或大括號)課后習題1 D參考分析:putchar函數(shù)的作用是輸出一個字符,可以是常量或變量。2 D參考分析:-:數(shù)據(jù)左齊,右補空格。3 B、C4 .D參考分析:答案B基本上是正確的,但是杯能正確的輸出長整型數(shù)據(jù)。5 C參考分析:0:數(shù)據(jù)左側必須充滿,給定數(shù)據(jù)不足時,前面補0。+:數(shù)據(jù)前面顯示符號位。6 D參考分析:#要求輸出數(shù)據(jù)的類型特征符號。7 A分析:長整型數(shù)據(jù)輸出應當加修

13、正字符l,如果不加l僅能輸出數(shù)據(jù)的低兩個字節(jié),高字節(jié)數(shù)據(jù)不能輸出。8 .D參考分析:A)首先讀第一個十進制數(shù)賦給變量x,讀第二個長十六進制數(shù)賦給變量y(此時有自動賦值轉換),再讀入格式規(guī)定的第二和第三個數(shù)據(jù)間的間隔符號逗號,最后讀入第三個double型數(shù)據(jù)賦給變量zoB)首先t入2個寬度的十進制數(shù)賦給變量x,再讀入格式規(guī)定的第一和第二數(shù)據(jù)間的間隔符號星號,然后讀入第二個十進制整數(shù)賦給變量y,然后讀入第三個double型數(shù)據(jù)賦給變量z。C)讀入第一個十六進制數(shù)賦給變量x,然后虛讀一個十進制數(shù)不賦給任何變量,最后讀入一個八進制數(shù)賦給變量y。D)6.2f不符合格式規(guī)定,即不能規(guī)定讀入數(shù)據(jù)的小數(shù)點后的

14、數(shù)字位數(shù)。9 A10 BB參考分析:讀取數(shù)據(jù)格式中規(guī)定域寬時,系統(tǒng)僅讀取指定寬度的數(shù)據(jù)。11 .D參考分析:A)a1為1020,a2為隨機值,cl為A,c2為B。B)a1為10,a2為20,cl為<CR>,c2為A。C)a1為10,a2為20,c1、c2均為口。12 D13B14 D參考分析:由于提供數(shù)據(jù)的格式與規(guī)定格式不一致,變量y,z不能獲取正確的數(shù)據(jù),均為隨機值,故三變量之和也是隨機數(shù)。15 B16D17 .A參考分析:字符控制格式中有無空格對數(shù)據(jù)的讀取有影響,B)ch1讀取A,ch2和ch3為隨機字符。C)三個變量分別為A、B、C。D)ch3為隨機字符。18 D19C20

15、.A參考分析:B)為轉義字符。C)為7和9兩個字符ASCII碼值之和的字符。D)為碼值為14的字符(控制字符)。21 B22 B參考分析:這里強調的是賦值語句,請注意賦值表達式與賦值語句的區(qū)別。23 B24A25 D參考分析:本題有些偏,其他選項錯誤的原因為A)fabs(x),x不是double型。B)pow(y)其格式原型為doublepow(doubley,doublex)。C)y-z為負數(shù)。26 *3.140000,3.142*分析:不能輸出的位會向前一位四舍五入輸出。27 c:dec=120,oct=170,hex=78,ASCII=x28 *d(1)=3.50000e+00*d(2)

16、=3.500e+00*d(3)=3.500e+00*d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00口*參考分析:通過本題應注意£和的規(guī)定小數(shù)點后位數(shù)的區(qū)別。e小數(shù)位后面位數(shù)含e標志。29 x=1y=2*sum*=310Squaredis:10030(1)10(2) 10(3)56.100000(4) 3.141600(5)5.68100e+02(6) 3.14160e+00(7)3.1416(8)3.1416參考分析:采用g格式輸出數(shù)據(jù)時,當數(shù)據(jù)<=10-5或>=107時,按指數(shù)方式輸出(缺省正數(shù)11位,負數(shù)12位

17、),否則按小數(shù)方式輸出(缺省含小數(shù)點總寬度最多7位)。且不輸出無意義的0(后面)和小數(shù)點。31(1)123.456000(2)123.456(3)123.4560(4)8765.456700(5)8765.456(6)8765.4560(7)8765.456032(1)輸出數(shù)據(jù)左對齊(2)12#12#3.1415926000#3.1415926000口口#33a=+00325x=+3.14159e+0034b、b、b35 t=a、c=t;36 -1437讀入數(shù)據(jù)后不賦給相應的變量、把10給a1,把20不給任何變量,把30給a2,把40給a338. 格式字符不正確、缺少&符號、scanf

18、("%f",&k);39. A口DB口口口參考分析:讀取字符數(shù)據(jù)指定數(shù)據(jù)寬度時,系統(tǒng)讀取第一個字符40. a=3口b=7x=8.5口y=71.82c1=ADc2=a<CR>第四章選擇結構程序設計課前預習題1. 0參考分析:計算過程如下,a>b計算為真,然后計算真(1)>c,結果為假213非0的數(shù)值。4y%2=1、y%2!=0、y%2、(y-1)%2=0、!(y%2=0)5&&、|、!6x<z|y<z7x*y*z>=0&&(x<0&&y<0)|(x<0&

19、&z<0)|(y<0&&z<0)參考分析:原書提供的答案是(x<0&&y<0)|(x<0&&z<0)|(y<0&&z<0),但當三個變量均為負數(shù)時不合適,后來本人思考了一個試圖簡化一些的答案,即x*y*z>0&&(x<0|y<0|z<0)可是若有一個變量為零,其他為負數(shù)時也不合適只有參考答案才無懈可擊。8.0參考分析:在本表達式的計算過程中A<B被短路。9 110 016 0、 117 1,011 012 113 0參考分析

20、:本題采用短路算法,由于14 115 x>2&&x<3|x<-10x 為真,后面的或和與運算均被短路。181191320【1】ch>='A'&&ch<='Z'【2】ch=ch-3221'x'225課后習題0 為假,1D參考分析:c語言中沒有專用的邏輯量,任何數(shù)值類型的數(shù)據(jù)都可以作為邏輯數(shù)據(jù)使用,判斷時非零為真,計算時真置1,假置0。2C3B4.B參考分析:C語言中實際上與運算和或運算優(yōu)先級相等,由于C采用短路算法,所以不會影響B(tài)的結果,即不需要改成(x>=1)&&

21、(x<=10)|(x>=200)&&(x<=210)5C6C7D8C9Cm=a>b為真,故第二個表達式 n=c>d被短路不再計10 B參考分析:本題為標準的短路算法,由于第一個表達式算。因此,n值仍然保持原來的值2不變。11 D12B13 CB參考分析:c語言在計算表達式時采用短路算法。14 AC15B16 C參考分析:注意條件表達式不是a=b+c。17 .C參考分析:m先與5進行關系比較,然后進行增量運算,m值為6,因比較結果為假,執(zhí)行else,輸出為6,m為7。18 B19C20B21B22. B參考分析:在C語言中,當一個表達式不等于0時,可以將不等于部分省略,其效果完全一樣。23. A參考分析:x>12為假,取x-12。24. B參考分析:首先x進彳T-操作,x為9,然后與y進行等于比較,即9=9,然后y+為10。由于比較結果為真,故計算-x,為8,賦給a。25. A26D27C28【1】2<x&&x<=10【2】-1<x&&x<=2【3】y=-129【1】a=0或者fabs(a)<1e-4【2】b=0【3】disc<030 【1】a+b>c&&b+c>a&&c+a>b【2】a=b&&b=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論