C語言程序設(shè)計章節(jié)測試參考答案_第1頁
C語言程序設(shè)計章節(jié)測試參考答案_第2頁
C語言程序設(shè)計章節(jié)測試參考答案_第3頁
C語言程序設(shè)計章節(jié)測試參考答案_第4頁
C語言程序設(shè)計章節(jié)測試參考答案_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

國家開放大學(xué)《C語言程序設(shè)計》章節(jié)測試參考答案

第一章C語言概述

自測練習(xí)一:C語言字符集自測練習(xí)

1.在C語言字符集中,包含有全部26個英文大寫字母和對應(yīng)的小寫字母。(J)

2.在C語言字符集中,一個大寫英文字母和它的小寫英文字母被視為不同的字符。

(V)

3.在C語言程序中,ABC和abc被作為同一標(biāo)識符使用。(義)

自測練習(xí)二:C語言字符集自測練習(xí)

1.在C語言中,保留字是有專門含義和作用的,不能作為一般標(biāo)識符使用。(J)

2.在C語言中,作為標(biāo)識符的第一個字符只能是英文字母或下劃線,不能是數(shù)字

字符。(V)

3.C語言中使用的字符常量,其起止標(biāo)記符是()。

a.雙引號

b.尖括號

c.單引號

d.中括號

4.C語言中使用的字符串常量,其起止標(biāo)記符是()?

a.雙引號

b.中括號

c.尖括號

d.單引號

自測練習(xí)三:C語句分類自測練習(xí)

1.在C語言中,一條簡單語句的結(jié)束符是()。

a.分號

b.空格

c.冒號

d.逗號

2.在C語言中,每條復(fù)合語句的開始標(biāo)記字符為()0

a.<

b.[

c.(

d.{

3.不符合C語言規(guī)定的復(fù)合語句是()o

a.{x=0;}

b.{)

c.{;}

d.{y=10}

4.C語言中的選擇類語句有兩條,它們是()。

a.else和case

b.if和switch

c.if和else

d.switch和case

自測練習(xí)四:函數(shù)分類與使用自測練習(xí)

1.在每個C語言程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為()o

a.name

b.main

c.MAIN

d.function

2.C語言程序中的基本功能模塊為()。

a.標(biāo)識符

b.函數(shù)

c.表達式

d.語句

3.一個函數(shù)定義所包含的兩個部分是()。

a.函數(shù)頭和函數(shù)體

b.函數(shù)原型和函數(shù)體

c.函數(shù)名和參數(shù)表

d.函數(shù)頭和函數(shù)尾

4.一個程序文件開始使用的每條預(yù)處理命令,其首字符必須是()?

a.#

b.@

c.%

d.$

5.在一個程序文件中,若要使用#include命令包含一個系統(tǒng)頭文件,則此頭文件

所使用的起止定界符為一對()o

a.雙引號

b.花括號

c.尖括號

d.單引號

6.在一個函數(shù)定義中,函數(shù)體的格式是一條復(fù)合語句。(J)

7.一個函數(shù)必須返回一個值,不允許定義不返回任何值的函數(shù)。(義)

8.若要在程序文件中使用數(shù)學(xué)函數(shù),則需要引入的系統(tǒng)頭文件為math.h。(V)

9.若要在程序文件中使用標(biāo)準(zhǔn)輸入和輸出函數(shù),則需要引入的系統(tǒng)頭文件為

stdio.ho(V)

自測練習(xí)五:C語言程序的層次結(jié)構(gòu)自測練習(xí)

1.在C語言程序中,單行或行尾注釋使用的標(biāo)記符為()。

a.//

b.**

c./*

d.*/

2.在C語言程序中,多行注釋使用的結(jié)束標(biāo)記符為().

a./*

b.**

c.*/

d.//

3.在程序文件中添加注釋內(nèi)容是為了增強程序的可讀性。(J)

4.在一行中出現(xiàn)多條語句時,注釋語句只能為最后一條語句。(J)

自測練習(xí)六:標(biāo)準(zhǔn)輸出函數(shù)printf()的使用自測練習(xí)

1.用于輸出表達式值的標(biāo)準(zhǔn)輸出函數(shù)是()o

a.print()

b.scanf()

c.output()

d.printf()

2.在printf()函數(shù)調(diào)用的格式字符串中,每個格式符的先導(dǎo)字符為()o

a.#

b.@

c.$

d.%

3.在printf()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%d”,則對應(yīng)輸出的數(shù)

據(jù)類型為()。

a.int

b.char

c.float

d.double

4.在printf()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%f”,則對應(yīng)輸出的數(shù)

據(jù)類型為()o

a.char

b.float

c.int

d.double

5.在printf()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%5d”,則規(guī)定對應(yīng)輸

出的數(shù)據(jù)占用的字符位置個數(shù)為()=

a.5

b.4

c.6

d.3

6.在利用printf。函數(shù)向屏幕輸出數(shù)據(jù)時,需要在參數(shù)表的開始位置使用相應(yīng)的格

式字符串。(V)

7.在uprintf("%d-%d=%d”,x,y,x-y);”語句所使用的格式字符串中,包含有3個

格式符。(J)

8.在執(zhí)行"printf("s=%s\n","abc");”語句時,輸出結(jié)果為s=abc。(V)

9.在“printf("s=%c\n","abc");"語句中,格式符的使用同后面的輸出數(shù)據(jù)相適合。

(X)

10.在執(zhí)行“printf("%d-%d=%d",x,y,x-y);”語句時,其輸出的前兩個數(shù)據(jù)值之

間將采用逗號分開。(X)

自測練習(xí)七:標(biāo)準(zhǔn)輸入函數(shù)scanf()的使用自測練習(xí)

1.程序運行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,若不特別規(guī)定分隔符,則輸入

的各數(shù)據(jù)之間所使用的分隔符為()o

a.空格或回車

b.空格或逗號

c.逗號或回車

d.逗號或分號

2.用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入函數(shù)是()o

a.print()

b.scanf()

c.printf()

3.在scanf()函數(shù)調(diào)用的格式字符串中,每個格式符的先導(dǎo)字符為()。

a.%

b.#

c.@

d.$

4.在scanf()函數(shù)調(diào)用的格式字符串中,若使用格式字符串為"%d,%d",則規(guī)定

輸入的兩個數(shù)據(jù)之間的分隔符為()0

a.$

b.#

c.@

d.%

5.在利用scanf()函數(shù)從鍵盤輸入數(shù)據(jù)時,需要在參數(shù)表的開始位置使用相應(yīng)的格

式字符串。(V)

6.在“scanf("%d%d",&x,&y);”語句所使用的格式字符串中,包含有2個格式符。

(V)

7.在執(zhí)行“scanf("%d%d",&x,&y);”語句時,需要從鍵盤上輸入2個整數(shù)。(V)

自測練習(xí)八:C語言程序的上機操作過程自測練習(xí)

1.C語言源程序文件的擴展名為()。

a.exe

b.obj

c.c

d.cpp

2.每個C語言程序文件的編譯錯誤的類型有()0

a.2種

b.3種

c.1種

d.4種

3.每個C程序文件在編譯時可能出現(xiàn)有警告性錯誤,其對應(yīng)的標(biāo)識符號為()。

a.err

b.error

c.warn

d.warning

4.一個C語言程序只能夠包含一個程序源文件。(X)

5.一個C語言程序只能夠包含一個用戶頭文件。(X)

6.在C語言程序上機操作的過程中,編譯程序的操作步驟之后是連接操作。(V)

第一章綜合練習(xí)

一、單項選擇題

1.C語言中的循環(huán)類語句有3條,它們是()o

A.for,if,while

B.for,while,do

C.while,do,switch

D.for,break,do

2.C語言中的跳轉(zhuǎn)類語句有四條,它們是gotojetum和()。

A.break,const

B.static,continue

C.break,continue

D.while,extern

3.當(dāng)不需要函數(shù)返回任何值時,則所使用的返回類型為()o

A.int

B.union

C.void

D.Void

4.在一個函數(shù)定義中,函數(shù)頭包括的3個部分依次為函數(shù)類型、函數(shù)名和()。

A.表達式

B.語句

C.函數(shù)體

D.參數(shù)表

5.在一個程序文件的開始,若需要使用一個包含命令包含一個頭文件時,則命

令標(biāo)識符為()?

A.#clude

B.#const

C.#include

D.#defile

6.在#include預(yù)處理命令中,不可以包含()。

A.系統(tǒng)頭文件

B.程序文件

C.用戶頭文件

D.目標(biāo)文件

7.在printf()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%6.2f”,則規(guī)定對應(yīng)

輸出的數(shù)據(jù)占用的字符位置個數(shù)為()。

A.5

B.6

C.4

D.2

8.在printf()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%6.2f”,則規(guī)定對應(yīng)

輸出的數(shù)據(jù)中,其小數(shù)部分占用的字符位置個數(shù)為()。

A.5

B.6

C.4

D.2

9.在printf()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%6.2f”,則規(guī)定對應(yīng)

輸出的數(shù)據(jù)中,其整數(shù)部分占用的字符位置個數(shù)為()。

A.6

B.4

C.3

D.2

10.在scanf()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%f”,則對應(yīng)輸入的

數(shù)據(jù)類型為()。

A.char

B.int

C.float

D.double

11.在scanf()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%Lf”,則對應(yīng)輸入

的數(shù)據(jù)類型為()。

A.char

B.int

C.float

D.double

12.每個C程序文件在編譯時可能出現(xiàn)有嚴(yán)重性錯誤,其對應(yīng)的標(biāo)識符號為

()。

A.warning

B.error

C.warn

D.err

13.在VC++環(huán)境下,為運行一個程序而建立的工作區(qū)文件的擴展名為()。

A.obj

B.exe

C.dsw

D.dsp

二、判斷題

1.在c語言中,作為標(biāo)識符的第一個字符可以是英文字母、數(shù)字或下劃線字符。

(X)

2.在C語言中,標(biāo)識符中的非首字符可以是英文字母、數(shù)字或下劃線字符。(V)

3.當(dāng)需要在程序文件中引入用戶定義的頭文件時,使用的不是#include命令。(X)

4.使用#include命令只能包含頭文件,不能包含其他任何文件。(X)

5.注釋語句的內(nèi)容只會出現(xiàn)在源程序文件中,不會出現(xiàn)在編譯后而生成的目標(biāo)

代碼文件中。(J)

6.一條注釋語句的最后必須使用分號結(jié)束。(X)

7.源程序文件被編譯成目標(biāo)文件后,其目標(biāo)文件中也存在有對應(yīng)的注釋內(nèi)容。

(X)

8.源程序文件被編譯成目標(biāo)文件后,源程序文件中的注釋語句仍然存在。(J)

9.在一條注釋語句中,除了注釋內(nèi)容外,不需要使用任何特定的標(biāo)記符。(X)

10.多行注釋語句的開始和結(jié)束標(biāo)記符可以互換使用。(X)

11.在執(zhí)行“printf("%5d",x);”語句時,其輸出的x的值所占用的顯示寬度將大

于等于5個字符位置。(V)

12.在執(zhí)行“printf("%6d",x);"語句時,其輸出的x的值所占用的顯示寬度將小

于6個字符位置。(X)

13.在執(zhí)行“printf("%8.2f”,x);”語句時,其輸出的x的值所占用的顯示寬度將

大于等于8個字符位置。(X)

14.在“scanf("%d%d",&x,&y);”語句中,x和y變量均為整數(shù)類型。(V)

15.在“scanf("%s",x);"語句中,x變量不是字符指針類型。(X)

16.在“scanf("%d-%d=%d”,&x,&y,&z);”語句中,有語法錯誤。(X)

17.在C語言程序上機操作的過程中,連接程序的操作步驟之前是編譯程序。(V)

18.在C語言程序上機操作的過程中,需要對每個用戶頭文件進行單獨的編譯

操作。(X)

19.在C語言程序上機操作的過程中,不能夠?qū)τ脩纛^文件進行單獨的編譯操

作。(V)

第二章基本數(shù)據(jù)類型和表達式

自測練習(xí)一:數(shù)據(jù)類型自測練習(xí)

l.char類型的長度為()。

a.1

b.3

c.4

d.2

2.常數(shù)120的數(shù)據(jù)類型為()。

a.雙精度型

b.短整型

c.長整型

d.整型

3.一個無符號字符類型的值域范圍是()o

a.-127到255

b.0到255

c.1至U255

d.-128到+127

4.廣義整數(shù)類型包括短整型、標(biāo)準(zhǔn)整型和長整型3種。(X)

5.短整型、標(biāo)準(zhǔn)整型和長整型的長度分別為2、4和8。(X)

自測練習(xí)二:常量自測練習(xí)

1.數(shù)值常量0x62的表示方式為()。

a.八進制

b.十進制

c.二進制

d.十六進制

2.在C語言中,表示換行符的轉(zhuǎn)義字符為()0

a.\r

b.\f

c.\m

d.\n

3.字符串"ItVsV"中包含的字符個數(shù)為()1.

a.8

b.7

c.6

d.5

4.執(zhí)行“printf("%c",B+2);”語句后得到的輸出結(jié)果為(

a.D

b.B

c.C

d.A

5.常數(shù)3.26是雙精度浮點數(shù)。(X)

6.常數(shù)3.26f是單精度浮點數(shù)。(義)

7.浮點數(shù)包括單精度浮點數(shù)和雙精度浮點數(shù)兩種。(J)

8.常數(shù)3.26是雙精度浮點數(shù)。(X)

自測練習(xí)三:變量自測練習(xí)

1.要定義a和b為兩個整型變量,則使用的定義語句為()。

a.inta:b;

b.intab;

c.inta,b;

d.inta;b;

自測練習(xí)四:運算符和表達式自測練習(xí)

1.運算符優(yōu)先級最高的是()。

a./

b.II

c.++

d.%

2.下列數(shù)值中最小值是()。

a.28/8

b.28%8

c.35/3

d.35%3

3.已知x的初值為15,則下列各表達式中的最小值為()。

a.x*=2

b.x+=10

c.x/=2

d.x%=20

4.若x=5,y=10,則計算y*=++x表達式后,y的值為()。

a.40

b.60

c.50

d.55

5.設(shè)x和y均為邏輯值,則x&&y為真的條件是()。

a.其中一個為假

b.它們均為假

c.它們均為真

d.其中一個為真

6.x<=10的相反表達式為()。

a.x>=10

b.x!=10

c.x>0

d.x>10

7.表達式(float)25/4的值為6。(X)

8.表達式x=x+y表示成復(fù)合賦值表達式為x=+y。(X)

9.增量表達式++y表示成賦值表達式為y=y+lo(V)

10.表達式sizeof(25)的值等于4。(J)

11.邏輯表達式(x>3&&x<10)的相反表達式為(x<=3||x>=10)o(V)

自測練習(xí)五:一些系統(tǒng)函數(shù)的使用自測練習(xí)

1.函數(shù)pow(4,3)的值為()。

a.64.0

b.27

c.12.0

d.56

2.假定x=4.6,則函數(shù)floor(x)的值為()。

a.5.0

b.4.0

c.4.6

d.4.5

3.正弦函數(shù)sin48在C語言的表示為()o

a.sin(48*3.14159)

b.sin(48)

c.sin(48/180.0)

d.sin(48*3.14159/180)

4.在C語言中,求一個實數(shù)的絕對值的數(shù)學(xué)函數(shù)為fabs(x)。(V)

5.已知x=-25,則abs(x)的值為25。(V)

6.在C語言中,正弦、余弦或正切函數(shù)的參數(shù)的度量單位是度。(義)

第二章綜合練習(xí)

一、單項選擇題(1-12題每題3分,13-16題每題4分,共48分)

Lint類型的長度為()o

A.1

B.2

C.4

D.8

2.常數(shù)425的數(shù)據(jù)類型為()o

A.整型

B.單精度型

C.雙精度型

D.長雙精度型

3.一個有符號字符類型的值域范圍是()。

A.-128到+127

B.0至U255

C.-127到255

D.1到255

4.字符串"Its\40\n"的長度為()0

A.5

B.6

C.7

D.8

5.實數(shù)340.25對應(yīng)的規(guī)格化浮點數(shù)為()o

A.340.25

B.34.025el

C.3.4025e2

D.0.34025e3

6.要利用const保留字定義整型常量ABC的值為10,則對應(yīng)的定義語句為()。

A.constintABC10;

B.constintABC,10;

C.constintABC;10;

D.constintABC=10;

7.要利用#define命令定義ABC常量的值為100,則對應(yīng)的命令格式為()。

A.#defineABC=100

B.#defineABC==100

C.#defineABC100

D.#defineABC;100

8.下列數(shù)值中最大值是()o

A.28/8

B.35/3

C.28%8

D.35%4

9.在下面運算符中,優(yōu)先級最高的是()。

A.!

B.&&

C.H

D.!=

10.設(shè)有語句序列為“inta=12;a+=a*a;",則執(zhí)行結(jié)束后,a的值為()。

A.12

B.144

C.156

D.288

11.在C語言中,用于比較大小的關(guān)系運算符的總數(shù)為()。

A.3

B.4

C.5

D.6

12.x>0&&y<=5的相反表達式為()。

A.x<=0||y>5

B.x>0||y<=5

C.x<=0&&y>5

D.x<0&&y!=5

13.假定x是一個邏輯量,則(x&&!x)和(x||!x)的值分別為()o

A.1和1

B.0和0

C.0和1

D.1和0

14.假定x=4.6,則函數(shù)ceil(x)的值為()。

A.4.0

B.4.6

C.4.5

D.5.0

15.表達式floor(2.3457*100+0.5)/100的值為()。

A.2.35

B.2

C.2.34

D.2.3457

二、判斷題(每題4分,共52分)

16.常數(shù)3.26e4是雙精度浮點數(shù)。(V)

17.浮點數(shù)只有單精度表示,沒有雙精度表示。(X)

18.定點數(shù)包括單精度定點數(shù)和雙精度定點數(shù)兩種。(J)

19.定義符號常量只有一種方法,就是采用預(yù)處理命令#define的方法。(義)

20.使用const語句定義一個符號常量時,則必須對它同時進行初始化。(J)

21.在一條變量定義語句中,定義的變量和賦給它的初值之間只能使用等號(=)。

(V)

22.假定x=5,則表達式2+x++的值為7。(V)

23.表達式(int)14.6%5的值為0。(義)

24.表達式x=x+l表示成增量表達式為x++o(X)

25.假定x=5,則執(zhí)行“a=(x?10:20);”語句后a的值為10。(V)

26.邏輯表達式(a>b||b==5)的相反表達式為(a>b&&b==5)。(X)

27.在C語言中,求一個整數(shù)的絕對值的數(shù)學(xué)函數(shù)為abs(x)。(V)

28在C語言中,退出程序運行的系統(tǒng)函數(shù)為exit。。(V)

第三章流程控制語句

自測練習(xí)一:if條件語句自測練習(xí)

1.若x的值為5,則執(zhí)行“if(x>10)x++;elsex--;”語句后,x的值為()。

a.4

b.6

c.3

d.5

2.若x的值為-10,則執(zhí)行“if(x)x++;elsex-;”語句后,x的值為(2

a.-9

b.-ll

c.-10

d.O

3.在if語句中,可以帶有else子句,也可以省略它。(X)

4.在if語句中,每個else關(guān)鍵字與它前面同層次并且最接近的if關(guān)鍵字相配套。

(X)

5.執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

inta=25,b=18;

if(a>b)printf("%s\n","a>b");

if(a==b)printf("%s\n","a==b");

if(a<b)printf("%s\n","a

答案:a>b

6.執(zhí)行下面程序的輸出結(jié)果為

#includestdio.h>

#include<stdio.h>

voidmain(){

inta=18,b=4,c=0;

if(a/b){c+=a/b;c+=a%b;}

if(a%b){a=a/b;b=a%b;}

printf(H%d'\a+b+c);

)

答案:a>b

自測練習(xí)二:switch開關(guān)語句自測練習(xí)

1.在switch語句的每個case塊中,假定都是以break語句結(jié)束的,則此switch語

句容易被改寫成語句()o

a.if

b.while

c.do

d.for

2.每個C語言程序文件的編譯錯誤的類型有()o2.在switch語句中,每個保

留字case后面的表達式必須是()o

a.函數(shù)調(diào)用

b.變量種

c.一般表達式

d.常量

3.執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

intx=5,y=0;

switch(2*x-3){

case4:y+=x;break;

case7:y+=2*x+l;break;

case10:y+=3*x;break;

printf(ny=%d\nH,y);

)

答案:y=U

4.執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

intx=9,y=0;

switch(x%3){

case0:y+=x;

case1:y+=2*x+l;

case2:y+=3*x;break;

default:y+=x-l;

)

printf("y=%d\n",y);

)

答案:y=55

自測練習(xí)三:foi?循環(huán)語句自測練習(xí)

1.當(dāng)處理問題時的循環(huán)次數(shù)是確定的,則采用的最合適的循環(huán)方式為()o

a.do-while

b.switch

c.while

d.for

2.若需要定義一個符號常量,并且使C語言能夠進行類型檢查,則應(yīng)在定義語句

的開始使用保留字()o

a.case

b.continue

c.static

d.const

3.已知村~'7的ASCII碼為65-90,當(dāng)執(zhí)行“intx=C'+5;”語句后x的值為()。

a.70

b.73

c.72

d.71

4.在一條變量定義語句中可以同時定義多個變量。(J)

5.在一條變量定義語句中,當(dāng)同時定義多個變量時,各變量之間只能使用逗號分

開。(J)

6.在一條變量定義語句中,定義的變量和賦給它的初值之間不需要使用等號(=)。

(X)

自測練習(xí)四:while循環(huán)語句自測練習(xí)

1.每次先進行循環(huán)條件的判斷,然后再執(zhí)行循環(huán)體的語句為()o

a.for和while

b.for和do

c.switch和break

d.while和do

2.若n的值為5,s的值為0,則執(zhí)行“while(n〉0)s+=n--;”語句后,s的值為()。

a.13

b.14

c.15

d.12

3.當(dāng)循環(huán)次數(shù)確定時,while循環(huán)語句能夠轉(zhuǎn)換為for循環(huán)語句。(J)

4.while循環(huán)語句中的循環(huán)體至少被執(zhí)行一次。(X)

5.執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

intn=10,y=0;

while(n>5)y+=n—;

printf("y=%d\n",y);

答案:y=40

6.執(zhí)行下面程序的輸出結(jié)果為。

#include<stdio.h>

voidmain(){

inti=l,p=l,s=l;

while(s<40){i++;p=p*i;s=s+p;}

printf(”s二%d\n”,s);

)

答案:s=153

自測練習(xí)五:do循環(huán)語句自測練習(xí)

1.流程控制類語句包括的3類語句為()。

a.選擇、循環(huán)、跳轉(zhuǎn)

b.選擇、循環(huán)、輸入

c.選擇、輸入、輸出

d.循環(huán)、選擇、函數(shù)

2.若i的值為0,則執(zhí)行“doi++;while(i*i<10);”語句的過程中,循環(huán)體被執(zhí)行

的次數(shù)為()o

a.2

b.3

c.5

d.4

3.do-while循環(huán)語句中的循環(huán)體至少被執(zhí)行一次。(J)

4.do-while循環(huán)語句是以分號結(jié)束的語句。(J)

5.執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

intx=16,s=0;

do{s+=x;x-3;}while(x>0);

printf("s=%d\n,,,s);

答案:s=51

6.此程序的功能是從鍵盤上輸入兩個(),輸出結(jié)果為它們的平方和o

#include<stdio.h>

voidmain(){

intx,y;

doscanf("%d%d",&x,&y);while(x<=0||y<=0);

printf("%d\n",x*x+y*y);

)

答案:正整數(shù)

自測練習(xí)六:跳轉(zhuǎn)類語句自測練習(xí)

1.若要結(jié)束所在函數(shù)的執(zhí)行過程,返回到調(diào)用該函數(shù)所在位置,則使用的語句為

()o

a.goto

b.continue

c.return

d.break

2.要結(jié)束所在循環(huán)語句中循環(huán)體的一次執(zhí)行,則在其中使用的語句為()0

a.goto

b.return

c.break

d?continue

3.break語句只能使用在循環(huán)語句中。(X)

4.return語句只有保留字,沒有其他成分。(X)

5.continue語句只有保留字,沒有語句體。(J)

6.執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

inti,s=0;

for(i=1;i<10;i++){

s+=i*(i+l);

if(s>40)break;

printf("s=%d\n",s);

)

答案:s=70

7,執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

inti=0,s=0;

do{

i+=2;

if(i%3==0)continue;

s+=i*(i+l);

}while(s<60);

printf(Ms=%d\n",s);

)

答案:s=98

第三章綜合練習(xí)

一、單項選擇題

1.若x的值為15,則執(zhí)行“if(x>10)x++;elsex-;”語句后,x的值為()。

a.16

b.10

c.15

d.14

2.若x的值為-10,則執(zhí)行“if(!x)x++;elsex—語句后,x的值為()。

a.O

b.-10

c.-9

d.-ll

3.若x的值為10,則執(zhí)行"switch(x%3){case0:x++;casel:x++;case2:x++;}”語

句后,x的值為()=

a.13

b.10

c.12

d.11

4.若x的值為10,貝愀行“switch(x%3){case0:x++;break;casel:x++;default:x++;}

語句后,x的值為()o

a.9

b.10

c.12

d.11

5.若n的值為10,則執(zhí)行“for(i=l;i<n;i++)S;”語句的過程中,表達式i=l共被

執(zhí)行的次數(shù)為()。

a.n-1

b.1

d.n+1

6.若n的值為10,則執(zhí)行"for(i=0;;i++)if(i>n/3)break;”語句后,i的值為()。

a.6

b.3

c.4

d.5

7.若n的值為10,則執(zhí)行"for(i=Q<n;i++)S;”語句的過程中,表達式i++共被

執(zhí)行的次數(shù)為()。

a.n

b.n+1

c.1

d.n-1

8.若n的值為10,則執(zhí)行“for(i=0;i<n;i++)for(j=i;j<n;j++)S;”語句后,內(nèi)層循

環(huán)體S語句的執(zhí)行總次數(shù)為()。

a.n*n

b.n(n+l)/2

c.(n+l)/2

d.n(n-l)/2

9.若n的值為10,則執(zhí)行“while(n-->0)s+=n;”語句的過程中,循環(huán)體被執(zhí)行的

次數(shù)為()o

a.9

b.11

c.8

d.10

10.若n的值為5,s的值為0,則執(zhí)行“while(n—>0)s+=n;”語句后,s的值為()。

a.15

b.12

c.10

d.14

11.在下列的語句中,必須以分號作為結(jié)束的語句是()。

a.while

b.for

c.do

d.switch

12.若n的值為5,s的值為0,則執(zhí)行“dos+=n-;whi若n>的;”語句后,s的值

為(

)o

a.14

b.12

c.15

d.13

13.要結(jié)束任一種循環(huán)語句或switch語句的執(zhí)行,則在其中使用的語句為()。

a.goto

b.break

c.continue

d.return

二、判斷題

14.在if語句中,必須帶有else子句,不能省略它。(義)

15.在for循環(huán)語句的頭部,for后面括號內(nèi)共有3個表達式位置。(J)

16.for循環(huán)語句不能夠被轉(zhuǎn)換為while循環(huán)語句。(義)

17.while循環(huán)語句中的循環(huán)體可能不會被執(zhí)行。(J)

18.while循環(huán)語句的循環(huán)體,只能是復(fù)合語句,不能是簡單語句。(X)

19.do-while循環(huán)語句中的循環(huán)體可能不會被執(zhí)行。(X)

20.do-while循環(huán)語句的循環(huán)體,只能是復(fù)合語句,不能是簡單語句。(X)

21.do-while循環(huán)語句是以循環(huán)體結(jié)尾的。(X)

22.break語句可以使用在switch語句中。(V)

23.return語句中可以帶有返回表達式。(V)

24.continue只能使用在任一種循環(huán)語句的循環(huán)體中。(V)

三、程序填空題

25.#include<stdio.h>

voidmain(){

inta=5,b=8,c=6,d=15,x,y;

if(a>=b)x=a;elsex=b;

if(c>=d)y=c;elsey=d;

if(x>=y)printf("%d\n",x);

elseprintf("%d\n",y);

答案:15

26.#include<stdio.h>

voidmain(){

intx=5,y=8,z=12;

if(x>y&&x>z)printf(,,%d\n,',x);

elseif(y>x&&y>z)printf("%d\n",y);

elseprintf(u%d\nn,z);

答案:12

27.#include<stdio.h>

voidmain(){

inta=5,b=8,c;

if(3*a>2*b)c=2*a+3*b;

elseif(a==b)c=a*a+b*b;

elsec=a*b+3;

printf(nc=%d\nn,c);

}

答案:c=43

29.#include<stdio.h>

voidmain(){

intx=5,y=0;

switch(2*x-3){

case4:y+=x;

case7:y+=2*x+l;

case10:y+=3*x;

)

printf(ny=%d\nn,y);

)

答案:y=26

29.#include<stdio.h>

voidmain(){

charch;

inta,b,c;

scanf(n%cn,&ch);

scanf(H%d%dn,&a,&b);

switch(ch){

casec=a+b;break;

case',:c=a-b;break;

casec=a*b;break;

case7':c=a/b;break;

default:printf(nEn-or!\nn);

)

printf(n%d%c%d=%d\nn,a,ch,b,c);

)

答案:35=15

30.#include<stdio.h>

voidmain(){

inti,s=0;

for(i=16;i>0;i-2)

if(i%3=0||i%4==0)s+=i;

printf(us=%d\n",s);

)

答案:s=46

31.#include<stdio.h>

voidmain(){

inti,x,y,s=0;

scanf(n%d%d”,&x,&y);

if(x>y){i=x;x=y;y=i;}

for(i=x;i<=y;i++)

if(i%2==l)s+=i*i;

printf(us=%d\n",s);

)

答案:奇數(shù)

32.#include<stdio.h>

constintN=100;

voidmain(){

inta,b;

for(a=2;a<=N;a++){

for(b=2;b*b<=a;b++)

if(a%b==0)break;

if(b*b>a)printf(n%d",a);

)

}

答案:素數(shù)(質(zhì)數(shù))

33.#include<stdio.h>

voidmain(){

inti=0,s=0;

while(s<50){i+=2;s+=i*i;}

printf(ns=%d\nH,s);

)

答案:s=56

34.#include<stdio.h>

voidmain(){

intx,p=2;

scanf(,r%dn,&x);

while(x>=p)

if(x%p==0){printf(',%d=%d*%d\nn,x,p,x/p);break;}

elsep++;

)

答案:35=57

35.#include<stdio.h>

voidmain(){

intx,y,a,p=l;

scanf(n%d%d0,&x,&y);

if(x<y){a=x;x=y;y=a;}

if(x%y==O){printf("%d\n",y);return;}

a=2;

while(y>=a)

if(x%a==O&&y%a==O){x=x/a;y=y/a;p*二a;}

elsea++;

printf(H%d\nn,p);

)

答案:公約數(shù)

36.#include<stdio.h>

voidmain(){

intx=36,y=48,z;

do{z=x%y;x=y;y=z;}while(y>0);

printf(nx=%d\nn,x);

}

答案:x=12

37.#inc1ude<stdio.h>

voidmain(){

intx,i=0,s=0;

scanf(n%d",&x);

do{i+=2;s+=i*i;}while(s<x);

printf(,'n=%d\nn,i-2);

}

答案:最大

38.#include<stdio.h>

voidmain(){

intx=37,k=2;

do{if(x%k==0)break;k++;}while(k*k<=x);

if(k*k>x)printf(HYes!\nn);

elseprintf(nNo!\nH);

答案:Yes!

第四章數(shù)組的概念

自測練習(xí)一:數(shù)組的概念自測練習(xí)

1.在一個數(shù)組中,數(shù)組元素a[i]前面的元素個數(shù)為()。

a.2*i

b.i+1

c.i

d.i-1

2.假定一維數(shù)組的定義為“chara[8];",則該數(shù)組所占用的存儲空間的字節(jié)數(shù)為

()o

a.8

b.32

c.64

d.16

3.對于一維數(shù)組元素,數(shù)組名后使用一對中括號。(J)

4.二維數(shù)組元素帶有一個下標(biāo)。(X)

自測練習(xí)二:一維數(shù)組的定義和使用自測練習(xí)

1.假定有一個定義語句為"inta[10]={3,4,2,8,6};”,則元素a[3]的值為()。

a.6

b.8

c.4

d.2

2.在下面字符數(shù)組的定義語句中,有語法錯誤的是()。

a.chara口二“x+y=55J;

b.chara[15]={T,2};

c.chara[10]='5';

d.chara[20]=nabcdefgn;

3.在一維數(shù)組的定義語句中,可以給數(shù)組中每個元素賦初值。(J)

4.假定一維數(shù)組的定義為“double則每個數(shù)組元素的下標(biāo)取值范圍在1~M

之間。(X)

自測練習(xí)三:二維數(shù)組的定義和使用自測練習(xí)

1.假定有一個定義語句為“inta[3][4]={{3,4},{2,8,6}則元素a⑵[1]的值為()。

a.8

b.6

c.4

d.O

2.假定二維數(shù)組的定義語句為"int*a[3][5];",則該數(shù)組所占用的存儲空間的字

節(jié)數(shù)為()。

a.120

b.60

c.30

d.15

3.在二維數(shù)組的定義語句中,數(shù)組名后帶有兩對中括號。(J)

4.假定二維數(shù)組的定義語句為“doublea[M][N];",則每個數(shù)組元素的列下標(biāo)取值

范圍在0~N-l之間。(V)

自測練習(xí)四:使用typedef語句定義數(shù)組類型自測練習(xí)

1.使用“typedefintInteger;”語句把標(biāo)識符Integer定義為一個()。

a.整數(shù)變量

b.整數(shù)類型

c.數(shù)組類型

d.數(shù)組變量

2使用“typedefintABC"0];”語句把標(biāo)識符ABC定義為()。

a.符號常量

b.字符數(shù)組

c.整型數(shù)組類型

d.簡單變量

3.執(zhí)行“typedefintintType;”語句后,在使用int定義整型變量的地方都可以使

用整數(shù)類型標(biāo)識符intType來定義整型變量。(V)

4.使用"typedefcharBB[10][50];"語句定義標(biāo)識符BB為含有10行50列共500

個元素的二維字符數(shù)組。(X)

自測練習(xí)五:數(shù)組的應(yīng)用自測練習(xí)

1.執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

inta[8]={3,8,6,5,9,2,8,5};

inti,s=0;

for(i=0;i<8;i++)s+=a[i];

printf("s=%d\n",s);

)

答案:s=46

2.執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

inta[8]={12,15,20,8,25,30,28,36);

inti,c[3]={0};

for(i=0;i<8;i++){

if(a[i]%2==0)c[0]++;

if(a[i]%3==0)c[l]++;

if(a[i]%4==0)c[2]++;

)

printf("%d%d%d\n",c[0],c[l],c[2]);

)

答案:645

3.執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

inta[3][3]={{13,18,16},{15,19,12},{8,15,22}};

inti,j,x=a[O][O];

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(a[i][j]<x)x=a[i][j];

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

}

答案:x=8

4.執(zhí)行下面程序的輸出結(jié)果為

#include<stdio.h>

voidmain(){

inta[3][3]={{12,18,10},{8,6,14},{5,10,19}};

inti,j,s[3]={0};

for(i=0;i<3;i++)

for(j=0;j<3;j++)

s[a[i][j]%3]+=a[i][j];

for(i=0;i<3;i++)printf("%d",s[i]);

)

答案:363927

自測練習(xí)六:字符串的定義與應(yīng)用自測練習(xí)

1.利用一維字符數(shù)組存儲一個字符串時,在其末尾自動存儲的一個字符是()。

a.'\n'

b.'\0'

c.空格

d.回車

2.一個二維字符數(shù)組a[M][N]能夠存儲的字符串個數(shù)至多為()。

a.M

b.N-l

c.M-l

d.N

3?若需要把一個字符串賦給字符數(shù)組,則選用的函數(shù)是()o

a.strlen

b.strcat

c.strcpy

d.strcmp

4.在C語言中,在定義一個字符數(shù)組時,不能利用一個字符串進行初始化。(X)

5.對于一個長度為n的字符串,存儲它的字符數(shù)組的長度至少為n。(X)

6.有一個語句為"chars2[4]="abcd";,\s2數(shù)組長度是合適的。(X)

7.執(zhí)行下面程序的輸出結(jié)果為

#include?stdio.h>

#include<string.h>

voidmain(){

intcl,c2;

chara[20]="Stringl234\n";

charb[10]="str";

cl=strlen(a);

strcat(b,"245\0");

intc2=strlen(b);

printf("%d%d\n",cl,c2);

答案:116

8.執(zhí)行下面程序后,假定從鍵盤上輸入的兩個字符串?dāng)?shù)據(jù)為123和456,則輸出

結(jié)果為

#include<stdio.h>

#include<string.h>

voidmain(){

chara[20],b[20];

scanf(M%s%s",a,b);

if(strcmp(a,b)>=0)printf(n%s%s\n'\a,b);

elseprintf(M%s%s\nn,b,a);

答案:456123

第四章綜合練習(xí)

一、單項選擇題

1.假定有一個元素類型為int的數(shù)組a[10],它所占用的存儲空間的字節(jié)數(shù)為

()。

a.20

b.80

c.10

d.40

2.假定一維數(shù)組的定義為“char*a[8];",則該數(shù)組所占用的存儲空間的字節(jié)數(shù)為

a.16

b.8

c.32

d.64

3.假定有一個定義語句為“inta[10]=[3,4,2,8,6};”,則元素a[5]的值為()。

a.6

b.2

c.0

d.8

4.在下面的一維數(shù)組定義語句中,有語法錯誤的是()o

a.inta[];

b.inta[5];

c.inta[10]={0};

d.inta[]={1,2,3};

5.假定二維數(shù)組的定義語句為“inta[3][5];",則該數(shù)組所含元素的個數(shù)為()。

a.12

b.8

c.10

d.15

6.假定有一個定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[l]⑵的值為

()o

a.4

b.6

c.8

(1.2

7.對于一個長度為n的字符串,保存它至少需要占用的存儲字節(jié)數(shù)為()。

a.n+2

b,n+1

c.n

d.n-1

8.對于一個二維字符數(shù)組a[M][N],存儲每個字符串的長度至多為()。

a.M

b.N

c.M-l

d.N-1

9.若需要比較兩個字符串的大小,則選用的函數(shù)是()o

a.strcmp

b.strlen

c.strcat

d.strcpy

二、判斷題

10.一維數(shù)組元素帶有兩個下標(biāo)。(X)

11.對于二維數(shù)組元素,數(shù)組名后使用兩對中括號。(J)

12.在一維數(shù)組的定義語句中,給數(shù)組賦初值的部分是用一對花括號括起來的數(shù)

據(jù)表。(V)

13.在一維數(shù)組的定義語句中,數(shù)組名前為元素類型關(guān)鍵字。(J)

14.在二維數(shù)組的定義語句中,數(shù)組名后帶有兩對圓括號。(X)

15.假定二維數(shù)組的定義語句為“doublea[M][N]/\則每個數(shù)組元素的列下標(biāo)取

值范圍在1~N之間。(X)

16.使用“typedefchar語句定義標(biāo)識符BB為含有10個元素的一維字符

數(shù)如(義)

17.使用"typedefchar語句定義標(biāo)識符BB為含有10行50列共500

個元素的二維字符數(shù)組類型。(J)

18.一個二維字符數(shù)組a[10][20]中存儲每個字符串的最大長度為19o(V)

三、程序填空題

19.#include<stdio.h>

溫馨提示

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

最新文檔

評論

0/150

提交評論