《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 目標...