《C語言程序設計》課后習題參考答案_第1頁
《C語言程序設計》課后習題參考答案_第2頁
《C語言程序設計》課后習題參考答案_第3頁
《C語言程序設計》課后習題參考答案_第4頁
《C語言程序設計》課后習題參考答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

《C語言程序設計》課后習題參考答案高等院校計算機基礎訓練規(guī)劃教材《C++程序設計》課后習題參考答案

――武漢高校出版社

習題1參考答案

一、選擇題

1.A

2.D

二、填空題

1.BASIC、FORTRAN、AL_GOL60和COBOL

2.8

3.關鍵字

4.編輯、編譯、鏈接和運行

三、簡答題

1.答:

(1)C語言具有結構化的掌握語句。C語言供應了結構化程序所必需的基本掌握語句,實現(xiàn)了對規(guī)律流的有效掌握。

(2)C語言具有豐富的數(shù)據(jù)結構類型。C語言除供應整型、實型、字符型等基本數(shù)據(jù)類型外,還供應了用基本數(shù)據(jù)類型構造出的各種簡單的數(shù)據(jù)結構,如數(shù)組、結構、聯(lián)合等。C語言還供應了與地址親密相關的指針類型。此外,用戶還可以依據(jù)需要自定義數(shù)據(jù)類型。(3)C語言具有豐富的運算符。C語言供應了多達34種運算符,豐富的數(shù)據(jù)類型與豐富的運算符相結合,使C語言的表達力更具敏捷性,同時也提高了執(zhí)行效率。

(4)C語言簡潔、緊湊,使用便利、敏捷,程序書寫自由,有9種掌握語句。

(5)C語言既具有高級語言的功能,又具有低級語言的很多功能,通常被稱為中級計算機語言。它既是勝利的系統(tǒng)描述語言,又是通用的程序設計語言。

(6)C語言與匯編語言相比,可移植性好。

(7)功能強大。C語言具有低級語言的一些功能,所以,生成目標代碼質(zhì)量高,程序執(zhí)行效率高?,F(xiàn)在很多系統(tǒng)軟件都用C語言來描述,可以大大提高了編程效率。

2.答:運行一個C語言程序,一般需要經(jīng)過如下幾個步驟:①上機輸入并編輯源程序;②編譯源程序;③與庫函數(shù)連接;④生成可執(zhí)行目標程序;⑤運行目標程序。

3.答:

(1)操作系統(tǒng)的設計與實現(xiàn)。C語言是一種應用特別廣泛的結構化高級程序設計語言,既適合編寫應用軟件,又適合編寫系統(tǒng)軟件。

(2)工業(yè)掌握。由于C語言具有簡潔、敏捷、代碼效率高、能進行位操作等優(yōu)點,C語言大量應用在單板機、單片機上,以及嵌入式領域等。

(3)圖形圖像處理。C語言在內(nèi)存管理和進程掌握方面有豐富的指令,而且它能供應快速運行的代碼,因而C語言適合進行圖形程序設計。

(4)教學領域。C語言是抱負的結構化程序設計語言,其描述力量強,應用非常廣泛,因此廣泛應用于教學領域。很多計算機相關課程,如數(shù)據(jù)結構及算法大多是用C語言進行描述的。

習題2參考答案

一、選擇題

1.A

2.A

3.C

二、填空題

1.基本數(shù)據(jù)類型、構造數(shù)據(jù)類型、指針類型、空類型

2.反斜線“\”

3.枚舉數(shù)據(jù)類型(EnumeratedDataType)

三、簡答題

1.答:

在C語言中,數(shù)據(jù)類型可分為:基本數(shù)據(jù)類型、構造數(shù)據(jù)類型、指針類型、空類型四大類。

基本類型是數(shù)據(jù)類型的基礎,由它可以構造出其他簡單的數(shù)據(jù)類型?;绢愋偷闹挡恍幸栽俜纸鉃槠渌愋汀語言的基本類型包括整型、實型(浮點型)、字符型和枚舉型。

C語言的構造類型包括數(shù)組類型、結構類型和聯(lián)合類型。構造類型是依據(jù)已定義的一種或多種數(shù)據(jù)類型用構造的方法定義的。也就是說,一個構造類型的值可以分解成若干個"成員"或"元素"。每個"成員"或"元素"都是一個基本數(shù)據(jù)類型,或又是一個構造類型。

指針是一種特別而又具重要作用的數(shù)據(jù)類型,其值表示某個量在內(nèi)存中的地址。雖然指針變量的取值類似于整型量,但這是兩種完全不同類型的量,一個是變量的數(shù)值,一個是變量在內(nèi)存中存放的地址。

在調(diào)用函數(shù)時,被調(diào)用函數(shù)通常應向調(diào)用函數(shù)返回一個函數(shù)值。返回的函數(shù)值具有肯定的數(shù)據(jù)類型,應在函數(shù)定義的函數(shù)說明中給以說明。例如,在例1-1中給出的max函數(shù)定義中,函數(shù)頭為"intmax(inta,intb,intc)",其中寫在函數(shù)名max之前的類型說明符"int"表示該函數(shù)的返回值為整型量。但是,也有一類函數(shù),被調(diào)用后并不向調(diào)用函數(shù)返回函數(shù)值,這種函數(shù)可以定義為"空類型"(也稱"無值型"),其類型說明符為void。

習題3參考答案

一、選擇題

1.C

2.B

3.B

4.D

二、填空題

1.4字節(jié),1字節(jié),4字節(jié),8字節(jié)

2.20

3.660

4.2625

5.25622

三、簡答題

1.C語言的基本類型包括整型、實型(浮點型)、字符型和枚舉型。

2.定義符號常量和定義變量都要指定數(shù)據(jù)類型,系統(tǒng)將為其安排肯定的存儲空間。其不同之處在于:定義符號常量必需給出常量值,且以后不能修改本常量的值;而變量可以在定義變量的同時賦初值,以后可以修改該變量。

3.常量就是在程序的運行過程中該量是不行修改的量;變量在程序的運行過程中允許對該變量的值進行修改。

四、程序題

1.程序運行結果為:

11

10

10

11

-10

-11

2.程序運行結果為:

3,12,4,4

習題4參考答案

一、選擇題

1.C2.D3.C4.C5.B6.D7.B8.C9.B

二、填空題

1.!&&||

2.01

3.1

4.4

5.-1

三、編程題

1.給出等級成果′A′、′B′、′C′、′D′、′E′,假設,90分以上為′A′,80~89分為′B′,70~79分為′C′,60~69分為′D′,60分以下為′E′,輸入一個等級成果,問屬于哪一個分數(shù)段。

參考代碼如下:

main()

intscore,m,n;

chargrade;

n=1;

while(n)

{printf("Pleaseenterthescore:");

scanf("%d",

if((score>100)||(score

main()

{

inti,j;

for(i=1;i0;j--)

printf("%d",j);

printf("\n");

}

3.用1元5角錢人民幣兌換5分、2分和1分的硬幣(每一種都要有)共100枚,問共有幾種兌換方案?每種方案各換多少枚?

[提示:設5分、2分和1分的硬幣各換x,y,z枚,依題意有x+y+z=100,5x+2y+z=150,由于每一種硬幣都要有,故5分硬幣最多可換28枚,2分硬幣最多可換73枚,1分硬幣可換100-x-y枚,x,y,z只需滿意第2個方程即可打印,對每一組滿意條件的x,y,z值,用計數(shù)器計數(shù)即可得到兌換方案的數(shù)目。]

參考代碼如下:

main()

{

intx,y,z,s=0;

for(x=1;x

main()

{

intn,i,s=0,t=0;

printf("Pleaseentern=");

scanf("%d",

for(i=1;i=0;i--)

scanf("%d",

printf("Pleaseenterx=\n");

scanf("%d",

p=a;

for(i=N;i>0;i--)

{

p=p*x+a;

}

printf("Pn(x)=%d\n",p);

}

2.打印以下的楊輝三角形(要求打印6行)。

1

11

121

1331

14641

15101051

參考代碼如下:

#include

#include

#defineN6

main()

{

inti,j,max;

for(i=0;ia)

continue;

else

break;

for(j=4;j>=i;j--)

a=a;

a=n;

for(i=0;ic

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("area=%.2f\n",area);

}

elseprintf("Itisnotatriangle!\n");

}

2.編程計算p=k!(m-k)!的值。

參考代碼如下:

#include

voidmain()

{

intk,m;

longp;

printf("Pleaseenterk,m:");

scanf("%d,%d",

p=f(k)*f(m-k);

printf("%d\n",p);

}

intf(intn)

{

if(n>1)

returnn*f(n-1);

else

return1;

}

3.寫一函數(shù),使給定的一個二維數(shù)組(3×3)轉(zhuǎn)置,即行列互換。并在主函數(shù)中調(diào)用該函數(shù)時,使用數(shù)組作為實際參數(shù)。

參考代碼如下:

#defineN3

intarray;

convert(intarray)

{

inti,j,t;

for(i=0;istudent.no=1001;

2.0,1,2,100,101,102

3.結構體變量

4.Four,Three,F(xiàn)our

三、編程題

1.有10個同學,每個同學的數(shù)據(jù)包括學號(num)、姓名(name[9])、性別(sex)、年齡(age)、三門課成果(score[3]),要求在main()函數(shù)中輸入這10個同學的數(shù)據(jù),并對每個同學調(diào)用函數(shù)count()計算總分。

參考代碼如下:

#include

#include

#defineN2

structstudent

{intnum;

charname;

charsex;

intage;

intscore;

}stu;

main()

{intcount(ints);

inti,j;

for(i=1;inext=NULL;

p=head;

while(1)

{printf("no,name,score:");

scanf("%d,%s,%d",

if(n==0

else

{q=(structstu*)malloc(sizeof(structstu));

q->no=n;q->score=s;q->next=NULL;

p->next=q;p=q;

}

}

returnhead;

}

structstu*search(structstu*h,intn)

{structstu*p=h->next;

while(p!=NULL

returnp;

}

structstu*delete(structstu*head,char*s)

{

structstu*p1,*p2;

if(head==NULL)

{

printf("\nemptylist!\n");

gotoend;

}

p1=head;

while(pi->score>40p1=p1->next;

free(p1);

}

returnhead;

}

main()

{intn;

structstu*q;

printf("enternumber:");

scanf("%d",

q=create(n);

printf("list:\n");

while(q!=NULL)

{

printf("%s\n",q->name);

q=q->next;

}

}

習題9參考答案

一、選擇題

1.D2.C3.A

二、填空題

1.L=18.849558

S=28.274337

三、解答題

預處理命令的功能是什么?包括哪幾部分?#include預處理命令的兩種格式分別為什么?答:預處理命令的功能是告知編譯系統(tǒng)在對源程序進行編譯之前應當做些什么。預處理命令主要包括文件包含、宏定義和條件編譯三個部分。

#include預處理命令

格式一:#include

格式二:#include”包含文件名”

習題10參考答案

一、選擇題

1.C2.B3.A

二、填空題

1.二進制文件

2.挨次隨機

3.hello,

4.picursound

三、編程題

1.從鍵盤輸入同學姓名,查找同學記錄是否存在,并輸出相應信息。

參考代碼如下:

#include

#include

#define

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論