國家二級(C語言)筆試模擬試卷122_第1頁
國家二級(C語言)筆試模擬試卷122_第2頁
國家二級(C語言)筆試模擬試卷122_第3頁
國家二級(C語言)筆試模擬試卷122_第4頁
國家二級(C語言)筆試模擬試卷122_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

國家二級(C語言)筆試模擬試卷122

一、公共基礎(chǔ)選擇題(本題共70題,每題7.0分,共

10分。)

1、下列選項(xiàng)中,不是一個算法的基本特征的是()。

A、完整性

B、可行性

C、有窮性

D、擁有足夠的情報

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:作為一個算法,一般應(yīng)該具有下列4個特征:①可行性,即考慮到

實(shí)際的條件能夠達(dá)到一個滿意的結(jié)果:②確定性,算法中的第一個步驟都必須是

有明確定義的:③有窮性,一個算法必須在有限的時間內(nèi)做完;④擁有足夠的情

報。

2、下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性的是()。

A、線性表

B、隊列

C、樹

D、棧

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:線性結(jié)構(gòu),是指數(shù)據(jù)元素只有一個直接前件元素和直接后件元素。線

性表是線性結(jié)構(gòu)。棧和隊列是指對插入和刪除操作有特殊要求的線性表,樹是非線

性結(jié)構(gòu)。

3、下列敘述中錯誤的是()。

A、線性表是由n個元素組成的一個有限序列

B、線性表是一種線性結(jié)構(gòu)

C、線性表的所有結(jié)點(diǎn)有且僅有一個前件和后件

D、線性表可以是空表

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:線性表是一種線性結(jié)構(gòu),由n(*0)個元素組成,所以線性表可以是空

表。但是在線性表中,第一個結(jié)點(diǎn)沒有前件,最后一個結(jié)點(diǎn)沒有后件,其他結(jié)點(diǎn)有

且只有一個前件和后件,所以C是錯誤的。

4、按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

A、隊列

B、棧

C、雙向鏈表

D、二叉樹

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:隊列是一種特殊的線性表,只允許在表的一端插入元素,在表的另一

端刪除元素,插入元素的一端叫“隊尾”,刪除元素的一端叫“隊頭”,先插入的元素

先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。

5、下列關(guān)于線性鏈表的描述中正確的是()。

A、存儲空間不一定連續(xù),且各元素的存儲順序是任意的

B、存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面

C、存儲空間必須連續(xù),且各前件元素一定存儲在后件元素的前面

D、存儲空間必須連續(xù),且各元素的存儲順序是任意的

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析?:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)中的結(jié)點(diǎn)空間是動態(tài)生成的,它們在內(nèi)存中的

地址可能是連續(xù)的,也可能是不連續(xù)的。

6、某二叉樹共有60個葉子結(jié)點(diǎn)與50個度為1的結(jié)點(diǎn),則該二叉樹中的總結(jié)點(diǎn)數(shù)

為()。

A、148

B、169

C、182

D、198

標(biāo)準(zhǔn)答案:2

知識點(diǎn)解析:葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個。所以,具有60個葉子結(jié)點(diǎn)的

二叉樹有59個度為2的結(jié)點(diǎn)。總結(jié)點(diǎn)數(shù)=60個葉子結(jié)點(diǎn)+59個度為2的結(jié)點(diǎn)+50個

度為1的結(jié)點(diǎn)=169個結(jié)點(diǎn).

7、下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。

A、順序存儲的有序線性表

B、結(jié)性鏈表

C、二叉鏈表

D、有序線性鏈表

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:二分法查找只適用于順序存儲的有序線性表,對于順序存儲的非有序

線性表和線性鏈表,都只能采用順序查找。

8、簡單的交換排序方法是()。

A、快速排序

B、選擇排序

C、堆排序

D、冒泡排序

標(biāo)準(zhǔn)答案:8

知識點(diǎn)解析:所謂的交段類排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的

一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡單的交換排序方法,它

通過相鄰元素的交換,逐步將線性表變成有序。

9、對于長度為n的線性表,在最壞情況下,下列各種排序法所對應(yīng)的比較次數(shù)中

正確的是(

A、冒泡排序?yàn)閚/2

B、冒泡排序?yàn)閚

C、快速排序?yàn)閚

D、快速排序?yàn)閚(n-l)/2

標(biāo)準(zhǔn)答案:8

知識點(diǎn)解析:在最壞情況下,冒泡排序和快速排序的比較次數(shù)都是n(n-l)/2。所謂

冒泡排序,就是將相鄰的兩個數(shù)據(jù)相比較,如前面的數(shù)據(jù)大于后面的,則位置互

換。這樣不停地比較、互換,其實(shí)就是把大的數(shù)往后排,小的數(shù)往前撐(就像冒泡

一樣冒出來了)。

10、結(jié)構(gòu)化程序設(shè)計的3種基本結(jié)構(gòu)是()。

A、過程、子程序和分程序

B、順序、選擇和重復(fù)

C、遞歸、堆棧和隊列

D、調(diào)用、返回和轉(zhuǎn)移

標(biāo)準(zhǔn)答案:2

知識點(diǎn)解析:程序的3種基本控制結(jié)構(gòu)包括順序、選擇和重復(fù)(循環(huán)),這3種結(jié)構(gòu)

就足以表達(dá)出各種其他形式的結(jié)構(gòu)。

二、選擇題(1分)(本題共10題,每題1.0分,共10

分。)

11、下列敘述中正確的是()。

A、C程序由函數(shù)組成

B、C程序由主函數(shù)構(gòu)成

C、C程序由函數(shù)和過程構(gòu)成

D、在C程序中無論是整數(shù)還是實(shí)數(shù),都可以正確無誤的表示出來

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:本題涉及C語言最基本的兩個知識點(diǎn):①C程序是由函數(shù)構(gòu)成的,

有且僅有一個主函數(shù),也可以有其他的函數(shù);②整數(shù)在允許的范圍內(nèi)可以準(zhǔn)確無

誤的表示出來,但計算機(jī)的存儲能力有限,不能表示無限精度的實(shí)數(shù)。

12、設(shè)有定義下列:inia=l,b=2,c=3,d=4,m=2,n=2;則表達(dá)式(m=a>b)&&(n=c>d)

運(yùn)算后,n的值是()。

A、4

B、3

C、2

D、0

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:在邏輯與&&運(yùn)算中,如果第一個操作數(shù)為假,則結(jié)果是假,后面的

操作數(shù)不參與運(yùn)算,本題中因?yàn)榈谝粋€操作數(shù)(m=a>b)為假,所以第二個操作數(shù)

(n=c>d)不參加運(yùn)算,因此n的值不變。

13、執(zhí)行下列程序段后,變量a,b,c的值分別是()。intx=5,y=4;inta,b,c;a=(-

x==y++)?x:++y;b=++x;c=y;

A、a=5,b=5,c=5

B、a=4,b=5,c=5

C、a=5,b=6,c=5

D、a=l,b=5,c=6

標(biāo)準(zhǔn)答案:2

知識點(diǎn)解析:本題考查自加(++),自減(-)運(yùn)算符的使用。“++i,?城',在使用i之

前,先使i的值加1或者減1,再使用此時的表達(dá)式的值參與運(yùn)算:%++,「“,先使

用此時的i的值參與運(yùn)算,在使用i之后,再使i的值加1或者減1。對于第1個

表達(dá)式--x=4,y++=4.兩者相等,-x==y++為真,所以a=x=4,執(zhí)行完此語句后y

的值是5。第2個表達(dá)式6=++*,x的值先加1,然后賦給b,即b=x+l=5;第一

個表達(dá)式c=y=5o

14、下列程序的輸出結(jié)果是()。main(){inta=l,b=2;printf("%d,%d\n",-a,++b);)

A、1,2

B、1,3

C、0,2

D、0,3

標(biāo)準(zhǔn)答案:8

知識點(diǎn)解析:本題主要考查自加(++)、自減(--)運(yùn)算符的使用。-i”在使用i之

前,先使i的值加1或者減1,然后再使用i此時的值參與運(yùn)算;“i++,i-”是在使

用i參與表達(dá)式運(yùn)算之后,再使i的值加1或者減1。本題中-a和++b是先執(zhí)行a

減1和b加1操作,再輸出表達(dá)式的值。

15、下列變量聲明合法的是()。

A、shorta=1.4c-l;

B>doubleb=l+3e2.8;

C^longdo=0xfdaL;

D^float2_aaa=le-3;

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:解答本題需了解3個知識點(diǎn):①標(biāo)識符是由字母、數(shù)字或下畫線組

成,并同它的第一個字符必須是字母或者下畫線;②do是C語言中的一個關(guān)鍵

字,不能再用做變量名和函數(shù)名;③C語言規(guī)定指數(shù)形式的實(shí)型常量e或E后面

的指數(shù)必須是整數(shù)。

16、在函數(shù)scanf的格式控制中,格式說明的類型與輸入項(xiàng)的類型應(yīng)該對應(yīng)匹配。

如果類型不匹配,系統(tǒng)將()。

A、不予接收

B、并不給出出錯信息,但不能得到正確的數(shù)據(jù)

C、能接收到正確輸入

D、給出出錯信息,不予接收輸入

標(biāo)準(zhǔn)答案:2

知識點(diǎn)解析:在scanf函數(shù)的格式控制中,格式說明的類型與輸入項(xiàng)的類型必須一

一對應(yīng)匹配,如不匹配將導(dǎo)致數(shù)據(jù)輸入出現(xiàn)錯誤,但是系統(tǒng)并不報錯。

17、若有下列定義(設(shè)int類型變量占2個字節(jié)):floatx=123.4567;則下列語句:

printf("x=%5.2f,x);輸出的結(jié)果是()。

A、x=123.46

B、123.4567

C、x=123.4567

D、123.46

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:本題考查printf函數(shù)的格式?!埃?.2『格式符中的”「表示以帶小數(shù)點(diǎn)

的形式輸出單精度或者雙精度數(shù):“5”表示指定數(shù)據(jù)輸出寬度為5;3.2”表示指定輸

出數(shù)據(jù)小數(shù)位占2位數(shù),并對截去的第一位小數(shù)做四舍五入處理。

18、F列程序的輸出結(jié)果是0。include<stdio.h>main(){inii;for(i=l;i<=10;

i++){if((i*i>=20)&&(i*i<=100))}break;printf(',%d\n,,,i*i);}

A、49

B、36

C、25

D、64

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:本題考查if語句。當(dāng)執(zhí)行到第一個滿足(i*i>=20)&&(i*iV=100)這個

條件的i出現(xiàn)時,通過break語句跳出循環(huán),執(zhí)行下列的printf語句。

19、若執(zhí)行下列的程序時,從鍵盤上輸入1和2,則輸出結(jié)果是()。#include<

stdio.h>main(){inta,b.s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;S=S*S,

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

A、1

B、4

C、2

D、9

標(biāo)準(zhǔn)答案:2

知識點(diǎn)解析:本題考查if語句。scanf函數(shù)通過鍵盤讀入a、b的值,a=l,b=2。第

一個if語句,先判斷條件,發(fā)現(xiàn)aVb條件成立,則s=b=2,s=s*s=4o

20>有下列程序main(){intt,a=l,b=5,c=-2;while(a>b>c){t=a;a=b;b=t;c++;}

printf("%d,%d,%d",a,b,c);)程序輸出的結(jié)果是().

A、1,5,0

B、1,5,-2

C、5,1,-1

D、5,1,-2

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:本題考查while循環(huán)。先判斷while循環(huán)的控制表達(dá)式是否成亢,發(fā)

現(xiàn)a>b>c不成立,所以不執(zhí)行循環(huán)。直接輸出a、b、c的值。

三、選擇題(2分)(本題共20題,每題1.0分,共20

分。)

21、有下列程序段:imk=0,a=l,b=2,c=3;k=a<b?b:a:k=k>c?c=k;執(zhí)行

該程序段后,k的值是()。

A、3

B、2

C、1

D、0

標(biāo)準(zhǔn)答案:2

知識點(diǎn)解析:因?yàn)閍Vb成立,所以條件表達(dá)式a〈b?b:a的值等于b的值等于2,

因此變量k的值等于2。又因?yàn)閗=2>c=3不成立,所以條件表達(dá)式k>c?c:k的

值等于k的值等于2。把條件表達(dá)式k>c?c:k的值賦給變量k,因而變量k的值

等于2。因此,選項(xiàng)B)為正確答案。

22有下列程序:main(){inty=20;do{y—;}while(—y);printf("%d\n",y—);)

當(dāng)執(zhí)行程序時,輸出的結(jié)果是()。

A、-1

B、1

C、4

D、0

標(biāo)準(zhǔn)答案:8

知識點(diǎn)解析:本題考查do…while循環(huán)。當(dāng)一y是0(即y是0)時結(jié)束循環(huán),輸出y—

是先輸出y的值再將y的值減1。

23、有下列程序段:structst{intX;int*y;}*pt;inta[]={1,2),b[]={3,4};

structstc[2]={10,a,20,b);pt=c;下列選項(xiàng)中表達(dá)式的值為11的是()。

A、*pt->y

B、pt->x

C^++pt->x

D、(pt++)->X

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:由題目的己知條件可知,pl指向結(jié)構(gòu)體數(shù)組c[2]的第一元素c[0],所

以pt->x=10,執(zhí)行自加運(yùn)算后為11。

24、表達(dá)式的值是O。

A、整數(shù)6

B、字符6

C、表達(dá)式不合法

D、字符8

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:在C語言中,雖然字符都是變?yōu)槠鋵?yīng)的ASCII碼值來參與算術(shù)運(yùn)

算的,但字符間的相對位置關(guān)系還是不變的,字符8和字符2的ASCII碼值相差仍

是6<>

25、在嵌套使用if語句時,C語言規(guī)定else總是()。

A、和之前與其具有相同縮進(jìn)位置的if配對

B、和之前與其最近的if配對

C、和之前與其最近的且不帶else的if配對

D、和之前的第一個if配對

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)

合,與書寫格式無關(guān)。所以選項(xiàng)C)為正確答案。

26、下列函數(shù)值的類型是()。fun(doubiex){floaty;y=3*x-4;returny;)

A、int

B、不確定

C、void

D、float

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:本題考查默認(rèn)函數(shù)的函數(shù)值的類型。在函數(shù)調(diào)用時,盡管y的類型是

float,x的類型是double,但是因?yàn)楹瘮?shù)定義時省去類型說明,系統(tǒng)默認(rèn)函數(shù)值的

類型為int型,所以計算后的y的類型是int型。

27、有下列程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=l;

k—;break;default:n=0:k—;case2:case4:n+=2;k—;break;}

printf("%d",n);)while(k>0&&n<5);)程序運(yùn)行后的輸出結(jié)果是()。

A、235

B、235

C、2356

D、2356

標(biāo)準(zhǔn)答案:2

知識之解析:因?yàn)樽兞康某跏贾捣謩e為k=5,n=0,所以程序第1次進(jìn)入循環(huán)時,執(zhí)

行defauh語句,輸出0,k減1:這時n=0,k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case

4:這個分支,結(jié)果是n=2,k=3,打印出2;這時n=2,k=3,程序進(jìn)行第3次循環(huán),

執(zhí)行case3:這個分支,結(jié)果是n=3,k=2,打印出3;這時n=3,k=2,程序然后進(jìn)行

第4次循環(huán),執(zhí)行case2:case4:這個分支,結(jié)果是n=5,k=l,打印出5,這時

因?yàn)閚=5不滿足nV5的循環(huán)條件,因此退出循環(huán),程序運(yùn)行結(jié)束。所以在屏幕上

打印出的結(jié)果是0235。

28、卜列程序執(zhí)行輸出的結(jié)果是()。#include<stdio.h>f(inta){intb=0;stoic

c=3;a=c++;b++;return(a);}main(){inta=2,i,k;for(i=0;i<2;i++)

k=f(a++);pnntf("%d\n',k);}

A、3

B、4

C、5

D、6

標(biāo)準(zhǔn)答案:2

知識點(diǎn)解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。在函數(shù)調(diào)用時,sialic變顯在函數(shù)

調(diào)用結(jié)束后所做的所有變化均保持(即上次調(diào)用結(jié)束時的值)。在主函數(shù)中,第一次

循環(huán),i=0,調(diào)用k=f(a++)=f(2),調(diào)用完之后才將a加1,a變?yōu)?,在f(2)中,先

將c=3賦值給a返回,然后將c加1,得到k=a=3,c=4,>第二次循環(huán),i=l,調(diào)用

k=f(a++)=f(3),調(diào)用完之后才將a加1,a變?yōu)?,在f(3)中,先將c=4賦值給a返

回,然后將c加1,得到k=a=4,c=5o

29、設(shè)有下列的程序段:charstr[]=,,HelloWorld";char*ptr;ptr=str;執(zhí)行上面的

程序段后,*(ptr+10)的值為()。

A、

B、'0'

C、不確定的值

D、U的地址

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:本題涉及字符數(shù)組和指針兩個知識點(diǎn):①在C語言中,字符型數(shù)組

在存放字符串時會自動在末尾加上‘\0',所以題中數(shù)組str有11個元素;②ptr指向

數(shù)組sir的首地址,plr+10是指向sb|10],*(ptr+10)是引用str[10]的值。

30、分析下列程序:#include<stdio.h>main(){int*pl>*p2,*p;inta=6,

b=9;pl=&a;p2=&b;if(a<b){p=pl;pl=p2;p2=p;)printf("%d?%d",*pl,

*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為0。

A、9,66,9

B、6,99,6

C、6,96,9

D、9,69,6

標(biāo)準(zhǔn)答案:1

知識之解析:通過pl=&a,p2=&b分別將a、b的地址賦給指針pl、p2,接著執(zhí)行

if語句,發(fā)現(xiàn)aVb成立,則通過交換pl、p2的值,即交換a、b所在存儲單元的

地址,但是a、b的值并沒有發(fā)生變化。

31、若有定義inta[10],*p=a,則p+6表示()。

A、數(shù)組元素a[5]的值

B、數(shù)組元素a[5]的地址

C、數(shù)組元素a[6J的地址

D、數(shù)組元素a[0]的值加上5

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:指針中存放的是變量的地址,指針也可以進(jìn)行加減運(yùn)算,這時指針移

動的最小單位是一個存儲單元,而不是一個字節(jié)。所以題中p+6指的是將指針向

后移動了6個存儲單元,指向a[6],存放的是a[6]的地址。

32、下列說法正確的是()。

A、在C語言中,可以使用動態(tài)內(nèi)存分配技術(shù),定義元素個數(shù)可變的數(shù)組

B、在C語言中,數(shù)組元素的個數(shù)可以不確定,允許I值機(jī)變動

C、在C語言中,數(shù)組元素的數(shù)據(jù)類型可以不一致

D、在C語言中,定義了一個數(shù)組后,就確定了它所容納的元素的個數(shù)

標(biāo)準(zhǔn)答案:8

知識點(diǎn)解析:本題考查數(shù)組的兩個知識點(diǎn):①在C語言中,數(shù)組元素的個數(shù)是確

定的,不允許隨機(jī)變動,數(shù)組定義好之后,它所能容納的元素的個數(shù)也就確定九

②同一個數(shù)組中所有元素的類型是一樣的。

33、下列的程序用來輸出兩個字符串前7個字符中對應(yīng)相等的字符及其位置號,程

序空白處應(yīng)該填寫的是()o#include<stdio.h>main(){char

sl[]="chinese",s2[]="japneseH;inti;for(i=0:sl[i]!=,\O,&&s2[i]!=,\0,;i++)

if(sl[i]==s2[i]&&i<7),)

A、putchar(s2[i]);putchar(i)

B、puts(sl([i],i)

C、printf(,,%c%d\n,,,s2[i],i)

D、printf("%c",sl[i]);printf("%d\n",i)

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:pulchar(s)的功能是把字符s輸出到標(biāo)淮輸出設(shè)備;puts(sl)是把si指

向的字符串輸出到標(biāo)準(zhǔn)輸出設(shè)備。

34、若已包括頭文件Vstdio.h>和Vstring.h>,運(yùn)行下列程序段時輸出結(jié)果是()。

inti=0;chars1[10]=MABCD\s2[10]=,'EFG";strcat(sl,s2);while(s2[i++]!=,\0,)

s2[i]=sl[i];puts(s2);

A、ABC

B、ABCDEF

C、EBCDEFG

D、CBD

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:strcaKsl,s2)把s2連接到si的后面,sl=ABCDEFG,執(zhí)行

while(s2[i++]!=\(T)后i的值變?yōu)?,往后執(zhí)行s2[i]=sl[i]時是從把si的第二位給s2

的第二位開始,把si賦給s2。

35、下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){static

charaLJ="Languagef",bU="programe";char*pl,*p2;intk;pl=a;p2=b;

for(k=0;k<=8;k++)if(*(pl+k)==*(p2+k))printf("%c",*(pl+k));)

A、gae

ang

C、program

D、有語法錯

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:本題考查有針的用法,if(*(pl+k)=*(p2+k))語句的功能是判斷兩個數(shù)

組中的字符是否相同,如果相同則輸出。

36、卜.列程序的運(yùn)行結(jié)果為()。#defineMAX(x,y)(x)>(y)?(x):(y)main(){int

a=2,b=3,c=l,d=3,t;printf("%d\nn,(MAX(a+b,c+d))*100);}

A、500

B、5

C、4

D、400

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:(x)>(y)?(x):(y)是x>y時

輸出x,否則輸出y,調(diào)用(MAX(a+b.c+d))*100時.(a+h=5)>(c+(i=4),所以輸

出a+b=5,所以x=5*100。

37、設(shè)定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語句是()。stmctst

{intx;inty;intz;)structworker{charname[20];charsex:structst

birth;}p;

A、x=1987

B、birth.x=1987;

C、p.birth.x=1987;

D、p.x=1987;

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worke「中

的birlh是一個s1型的結(jié)構(gòu),在給birlh賦值時,不能將birth作為一個整體,要用

”運(yùn)算再深入一?層訪問到最基本的成員x、y\z。

38、對于下列定義,不正確的敘述是()。uniondata{inta;charb;double

c:|x=y;

A、變量x所占內(nèi)存的長度等于成員c的長度

B、變量x的地址和它的各成員地址都是相同的

C、可以在定義時對x初始化

D、不能對變量x賦值,故x=y非法

標(biāo)準(zhǔn)答案:4

知識點(diǎn)解析:本題主要考查的知識點(diǎn)是聯(lián)合體的內(nèi)存使用。聯(lián)合體所占用的內(nèi)存空

間為最長的成員所占用的空間,各個成員分量全部是從低地址方向開始使用內(nèi)存單

元。不能在定義共用體變量時對它初始化。

39、表達(dá)式?0x11的值是()。

A^OxFFEE

B、0x71

C、0x0071

D、OxFFEI

標(biāo)準(zhǔn)答案:1

知識點(diǎn)解析?:本題主要考查按位求反運(yùn)算和整型常量的表示:①十六進(jìn)制整型常

顯的形式是以數(shù)字Ox或OX開頭的十六進(jìn)制字符串;②按位求反運(yùn)算的規(guī)則是:

將二進(jìn)制表示的運(yùn)算對象按位取反,即將1變0,將0變I?!?x11”即00000000

00010001,進(jìn)行按位求反運(yùn)算“?Oxi1”后為1111111111101110,即OxFFEEo

40、函數(shù)fscek。的正確調(diào)用形式是()。

A、fseek(位移量,起始點(diǎn),文件類型指針);

B、fseek(文件類型指針,位移量,起始點(diǎn));

C、fseek(文件類型指針,起始點(diǎn),位移量);

D、fseek(起始點(diǎn),位移量,文件類型指針);

標(biāo)準(zhǔn)答案:2

知識點(diǎn)解析:改變文件位置的指針函數(shù)fseek。的調(diào)用形式為:fseek(fp,offset,

position);ofseek函數(shù)參數(shù)說明:“fp”是指向該文件的文件型指針;“offset”為位移

量,指從起始點(diǎn)position到要確定的新位置的字節(jié)數(shù)。也就是以起點(diǎn)為基準(zhǔn),向前

移動的字節(jié)數(shù)。ANSIC要求該參數(shù)為長整型量;“position”為起始點(diǎn),指出以文件

的什么位置為基準(zhǔn)進(jìn)行移動,posilion的值用整型常數(shù)表示,”(F表示文件的開頭,

“廣表示文件的當(dāng)前位置,“2”表示文件的末尾。

四、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5

分。)

41、數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高和低冗余性、數(shù)據(jù)獨(dú)立

性和數(shù)據(jù)統(tǒng)一管理和控制。

標(biāo)準(zhǔn)答案:共享性

知識點(diǎn)解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共

享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。

42、數(shù)據(jù)庫的邏輯模型設(shè)計階段的任務(wù)是將轉(zhuǎn)換成關(guān)系模式。

標(biāo)準(zhǔn)答案:E-R圖

知識點(diǎn)解析:數(shù)據(jù)庫邏輯設(shè)計的任務(wù)是將概念模型進(jìn)一步轉(zhuǎn)化成相應(yīng)的數(shù)據(jù)模型。

而E-R圖是主要的概念模型,因此數(shù)據(jù)庫的邏輯設(shè)計的主要工作是將E-R圖轉(zhuǎn)換

成關(guān)系模式。

43、在面向?qū)ο蠓椒ㄖ?,描述的是具有相似屬性與操作的一組對象。

標(biāo)準(zhǔn)答案:類

知識點(diǎn)解析:在面向?qū)ο蠓椒ㄖ校丫哂邢嗤瑢傩院头椒ǖ膶ο蠓Q為類,類是對象

的抽象,對象是類的實(shí)例。

44、最簡單的交換排序方法是______。

標(biāo)準(zhǔn)答案:冒泡排序

知識點(diǎn)解析:交換排序是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法。冒

泡排序是一種最簡單的交換排序方法,它是通過相鄰元素之間的相互交換逐步將線

性表變成有序。

45、在鏈表的運(yùn)算過程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是o

標(biāo)準(zhǔn)答案:循環(huán)鏈表

知識點(diǎn)解析:在循環(huán)鏈表中,由于設(shè)置了一個頭結(jié)點(diǎn),因此在任何情況下,循環(huán)鏈

表中至少有一個結(jié)點(diǎn)存在,從而使空表與非空表的運(yùn)算統(tǒng)一。

五、填空題(本題共10題,每題1.0分,共10分。)

46、x和y都是double型變量,x的初值為4.0,y的初值為2.0,則表達(dá)式

pow(y,fabs(x))的值為。

標(biāo)準(zhǔn)答案:0

知識點(diǎn)解析:函數(shù)運(yùn)算不改變數(shù)據(jù)類型,所以結(jié)果也是double型,fabs(x)是對x取

絕對值,pow(y,fabs(x))是y的fabs(x)次痛即2.04。0=16.000000(注意:結(jié)吳為

double型)。

47、若x為int類型,請寫出與!x等價的C語言表達(dá)式。

標(biāo)準(zhǔn)答案:x==0

知識點(diǎn)解析:!x的邏輯意思就是X為非,即x==0。

48、下列程序的運(yùn)行結(jié)果是_____o#include<stdio.h>main()(inta,b,c;

a=3;b=4;c=5;if(a>b)if(a>c)printf("%d",a);elseprintf("%d",b);printf("%d\n",c);}

標(biāo)準(zhǔn)答案:5

知識點(diǎn)解析:分析程序,當(dāng)a=3;b=4;c=5時,判斷語句a>b不成立,所以不執(zhí)

行后面的語句,直接執(zhí)行力「加口”%€15"?;”語句,輸出c的值,輸出結(jié)果為5。

49>下列語句能循環(huán)次。ints=12;while(s);--S;

標(biāo)準(zhǔn)答案:無限

知識點(diǎn)解析:分析程序“while(s)”語句后面有一個“;”不能執(zhí)行后面的語句,只是

執(zhí)行空語句,所以s=12保持不變,因此,沒有條件限制的能循環(huán)無限次(即死循

環(huán))。

50、下列程序的運(yùn)行結(jié)果是。main(){inta=l,b=10;do{b-=a;a++;}while(b—

<0);printf("%d,%d\nH,a.b);}

標(biāo)準(zhǔn)答案:2,8

知識點(diǎn)解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制

條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。這里程序初始

時a=l,b=10,經(jīng)過操作b-=a;a++后b=9,a=2,判斷條件b--V0不成立,退出循

環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8o

51、若定義#defincPI3.14159,則執(zhí)行完下列程序后輸出結(jié)果是。#dcfine

PI3.14159;printf(nPI=%r,PI);

標(biāo)準(zhǔn)答案:PI=3.14159

知識點(diǎn)解析:本題先定義了一個宏名P

溫馨提示

  • 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

提交評論