二級c語言筆試練習(xí)題_第1頁
二級c語言筆試練習(xí)題_第2頁
二級c語言筆試練習(xí)題_第3頁
二級c語言筆試練習(xí)題_第4頁
二級c語言筆試練習(xí)題_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

全國計算機(jī)等級考試

二級C語言程序設(shè)計

第1章C語言程序設(shè)計概述.....................................................1

第2章C語言的基本數(shù)據(jù)類型與表達(dá)式..........................................3

第3章順序程序設(shè)計..........................................................11

第4章選擇結(jié)構(gòu)程序設(shè)計......................................................13

第5章循環(huán)結(jié)構(gòu)..............................................................18

第6章函數(shù)與編譯預(yù)處理......................................................24

第7章數(shù)組..................................................................34

第8章指針..................................................................42

第9章結(jié)構(gòu)體數(shù)據(jù)類型與鏈表.................................................57

第10章位運(yùn)算與文件操作....................................................64

上機(jī)考試題......................................................................71

目錄

第1章C語言程序設(shè)計概述第7章數(shù)組

1.1程序與程序設(shè)計7.1一維數(shù)組

1.2算法及其描述7.2二維數(shù)組

1.3C語言的發(fā)展及特點(diǎn)7.3數(shù)組的應(yīng)用

1.4C語言程序的基本結(jié)構(gòu)7.4字符數(shù)組與字符串

1.5C語言字符集、標(biāo)識符和關(guān)鍵字7.5數(shù)組作為函數(shù)的參數(shù)

1.6C語言程序的開發(fā)環(huán)境7.6程序舉例

第2章C語言的基本數(shù)據(jù)類型第8章指針

與表達(dá)式8.1指針與指針變量

2.1C語言的基本數(shù)據(jù)類型8.2指針與函數(shù)

2.2常量和變量8.3指針與數(shù)組

2.3運(yùn)算符與表達(dá)式8.4指針與字符串

2.4數(shù)據(jù)類型轉(zhuǎn)換8.5指針數(shù)組與命令行參數(shù)

8.6程序舉例

第3章順序程序設(shè)計

3.1C語言的基本語句第9章結(jié)構(gòu)體數(shù)據(jù)類型與鏈表

3.2數(shù)據(jù)輸入與輸出9.1結(jié)構(gòu)體類型的定義

3.3程序舉例9.2結(jié)構(gòu)體類型變量

9.3結(jié)構(gòu)體類型數(shù)組

第4章選擇結(jié)構(gòu)程序設(shè)計9.4結(jié)構(gòu)體類型指針

4.1關(guān)系運(yùn)算符與關(guān)系表達(dá)式9.5結(jié)構(gòu)體與函數(shù)

4.2邏輯運(yùn)算符與邏輯表達(dá)式9.6鏈表

4.3if語句

4.4switch語句第10章位運(yùn)算與文件操作

10.1位運(yùn)算與位運(yùn)算符

第5章循環(huán)結(jié)構(gòu)10.2位運(yùn)算舉例

5.1while語句10.3C文件概述

5.2do-while語句10.4文件類型指針

5.3for語句10.5文件的打開與關(guān)閉

5.4break>continue和goto語句10.6文件的定位

5.5循環(huán)的嵌套

5.6復(fù)合結(jié)構(gòu)程序舉例第11章上機(jī)考試題分析

第6章函數(shù)與編譯預(yù)處理

6.1模塊化程序設(shè)計與函數(shù)

6.2函數(shù)的定義與調(diào)用

6.3函數(shù)的遞歸調(diào)用

6.4變量的作用域與存儲方式

6.5編譯預(yù)處理

第1?C錯言程聲鉞什概述

第1章C語言程序設(shè)計概述

一、選擇題

1、以下敘述中正確的是

A)C語言比其他語言高級

B)C語言可以不用編譯就能被計算機(jī)識別執(zhí)行

C)C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式

D)C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點(diǎn)

2、以下說法正確的是

A)C語言程序總是從第一個的函數(shù)開始執(zhí)行

B)在C語言程序中,要調(diào)用函數(shù)必須在main()函數(shù)中定義

C)C語言程序總是從main()函數(shù)開始執(zhí)行

D)C語言程序中的main()函數(shù)必須放在程序的開始部分

3、C語言規(guī)定,在一個源程序中,main函數(shù)的位置

A)必須在最開始B)必須在系統(tǒng)調(diào)用的庫函數(shù)的后面

C)可以任意D)必須在最后

4、以下敘述不正確的是

A)一個C源程序可由一個或多個函數(shù)組成

B)一個C源程序必須包含--個main函數(shù)

C)C程序的基本組成單位是函數(shù)

D)在C程序中,注釋說明只能位于一條語句的后面

5、C語言程序的基本單位是

A)程序行B)語句

C)函數(shù)D)字符

6、以下敘述正確的是

A)在C程序中,每行中只能寫一條語句

B)若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)

C)在C程序中,無論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無誤地表示

D)在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符

7、以下選項(xiàng)錯誤的是

A)main()B)main()

{intx,y,z;{intx,y,z;

x=0;y=x-l;x=O,y=x+l;

z=x+y;}z=x+y;}

C)main()

D)main()

{intx;int

{intx,y,z;

inty;

x=O;y=x+l;

x=O,y=x+l;

z=x+y;}z=x+y,}

1仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用

第1*C語言程序強(qiáng)針概述

8、以下4個選項(xiàng)中,不能看做一條語句的是

A);B)a=5,b=2.5,c=3.6;

C)if(a<5);D)if(b!=5)x=2;y=6;

9、字符型數(shù)據(jù)在機(jī)器中是用ASCH碼表示的,字符“5”和“7”在機(jī)器中表示為

A)10100011和01110111B)01000101W01100011

C)00110101^00110111D)01100101和01100111

二、填空題

1、用高級語言編寫的程序稱為【】程序,它可以通過解釋程序翻譯?句執(zhí)行一句的方式

執(zhí)行,也可以通過編譯程序一次翻譯產(chǎn)生目標(biāo)程序,然后執(zhí)行。

2、C語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個注釋以【】作為開始和結(jié)束。

三、部分填空題解析

2、解析:C語言程序的注釋可以出現(xiàn)在程序基本單詞之間的任何地方,C語言程序的注釋以'

/*'作為開始標(biāo)記,并以'*/'作為結(jié)束標(biāo)記。

仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用2

第2*C語言的基聲裁據(jù)類型?&表達(dá)K

第2章C語言的基本數(shù)據(jù)類型與

表達(dá)式

一、選擇題

1、C語言中最簡單的數(shù)據(jù)類型包括

A)整型、實(shí)型、邏輯型B)整型、實(shí)型、字符型

C)整型、字符型、邏輯型D)字符型、實(shí)型、邏輯型

2、下列各數(shù)據(jù)類型不屬于構(gòu)造類型的是

A)枚舉型B)共用型

C)結(jié)構(gòu)型D)數(shù)組型

3、C語言中的標(biāo)識符只能由字母,數(shù)字和下劃線三種字符組成,且第?個字符

A)必須為字母B)必須為下劃線

C)必須為字母或下劃線D)可以是字母,數(shù)字和下劃線中任一字符

4、下列可用于C語言用戶標(biāo)識符的一組是

A)void,define,WORDB)a3_b3,_123,Car

C)For,-abc,IFCaseD)2a,DO,sizeof

5、請選出可用作C語言用戶標(biāo)識符的是

A)void,define,WORDB)a3_b3,_123,IF

C)FOR,—abc,CaseD)2a,Do,Sizeof

6、以下選項(xiàng)中合法的用戶標(biāo)識符是

A)longB)_2Test

C)3DmaxD)A.dat

7、下列是用戶自定義標(biāo)識符的是

A)_wlB)3_xy

C)intD)LINE-3

8、下面四個選項(xiàng)中,均是不合法的用戶標(biāo)識符的選項(xiàng)是

A)AP_0doB)floatlaO_A

C)b-agotointD)_123tempint

9、下面四個選項(xiàng)中,均是合法整型常量的選項(xiàng)是

A)160-Oxffff011B)-OxcdfOlaOxe

C)-01986,0120668D)-0x48a2e5Ox

10、下面四個選項(xiàng)中,均是不正確的8進(jìn)制數(shù)或16進(jìn)制數(shù)的選項(xiàng)是

A)016Ox8f018B)Oabc017Oxa

C)010-0x110x16D)0al27ff-123

3仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用

第2*C語言的基聲裁據(jù)類型?&表達(dá)K

11、下列數(shù)據(jù)中,不合法的C語言實(shí)型數(shù)據(jù)的是

A)0.123B)123e3

C)2.1e3.5D)789.0

12、在C語言中,退格符是

A)\nB)\t

C)\fD)\b

13、下列用于printf函數(shù)的控制字符常量中,代表“豎向跳格”的轉(zhuǎn)義字符常量是

A)\bB)\t

C)\vD)\f

14、若有說明語句:charc='\72';則變量c

A)包含1個字符B)包含2個字符

C)包含3個字符D)說明不合法,c的值不確定

15、在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是

A)補(bǔ)碼B)反碼

C)原碼D)ASCH碼

16、若變量已正確定義并賦值,以下符合C語言語法的表達(dá)式是

A)a:=b+lB)a=b=c+2

C)int18.5%3D)a=a+7=c+b

17、若變量a,i已正確定義,且i己正確賦值,合法的語句是

A)a==1B)++i;

C)a=a++=5:D)a=int(i);

18、在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦40000的正確語句是

A)a=20000+20000;B)a=4000*10;

C)a=30000+10000;D)a=4000L*10L

19、若運(yùn)行時給變量x輸入12,則以下程序的運(yùn)行結(jié)果是

main()

{intx,y;

scanf("%d",&x);

y=x>12?x+10:x-12;

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

)

A)0B)22

C)12D)10

20、在C語言中,運(yùn)算對象必須是整型數(shù)的運(yùn)算符是

A)%B)\

C)%和\D)**

21、C語言中運(yùn)算對象必須是整型的運(yùn)算符是

A)%=B)/

仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用4

第2章C轄言的基洋毅據(jù)奏型易表達(dá)W

C)=D)<=

22、已知各變量的類型說明如下:

intk,a,b;

unsignedlongw=5;

doublex=1.42;

則以下不符合c語言語法的表達(dá)式是

A)x%(-3)B)w+=-2

C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)

23、若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是

A)2.500000B)2.750000

C)3.500000D)0.000000

24、請選出以下語句的輸出結(jié)果

printf("%d\n”,strlen("\t\"\065\xff\n"));

A)5B)14

C)8D)輸出項(xiàng)不合法,無正常輸出

25、設(shè)有數(shù)組定義:chararray口="China";則數(shù)組array所占的空間為

A)4個字節(jié)B)5個字節(jié)

C)6個字節(jié)D)7個字節(jié)

26、以下不正確的敘述是

A)在C程序中,逗號運(yùn)算符的優(yōu)先級最低

B)在C程序中,APH和aph是兩個不同的變量

C)若a和b類型相同,在計算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變

D)當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實(shí)型變量只能輸入實(shí)

型數(shù)值

27、sizeof(float)是

A)一個雙精度型表達(dá)式B)一個整型表達(dá)式

C)一種函數(shù)調(diào)用D)一個不合法的表達(dá)式

28、若x,i,j和k都是int型變量,則計算表達(dá)式x=(i=4,j=16,k=32)后,x的值為

A)4B)16

C)32D)52

29、下列程序的輸出結(jié)果是

main()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

)

A)3B)3.2

C)0D)3.07

30、設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為

A)intB)float

5仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用

第2*C語言的基漳裁據(jù)類型與表達(dá)K

、C)doubleD)不確定

31、設(shè)以卜變量均為int類型,表達(dá)式的值不為7的是

A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+l)

C)(x=6,x+1,y=6,x+y)D)(y=6,y+1,x=y,x+1)

32、若有條件表達(dá)式(exp)?a++:b-,則以下表達(dá)式中能完全等價于表達(dá)式(exp)的是

A)(exp==0)B)(exp!=0)

C)(exp==l)D)(exp!=l)

33、以下選項(xiàng)中,與k=n++完全等價的表達(dá)式是

A)k=n,n=n+lB)n=n+1,k=n

C)k=++nD)k+=n+1

34、以下程序的輸出結(jié)果是

main()

{inta=21,b=11;

printf("%d\n",-a+b,—b+a);

A)30B)31

C)32D)33

35、設(shè)x、y均為整型變量,且x=10y=3,則以下語句的輸出結(jié)果是

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

A)10,3B)9,3

C)9,2D)10,2

36、表達(dá)式a<bll(c&d)中運(yùn)算符優(yōu)先級最高的是

A)IIB)&

C)<D)()

37、在C語言中,int,char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)

A)由用戶自己定義B)均為2個字節(jié)

C)是任意的D)由所用機(jī)器的機(jī)器字長決定

38、若有以下定義,則能使值為3的表達(dá)式是

intk=7,x=12;

A)x%=(k%=5)B)x%=(k-k%5)

C)x%=k-k%5D)(x%=k)-(k%=5)

39、下面程序的輸出結(jié)果為

main()

{inta,b;b=(a=3*5,a*4,a*5);

printf("%d",b);}

A)60B)75

C)65D)無確定值

40、假定x和y為double型,則表達(dá)式x=2,y=x+3/2的值是

A)3.500000B)3

仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用6

第2章C語言的基漳敏提奏型星表達(dá)W

C)2.000000D)3.000000

41、以下變量x,y,z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子x+y+z的C語

言表達(dá)式是

A)x/y*zB)x*(1/(y*z))

C)x/y*l/zD)x/y/z

42、以下程序的輸出結(jié)果是

main()

{charc='z';

printf("%c”,c-25);

)

A)aB)Z

C)z-25D)y

43、有以下程序

#include<string.h>

main()

{char*p="abcde\Ofghjik\0

printf(0%d\nH,strlen(p));

)

程序運(yùn)行后的輸出結(jié)果是

A)12B)15

C)6D)5

44、設(shè)有intx=U;則表達(dá)式(x++*l/3)的值是

A)3B)4

C)11D)12

45、若變量a是int類型,并執(zhí)行了語句:a='A'+16,則正確的敘述是

A)a的值是字符CB)a的值是浮點(diǎn)型

C)不允許字符型和浮點(diǎn)型相加D)a的值是字符'A'的ASCH值加上1

46、下列程序運(yùn)行的結(jié)果是

main()

{floatx;

inti;

x=3.6;

i=(int)x;

printf("x=%f,i=%d”,x,i);

)

A)x=3.600000,i=3B)x=3.6,i=3

C)x=3,i=3D)x=3.600000,i=3.000000

二、填空題

1、在C語言中(以16位PC機(jī)為例),一個float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個double

型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【1

7仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用

第2章C語者的基中於據(jù)類型易表達(dá)K

2、以下程序的輸出結(jié)果是

main()

{inti=010,j=10;

pirntf(z,%d,%d\n,z,i,j);

)

3、已知字母a的ASCH碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch='a/+'8'-'

3'的值為【】。

4、下列程序的輸出結(jié)果為【】。

main()

(intx=3,y=5;

printf('%d”,x=(x-)*(-y));

)

5、設(shè)y是int型,請寫出y為奇數(shù)的關(guān)系表達(dá)式【10

6^設(shè)inta=5,b=6,表達(dá)式(++a==b―)?++a:―b的值是【】。

7、以下程序的輸出結(jié)果是“】。

main()

{inta=0;

a+=(a=8);

printf("%d\n〃,a);}

8、在計算機(jī)中,字符的比較是對它們的進(jìn)行比較。

9、在內(nèi)存中,存儲字符'xz要占用1個字節(jié),存儲字符串〃X"要占用【】個字節(jié)。

10、下列程序的輸出結(jié)果是16.00,請?zhí)羁铡?/p>

main()

{inta=9,b=2;

floatx=[},y=l.1,z;

z=a/2+b*x/y+l/2;

printf(〃%5.2f\n〃,z);

)

ii、以下程序段的輸出結(jié)果是

main()

{inta=2,b=3,c=4;

a*=16+(b++)-(++c);

printf(〃%d〃,a);

)

12、以下程序段的輸出結(jié)果是“】o

intx=17,y=26;

printf(〃%d〃,y/=(x%=6));

仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用8

第2章C轄言的基漳毅據(jù)奏型易表達(dá)W

13、將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是“】o

if(a>b)max=a;

elsemax=b;

14、下列y的值是【】。

inty;y=sizeof(2.25*4);

15、下列x的值是【】。

intx;x=sizeof2.25*4;

16、設(shè)x和y均為int型變量,且x=l,y=2,則表達(dá)式double(1+x/y)的值為【】。

17、把數(shù)學(xué)表達(dá)式m-n改寫成C語言的表達(dá)式是【】。

18、若有以下定義:

chara;intb;

floatc;doubled;

則表達(dá)式a*b+d-c值的類型為1】o

19、若有以下程序段:

intcl=l,c2=2tc3;

c3=l.0/c2*cl;

則執(zhí)行后,c3中的值是【】。

三、部分填空題解析

2、解析:以0開頭的是八進(jìn)制數(shù)。

3、解析:在C語言中,整型,實(shí)型,字符型數(shù)據(jù)間可以混合運(yùn)算,在進(jìn)行運(yùn)算時,不同類

型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后再進(jìn)行運(yùn)算。我們可以這樣計算本題,97+8-3=102,即

102所對應(yīng)的字母為f。

4、解析:X—的值為3,一y的值為4;注意前綴一和后綴一的區(qū)別。

8、解析:C語言中,字符也可以進(jìn)行比較運(yùn)算,且是按照ASCH碼值進(jìn)行的。

9、計算機(jī)存儲一個字符用1個字節(jié),存儲字符串時,每個字符用占用1個字節(jié),另在字符串

的有效字符之后存儲1個字符串的結(jié)束標(biāo)記符。所以存儲字符串“X”要占用2個字節(jié),存儲

字符'x'只要1個字節(jié)。

10、解析:本題最后一條語句,表示以浮點(diǎn)格式輸出z的值,寬度為5,其中所含2位小數(shù),

應(yīng)該注意的是,兩個整型運(yùn)算結(jié)果仍為整型,如1/2的結(jié)果為0,對本題可逐步求解:

16.00=9/2+2*x/l.1+1/2

16.00=4+2*x/l.1+0

12.00=2*x/l.1

所以,x的值為6.6。

11、解析:a*=16+(b++)-(++c)等價于a=a*(16+(b++)-(++c)),b++的值為3,++c

9仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用

第2*C語言的基洋裁據(jù)類型?&表達(dá)K

的值為5,請注意前綴++和后綴++的用法。

12、解析:%是取余運(yùn)算,操作數(shù)為整型,所以最后的結(jié)果也為整型,運(yùn)算過程如下:

y/=(x%-6);

y/=(x=x%6);

y/=5;

y=y/5;y=5;

13、解析:本題考查三目運(yùn)算符的用法,條件運(yùn)算符要求有三個操作對象,稱三目(元)

運(yùn)算符,它是C語言中惟一的一個三目運(yùn)算符。條件表達(dá)式的一般形式為:表達(dá)式1?表達(dá)式

2:表達(dá)式3所以,我們可以寫成(a>b)?a:b,它是一個“條件表達(dá)式"。執(zhí)行順序是:如

果(a>b)條件為真,則條件表達(dá)式取值a,否則取值b。

14、解析:sizeof(2.25*4)為sizeof(10.00)值為8,C語言規(guī)定浮點(diǎn)型常量當(dāng)雙

精度處理(以IBM-PC機(jī)為例)。

15、解析:sizeof運(yùn)算符高于算術(shù)運(yùn)算符,所以sizeof2.25*4等價于(sizeof2.25)*4

為8X4=32(以IBM-PC機(jī)為例)。

16、解析:本題考查兩個知識點(diǎn)?是x/y的值為整型即為0,二是數(shù)字1存放在double中是

double類型。

18、解析:C語言中,如果運(yùn)算符兩邊的數(shù)據(jù)類型不同,將進(jìn)行類型轉(zhuǎn)換,根據(jù)轉(zhuǎn)換規(guī)則,

短整型轉(zhuǎn)為長整型;整型轉(zhuǎn)換為實(shí)型。

19、解析:在賦值運(yùn)算中,如果表達(dá)式中變量和常量的數(shù)據(jù)類型不一致就會自動進(jìn)行類型

轉(zhuǎn)換。系統(tǒng)會計算L0/c2,由于1.0是實(shí)型,所以均先轉(zhuǎn)化為雙精度型0.500000,再和cl轉(zhuǎn)

化后的雙精度數(shù)相乘得0.500000。但其要賦值給整型變量c3,故要進(jìn)行強(qiáng)制轉(zhuǎn)換,c3的值為0。

仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用10

第3*喉方程聲錢什

第3章順序程序設(shè)計

一、選擇題

1、結(jié)構(gòu)化程序所規(guī)定的三種最基本控制結(jié)構(gòu)是

A)輸入、處理、輸出B)樹形、網(wǎng)形、環(huán)形

C)順序、選擇、循環(huán)D)主程序、子程序、函數(shù)

2、若說明int*p,n;則通過語句scanf能夠正確讀入數(shù)據(jù)的程序段是

A)p=&n;scanf("%d",&p);B)p=&n;scanf("%d",*p);

C)scanf("%d",n);D)p=&n;scanf("%d",p);

3、以下程序段的輸出結(jié)果是

inta=1234;

printf("%2d\n",a);

A)12B)34

C)1234D)提示出錯、無結(jié)果

4、已有定義inta=-2;和輸出語句printf("%81x",a);以下正確的敘述是

A)整型變量的輸出形式只有%d一種

B)%x是格式符的一種,它可以適用于任何?種類型的數(shù)據(jù)

C)%x是格式符的?種,其變量的值按十六進(jìn)制輸出,但%81x是錯誤的

D)%81x不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度

5、對下面程序描述正確的一項(xiàng)是(每行程序前面的數(shù)字表示行號)

1main()

2(

3floata[3]={0.0};

4inti;

5for(i=0;i<3;i++)scanf("%d",&a[i]);

6for(i=l;i<3;i++)a[0]=a[0]+aLi];

7printf("%f\n",a[0]);

8)

A)沒有錯誤B)第3行有錯誤

C)第5行有錯誤D)第7行有錯誤

6、若變量已正確說明為int類型,要通過語句scanf("%d%d%d”,&a,&b,&c);給2賦值3,b

賦值5,c賦值8,正確的輸入形式是

A)3c回車〉

5〈回車>

8c回車〉

B)3,5,8<回車)

C)3V回車〉

58〈回車>

D)35c回車〉

8〈回車>

II仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用

第3*艱本在再強(qiáng)什

7、以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯誤的,其錯誤原因是

main()

{int*p,*q,a,b;

p=&a;

printf("inputa:u);

scanf("%d",*p);

)

A)*p表示的是指針變量p的地址

B)*p表示的是變量a的值,而不是變量a的地址

C)*p表示的是指針變量p的值

D)*p只能用來說明p是一個指針變量

8、x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語句是

A)INPUTx、y、z;

B)scanf(n%d%d%dM,&x,&y,&z);

C)scanf("%d%d%d",x,y,z);

D)read(',%d%d%d,',&x,&y,&z);

9、執(zhí)行下列程序時輸入:123〈空格>456(空格>789〈回車〉輸出結(jié)果是

main()

{chars[100];intc,i;

scanf("%c”,&c);scanf(n%d",&i);scanf("%s",s);

printf("%c,%d,%s\nn,c,i,s);}

A)123,456,789B)1,456,789

C)1,23,456,789D)1,23,456

二、填空題

1、以下程序的輸出結(jié)果是【

inta=1234;

printf(u%2d\nu,a);

仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用12

第4*送考修構(gòu)程再鉞計

第4章選擇結(jié)構(gòu)程序設(shè)計

一、選擇題

1、在C程序中,判邏輯值時、用“非(T表示邏輯值“真'又用"0"表示邏輯值“假”。在求邏

輯值時,用()表示邏輯表達(dá)式值為“真、又用()表示邏輯表達(dá)式值為“假乙

A)10B)01

C)非0非0D)11

2、有如下程序段

inta=14,b=15,x;

charc=zA';

x=(a&&b)&&(cv'B');

3、執(zhí)行該程序段后,x的值為

A)tureB)false

C)0D)1

4、若運(yùn)行以下程序時,從鍵盤輸入ADescriptor<CR>(vCR>表示回車),則下面程序的運(yùn)

行結(jié)果是#足4鼠?<stdio.h>

main()

{chare;

intv0=l,vl=0,v2=0;

do{switch(c=getchar())

{case'a':case'A’:

case'e':case'E’:

case'i':case'I’:

case'o':caseO':

case1u':case'U':vl+=l;

default:vO+=1;v2+=1;}

}while(c!=z\nr);

printf(uv0=%d,v1=%d,v2=%d\nn,v0,v1,v2);}

A)v0=7,vl=4,v2=7B)v0=8,vl=4,v2=8

C)v0=ll,vl=4,v2=llD)v0=13,vl=4,v2=12

5、有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x>10.0)y=1.0/x;

elsey=1.0;

printf(u%f\n",y);}

該程序的輸出結(jié)果是

A)0.000000B)0.250000

C)0.500000D)1.000000

6、能正確表示邏輯關(guān)系:“a210或aWO”的C語言表達(dá)式是

13仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用

第4本達(dá)舞修構(gòu)程再效計

A)a>=10ora<=0B)a>=0la<=10

C)a>=10&&a<=0D)a>=10IIa<=0

7、有如下程序

main()

{inta=2,b=-l,c=2;

if(a<b)

if(b<0)c=0;

elseC++;

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

)

該程序的輸出結(jié)果是

A)0B)1

C)2D)3

8、若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是

A)'a'<=c<='z'

B)(c>=,a')II(c<=zz')

C)('a'<=c)and('z'>=c)

D)(c>=za')&&(cv='z')

9、判斷char型變量cl是否為大寫字母的正確表達(dá)式是

A)'A'<=cl<=,Z'

B)(cl>=A)&&(cl<=Z)

C)('A'>=cl)II(zZ'<=cl)

D)Cc\>=A')&&(cl<='Z')

10、下列函數(shù)的運(yùn)行結(jié)果是

main()intf(inta,intb)

{inti=2,p;{intc;

intj,k;if(a>b)c=l;

j=i;elseif(a==b)c=0;

k=++i;elsec=-l;

p=f(j,k);return(c);

u

printf(%d",p);)

11、設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是

A)x&&yB)x<=y

C)xll++y&&y-zD)!(x<y&&!zlll)

12、以下程序的輸出結(jié)果是

main()

{inta,i;a=0;

for(i=l;i<5;i++)

{switch(i)

{case0:

case3:a+=2;

case1:

仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用14

第4本達(dá)喬修構(gòu)程再領(lǐng)針

case2:a+=3;

default:a+=5;

)

Jprintf(n%d\nn,a);

)

A)31B)13

C)10D)20

13、以下程序的輸出結(jié)果是

main()

{inta=4,b=5,c=0,d;

d=!a&&!bll!c;

printf(u%d\n",d);}

A)1B)0

C)非0的數(shù)D)-1

14、設(shè)有:

inta=1,b=2,c=3,d=4,m=2,n=2;

執(zhí)行(m=a>b)&&(n=c>d)后n的值是

A)1B)2

C)3D)4

15、設(shè)x,y,t均為int型變量,執(zhí)行語句:

x=y=3;

t=++xll++y;

完成后,y的值為

A)不確定B)4

C)3D)1

16、若執(zhí)行下面的程序時,從鍵盤上輸入5和2,則輸出結(jié)果是

main()

{inta,b,k;

scanf("%d,%d”,&a,&b);

k=a;

if(a<b)k=a%b;

elsek=b%a;

printf(n%d\nn,k);

)

A)5B)3

C)2D)0

17、請閱讀以下程序:

main()

{inta=5,b=0,c=0;

if(a=b+c)printf(n***\n,f);

elseprintf("$$$\nn);

}

以上程序

A)有語法錯不能通過編譯B)可以通過編譯但不能通過連接

15仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用

第4*述存輅構(gòu)程再領(lǐng)計

C)輸出***D)輸出$$$

二、填空題

1、若已知a=10,b=20,則表達(dá)式!a<b的值為【】。

2、若從鍵盤輸入58.則以下程序輸出的結(jié)果是【】。

main()

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

)

3、以下程序輸出的結(jié)果是【入

main()

{inta=5,b=4,c=3,d;

d=(a>b>c);

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

}

4、關(guān)系表達(dá)式x<y<z,用C語言的表達(dá)式為【】。

5、以下程序的輸出結(jié)果是【

main()

{intx=100,a=10,b=20,ok1=5,ok2=0;

if(a<b)if(b!=15)if(!okl)x=l;

elseif(ok2)x=10;

elsex=-l;

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

6、以下程序的輸出結(jié)果是【L

#definePR(ar)printf("%d,",ar)

main()

{intj,a[]={1,3,5,7,9,11,15},*p=a+5;

for(j=3;j;j-)

switch(j)

{case1:

case2:PR(*p++);break;

case3:PR(*(一p));

)

printf(n\nM);

仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用16

第4*送考修構(gòu)程再鉞計

三、部分填空題解析

1、解析:計算表達(dá)式!a<b,先計算!a,因a的值為10,!a的值為0。關(guān)系表達(dá)式0<20為真,

所以表達(dá)式!a<b的值為1。

2、解析:本題考查對if語句的掌握,當(dāng)輸入58以后,程序中的3個if語句都成立,所以分別

輸出58。

3、解析:本題的關(guān)鍵在于對變量c的賦值運(yùn)算:

d=(a>b>c)

d=(5>4>3)

先算5>3,為真,得1,即:d=(1>3),此時1>3,為假,得0。

4、解析:x<y<z的意思是y大于x并且y小于z,在C語言中,表達(dá)“并且”用邏輯與運(yùn)算符“&&”。

5、程序預(yù)置變量x的值為100,a的值為10,b的值為20,okl為5,ok2為0。程序中給出的if

語句可以寫成更結(jié)構(gòu)化的形式如下:

if(a<b)

if(b!=15)

if(!okl)x=l;

else

if(ok2)x=10;elsex=-l;

由于條件a<b成立,并且條件b!=15也成立,而okl不等于0,執(zhí)行else后的語句。又因ok2等

于0,執(zhí)行else后的語句賦給X。所以程序輸出

6、解析:程序的宏定義PR以d格式輸出參數(shù)的值和逗號字符。程序給數(shù)組a賦初值,并由

指針p指向元素a[5]。程序讓j從3至1,共循環(huán)3次。當(dāng)j是3時,讓p減I,并輸出p所指元素的

值9;當(dāng)j是2和1時,輸出p所指的數(shù)組元素的值,并讓p增1,順序輸出9和11。所以程序輸出:

9,9,11,

17仔細(xì)答題,認(rèn)真總結(jié)!二級考試專用

菊5*循林樓構(gòu)

第5章循環(huán)結(jié)構(gòu)

一、選擇題

1、下面有關(guān)for循環(huán)的正確描述是

A)for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況

B)for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式

C)在for循環(huán)中,不能用break語句跳出循環(huán)體

D)for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來

2、對表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為

A)for(表達(dá)式1;0;表達(dá)式3)B)for(表達(dá)式1;1;表達(dá)式3)

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

3、以下描述中正確的是

A)由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)

合語句

B)do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號

C)在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷

D)do-while循環(huán)中,根據(jù)情況可以省略while

4、C語言中while和do-while循環(huán)的主要區(qū)別是

A)do-while的循環(huán)體至少無條件執(zhí)行一次

B)while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴(yán)格

C)do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)

D)do-while的循環(huán)體不能是復(fù)合語句

5、對下I,n兩個語句描述正確的是

I.while(1

溫馨提示

  • 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

提交評論