第三章 最簡單的C程式設計 順序程式設計

2021-10-25 15:49:14 字數 3557 閱讀 7800

//習題1.假如我國國民生產總值的年增長率為7%,計算10年後我國國民生產總值與現在相比增長多少百分比。計算公式為

p=(1+r)^n

r為年增長率,n為年數,p為與現在相比的倍數。

#include

#include

//要用到pow函式

intmain()

//習題2.存款利息的計算。有1000元,想存5年,可按以下5種辦法存:

(1)一次存5年期。

(2)先存2年期,到期後將本息再存3年期。

(3)先存3年期,到期後將本息再存2年期。

(4)存1年期,到期後將本息再存1年期,連續存5次。

(5)存活期存款。活期利息每一季度結算一次

2023年的銀行存款利息如下:

1年期定期存款利息為1.5%;

2年期定期存款利息為2.1%;

3年期定期存款利息為2.75%;

5年期定期存款利息為3%;

活期存款利息為0.35%(活期存款每一季度結算一次利息)。

如果r為年利率,n為存款年數,則計算本息和的公式如下:

1年期本息和:p=1000*(1+r);

n年期本息和:p=1000*(1+n*r);

存n次1年期的本息和: p=1000*(1+r)^n;

活期存款本息和: p=1000*(1+r/4)^4*n。

說明: 1000*(1+r/4)是乙個季度的本息和。

#include

#include

intmain()

//習題3. 購房從銀行貸了-筆款d,準備每月還款額為p,月利率為r,計算多少月能還清。設d為300000元,p為6000元,r為1%。對求得的月份取小數點後一位,對第2位按四捨五人處理。

可以將公式改寫為

c的庫函式中有求對數的函式log10,是求以10為底的對數。log§表示log^p.

#include

#include

intmain()

//習題4.分析下面的程式:
#include

intmain()

(1)執行時會輸出什麼資訊?為什麼?

由於c1、c2是字元型,雖然給它賦值了數值,但在給c1、c2賦值時系統進行了強制型別轉換為字元型,97、98轉換為a、b分別賦值給c1、c2。所以第一行為c1=a,c2=b。在第二行時格式控制輸出格式為%d,又把字元型轉換成對應的的ascii碼值數值型,所以輸出c1=97,c2=98

(2)如果將程式第4,5行改為

c1=197;

c2=198;

執行時會輸出什麼資訊?為什麼?

第一行是因為找不到對應的ascii碼值,因為ascii碼值的表示範圍為0-127。第二行是因為在整形資料賦值給字元型資料時發生了截斷,因為所佔位元組不同,所以只擷取了低八位。又因為預設為輸出時有符號整型,有符號資料在計算機中都是以補碼形式儲存的,顯然本例中為負數,將197轉換為二進位制為11000101,補碼為10111011,所以輸出為-59,c2同上。

(3)如果將程式第3行改為

int c1,c2;

執行時會輸出什麼資訊?為什麼?

當c1=97,c2=98時程式執行結果同(1)

當c1=197,c2=198時執行結果為

因為在ascii碼的範圍只在0-127所以第一行未知(與(2)相似)

//習題5.用下面的scanf函式輸人資料,使a=3,b=7,x=8.5.y=71.82,c1='a',c2='a'。在鍵盤上應如何輸人?

# include

intmain()

以下是輸入方法和輸出結果驗證(原程式中沒有需要自己加),a=3b=7必須原樣輸入,%e是科學計數法格式輸入輸完之後不能直接回車或空格必須連著輸入aa

//習題6.請程式設計字將「china」譯成密碼,密碼規律是:用原來的字母後面第4個字母代替原來的字母,如,字每「a」後面第4個字母是「e」,用「e」代替「a」。因此「china」應譯為"glmre」。請編一程式,用賦初值的方法使c1,c2,c3,c4,c5這5個變數的值分別為'c','h',』i』,'n','a',經過運算,使c1,c2,c3,c4,c5分別變為'g',』l』,'m',r,e。分別用putchar函式和printf函式輸出這5個字元。
#include

intmain()

//習題7.設圓半徑r=1.5,圓柱高h=3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸人資料,輸出計算結果,輸出時要求有文字說明,取小數點後2位數字。請程式設計序。
#include

intmain()

程式結果:

//習題8.程式設計序,用getchar 函式讀人兩個字元給cl和c2,然後分別用putchar函式和printf函式輸出這兩個字元。思考以下問題:
#include

intmain()

程式結果

(1)變數c1和c2應定義為字元型、整型還是二者皆可?

均可,因為字元型和數值型互相轉換

(2)要求輸出cl和c2值的ascii碼,應如何處理?用putchar函式還是printf函式?

應該用printf輸出,因為putchar只能輸出字元型資料

(3)整型變數與字元變數是否在任何情況下都可以互相代替?如:

char c1,c2;

與int c1,c2;

是否無條件地等價?

這個不一定,因為ascii所表示的字元範圍只在0-127中,超過的部分沒有對應的字元,而數值型一般都會有乙個值與之對應。

第三章 最簡單的C程式設計 順序程式設計

3.1有人用溫度計測量出用華氏溫度表示的溫度 如64 f 今要求把它轉換為以攝氏法表示的溫度 如17.8 3.2計算存款利息。有1000元,想存一年。有三種方法可選 1 活期,年利率為r1 2 一年期定期,年利率為r2 3 存兩次半年定期,年利率為r3.請分別計算出一年後按3種方法所得的利息和。3....

TOC 第三章(最簡單的 C程式設計

toc 第三章 最簡單的 c程式設計 順序設計 例3.1 有人用溫度計測量出華氏法表示的溫度,今要求把它轉換為以攝氏度表示的溫度 include int main 執行結果如下 例3.2 計算存款利息。有1000元,想存一年。有3種方法可選 1 活期,年利率為 r1 2 一年期定期,年利率為 r2 ...

C 程式設計 第三章 函式

int r i r為i的引用1 定義引用的時候必須初始化,使其指向乙個存在的物件 2 一旦定義以後就與物件繫結,不允許修改 3 當用引用作為函式的引數時,其效果和用指標作為函式引數的效果相當,此時函式中對形參的各種操作實際上是對實參本身進行操作,而非簡單的將實參變數或物件的值拷貝給形參 4 使用引用...