C程序設(shè)計(jì)基礎(chǔ)練習(xí)題1及答案_第1頁
C程序設(shè)計(jì)基礎(chǔ)練習(xí)題1及答案_第2頁
C程序設(shè)計(jì)基礎(chǔ)練習(xí)題1及答案_第3頁
C程序設(shè)計(jì)基礎(chǔ)練習(xí)題1及答案_第4頁
C程序設(shè)計(jì)基礎(chǔ)練習(xí)題1及答案_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

一、單選題

1、下面的敘述正確的是()。

A.一個C的源程序必須包含1個以上的main函數(shù)

B.一個C的源程序可以由一個或多個函數(shù)組成

C.printf函數(shù)是程序執(zhí)行的起始位置

D.在C的源程序中,main函數(shù)不是必須的

正確答案:B

解析:A、一個C的源程序可以由一個或多個函數(shù)組成,其中有且

只有一個main。函數(shù)。C^C程序是從main。函數(shù)開始執(zhí)行。D^

一個C的源程序可以由一個或多個函數(shù)組成,其中必須有一個main()

函數(shù)。

2、C程序是從()開始執(zhí)行的。

A.放在最前面的函數(shù)

B.文件開始的注釋部分

C.主函數(shù)

D.return語句

正確答案:C

解析:A、無論main函數(shù)放在哪里,程序都從它開始執(zhí)行B、程

序的注釋部分是不執(zhí)行的,僅方便人閱讀程序。C、main函數(shù)是主

函數(shù),它是程序執(zhí)行的入口。D、return語句結(jié)束程序的執(zhí)行。

3、以下正確的printf語句是()。

A.printf"ThisisaCprogram.";

B.printf("ThisisaCprogram.);

C.printf("ThisisaCprogram.")

D.printf("ThisisaCprogram'll”);

正確答案:D

解析:A、函數(shù)缺少()B、字符串缺少引號C、語句缺少分號

4、設(shè)有程序“l(fā).cpp〃,編譯后運(yùn)行該程序,執(zhí)行的是()文件。

A.l.cpp

B.l.obj

C.l.c

D.l.exe

正確答案:D

解析:A、cpp擴(kuò)展名的文件是用C或C++編寫的源程序。VisualC++6.0、

Dev-C++的源程序默認(rèn)采用cpp為擴(kuò)展名B、obj擴(kuò)展名的文件是執(zhí)

行“編譯”命令產(chǎn)生的目標(biāo)文件C、c擴(kuò)展名的文件是用C語言

編寫的源程序

5、不合法的C語言標(biāo)識符是()o

A.j2_KEY

B.Double

C.4d

D._8_

正確答案:C

解析:C、標(biāo)識符的第1個字符不能是數(shù)字

6、下列定義變量的語句中錯誤的是()o

A.doublezl;

B.floatyl;

C.Doubleal;

D.intxl;

正確答案:C

解析:C、雙精度浮點(diǎn)型的類型說明為double,C語言中嚴(yán)格區(qū)分

大小寫,本選項(xiàng)的一個字母用大寫D,是錯誤的

7、下面()語句正確地描述了計(jì)算公式

A.y=a*x*x*x/x-b;

B.y=ax*x*x/(x-b);

C.y=ax*x*x/x-b;

D.y=(a*x*x*x)/(x-b);

正確答案:D

8、下面()是合法的賦值語句.

A.i=l;

B.i+1=5;

C.i*3=i+l;

D.5=i;

正確答案:A

因此,結(jié)果是a=8

10、78%10的結(jié)果是()o

A.7

B.10

C.78

D.8

正確答案:D

解析:D、%是取余數(shù)的運(yùn)算符,x%10的結(jié)果為x的個位數(shù)

11、下面程序的輸出是()。

#include<stdio.h>

intmain()

(

inta=8;

printf("%d\n"z(a++)*2);

return0;

)

A.9

B.16

C.18

D.8

正確答案:B

解析:B、(a++)*2是將a++表達(dá)式的值乘2

a++,自增運(yùn)算符在后,先取a的值作為表達(dá)式的值,所以,(a++)的

值為8,8*2=16

12^下面程序的輸出是()。

#include<stdio.h>

intmain()

intb=3,a=3;

printf(”%d,%d\ntb,aT;

return0;

A.3,2

B.3

C.2,3

D.3,3

正確答案:D

解析:A、要求輸出的第2個是表達(dá)式“的值,并不是a的值D、

要求輸出的是b和表達(dá)式a--的值,b的值為3,關(guān)鍵是分析清楚a-

表達(dá)式的值

a--,自減運(yùn)算符在后,則先取a的值作為a-表達(dá)式的值,所以,a-

表達(dá)式的值為3.因此,本選項(xiàng)正確

13、i=l;

執(zhí)行()語句后,變量i的值不會發(fā)生變化。

A.-i;

B.i=2*i;

C.i+5;

D.i=6;

正確答案:C

解析:A、i的值減1B、i的值是原來的2倍C、該語句僅取i的

值1參與計(jì)算,整個表達(dá)式的值為6o但是,并沒有賦值語句,所

以,i的值不變D、i的值被改為6

14、intx;

scanf("%d”,&x);

下面()可以獲得x的個位數(shù)。

A.x-x/10;

B.x/lOO-x/lO;

C.x/10;

D.x%10;

正確答案:D

解析:D、%是取余運(yùn)算,結(jié)果是x除以10的余數(shù),即個位數(shù)

15、有關(guān)運(yùn)算符的正確描述是()

A.賦值運(yùn)算符是左結(jié)合的

B.單目運(yùn)算符優(yōu)先級高于雙目運(yùn)算符

C.賦值號的運(yùn)算優(yōu)先級是最低的

D.所有運(yùn)算符都是左結(jié)合的

正確答案:B

解析:A、賦值運(yùn)算符是右結(jié)合的,從右向左運(yùn)算C、逗號的運(yùn)算

優(yōu)先級最低,其次是賦值類運(yùn)算符

16、下面選項(xiàng)中,()的優(yōu)先級最低。

A.++

B=

C./

D.+

正確答案:B

解析:B、賦值運(yùn)算符的優(yōu)先級較低,僅高于逗號運(yùn)算符。

17、能正確表示邏輯關(guān)系“a大于等于10或a小于等于0”的C語言

表達(dá)式是()

A.a>=10ora<=0

B.a>=10Ia<=0

C.a>=10&&a<=0

D.a>=01a<=10

正確答案:B

解析:A、或者運(yùn)算符寫錯C、該項(xiàng)寫成了并且

18、設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系10<a<15的C語言表

達(dá)式是()

A.a>10&&a<15

B.10<a<15

C.a==ll||a==12||a==13||a==14

D.!(a<=10)&&!(a>=15)

正確答案:B

解析:B、這是數(shù)學(xué)中的表示方式,在C語言程序中,含義已經(jīng)不

同。它將先判斷10<a,再將結(jié)果與15比

19、設(shè)x,t均為int型變量,則執(zhí)行語句"x=10;t=x&&x>10

后,t的值為()

提示:賦值運(yùn)算優(yōu)先級較低,低于算術(shù)、關(guān)系、邏輯運(yùn)算。

A.值不確定

B.1

C.0

D.10

正確答案:C

解析:C>t=x&&x>10,按優(yōu)先級等價(jià)于t=(x&&x>10)o

先執(zhí)行x>10,結(jié)果為0,

再執(zhí)行10&&0,結(jié)果為0

再執(zhí)行t=0

20、語法不正確的語句是()

A.if(x==y)&&(x!=0)x++;

B.if(x=y){x++;y++;}

C.if(x!=y)scanf("%£)",&x);

D.if(x>y);

正確答案:A

解析:A、if后面的條件必須完全在括號內(nèi),應(yīng)寫為if((x==y)&&(x!=O))

x++;B、本項(xiàng)語法正確:

if的條件可以是任何合法的表達(dá)式,如果表達(dá)式的值非0,則條件為

真。

此處為賦值表達(dá)式,如果x的值非0,則為真。

分支語句為復(fù)合語句

21、如果整型變量a,b,c的值分別為5,4,3,則語句if(a>b>c)C++;

執(zhí)行后c的值是()

A.5

B.4

C.2

D.3

正確答案:D

解析:D、按左結(jié)合性,if(a>b>c),先執(zhí)行a>b,5>4,結(jié)果為1

再執(zhí)行1“,結(jié)果為假,為0,

所以if條件不滿足,C++不執(zhí)行

22、C語言語句中,可以用來決定分支流程的表達(dá)式是()

A.只能用邏輯表達(dá)式或關(guān)系表達(dá)式

B.只能用關(guān)系表達(dá)式

C.任意表達(dá)式

D.只能用邏輯表達(dá)式

正確答案:C

解析:A、C語言中表示條件的可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、

邏輯表達(dá)式等,根據(jù)表達(dá)式值為非。或0來判斷條件成立與否。B、

C語言中表示條件的可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式等,

根據(jù)表達(dá)式值為非0或0來判斷條件成立與否。C、C語言中表示

條件的可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式等,根據(jù)表達(dá)式

值為非0或0來判斷條件成立與否。D、C語言中表示條件的可以

是算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式等,根據(jù)表達(dá)式值為非0或

。來判斷條件成立與否。

23、intx=102,y=12;

printf("%2dz%3d\n",x/y);

執(zhí)行后輸出結(jié)果是()

提示:當(dāng)%0^中m小于數(shù)據(jù)的實(shí)際寬度時,按實(shí)際寬度輸出。

A.102,120

B.102,12

C.02,12

D.10,012

正確答案:B

解析:B、printf(”%2d,%3d\n”,x,y)中的格式字符%2d表示輸出整型

數(shù)值,寬度為2,

而實(shí)際所需寬度超過2時,以實(shí)際所需寬度為準(zhǔn),因此輸出102.%3d

表示輸出整型數(shù)值,寬度為3,

而實(shí)際所需寬度不足3時,補(bǔ)足空格,因此輸出12之前補(bǔ)了一個空

格.

24、設(shè)i是int型變量,j是float型變量,用下血的語句給這兩個

變量輸入值:

scanf("i=%d/j=%f"/&i,&j);

為了把10和2.5分別賦給i和則正確的輸入為()

A.10<回車>2.5<回車>

回車回車>

B.x=10<>zy=2.5<

C.i=10J=2.5<回車>

D.102.5<回車>

正確答案:C

解析:C、scanf("i=%d,中的格式字符i=%d表示輸入

格式

%d,%f之外的字符要按照原樣輸入,

因此,必須輸入

i=10,j=2.5<回車〉

才能正確輸入i和j的值。

25、執(zhí)行下面語句,

inta=l,b=2,c=3;

if(a>c)b=c;a=c;c=b;

a,b,c的值分別為()(用逗號分隔)

提示:由if控制的分支語句只有一條

A.1,2,3

B.3,2,2

C.3,3,2

D.3,3,3

正確答案:B

解析:B、注意,題目中的:

if(a>c)b=c;a=c;c=b;

if內(nèi)嵌語句只有一句,也稱if子句,b=c;是if的子句,而a=c;c=b;

不是,它們是分支語句的后續(xù)語句。

本題中,

a>c條件不成立,不執(zhí)行b=c;

而要執(zhí)行a=c;c=b;

故a,b,c的值為3,2,2

如果想表示條件成立執(zhí)行三條賦值語句,應(yīng)當(dāng)寫作:

if(a>c){b=c;a=c;c=b;}采用復(fù)合語句做為if子句

二、多選題

1、輸出結(jié)果為25*64=1600的語句是()。

A.printf("25*64=%d,),25*64);

B.printf("25*64=1600");

C.print25*64=1600;

D.printf("25*64=%d,25*64");

正確答案:A、B

解析:C、printf(”格式控制字符串“,表達(dá)式);

函數(shù)格式不正確D、輸出結(jié)果為25*64=0,25*64

第二個25*64在雙引號內(nèi),非%開始的格式控制符原樣輸出

2、下面是關(guān)于C程序注釋的敘述,其中正確的是()o

A.〃是行注釋,從〃開始至行尾為注釋內(nèi)容

B.從〃開始的程序都是注釋內(nèi)容

C./*……*/可以注釋多行,也可以注釋一行

D./**/與〃注釋的范圍沒有區(qū)別

正確答案:A、C

解析:B、只注釋至本行尾D、/**/可以注釋多行

3、下面()語句正確地描述了方程

A.y=a*x*x*(x+c);

B.y=(a*x*x*x)+c;

C.y=a*x*x*x+c;

D.y=(a*x)*x*(x+c);

正確答案:B、C

4、下面()能完成變量a,b的值的交換。

A.t=a;

a=b;

b=t;

B.a=a+b;

b=a-b;

a=a-b;

C.a=b;

b=a;

D.a=b;

正確答案:A、B

解析:B、a=a+b;

b=a-b=(a+b)-b=a

a=a-b=(a+b)-(a)=b

因此,實(shí)現(xiàn)了交換C、執(zhí)行后,b的值不變

5、()可以使整型變量i的值加1。

A.i=i+1;

B.i++;

C.i+=1;

D.++i;

正確答案:A、B、C、D

解析:C、+=是復(fù)合賦值運(yùn)算符,該語句等價(jià)于i=i+l;

6、在printf函數(shù)中,浮點(diǎn)型數(shù)據(jù)輸出的格式控制符有()。

A.%d

B.%g

C.%e

D.%f

正確答案:B、C、D

解析:B、%g為浮點(diǎn)型數(shù)據(jù)輸出格式控制符,表示按指數(shù)形式或小

數(shù)形式二者中占寬度較短的形式輸出C、%e為浮點(diǎn)型數(shù)據(jù)輸出格式

控制符,表示按指數(shù)形式輸出D、%f為浮點(diǎn)型數(shù)據(jù)輸出格式控制符,

表示按小數(shù)形式輸出

7、下面程序中,()可以輸出變量a,b,c的最大值。

A.if(a>b)max=a;

if(c>max)max=c;

printf("最大值為%d\n,max);

B.if(a>=b&&a>=c)printf("最大值為%d\n,a);

if(b>=a&&b>=c)printf("最大值為%d\n",b);

if(c>=a&&c>=b)printf("最大值為%d\n",c);

C.max=a;

if(b>max)max=b;

if(c>max)max=c;

printf("最大值為%d\n“,max);

D.if(a>b>c)printf("最大值為%d\n”,a);

if(b>a>c)printf("最大值為%d\n”,b);

if(c>a>b)printf("最大值為%d\n”,c);

正確答案:B、C

解析:A、當(dāng)a<=b時,不執(zhí)行max=a,則max沒有值,無法再與

F面的c進(jìn)行比較D、注意,a>b>c不能表示a〉b且b>c。

三、填空題

1、設(shè)a=l,b=2,c=3,邏輯表達(dá)式a&&b&&c的值是()。

正確答案:1

解析:整型值參與關(guān)系運(yùn)算,如果該整型值非0,表示邏輯真,

如果該整型值為0,表示邏輯假。

根據(jù)a,b,c的值,可以得到:

3&&b&&c六J1o

2、設(shè)a=l,b=2,c=3,邏輯表達(dá)式a11!bII!c的值是()。

正確答案:1

解析:整型值參與關(guān)系運(yùn)算,如果該整型值非0,表示邏輯真,

如果該整型值為0,表示邏輯假。

根據(jù)a,b,c的值,可以得到:

a為1,

!b為0,

!c為0,

因此,a||!b||!c為1。

3、輸入一個考試分?jǐn)?shù)(0至100范圍內(nèi)),如果分?jǐn)?shù)小于60分,則輸

出“不及格”;大于90分輸出“優(yōu)秀”;大于等于60并且小于等于

90,則輸出“合格”。(有1個空,答案一行寫一個,不要添加多余的

空格)

#include<stdio.h>

intmain()

(

intx;

printf("請輸入分?jǐn)?shù)(0-100):");

scanf("%d",&x);

if(x<60)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論