當前位置:首頁 » 編程語言 » c語言程序設計鄭莉課後答案

c語言程序設計鄭莉課後答案

發布時間: 2023-08-09 16:04:51

Ⅰ 跪求c語言程序設計課後習題答案及C語言程序設計習題解答與實驗指導答案。

第一部分習題解答

第1章引言習題解答1
第2章基本的程序語句習題解答2
第3章程序的簡單演算法制定習題解答6
第4章分支結構習題解答11
第5章循環結構習題解答19
第6章函數和宏定義習題解答30
第7章數組習題解答38
第8章指針習題解答48
第9章構造數據類型習題解答56
第10章文件操作習題解答65
第11章位運算習題解答73

第二部分實驗

第1章引言實驗79
1.1目的和要求79
1.2實驗練習79
1.3綜合練習83

第2章基本的程序語句實驗83
2.1目的和要求83
2.2相關知識83
2.3實驗練習84
2.4綜合練習90

第3章程序的簡單演算法制定實驗91
3.1目的和要求91
3.2實驗練習91

第4章分支結構實驗96
4.1目的和要求96
4.2相關知識96
4.3實驗練習97
4.4綜合練習105

第5章循環結構實驗107
5.1目的和要求107
5.2相關知識107
5.3實驗練習108
5.4綜合練習118

第6章函數和宏定義實驗120
6.1目的和要求120
6.2相關知識121
6.3實驗練習122
6.4綜合練習126

第7章數組實驗127
7.1目的和要求127
7.2相關知識128
7.3實驗練習129
7.4綜合練習134

第8章指針實驗136
8.1目的和要求136
8.2相關知識136
8.3實驗練習137
8.4綜合練習144

第9章構造數據類型實驗145
9.1目的和要求145
9.2相關知識145
9.3實驗練習147
9.4綜合練習153

第10章文件操作實驗155
10.1目的和要求155
10.2相關知識156
10.3實驗練習157
10.4綜合練習164

第11章位運算實驗165
11.1目的和要求165
11.2相關知識165
11.3實驗練習166
11.4綜合練習168

第三部分其他

第12章集成開發環境介紹170
12.1Turbo C的安裝及使用170
12.1.1Turbo C的安裝170
12.1.2Turbo C簡介170
12.1.3Turbo C的使用173
12.2Borland C++的安裝及使用175
12.2.1Borland C++的安裝175
12.2.2編輯、編譯和運行程序175

第13章常見編譯錯誤信息176
13.1致命錯誤177
13.2一般錯誤177
13.3警告185

Ⅱ c++程序設計基礎教程課後答案(清華大學出版社鄭莉 董淵著)

第 一 章 概述

1-1 簡述計算機程序設計語言的發展歷程。

解:
迄今為止計算機程序設計語言的發展經歷了機器語言、匯編語言、高級語言等階段,C++語言是一種面向對象的編程語言,也屬於高級語言。

1-2 面向對象的編程語言有哪些特點?

解:
面向對象的編程語言與以往各種編程語言有根本的不同,它設計的出發點就是為了能更直接的描述客觀世界中存在的事物以及它們之間的關系。面向對象的編程語言將客觀事物看作具有屬性和行為的對象,通過抽象找出同一類對象的共同屬性(靜態特徵)和行為(動態特徵),形成類。通過類的繼承與多態可以很方便地實現代碼重用,大大縮短了軟體開發周期,並使得軟體風格統一。因此,面向對象的編程語言使程序能夠比較直接地反問題域的本來面目,軟體開發人員能夠利用人類認識事物所採用的一般思維方法來進行軟體開發。C++語言是目前應用最廣的面向對象的編程語言。

1-3 什麼是結構化程序設計方法?這種方法有哪些優點和缺點?

解:
結構化程序設計的思路是:自頂向下、逐步求精;其程序結構是按功能劃分為若干個基本模塊;各模塊之間的關系盡可能簡單,在功能上相對獨立;每一模塊內部均是由順序、選擇和循環三種基本結構組成;其模塊化實現的具體方法是使用子程序。結構化程序設計由於採用了模塊分解與功能抽象,自頂向下、分而治之的方法,從而有效地將一個較復雜的程序系統設計任務分解成許多易於控制和處理的子任務,便於開發和維護。
雖然結構化程序設計方法具有很多的優點,但它仍是一種面向過程的程序設計方法,它把數據和處理數據的過程分離為相互獨立的實體。當數據結構改變時,所有相關的處理過程都要進行相應的修改,每一種相對於老問題的新方法都要帶來額外的開銷,程序的可重用性差。
由於圖形用戶界面的應用,程序運行由順序運行演變為事件驅動,使得軟體使用起來越來越方便,但開發起來卻越來越困難,對這種軟體的功能很難用過程來描述和實現,使用面向過程的方法來開發和維護都將非常困難。

1-4 什麼是對象?什麼是面向對象方法?這種方法有哪些特點?

解:
從一般意義上講,對象是現實世界中一個實際存在的事物,它可以是有形的,也可以是無形的。對象是構成世界的一個獨立單位,它具有自己的靜態特徵和動態特徵。面向對象方法中的對象,是系統中用來描述客觀事物的一個實體,它是用來構成系統的一個基本單位,由一組屬性和一組行為構成。
面向對象的方法將數據及對數據的操作方法放在一起,作為一個相互依存、不可分離的整體--對象。對同類型對象抽象出其共性,形成類。類中的大多數數據,只能用本類的方法進行處理。類通過一個簡單的外部介面,與外界發生關系,對象與對象之間通過消息進行通訊。這樣,程序模塊間的關系更為簡單,程序模塊的獨立性、數據的安全性就有了良好的保障。通過實現繼承與多態性,還可以大大提高程序的可重用性,使得軟體的開發和維護都更為方便。
面向對象方法所強調的基本原則,就是直接面對客觀存在的事物來進行軟體開發,將人們在日常生活中習慣的思維方式和表達方式應用在軟體開發中,使軟體開發從過分專業化的方法、規則和技巧中回到客觀世界,回到人們通常的思維。

1-5 什麼叫做封裝?

解:
封裝是面向對象方法的一個重要原則,就是把對象的屬性和服務結合成一個獨立的系統單位,並盡可能隱蔽對象的內部細節。

1-6 面向對象的軟體工程包括哪些主要內容?

解:
面向對象的軟體工程是面向對象方法在軟體工程領域的全面應用,它包括面向對象的分析(OOA)、面向對象的設計(OOD)、面向對象的編程(OOP)、面向對象的測試(OOT)和面向對象的軟體維護(OOSM)等主要內容。

1-7 簡述計算機內部的信息可分為幾類?

解:
計算機內部的信息可以分成控制信息和數據信息二大類;控制信息可分為指令和控制字兩類;數據信息可分為數值信息和非數值信息兩類。

1-8 什麼叫二進制?使用二進制有何優點和缺點?

解:
二進制是基數為2,每位的權是以2 為底的冪的進制,遵循逢二進一原則,基本符號為0和1。採用二進制碼表示信息,有如下幾個優點:1.易於物理實現;2.二進制數運算簡單;3.機器可靠性高;4.通用性強。其缺點是它表示數的容量較小,表示同一個數,二進制較其他進制需要更多的位數。

1-9 請將以下十進制數值轉換為二進制和十六進制補碼:
(1)2 (2)9 (3)93
(4)-32 (5)65535 (6)-1

解:
(1) (2)10 = (10)2 = (2)16
(2) (9)10 = (1001)2 = (9)16
(3) (93)10 = (1011101)2 = (5D)16
(4) (-32)10 = (11100000)2 = (E0)16
(5) (65535)10 = (11111111 11111111)2 = (FFFF)16
(6) (-1)10 = (11111111 11111111)2 = (FFFF)16

1-10 請將以下數值轉換為十進制:
(1)(1010)2 (2)(10001111)2 (3)(01011111 11000011)2
(4)(7F)16 (5)(2D3E)16 (6)(F10E)16

解:
(1)(1010)2 = (10)10
(2)(10001111)2 = (143)10
(3)(01011111 11000011)2 = (24515)10
(4)(7F)16 = (127)10
(5)(2D3E)16 = (11582)10
(6)(F10E)16 = (61710)10

1-11 簡要比較原碼、反碼、補碼等幾種編碼方法。
解:
原碼:將符號位數字化為 0 或 1,數的絕對值與符號一起編碼,即所謂"符號——絕對值表示"的編碼。
正數的反碼和補碼與原碼表示相同。
負數的反碼與原碼有如下關系:
符號位相同(仍用1表示),其餘各位取反(0變1,1變0)。
補碼由該數反碼的最末位加1求得。

第 二 章 C++簡單程序設計

2-1 C++語言有那些主要特點和優點?

解:
C++語言的主要特點表現在兩個方面,一是全面兼容C,二是支持面向對象的方法。C++是一個更好的C,它保持了C的簡潔、高效、接近匯編語言、具有良好的可讀性和可移植性等特點,對C的類型系統進行了改革和擴充,因此C++比C更安全,C++的編譯系統能檢查出更多的類型錯誤。 C++語言最重要的特點是支持面向對象。

2-2 下列標識符哪些是合法的?
Program, -page, _lock, test2, 3in1, @mail, A_B_C_D

解:
Program, _lock, test2, A_B_C_D是合法的標識符,其它的不是。

2-3 例2.1中每條語句的作用是什麼?
#include <iostream.h>
void main(void)
{
cout<<"Hello!\n";
cout<<"Welcome to c++!\n";
}

解:
#include <iostream.h> //指示編譯器將文件iostream.h中的代碼
//嵌入到該程序中該指令所在的地方
void main() //主函數名,void 表示函數沒有返回值
{ //函數體標志
cout<<"Hello!\n"; //輸出字元串Hello!到標准輸出設備(顯示器)上。
cout<<"Welcome to c++!\n"; //輸出字元串Welcome to c++!
}
在屏幕輸出如下:
Hello!
Welcome to c++!

2-4 使用關鍵字const而不是#define語句的好處有哪些?

解:
const定義的常量是有類型的,所以在使用它們時編譯器可以查錯;而且,這些變數在調試時仍然是可見的。

2-5 請寫出C++語句聲明一個常量PI,值為3.1416;再聲明一個浮點型變數a,把PI的值賦給a。

解:
const float PI = 3.1416;
float a = PI;

2-6 在下面的枚舉類型中,Blue的值是多少?
enum COLOR ;

解:
Blue = 102

2-7 注釋有什麼作用?C++中有哪幾種注釋的方法?他們之間有什麼區別?

解:
注釋在程序中的作用是對程序進行註解和說明,以便於閱讀。編譯系統在對源程序進行編譯時不理會注釋部分,因此注釋對於程序的功能實現不起任何作用。而且由於編譯時忽略注釋部分,所以注釋內容不會增加最終產生的可執行程序的大小。適當地使用注釋,能夠提高程序的可讀性。在C++中,有兩種給出注釋的方法:一種是延用C語言方法,使用"/*"和"*/"括起注釋文字。另一種方法是使用"//",從"//"開始,直到它所在行的行尾,所有字元都被作為注釋處理。

2-8 什麼叫做表達式?x = 5 + 7是一個表達式嗎?它的值是多少?

解:
任何一個用於計算值的公式都可稱為表達式。x = 5 + 7是一個表達式,它的值為12。

2-9 下列表達式的值是多少?
1. 201 / 4
2. 201 % 4
3. 201 / 4.0

解:
1. 50
2. 1
3. 50.25

2-10 執行完下列語句後,a、b、c三個變數的值為多少?
a = 30;
b = a++;
c = ++a;

解:
a:32 ; b:30 ; c:32;

2-11 在一個for循環中,可以初始化多個變數嗎?如何實現?

解:
在for循環設置條件的第一個";"前,用,分隔不同的賦值表達式。
例如:
for (x = 0, y = 10; x < 100; x++, y++)

2-12 執行完下列語句後,n的值為多少?
int n;
for (n = 0; n < 100; n++)

Ⅲ c語言程序設計答案,怎樣輸入一個華氏溫度,要求輸出攝氏溫度

#include<stdio.h>

int main()

{

float F,c;

while(1)

{

printf("請輸入華氏溫度:");

scanf("%f",&F);

c=5*(F-32)/9;

printf("攝氏溫度為:%0.2f",c);

return 0;

}

}

Ⅳ c語言程序設計:1,統計英文文本中單詞個數。2,統計某一特定單詞出現的頻度。

1、統計英文文本中單詞個數。

if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) sum++;

2、統計某一特定單詞出現的頻度。

for(i=0;i!='/0';i++)

{

if(a[i]=='特定單詞')

sum++;

}

(4)c語言程序設計鄭莉課後答案擴展閱讀:

if語句的一般形式如下:

if(表達式)語句1

[else語句2]

if語句中的「表達式」可以是關系表達式、邏輯表達式,甚至是數值表達式。其中最直觀、最容易理解的是關系表達式。所謂關系表達式就是兩個數值進行比較的式子。

for循環小括弧里第一個「;」號前為一個為不參與循環的單次表達式,其可作為某一變數的初始化賦值語句, 用來給循環控制變數賦初值。

Ⅳ C語言程序設計(第4章函數)3

4.3 函數的調用與參數
如果一個函數要使用參數,它就必須定義接受參數值的變數。

4.3.1 形式參數與實際參數
函數定義時填入的參數我們稱之為形式參數,簡稱形參,它們同函數內部的局部變數作用相同。形參的定義是在函數名之後和函數開始的花括弧之前。
調用時填入的參數,我們稱之為實際參數,簡稱實參。
必須確認所定義的形參與調用函數的實際參數類型一致,同時還要保證在調用時形參與實參的個數出現的次序也要一一對應。如果不一致,將產生意料不到的結果。與許多其它高級語言不同,(是健壯的,它總要做一些甚至你不希望的事情,幾乎沒有運行時錯誤檢查,完全沒有范圍檢測。作為程序員,必須小心行事以保證不發生錯誤,安全運行。

4.3.2 賦值調用與引指脊用調用
一般說來,有兩種方法可以把參數傳遞給函數。第一種叫做「賦值調用搭缺」(call by value),這種方法是把參數的值復制到函數的形式參數中。這樣,函數中的形式參數的任何變化不會影響到調用時所使用的變數。
把參數傳遞給函數的第二種方法是「引用調用」(call by reference)。這種方法是把參數的地址復制給形式參數,在函數中,這個地址用來訪問調用中所使用的實際參數。這意味著,形式參數的變化會影響調用時所使用的那個變數(詳細內容請參見後續章節)。
除少數情況外,C語言使用賦值調用來傳遞參數。這意味著,一般不能改變調用時所用變數的值。請看例4 - 9。

[例4 - 9]
main ( )
{
int t =10;
printf("%d %d ",sqr(t),t); /* sqr(t)是函數調用,t是實參* /
}
int sqr(x) /* 函數定義,x是形式參數* /
int x;
{
x = x * x;
return (x);
}
在這個例子里,傳遞給函數sqr( )的參數值是復制給形式參數x的,當賦值語唯枝滲句x = x * x執行時,僅修改局部變數x。用於調用sqr( )的變數t,仍然保持著值10。
執行程序:
100 10
切記,傳給函數的只是參數值的復製品。所有發生在函數內部的變化均無法影響調用時使用的變數。

4.4 遞歸
C語言函數可以自我調用。如果函數內部一個語句調用了函數自己,則稱這個函數是「遞歸」。遞歸是以自身定義的過程。也可稱為「循環定義」。
遞歸的例子很多。例如定義整數的遞歸方法是用數字1,2,3,4,5,6,7,8,9加上或減去一個整數。例如,數字1 5是7 + 8;數字2 1是9 + 1 2; 數字1 2是9 + 3。
一種可遞歸的計算機語言,它的函數能夠自己調用自己。一個簡單的例子就是計算整數階乘的函數factor( )數N的階乘是1到N之間所有數字的乘積。例如3的階乘是1×2×3,即是6。
factor( )和其等效函數fact( )如例4 - 1 0所示。

[例4 - 1 0 ]
factor(n) /* 遞歸調用方法* /
int n;
{
int answer;
if (n==1)
return (1);
answer=factor(n-1) * n; /* 函數自身調用* /
return(answer);
}

[例4 - 11 ]
fact(n) /* 非遞歸方法* /
int n;
{
int t,a n s w e r;
answer = 1;
for (t=1; t < = n; t ++)
answer = answer * t;
return(answer);
}
非遞歸函數fact( )的執行應該是易於理解的。它應用一個從1開始到指定數值結束的循環。
在循環中,用「變化」的乘積依次去乘每個數。
factor( )的遞歸執行比fact( )稍復雜。當用參數1調用factor( )時,函數返回1;除此之外的其它值調用將返回factor(n-1) * n這個乘積。為了求出這個表達式的值,用( n - 1)調用factor( )一直到n等於1,調用開始返回。
計算2的階乘時對factor( )的首次調用引起了以參數1對factor( )的第二次調用。這次調用返回1,然後被2乘(n的初始值),答案是2(把printf( )語句插入到factor ( )中,察看各級調用及其中間答案,是很有趣的)。

Ⅵ 跪求《C語言程序設計》課本習題答案!!!

習題1參考答案
一、選擇題 1. A 2. D
二、填空題
1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8
3. 關鍵字
4. 編輯、編譯、鏈接和運行
三、簡答題 1.答:
(1)C語言具有結構化的控制語句。C語言提供了結構化程序所必需的基本控制語句,實現了對邏輯流的有效控制。
(2)C語言具有豐富的數據結構類型。C語言除提供整型、實型、字元型等基本數據類型外,還提供了用基本數據類型構造出的各種復雜的數據結構,如數組、結構、聯合等。C語言還提供了與地址密切相關的指針類型。此外,用戶還可以根據需要自定義數據類型。 (3)C語言具有豐富的運算符。C語言提供了多達34種運算符,豐富的數據類型與豐富的運算符相結合,使C語言的表達力更具靈活性,同時也提高了執行效率。
(4)C語言簡潔、緊湊,使用方便、靈活,程序書寫自由,有9種控制語句。
(5)C語言既具有高級語言的功能,又具有低級語言的許多功能,通常被稱為中級計算機語言。它既是成功的系統描述語言,又是通用的程序設計語言。 (6)C語言與匯編語言相比,可移植性好。
(7)功能強大。C語言具有低級語言的一些功能,所以,生成目標代碼質量高,程序執行效率高。現在許多系統軟體都用C語言來描述,可以大大提高了編程效率。
2.答:運行一個C語言程序,一般需要經過如下幾個步驟:①上機輸入並編輯源程序;②編譯源程序;③與庫函數連接;④生成可執行目標程序;⑤運行目標程序。 3.答:
(1)操作系統的設計與實現。C語言是一種應用非常廣泛的結構化高級程序設計語言,既適合編寫應用軟體,又適合編寫系統軟體。

Ⅶ C語言程序設計

1.n=0 a=0
從右往左開始運算.
n%=(n%=2)--->n%=(7%=2)---> n%=1--->n = 0
a+=a-=a*=a 這個語句不同的編譯器的結果是不一樣的。在vc下因為好薯空執行了一次a -= a的操作,友瞎所以a=0

2.m=17
首先執行(--y==x++)的時候,x的值變為16了,y的值變成19。判斷 19==15 顯然是false,再執行++x後返回17。

3.輸出1,0
先執行手悔a+b和a-b,顯然28 != 2,所以為真,值為1
同理 13.14 <= 0.4 ,為假,值為0

4.
#define pi 3.1415926
float GetVolume(const float& r,const float& h)
{
return pi*r*r*h/3;
}

Ⅷ c語言程序設計第三版課後習題答案

習 題 1

1.1 填空題

1.函數

2.主函數main();主函數main()

3.主函數main()

4.函數首部;函數體

5.{;}

6.順序結構;選擇結構;循環結構

7..c;.obj;.exe

1.2 思考題

1.答:結構化程序設計是指,為使程序具有一個合理的結構以保證程序正確性而規定的一套如何進行程序設計的原則。順序結構,選擇結構,循環結構

2.答:演算法是對具體問題求解步驟的一

熱點內容
台式機忘記開機密碼怎麼辦 發布:2025-02-06 11:58:01 瀏覽:868
android刷新按鈕 發布:2025-02-06 11:57:17 瀏覽:585
存儲過程有輸入參數和輸出參數 發布:2025-02-06 11:55:32 瀏覽:96
成績評選演算法 發布:2025-02-06 11:42:51 瀏覽:994
資料庫測試數據 發布:2025-02-06 11:31:05 瀏覽:821
球頭軸編程 發布:2025-02-06 11:29:36 瀏覽:280
為什麼安卓系統不能收縮許可權 發布:2025-02-06 11:27:58 瀏覽:730
演算法4視頻 發布:2025-02-06 11:19:20 瀏覽:934
51內置音效卡需要什麼主機配置 發布:2025-02-06 11:18:33 瀏覽:838
防針刺傷的物品配置有哪些 發布:2025-02-06 11:11:25 瀏覽:670