C語(yǔ)言習(xí)題答案_第1頁(yè)
C語(yǔ)言習(xí)題答案_第2頁(yè)
C語(yǔ)言習(xí)題答案_第3頁(yè)
C語(yǔ)言習(xí)題答案_第4頁(yè)
C語(yǔ)言習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第二部分

第一章

習(xí)題篇

C語(yǔ)言概述

一.單項(xiàng)選擇題

1.A)可以用來(lái)編寫(xiě)系統(tǒng)軟件,也可以用來(lái)編寫(xiě)應(yīng)用軟件

2.A)編輯、編譯、連接、運(yùn)行

3.A)源程序

4.B).obj

5.C).exe

6.D)C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行

7.C)可以在任意位置

8.A)一個(gè)主函數(shù)和若干個(gè)其他函數(shù)組成

9.D)函數(shù)首部和函數(shù)體

10.C)include命令行后面需要加分號(hào)

11.C)C語(yǔ)言自身沒(méi)有輸入輸出語(yǔ)句

12.D)&

13.B)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

14.D)有零個(gè)或多個(gè)輸出。

15.A)建立數(shù)學(xué)模型

二.填空題

1.高級(jí)語(yǔ)言

6.換行

2.main()

7.*/

3.main()

8.函數(shù)

4.{}

9.編譯

5.分號(hào)

10..exe

三.判斷題

1.軟件是程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。

(對(duì))

2.程序設(shè)計(jì)是指使用某種計(jì)算機(jī)語(yǔ)言并采用合適的方法編寫(xiě)程序,以便指揮計(jì)算機(jī)

解決具體的問(wèn)題。

(對(duì))

3.機(jī)器語(yǔ)言中的每一條指令都是用二進(jìn)制形式表示的,機(jī)器語(yǔ)言編寫(xiě)的程序中的指

令不可以由硬件直接執(zhí)行。

(錯(cuò))

4.一個(gè)C語(yǔ)言程序可以由一個(gè)主函數(shù)和若干個(gè)其他函數(shù)構(gòu)成。

(對(duì))

5.從另一個(gè)角度說(shuō),一個(gè)C程序是由一個(gè)或多個(gè)C文件組成,而一個(gè)C文件是由一

個(gè)或多個(gè)函數(shù)組成。

言的功能多。

7.同其他高級(jí)語(yǔ)言一樣,C語(yǔ)言也具有結(jié)構(gòu)化的控制語(yǔ)句。

(對(duì))

(錯(cuò))

(對(duì))

6.C語(yǔ)言之所以也被稱(chēng)為中級(jí)語(yǔ)言,是因?yàn)樗雀呒?jí)語(yǔ)言的功能要少,而比低級(jí)語(yǔ)

8.C程序中的main()函數(shù)必須放在整個(gè)程序的最前頭。

9.C語(yǔ)言允許直接訪(fǎng)問(wèn)物理地址,能進(jìn)行位操作。

模塊化設(shè)計(jì)和結(jié)構(gòu)化編碼等3個(gè)步驟。

(錯(cuò))

(對(duì))

(對(duì))

10.結(jié)構(gòu)化程序設(shè)計(jì)的方法一般包括按自頂向下并逐步細(xì)化的方法對(duì)問(wèn)題進(jìn)行分析、

四.編程題

1.編寫(xiě)程序,在屏幕上顯示以下信息:

***********

HelloWorld!

***********

2.編寫(xiě)程序,從鍵盤(pán)輸入兩個(gè)整數(shù),然后輸出其中較小的數(shù)。

3.編寫(xiě)程序,從鍵盤(pán)輸入三個(gè)整數(shù),然后輸出其中最小的數(shù)。

第二章

數(shù)據(jù)類(lèi)型與表達(dá)式

一.單項(xiàng)選擇題

1.A)整型、實(shí)型、字符型

2.C)8

3.D)以上三種進(jìn)制均可使用

4.A)8

5.C)必須為字母或下劃線(xiàn)

6.D)_x

7.C)068

8.C)sqrt(x)/(3*y)

9.A)%

10.A)x=y,y=y+1

11.B)2

12.C)先考慮優(yōu)先級(jí),然后考慮結(jié)合性

13.C)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)據(jù),對(duì)于實(shí)型變量只能輸

入實(shí)型數(shù)據(jù)

14.D)60

15.B)3.0

16.B)i的值是字符A的ASCII值加上3,即68

17.C)a=69,b=68

二.填空題

1.double

2.不同

3.27

4.35

5.5

6.double

7.43

8.53

9.12,10,18

10.12.20

11.1,3,3,1

12.4,8

三.判斷題

1.基本數(shù)據(jù)類(lèi)型最主要的特點(diǎn)是不可以再分解為其它數(shù)據(jù)類(lèi)型。

2.在C語(yǔ)言中,整數(shù)的書(shū)寫(xiě)形式有十進(jìn)制、八進(jìn)制和十六進(jìn)制形式。

3.在C語(yǔ)言中,字符型常量可以用單引號(hào)或雙引號(hào)括起來(lái)。

4.在C語(yǔ)言中,字符型常量只能包含一個(gè)字符。

5.在C語(yǔ)言中,字符串常量隱含處理以'\0'結(jié)尾。

6.在C語(yǔ)言中,用戶(hù)所定義的標(biāo)識(shí)符中的大、小寫(xiě)字母代表相同標(biāo)識(shí)。

7.在C語(yǔ)言中,用戶(hù)所定義的標(biāo)識(shí)符不允許使用關(guān)鍵字。

8.在C語(yǔ)言中,符號(hào)常量的值在程序運(yùn)行過(guò)程中可以改變。

(對(duì))

(對(duì))

(錯(cuò))

(對(duì))

(對(duì))

(錯(cuò))

(對(duì))

(錯(cuò))

9.在C語(yǔ)言中,要求對(duì)程序中所用到的變量進(jìn)行強(qiáng)制定義。

(對(duì))

10.設(shè)C語(yǔ)言的float型是7位有效數(shù)字,則超過(guò)7位數(shù)的運(yùn)算是不準(zhǔn)確的。

(對(duì))

四.編程題

1.編寫(xiě)程序,從鍵盤(pán)輸入兩個(gè)整數(shù),輸出它們的和、差、積、商、余數(shù)以及平均值。

2.編寫(xiě)程序,從鍵盤(pán)輸入三個(gè)雙精度數(shù)a、b、c,計(jì)算總和、平均值、x=a2+b2+c2的

值,并計(jì)算x平方根的值。所有運(yùn)行數(shù)據(jù)保留三位小數(shù),第四位四舍五入。

3.編寫(xiě)程序,從鍵盤(pán)輸入兩個(gè)長(zhǎng)整型數(shù),輸出它們(整數(shù)除的)商和余數(shù)。

4.編寫(xiě)程序,從鍵盤(pán)輸入兩個(gè)整數(shù),輸出它們(實(shí)數(shù)除)的商,并輸出商的第二位

小數(shù)位(例如:15/8.0=1.875,1.875的第二位小數(shù)位是7)

。

5.編寫(xiě)程序,要求用賦初值的方法使c1、c2等兩個(gè)變量的值分別為97和98,然后

分別按整型和字符型輸出。

6.編寫(xiě)程序,輸入秒數(shù)轉(zhuǎn)換用小時(shí)、分鐘、秒表示。如輸入7278秒,則輸出2小時(shí)

1分18秒。

7.編寫(xiě)程序,輸入兩個(gè)復(fù)數(shù)的實(shí)部和虛部,輸出這兩個(gè)復(fù)數(shù)積的實(shí)部和虛部。兩復(fù)

數(shù)的積按下面的公式計(jì)算:(a+bi)(c+di)=(ac-bd)+(ad+bc)i。

第三章

順序結(jié)構(gòu)程序設(shè)計(jì)

一.單項(xiàng)選擇題

1.D)15.0,25.0,35.0

2.C)x=1.23,y=1.26

3.B)scanf("%d%d%d",&a,&b,&c);

4.A)scanf("%f",&a);

5.D)程序輸出小寫(xiě)字母d

6.B)3

二.填空題

1.5.5

2.c+25

3.1,2,A,a

4.2D

三.判斷題

1.順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)可以組成所有的各種復(fù)雜程序。

2.復(fù)合語(yǔ)句就是多條語(yǔ)句,不必須用花括號(hào)括起來(lái)。

3.在變量說(shuō)明中,允許連續(xù)給多個(gè)變量賦初值。

4.scanf函數(shù)和printf函數(shù)的原型在頭文件"stdio.h"中。

5.printf函數(shù)格式字符串中%4d表示輸出一定是四位十進(jìn)制整數(shù)。

6.putchar函數(shù)的功能是在顯示器上輸出一個(gè)字符。

(對(duì))

(錯(cuò))

(錯(cuò))

(對(duì))

(錯(cuò))

(對(duì))

7.在scanf函數(shù)的格式串中,如果是"%d%d%d",在輸入三個(gè)十進(jìn)制整數(shù)時(shí)要用一

個(gè)以上的空格鍵、回車(chē)鍵和Tab鍵作為每?jī)蓚€(gè)輸入數(shù)之間的間隔。

(對(duì))

8.在scanf函數(shù)的格式串中,如果是"%c%c%c",在輸入三個(gè)字符時(shí)要用一個(gè)以上的

空格鍵、回車(chē)鍵、Tab鍵和逗號(hào)作為每?jī)蓚€(gè)輸入字符之間的間隔。

9.scanf("%5.2f",&a);是合法的,目的是輸入小數(shù)為2位的實(shí)數(shù)。

10.getchar函數(shù)的功能是從終端輸入一個(gè)字符。

(錯(cuò))

(對(duì))

(對(duì))

四.編程題

1.編寫(xiě)程序,已知一個(gè)學(xué)生的高等數(shù)學(xué)、計(jì)算機(jī)和外語(yǔ)課程的成績(jī)分別為70分、80

分、90分,要求輸出該學(xué)生3門(mén)課程的平均分。

2.編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)華氏溫度,要求輸出對(duì)應(yīng)的攝氏溫度。輸出時(shí)要有文

字說(shuō)明,取小數(shù)點(diǎn)后2位。計(jì)算公式如下:

C=5/9(F-32)

其中C表示攝氏溫度,F(xiàn)表示華氏溫度。

3.編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)圓的半徑,要求輸出圓的面積。輸出時(shí)要有文字說(shuō)明,

取小數(shù)點(diǎn)后2位。

第四章

選擇結(jié)構(gòu)程序設(shè)計(jì)

一.單項(xiàng)選擇題

1.C)算術(shù)運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算

2.A)%

3.B)x==0

4.B)!、&&、||

5.D)(x<=y)&&(y<=z)

6.D)(x<=-10)||(x>=7)

7.A)6<x<10

8.D)(x>='A')&&(x<='Z')

9.A)0,0

10.C)1,0

11.C)2

12.B)1,0,0,1

13.C)1

14.A)0,0

15.B)2323

16.B)10,20,#

17.B)x=3,y=5

二.填空題

1.x=-x

2.7

3.$$$

4.default

5.2,3,3

三.判斷題

1.關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符,高于賦值運(yùn)算符。

2.關(guān)系表達(dá)式的值是"真"和"假",用"T"和"F"表示。

3.關(guān)系表達(dá)式3>2>1的值為真。

4.邏輯非運(yùn)算符!為單目運(yùn)算符,具有右結(jié)合性。

5.邏輯運(yùn)算符和其它運(yùn)算符優(yōu)先級(jí)的關(guān)系從高到低為:

!(非)算術(shù)運(yùn)算符關(guān)系運(yùn)算符&&和||賦值運(yùn)算符

6.if(表達(dá)式)語(yǔ)句1;

else

語(yǔ)句2;

(對(duì))

其語(yǔ)義是:如果表達(dá)式的值為真,則執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2。

(對(duì))

(對(duì))

(錯(cuò))

(錯(cuò))

(對(duì))

7.在if關(guān)鍵字之后均為表達(dá)式。該表達(dá)式可以是任意表達(dá)式,但不能是變量。

(錯(cuò))

8.當(dāng)程序中有多對(duì)if和else時(shí),它們是按照順序配對(duì)的。如第一個(gè)if與第一個(gè)else

配對(duì),第二個(gè)if與第二個(gè)else配對(duì),以此類(lèi)推。

(錯(cuò))

9.條件運(yùn)算符的結(jié)合方向是自左至右。

10.在switch多分支語(yǔ)句中,break語(yǔ)句用于跳出switch語(yǔ)句。

(錯(cuò))

(對(duì))

四.改錯(cuò)題

1、下面程序的功能是判斷輸入的一個(gè)整數(shù)是否能被5和7同時(shí)整除,若能整除,輸

出"YES"

,否則,輸出"NO"

。

錯(cuò)誤語(yǔ)句:if(x%5==0||x%7==0)

正確語(yǔ)句:if(x%5==0&&x%7==0)

2.下面程序的功能是輸出一個(gè)4位整數(shù)的后兩位數(shù)值,例如輸入5678,輸出78。

錯(cuò)誤語(yǔ)句:scanf("%d",x);

正確語(yǔ)句:scanf("%d",&x);

3.下面程序的功能是從鍵盤(pán)輸入三個(gè)整數(shù),輸出其中最小的數(shù)。

錯(cuò)誤語(yǔ)句:min=(temp>c)?temp:c;

正確語(yǔ)句:min=(temp<c)?temp:c;

4.下面程序的功能是判斷某一年是否為閏年。

錯(cuò)誤語(yǔ)句:if(year%400!=0)

正確語(yǔ)句:if(year%400==0)

五.編程題

1.編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)整數(shù),判斷是奇數(shù)還是偶數(shù)。

2.編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)三角形三條邊的邊長(zhǎng),然后輸出三角形面積,要求取2

位小數(shù)。當(dāng)三角形不成立時(shí)輸出"不能構(gòu)成一個(gè)三角形"。

3.編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)字符,判斷是否為大寫(xiě)字母,如果是大寫(xiě)字母,則轉(zhuǎn)

換為小寫(xiě)字母,否則不轉(zhuǎn)換。

第五章

循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

一.單項(xiàng)選擇題

1.C)21

2.D)for(表達(dá)式1;1;表達(dá)式3)

3.D)在do-while循環(huán)中,當(dāng)while后的表達(dá)式為0時(shí)結(jié)束循環(huán)

4.C)do-while的循環(huán)體至少無(wú)條件執(zhí)行一次

5.A)60

6.C)1

7.B)1

8.A)-1

9.C)5050

二.填空題

1.i++

2.0

3.1.0/i

4.num++

5.||

6.e

7.A

8.23

9.month

10.sum=0

三.判斷題

1、"當(dāng)型"循環(huán)是先判斷表達(dá)式后執(zhí)行循環(huán)體,"直到型"循環(huán)是先執(zhí)行循環(huán)體后

判斷表達(dá)式。

(對(duì))

2、如果循環(huán)體內(nèi)包含一個(gè)以上的語(yǔ)句,應(yīng)該用花括弧括起來(lái),組成復(fù)合語(yǔ)句。(對(duì))

3、do-while語(yǔ)句和while語(yǔ)句可以互相轉(zhuǎn)換,運(yùn)行結(jié)果相同。

(錯(cuò))

4、for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)中的循環(huán)條件不允許省略。

(錯(cuò))

5、for(f=1,i=1;i<=10;f=f*i,i++);是非法語(yǔ)句。

(錯(cuò))

6、三種循環(huán)while循環(huán)、do-while循環(huán)和for循環(huán)可以互相嵌套。

(對(duì))

7、在循環(huán)結(jié)構(gòu)中,break語(yǔ)句可以使流程跳出循環(huán)體,即提前結(jié)束循環(huán)。

(對(duì))

8、在循環(huán)結(jié)構(gòu)中,continue語(yǔ)句是結(jié)束本次循環(huán),即跳過(guò)循環(huán)體中下面未執(zhí)行的語(yǔ)句,

接著進(jìn)行循環(huán)條件的判定。

(對(duì))

9、continue語(yǔ)句和break語(yǔ)句的區(qū)別是break語(yǔ)句只結(jié)束本次循環(huán),繼續(xù)進(jìn)行下一

次循環(huán),而continue語(yǔ)句則是結(jié)束整個(gè)循環(huán),不再判斷循環(huán)條件是否成立。

(錯(cuò))

10、goto語(yǔ)句能構(gòu)成循環(huán),可以隨意使用。

(錯(cuò))

四.改錯(cuò)題

1.下面程序的功能是求10!。

錯(cuò)誤語(yǔ)句:for(i=10;i>=0;i++)

正確語(yǔ)句:for(i=10;i>0;i--)

2.下面程序的功能是輸出1~100之間所有能被3整除的數(shù)。

錯(cuò)誤語(yǔ)句:if(i%3)beeak;

正確語(yǔ)句:if(i%3)continue;

3.下面程序的功能是求1!+2!++n!。

錯(cuò)誤語(yǔ)句:while(i>=n);

正確語(yǔ)句:while(i<=n);

4.下面程序的功能是利用公式/41-1/3+1/5-1/7+?求的近似值,直到某一項(xiàng)

的絕對(duì)值小于10-7為止。

錯(cuò)誤語(yǔ)句:while(fabs(temp)>10-7)

正確語(yǔ)句:while(fabs(temp)>1e-7)

五.編程題

1.編寫(xiě)程序,求1+2+3+?+10,要求使用4種方法。

2.編寫(xiě)程序,求12+22+32+?+102。

3.編寫(xiě)程序,求1/12+1/22+1/32+?+1/102。

4.編寫(xiě)程序,求1*2*3*?*10。

5.編寫(xiě)程序,求1!+2!+3!+?+10!

。

6.編寫(xiě)程序,輸入兩個(gè)正整數(shù),輸出它們的最大公約數(shù)和最小公倍數(shù)。

第六章

數(shù)組

一.單項(xiàng)選擇題

1.D)數(shù)組的首地址

2.)

D在程序運(yùn)行時(shí),如果數(shù)組元素的下標(biāo)超出了所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出

"下

標(biāo)越界"的出錯(cuò)信息

3.C)x[2][1]

4.B)scanf("%d%s",&x,y);

5.D)#defineN50;

6.A)inta[2][]={{1,2},{3,4}};

7.A)a[0][0]=0,a[0][1]=1,a[1][0]=2,a[1][1]=3

8.D)chara[]={1,2,3,4,5,6};

9.C)數(shù)組a的長(zhǎng)度大于數(shù)組b的長(zhǎng)度

10.D)把字符串str2復(fù)制到字符串str1中再把字符串str3連接到字符串str1之

11.D)對(duì)于字符型數(shù)組,可以在賦值語(yǔ)句中通過(guò)運(yùn)算符"="進(jìn)行整體賦值

二.填空題

1.同一個(gè)

2.方括號(hào)

3.連續(xù)

4.019

5.行

6.一

7.\0

8.字符數(shù)組名

9.10,6

10.2

11.fibonacci[i-1]+fibonacci[i-2];

12.y[j][i]=x[i][j]

13.98

14.-21

15.i<j

16.i—

17.str[i]=str[i+1]

18.string2[i]=string1[i];

19.j++;

三.判斷題

1.在C語(yǔ)言中,數(shù)組屬于構(gòu)造類(lèi)型的數(shù)據(jù)。

2.一個(gè)數(shù)組的各個(gè)元素的數(shù)據(jù)類(lèi)型可以不完全相同。

(對(duì))

(錯(cuò))

3.?dāng)?shù)組在內(nèi)存中占有連續(xù)的存儲(chǔ)單元,數(shù)組名表示數(shù)組在內(nèi)存中的首地址。(對(duì))

4.使用語(yǔ)句inta[5];定義了一個(gè)一維數(shù)組a,其中有5個(gè)元素,為

a[1],a[2],a[3],a[4],a[5]。

(錯(cuò))

5.?dāng)?shù)組名后是用方括號(hào)或圓括號(hào)括起來(lái)的常量表達(dá)式。

(錯(cuò))

6.C語(yǔ)言編譯程序不對(duì)數(shù)組作邊界檢查,如果程序中出現(xiàn)了下標(biāo)越界,可能會(huì)造成

程序運(yùn)行結(jié)果的錯(cuò)誤。因此要注意下標(biāo)不能過(guò)界。

(對(duì))

7.C語(yǔ)言允許對(duì)數(shù)組的長(zhǎng)度作動(dòng)態(tài)定義,即數(shù)組長(zhǎng)度可以是變量。

(錯(cuò))

8.在C語(yǔ)言中,使用數(shù)值型數(shù)組時(shí),只能逐個(gè)引用數(shù)組元素而不能一次引用整個(gè)數(shù)

組。

(對(duì))

9.為數(shù)組元素賦值時(shí),若所有元素值全部相同,則可以給數(shù)組整體賦初值。

(錯(cuò))

10.對(duì)數(shù)組的全部元素賦初值時(shí),也可以不指定數(shù)組長(zhǎng)度。

(對(duì))

11.C語(yǔ)言中二維數(shù)組的元素在內(nèi)存中排列的順序是按行存放。

(對(duì))

12.如果對(duì)二維數(shù)組中全部元素賦初值,則數(shù)組的第一維和第二維長(zhǎng)度均可以省略。

(錯(cuò))

13.在C語(yǔ)言中,字符串是借助于字符數(shù)組來(lái)存放的。

14.在字符串常量的末尾,系統(tǒng)會(huì)自動(dòng)加一個(gè)'\0'作為結(jié)束符。

(對(duì))

(對(duì))

15.用字符串常量對(duì)字符數(shù)組初始化時(shí),數(shù)組的長(zhǎng)度至要與字符串長(zhǎng)度相同。

(對(duì))

16.在printf函數(shù)中用"%s"格式符輸入字符串時(shí),空格和回車(chē)可以被讀入。

(錯(cuò))

17.在printf函數(shù)中使用格式說(shuō)明"%s"可以實(shí)現(xiàn)字符串的整體輸出。

(對(duì))

18.gets函數(shù)的功能是從終端讀入字符串到字符數(shù)組,直到遇到一個(gè)空格符。

(錯(cuò))

19.使用strcat函數(shù)時(shí),字符數(shù)組1的長(zhǎng)度要足夠大,以保證全部裝入被連接的字符。

(對(duì))

20.strcpy函數(shù)中的"字符數(shù)組1"和"字符串2",可以是字符串常量也可以是已

賦值的字符數(shù)組名。

(錯(cuò))

四.改錯(cuò)題

1.下面程序的功能是為數(shù)組輸入數(shù)據(jù)并輸出結(jié)果。

錯(cuò)誤語(yǔ)句:scanf("%d",&a);

正確語(yǔ)句:scanf("%d",&a[i]);

2.下面程序的功能是求矩陣a的主對(duì)角線(xiàn)元素之和。

錯(cuò)誤語(yǔ)句:if(i<=j)sum=sum+a[i][j];

正確語(yǔ)句:if(i==j)sum=sum+a[i][j];

3.下面程序的功能是輸出字符串StringStringStringStringStringString。

錯(cuò)誤語(yǔ)句:printf("%c",c[i]);

正確語(yǔ)句:printf("%s",c);

4.下面程序的功能是輸入3個(gè)字符串,然后找出其中最小者。

錯(cuò)誤語(yǔ)句:if(str[2]<string))

正確語(yǔ)句:if(strcmp(str[2],string)<0)

五.編程題

1.編寫(xiě)程序,用選擇法對(duì)15個(gè)整數(shù)排序。

清習(xí)P50

清教P139

2.編寫(xiě)程序,有一個(gè)3×5的矩陣,要求出其中最大的元素的值,以及其所在的位置。

3.編寫(xiě)程序,有一個(gè)3×3矩陣,分別求兩條對(duì)角線(xiàn)元素之和。

秦習(xí)P68

4.編寫(xiě)程序,求數(shù)列1,5,14,30?,的前15項(xiàng),即f[1]=1;?;f[i]=f[i-1]+i*i。

5.編寫(xiě)程序,將兩個(gè)字符串string1與string2進(jìn)行比較。要求不能使用strcmp函

數(shù)且要達(dá)到相同的功能。

清習(xí)P68

6.編寫(xiě)程序,一篇英文文章有5行文字,每行含有80個(gè)字符。要求統(tǒng)計(jì)英文字母、

數(shù)字、空格以及其他字符的個(gè)數(shù)。

第七章,函數(shù)

清習(xí)P64

一.單項(xiàng)選擇題

1.C)函數(shù)

2.D)文件

3.B)int

4.D)實(shí)參和形參分別占用一個(gè)獨(dú)立的存儲(chǔ)單元

5.C)單向值傳遞

6.D)數(shù)組的首地址

7.A)定義該函數(shù)時(shí)所指定的函數(shù)類(lèi)型決定

8.D)函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參

9.B)2

10.C)函數(shù)不可以嵌套定義,但可以嵌套調(diào)用

11.C)稱(chēng)為函數(shù)的間接遞歸調(diào)用

12.A)允許直接遞歸調(diào)用,允許間接遞歸調(diào)用

13.D)在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量只在本函數(shù)范圍內(nèi)有效

14.A)從定義該變量的位置開(kāi)始至本文件結(jié)束

15.D)auto和register

16.D)extern

17.D)函數(shù)的類(lèi)型可以是整型、實(shí)型、字符型,但不可以是指針型

18.C)16

19.A)5

20.B)3

21.D)10

22.D)15.000000

二.填空題

1.用戶(hù)自定義函數(shù)

2.嵌套

3.類(lèi)型

4.嵌套調(diào)用

5.遞歸調(diào)用

6.局部變量

7.源程序文件

8.static

9.extern

10.max(a,b)

11.intmin(intx,inty)

12.93

三.判斷題

1.C語(yǔ)言中,函數(shù)既可以嵌套定義,也可以嵌套調(diào)用。

(錯(cuò))

2.如果在定義函數(shù)時(shí)不指定函數(shù)類(lèi)型,系統(tǒng)會(huì)隱含指定函數(shù)類(lèi)型為int型。(對(duì))

3.簡(jiǎn)單變量做實(shí)參時(shí),實(shí)參對(duì)形參的數(shù)據(jù)傳送是單向的"值傳遞"

。

4.實(shí)參和形參不能同名,以免相互影響。

5.

當(dāng)一個(gè)函數(shù)中有多個(gè)return語(yǔ)句時(shí),

第一個(gè)return語(yǔ)句起作用。

(對(duì))

(錯(cuò))

(錯(cuò))

6。如果函數(shù)值的類(lèi)型和return語(yǔ)句中表達(dá)式的值不一致,則以函數(shù)類(lèi)型為準(zhǔn)。

(對(duì))

7.只要被調(diào)用函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之后,就必須聲明。

(錯(cuò))

8.C語(yǔ)言允許函數(shù)嵌套調(diào)用,也允許函數(shù)遞歸調(diào)用。

(對(duì))

9.?dāng)?shù)組元素作函數(shù)實(shí)參時(shí),其用法與普通變量完全相同,實(shí)現(xiàn)單向"值傳送"(對(duì))

。

10.?dāng)?shù)組名作函數(shù)實(shí)參時(shí),其用法與普通變量完全相同,實(shí)現(xiàn)單向"值傳送"(錯(cuò))

。

11.用數(shù)組名作函數(shù)實(shí)參時(shí),從本質(zhì)上說(shuō)是把實(shí)參數(shù)組的地址傳遞給形參數(shù)組。

(對(duì))

12.

在一個(gè)函數(shù)內(nèi)部定義的變量是內(nèi)部變量,

它只在該函數(shù)范圍內(nèi)有效。

(對(duì))

13.形參變量是內(nèi)部變量,實(shí)參變量則是外部變量。

(錯(cuò))

14.在主函數(shù)中的復(fù)合語(yǔ)句中定義的變量,其作用域在主函數(shù)范圍內(nèi)。

(錯(cuò))

15.語(yǔ)言中,

C

主函數(shù)比其它函數(shù)級(jí)別高,

可以使用其它函數(shù)中定義的局部變量。

(錯(cuò))

16.

全局變量的作用域是從定義位置開(kāi)始,

到本文件結(jié)束為止。

(對(duì))

17.當(dāng)全局變量和局部變量同名時(shí),全局變量起作用,局部變量不起作用。

則是在程序運(yùn)行期間根據(jù)需要進(jìn)行動(dòng)態(tài)的分配存儲(chǔ)空間的方式。

(錯(cuò))

(對(duì))

18.靜態(tài)存儲(chǔ)方式是指在程序運(yùn)行期間分配固定的存儲(chǔ)空間的方式。而動(dòng)態(tài)存儲(chǔ)方式

19.

在程序執(zhí)行期間,

靜態(tài)局部變量始終存在,

其它函數(shù)也可以引用它們。

(錯(cuò))

20.靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值一次,以后每次調(diào)用它們所在的

函數(shù)時(shí),不再重新賦初值,只是保留上次調(diào)用結(jié)束時(shí)的值。

(對(duì))

四.改錯(cuò)題

1.下面程序的功能是用遞歸法計(jì)算n!。

錯(cuò)誤語(yǔ)句:elsef=n*f(n-1);

正確語(yǔ)句:elsef=n*fac(n-1);

2.下面程序的功能是輸出1到5的階乘。

錯(cuò)誤語(yǔ)句:intf=1;

正確語(yǔ)句:staticintf=1;

五.編程題

1.寫(xiě)一個(gè)判別素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否為素?cái)?shù)的信息。

2.編一個(gè)函數(shù)求n!。主函數(shù)求6!+7!+8!

3.編一個(gè)函數(shù)求n個(gè)數(shù)中最大值.主函數(shù)求10個(gè)數(shù)中最大值.

4.用遞歸法將一個(gè)整數(shù)n轉(zhuǎn)換成字符串,例如輸入483,應(yīng)輸出字符串"483"n的

。

位數(shù)不確定,可以是任意位數(shù)的整數(shù)。

5.編寫(xiě)兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩

個(gè)函數(shù)并輸出結(jié)果。兩個(gè)整數(shù)由鍵盤(pán)輸入。

清習(xí)P71

6.定義一個(gè)函數(shù),根據(jù)給定的三角形三條邊長(zhǎng),函數(shù)返回三角形面積。

7.編寫(xiě)一個(gè)函數(shù),其功能是判斷給定的正整數(shù)是否是素?cái)?shù),若是素?cái)?shù)則返回函數(shù)值1,

否則返回函數(shù)值0。

8.有五個(gè)人坐在一起,問(wèn)第五個(gè)人多少歲,他說(shuō)比第四個(gè)人大2歲,問(wèn)第四個(gè)人多少

歲,他說(shuō)比第三個(gè)人大2歲,問(wèn)第三個(gè)人多少歲,他說(shuō)比第二個(gè)人大2歲,問(wèn)第二個(gè)人多

少歲,他說(shuō)比第一個(gè)人大2歲,問(wèn)第一個(gè)人多少歲,他說(shuō)10歲,問(wèn)第五個(gè)人多少歲

9.第八章指針

一.單項(xiàng)選擇題

1.B)變量的地址

2.D)int*pointer=&x;

3.B)pointer=&x;

4.B)相加

5.A)能直接訪(fǎng)問(wèn),能間接訪(fǎng)問(wèn)

6.C)指向包含5個(gè)整型元素的一維數(shù)組的指針

7.A)指針數(shù)組名字,包含5個(gè)指向整型數(shù)據(jù)的指針

8.C)最多允許2個(gè)

9.A)指向函數(shù)的指針,函數(shù)返回值為一個(gè)整數(shù)

10.A)返回值為指針的函數(shù)名字

11.A)-1

12.D)a=3,b=2

13.C)12,11

14.A)16,48,80,

15.C)6,2,4

16.C)yyzzqq

17.D)IHGFEDCBA

二.填空題

1.基類(lèi)型

2.地址

3.scanf("%d",p);

4.入口

5.指針數(shù)組

6.指向函數(shù)的指針變量

7.7,a[2][0]

8.a(chǎn),apple

9.a(chǎn)pple

pple

ple

le

e

10.2,a[2]

11.&sub_result,&add_result

12.len++

13.*p2++

14.**p

15.(*p)(a,b,c)

16.english_name[n]

三.判斷題

1.指針就是地址,指針變量就是存放變量地址的變量。

2.對(duì)變量的訪(fǎng)問(wèn)可以用直接訪(fǎng)問(wèn)方式和間接訪(fǎng)問(wèn)方式。

3.可以給指針變量賦一個(gè)整數(shù)。

4.指針變量能指向任意類(lèi)型的變量。

5.多個(gè)指針變量不能指向同一個(gè)變量。

6.*運(yùn)算符和取地址運(yùn)算符&互逆。

7.使用指針類(lèi)型變量做函數(shù)的參數(shù),實(shí)際向函數(shù)傳遞的是變量的地址。

8.

當(dāng)指針變量p指向一個(gè)整型數(shù)組時(shí),是指p的地址加1字節(jié)。

p+1

(對(duì))

(對(duì))

(錯(cuò))

(錯(cuò))

(錯(cuò))

(對(duì))

(對(duì))

(錯(cuò))

9.語(yǔ)言中,

C

數(shù)組名和指針變量均可分別做實(shí)參和形參。

(對(duì))

10.int*pa[10];這個(gè)語(yǔ)句是定義一個(gè)指針,該指針可以指向有10個(gè)元素的數(shù)組。

(錯(cuò))

四.改錯(cuò)題

1.某一個(gè)班級(jí)有n個(gè)學(xué)生,開(kāi)設(shè)m門(mén)課程。使用指針的方法編寫(xiě)程序,查找有課程

不及格的學(xué)生,并且打印他們的成績(jī)。

錯(cuò)誤語(yǔ)句:if(j<N)

正確語(yǔ)句:if(j<M)

2.使用指針編寫(xiě)程序,從鍵盤(pán)輸入的n個(gè)整數(shù)中找出其中最大值和最小值。調(diào)用一

個(gè)函數(shù)只能得到一個(gè)返回值,要得到多個(gè)返回值則用全局變量在函數(shù)之間"傳遞"數(shù)據(jù)。

錯(cuò)誤語(yǔ)句:int*p,array_end;

正確語(yǔ)句:int*p,*array_end;

3.使用指針編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)字符串,然后統(tǒng)計(jì)字符串中字符的個(gè)數(shù)。

錯(cuò)誤語(yǔ)句:scanf("%s",&string);

正確語(yǔ)句:scanf("%s",string);

4.使用指針編寫(xiě)程序,在輸入的字符串中查找是否存在字符?x?。

錯(cuò)誤語(yǔ)句:if(p[i]!='\0')

正確語(yǔ)句:if(p[i]=='\0')

5.使用指針數(shù)組編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)星期幾(例如7)

,則程序輸出對(duì)應(yīng)星期

幾的英文名字(Sunday)

。

錯(cuò)誤語(yǔ)句:if(n<1&&n>7)

正確語(yǔ)句:if(n<1||n>7)

五.編程題

1.編寫(xiě)程序,從鍵盤(pán)輸入3個(gè)整數(shù),按照從小到大的順序輸出。要求使用指針的方法

并且用3種不同方式實(shí)現(xiàn)。

2.編寫(xiě)程序,將數(shù)組中n個(gè)整數(shù)按相反的順序存放后輸出。要求使用指針的方法并

用2種不同方式實(shí)現(xiàn)。

3.編寫(xiě)程序,從鍵盤(pán)輸入3個(gè)字符串,按照從小到大的順序輸出。要求使用指針的

方法實(shí)現(xiàn)。

4.編寫(xiě)程序,使用指針的方法完成字符串的復(fù)制。要求不能使用strcpy函數(shù)。

5.編寫(xiě)程序,使用指向一維數(shù)組的指針的方法,完成從鍵盤(pán)輸入n個(gè)字符串(例如

10個(gè)國(guó)家名)并按字典順序排列后輸出。

6.編寫(xiě)程序,使用數(shù)組和指針的方法,完成將一個(gè)n×n(例如5×5)的矩陣轉(zhuǎn)置,

并且輸出最大值及其位置。

7.編寫(xiě)程序,使用指向指針的指針的方法,完成對(duì)n個(gè)字符串(如10個(gè)城市名)進(jìn)

行排序。

要求從鍵盤(pán)輸入n個(gè)字符串并且把排序編寫(xiě)成函數(shù)

(用冒泡法和選擇法2種方式)

。

8.編寫(xiě)程序,使用指針并利用矩形法編寫(xiě)計(jì)算定積分

利用它分別計(jì)算以下三種數(shù)學(xué)函數(shù)的定積分:

(1)f(x)=x2-5x+1

第九章結(jié)構(gòu)體與共用體

(2)f(x)=x3+2x2-2x+3

a

b

f(x)dx的通用函數(shù)。然后

(3)f(x)=x/(2+x2)

一.單項(xiàng)選擇題

1.D)student1是結(jié)構(gòu)體類(lèi)型名

2.C)共用體類(lèi)型

3.A)各成員所需內(nèi)存字節(jié)數(shù)的總和

4.D)三種形式均可表示

5.D)成員中占內(nèi)存字節(jié)數(shù)最大的

6.B)16

7.B)80

8.C)student1.birthday.month=6;

student1.birthday.day=10;

student1.birthday.year=2003;

9.B)printf("%c",school[1].name[0]);

10.B)scanf("%s",&);

11.A)1001,650

12.C)zzxxyy

13.B)1102,550,"Li"

14.D)Tao

15.D)使用typedef可以增加新類(lèi)型

16.D)typedefchar*STR;

二.填空題

1.指向結(jié)構(gòu)體成員,結(jié)構(gòu)體成員

2.duoble*

3.地址

4.256

5.A

6.1002,1003,1004;

7.p->age

8.p=head

三.判斷題

1.

"結(jié)構(gòu)體"是一種構(gòu)造類(lèi)型,它是由若干相互關(guān)聯(lián)的"成員"組成的。每一個(gè)成員

可以是一個(gè)基本數(shù)據(jù)類(lèi)型,也可以是數(shù)組、指針,或者又是一個(gè)構(gòu)造類(lèi)型。

(對(duì))

2.結(jié)構(gòu)體變量的總長(zhǎng)度為各個(gè)成員長(zhǎng)度的總和。

3.在定義結(jié)構(gòu)體變量時(shí)成員名不可以與程序中其它變量同名。

4.結(jié)構(gòu)體變量名是結(jié)構(gòu)體變量的首地址。

(對(duì))

(錯(cuò))

(錯(cuò))

5.C語(yǔ)言中不允許用結(jié)構(gòu)體變量作函數(shù)參數(shù)進(jìn)行整體傳送。

(錯(cuò))

6.

malloc函數(shù)的功能是在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)中分配一塊長(zhǎng)度為"size"字節(jié)的連續(xù)區(qū)域。

(對(duì))

7.鏈表中的每個(gè)結(jié)點(diǎn)都分為兩個(gè)域,一個(gè)是數(shù)據(jù)域,存放各種實(shí)際的數(shù)據(jù);另一個(gè)

域?yàn)橹羔樣颍?/p>

存放下一結(jié)點(diǎn)的首地址。

(對(duì))

8.

"共用體"類(lèi)型變量只能存儲(chǔ)相同類(lèi)型數(shù)據(jù)的變量,不能存儲(chǔ)不同類(lèi)型數(shù)據(jù)的變量。

(錯(cuò))

9.

共用體的長(zhǎng)度是成員列表中最大長(zhǎng)度的成員長(zhǎng)度。

(對(duì))

10.共用體類(lèi)型的多個(gè)成員在內(nèi)存中是首地址相同的,因此可以同時(shí)訪(fǎng)問(wèn)共用體成員。

(錯(cuò))

四.改錯(cuò)題

1.下面程序的功能是求學(xué)生成績(jī)的總和。

錯(cuò)誤語(yǔ)句:structstup=student;

正確語(yǔ)句:structstu*p=student;

2.下面程序的功能是輸出鏈表中所有結(jié)點(diǎn)的數(shù)據(jù)。

錯(cuò)誤語(yǔ)句:p=head->next;

正確語(yǔ)句:p=p->next

五.編程題

1.編寫(xiě)程序,建立一個(gè)結(jié)構(gòu)體,其成員包括員工號(hào)、姓名、工資,通過(guò)鍵盤(pán)輸入數(shù)

據(jù)并且進(jìn)行打印輸出。

2.編寫(xiě)程序,使用結(jié)構(gòu)體數(shù)組存放下表中員工的工資數(shù)據(jù),然后輸出每個(gè)員工的員

工號(hào)、姓名和實(shí)發(fā)工資(實(shí)發(fā)工資=基本工資+崗位工資-扣款)

。

員工號(hào)

姓名

基本工資

崗位工資

扣款

1000

1001

1002

Mary

Tom

Lucy

1000.00

1500.00

2000.00

500.00

800.00

1000.00

50.00

63.00

72.00

1003

Mike

3000.00

2500.00

120.00

3.按上題的結(jié)構(gòu)體類(lèi)型定義一個(gè)有N名職工的結(jié)構(gòu)體數(shù)組,并計(jì)算這N名職工的工

資總和以及平均工資。

4.編寫(xiě)程序,建立一個(gè)結(jié)構(gòu)體數(shù)組并存放40名學(xué)生的學(xué)號(hào)、姓名、性別、年齡和3

門(mén)課程的成績(jī),找出成績(jī)最好的學(xué)生并輸出信息。

5.編寫(xiě)程序,輸入40個(gè)學(xué)號(hào)、姓名、年齡、家庭住址,并存放在一個(gè)結(jié)構(gòu)數(shù)組中,

找出年齡最小和年齡最大的學(xué)生并輸出信息。

6.編寫(xiě)程序,建立一個(gè)名字為player的結(jié)構(gòu)體,其成員包括運(yùn)動(dòng)員姓名"name"

、運(yùn)

動(dòng)隊(duì)名"team"

、平均運(yùn)動(dòng)成績(jī)"avg"

。

(1)編寫(xiě)一個(gè)名為input_player的函數(shù),輸入運(yùn)動(dòng)員的信息,要求以結(jié)構(gòu)體作為參數(shù)。

(2)編寫(xiě)一個(gè)名為input_player的函數(shù),輸入運(yùn)動(dòng)員的信息,要求以結(jié)構(gòu)體指針作為

參數(shù)。

7.編寫(xiě)程序,建立一個(gè)結(jié)構(gòu)體實(shí)現(xiàn)統(tǒng)計(jì)選舉候選人選票的數(shù)量。

8.編寫(xiě)程序,統(tǒng)計(jì)通訊錄鏈表中結(jié)點(diǎn)的個(gè)數(shù)。

9.編寫(xiě)程序,從鍵盤(pán)輸入10個(gè)整數(shù)分別作為鏈表的數(shù)據(jù)域建立一個(gè)單鏈表,并編寫(xiě)

刪除一個(gè)指定結(jié)點(diǎn)的函數(shù)。

第十章

文件

一.單項(xiàng)選擇題

1.D)可以順序存取,也可以隨機(jī)存取

2.D)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論