本節書摘來自華章社群《c語言程式設計:問題與求解方法》一書中的第2章,第2.18節本章習題,作者:何 勤,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視
本章習題
一、判斷題
1.兩個整型量(包括常量和變量)m和n相除 m/n ,所得的結果是截去了小數部分的整數商。
在調用數學庫函數時,可以不包含頭檔案math.h 。
3.在c89标準中規定:定義可以出現在函數體中的任意位置。
4.表達式中出現的變量,可以是未經過初始化的變量。
5.兩個運算量之間的乘号 “” 有時可以省略不寫,有時可以用 “.”号代替“”号。
6.在指派語句中,指派号的左邊一定是一個單個變量,不能是常量,也不能是一個函數調用。
c語言字元集中的同一個字元,出現在源程式的不同位置,其含義可能不同(考慮圓括号和 % 這兩個字元)。
c語言程式中,凡是可以出現常量的地方,都可以用一個表達式來替代。
9.指派語句使得我們既可以通過已知變量求得未知變量的值,又可以通過變量的舊值求得該變量的新值。
10.語句“x=x+1;”是錯誤的,因為運算符 “=”的兩邊不相等。
11.沒有副作用的表達式永遠不會改變變量的值。
12.記憶體中變量的值可以重複取出任意多次來使用,變量的值都不會變。一旦存入(或輸入)一個新值到該變量中,變量的舊值将不複存在。
13.庫函數名通常都是由小寫英文組成的辨別符,而c89中的關鍵字可以用大寫字母構成。
14.單個常量、變量、有傳回值的函數調用都是表達式。
printf調用時,格式控制串中轉換說明的數量要與輸出項的數量一樣多,類型也要一一比對。
16.“程式”又可稱為“代碼”,“源程式”又可稱為“源代碼”。
二、選擇題
以下不是c語言提供的合法關鍵字的是( )。
以下選項中合法的使用者辨別符是( )。
下列各項字元序列中,合法的變量名是( )。
下列可以正确表示字元型常量的是( )。
已定義c為字元型變量,則下列指派語句中正确的是( )。
c語言中運算對象必須是整型的運算符是( )。
在c語言程式中,表達式8/5的結果是( )。
在c語言程式中,表達式5%2的結果是( )。
三、問答題
1.設float型變量radius表示圓球的半徑,float型變量volumn表示圓球的體積。請指出以下printf函數調用語句中的錯誤。
1)printf (“圓球的體積是:%f立方米 , 圓球的半徑是:%f立方米n”, radius );
2)printf (“圓球的體積是:%d立方米n”, volumn );
3)printf (“圓球的體積是:%.2f 立方米n , volumn” );
4)print (“圓球的體積是:%f 立方米n” , & volumn );
2.填空題
1)如果要用一次printf()函數調用,依次輸出n個變量(或表達式)的值,那麼在函數調用的格式串中應當有 個格式符,并且格式符中的轉換說明要與輸出項的 一一比對。
2)如果三個待輸出的變量的類型依次分别是 int、char、float,那麼格式串的形式通常應當是:“ %_ %_%_* ” 。其中的星号代表任意多個普通字元或轉義字元。
3.已知 age 是int型變量,ch是char型變量,heigh是float 型變量,請用适當的轉換說明符 d、f、c填空:
6.閱讀、編譯并運作例題2.1。
四、程式設計題
1.從鍵盤輸入圓錐體的半徑radius和高度height,計算其體積volumn(其中圓周率要求用符号常量表示)。
2.輸入年利息、存錢的年數和金額,計算到期本金和利息之和(不計複利)。
3.已知一進制二次方程ax2+bx+c=0 的系數a,b,c(a,b,c由鍵盤數入),并且假設b2–4ac>0,求方程的兩個實數根。
4.編寫一個程式,讓使用者輸入一個字元,程式顯示此字元所對應的ascii碼。要求顯示格式如下:
輸入的字元是:
對應的ascii碼是:
5.編寫一個程式,要求使用者輸入一個ascii碼,程式顯示此ascii碼所對應的字元。要求顯示格式如下:
輸入的ascii碼是:
對應的字元是:
6.參照例題2.7,将6位純數字的明碼轉變為比較安全的混合密碼。要求6位密碼由兩位大寫英文字元、兩位小寫英文字元和兩位數字字元構成。
7.編寫學生個人生活小管家程式。輸入本月總收入,輸入預算支出項,顯示輸出本月預算情況。支出分為: 就餐費、手機費、日常生活用品費、交友娛樂費。