《C語言程式設計基礎》習題答案

2022-11-17 01:24:02 字數 4162 閱讀 5884

《c語言程式設計基礎(第2版)》習題答案

前言《c語言程式設計基礎(第2版)》每章後面都安排了一定數量的習題,這有利於讀者理解、消化和掌握各單元的學習內容。習題中,除了有填空題、選擇題、回答問題等適合掌握基本概念的題型外,大部分是分析程式執行結果和要求編寫實用程式,這有利於讀者訓練程式設計技巧和增強程式設計能力。應廣大讀者要求,特別是一線教學老師的要求,我們給出全部習題答案,供讀者參考。

程式設計答案只是實現題目演算法要求的一種,並不一定是最好的。希望讀者自己多做思考,利用多種方法進行程式設計,用以提高自己的程式設計水平和鍛鍊自己的創新能力。由於作者水平所限,錯誤和不當之處在所難免,懇請批評指正。

習題一1、填空題。

⑴ c語言程式由__函式__組成,其中必須有且只能有乙個名為_main__的函式。c程式的執行從___名為main的主__函式開始。

⑵ 每個c語句必須以__分__號結束。

⑶ 識別符號只能由_英文本母_、__數字_和_下劃線__三類符號構成,而且識別符號的第乙個字元必須是__英文本母__或__下劃線__。

⑷ 關鍵字是指___c語言編譯系統所固有的、具有專門意義的識別符號___。

⑸ c程式中,注釋的內容應放在__/*_和_*/__符號之間。

2、選擇題。

⑴ 下面合法的c語言識別符號是___ c ___。

⑵ c語言中主函式的個數是___ a______。

⑶ 以下有關注釋的描述中,錯誤的是___ c ___。

⑷ c程式中,main函式的位置____ d___。

3、指出並改正下面程式中的錯誤。

⑴ main 應為 main()

⑵ 應在本程式最後加上大括號 }。

⑶ 語句結束應有分號。如:

int a,b;

a=1;b=2;

printf("%d",a+b);

4、分析下列程式,寫出執行結果。

⑴ 該程式是計算兩個整數a和b的乘積並賦值給c,執行結果為:

c=30

⑵ 該程式輸出乙個字串和一排星號,執行結果為:

hello!

5、程式設計題。

⑴ 按題目要求,編寫輸出固定資訊的程式如下:

main()

pt()

⑵ 按題目要求,編寫輸入資料輸出其表示式的程式如下:

main()

習題二1、單項選擇題。

⑴ c語言中的變數名只能由字母、數字和下劃線組成,且第乙個字元_ c _。

⑵ 合法的常量是__ d ___。

⑶ c語言中的基本資料型別所佔儲存空間長度的順序是__ d___。

⑷ 下列符號串中與123.0相同的合法常量是__ c___。

2、填空。

⑴ c語言中的基本資料型別包括____整型(int)_、____浮點型(flot)__ 和_字元型(char)_三種。

⑵ 整型常數有_十進位制整數_、_八進位制整數_和_十六進製制整數_三種表示形式; 整型變數可分為四類: _一般整型(int)_、_短整型(short)_、_長整型(long)_、_無符號型_。其中_無符號型_又可分為_無符號整型(unsigned int)、_無符號短整型(unsigned short)和_無符號長整型(unsigned long)_3種。

⑶ 有10個用指數形式表示的符點常數:

請指出合法的有

⑷ 在c中,沒有專為存貯字串的變數,但可以用__字元型陣列__ 或__字元型指標變數_存貯字串。其定義格式為_ char str[6];_和_ char *a;_。

⑸ 資料型別混合運算時, 要進行同型轉換, 轉換方式分為__自動轉換(隱式轉換)__和__強制轉換(顯式轉換)__兩種。

3、寫出下列程式執行結果。

⑴ 215/9=23…8

⑵ 97 b

⑶ 4.000000

4、編寫程式。

⑴ 按題目要求編寫求三個已知數的乘積,程式如下:

main()

⑵ 按題目要求,編寫將值整數化後賦值的程式如下:

main()

⑶ 按題目要求,編寫計算圓周長、面積和圓柱體積的程式如下:

main()

習題三1、填空題。

⑴ 設有int x=11;則表示式(x++*1/3)的值是_____3____。

⑵ 已知數學表示式y=x-2x+5,寫出對應的c語言表示式_y=x*x-2*x+5_。

⑶ 已知a=10,則表示式x=(a=a+b,a-b)的值為__x=10__。

2、選擇題。

⑴ 在c語言中,下列運算子的運算元必須是int型別的運算子是( d )。

⑵ 假設所有變數均為整型,則表示式(a=2,b=5,a++,b++,a+b)的值為( a )。

⑶ 已定義int m=6,n=5;,則執行m%=n-1;之後,m的值是( b )。

⑷ 已有int a=1,b=1;則執行b=(a=2*3,a*5),a+7之後,a,b的值是( b )。

⑸ 已有int x=2,y=1;則執行x++==y--;的結果是( d )。

3、求下面算術表示式的值。

⑴ 2.500000

⑵ 3.500000

4、分析下列程式,寫出執行結果。

⑴ 注意,在c語言中,因為函式呼叫中引數按從右到左的順序求值,因此該程式執行列印輸出的結果為:

3 1 1

⑵ 該程式在計算條件表示式的值賦給a時,其x值已為6,y值已為7,因此執行結果為:

a=7,b=0,c=6

⑶ 該程式利用運算子與結合性的優先順序不同,而取得a與b的值。(因為該題使用了邏輯運算子,可在學了第5章以後再詳細分析)執行結果如下:

a=2,b=1

⑷ 該程式應用復合的賦值運算子和從右至左結合性的運算規則,求取n的值,執行結果如下:

n=28

⑸ 該程式在執行語句「y=x++-1;」時,y為0而x在執行後變為2;在執行語句「z=--y+1;」時,z為0而y便成了-1。執行結果如下:

x=2,y=-1,z=0

5、程式設計題。

⑴ 用符號常量編寫簡單計算程式如下(複雜應用應在第9章學習後再做):

#define n 12

#define m 25

main()

⑵ 檢視i++與++j運算結果差異的程式,編寫如下:

main()

⑶ 檢視m--與--n運算結果差異的程式,編寫如下:

main()

習題四1、單項選擇題。

⑴ 下列敘述不正確的是__b__。

⑵ 當輸入資料為***時,下面程式執行的結果是__c___。

⑶ putchar函式可以向終端輸出乙個__d___。

⑷ 按格式輸出的格式符__ c__。

2、回答問題。

⑴ 在鍵盤上輸入資料格式如下:

12,24,aa□2.58□-2.58□1□68.5↙

(□代表空格,其中資料1是為了對付%*f佔位,↙代表回車)

⑵ 該題是求輸入任意兩個整數a與b的和。若讀入a=b=5,其執行結果為:

type a number please!a=?

5↙type another please!b=?

5↙a sum b is 10

3、寫出下列程式的執行結果。

⑴ 執行結果:

32767,-32768

2147483647,-2147483648

65535,0

⑵ 執行結果:

yes,i am computer.

⑶ 執行結果:

a\b』□□□□□tw

123⑷ 執行結果:

58.887299,555.677979

58.887299□□□,555.677979

□□58.887, □555.678,58.887,555.678,58.887299,555.677979

5.88873e+01, □□□5.6e+02

b,66,102,42

7567890,34675022,7a12

11232,25740,2be0,11232

computer, □□abc

4、編寫程式。

⑴ 對輸入的大寫字母改用小寫輸出的程式,編寫如下:

#include <>

main()

⑵ 計算三門課總成績等資料的程式,編寫如下:

#include <>

main()

⑶ 已知資料,按輸出結果的要求編寫輸出程式如下:

main()

{int a=1,b=2,c=3,g=12345;

《C語言程式設計基礎》單元總結與練習題及答案

答案單元一程式設計巨集觀認識 單元總結提公升 本單元中,核心內容有c語言程式框架結構 程式的構成和程式開發過程。通過本單元的學習,我們應該知道 1 c語言程式最基本的程式框架由兩部分構成,分別是 1 編譯預處理 2 函式組 2 c程式最大的特點就是所有的程式都是用函式來裝配的,函式是構成c語言程式的...

C語言習題答案

第1章1 選擇題 1 c 2 b 3 a 2 填空題 1 main 2 main 3 有窮性 確定性 有零個或多個輸入 有乙個或多個輸出 有效性 4 順序 分支和迴圈 5 自頂向下,逐步細化 模組化設計 結構化編碼 第2章1 選擇題 12 345 6 7 890 1234 5 accda dcaba...

精簡「c語言程式設計」知識習題

高職 天師 c語言程式設計 習題 第1章 概述 一 單選題 1 機器指令是屬於 a.低階語言 b 高階語言 c 面向問題語言 d 組合語言 2.下列語言中不屬於面向問題的語言是 a 高階語言 b 低階語言 c c語言 d basic語言 3.高階語言編寫的程式稱為 a 高階程式 b 源程式 c 目標...