2022年河南省三門峽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第1頁
2022年河南省三門峽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第2頁
2022年河南省三門峽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第3頁
2022年河南省三門峽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第4頁
2022年河南省三門峽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2022年河南省三門峽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.數(shù)據(jù)庫系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員

2.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

3.s1和s2已正確定義并分別指向兩個(gè)字符串。若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語句s;則以下選項(xiàng)中正確的是()。

A.if(s1>s2)S;

B.if(strcmp(s1,s2))S;

C.if(strcmp(s2,sl)>O)S;

D.if(stremp(s1,s2)>O)S;

4.有以下程序

prt(int*m,intn)

{

inti;

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

m[i]++;

}

main()

{

inta[]={1,2,3,4,5},i;

prt(a,5);

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

printf("%d,",a[i]);

}

程序運(yùn)行后的輸出結(jié)果是A.A.1,2,3,4,5,

B.3,4,5,6,7,

C.2,3,4,5,6,

D.2,3,4,5,1,

5.有以下程序:main{inta=0,b=0;a=10;/*給a賦值b=20;給b賦值*/printf(“a+b=%d\n”,a+b);/*輸出計(jì)算機(jī)結(jié)果*/}程序運(yùn)行后的輸出結(jié)果是()。A.a+b=10B.a+b=30C.30D.出錯(cuò)

6.以下敘述中錯(cuò)誤的是()。

A.將函數(shù)內(nèi)的局部變量說明為static存儲(chǔ)類是為了限制其他編譯單位的引用

B.—個(gè)變量作用域的開始位置完全取決于變量定義語句的位置

C.全局變量可以在函數(shù)以外的任何部位進(jìn)行定義

D.局部變量的“生存期”只限于本次函數(shù)調(diào)用,因此不能將局部變量的運(yùn)算結(jié)果保存至下一次調(diào)用

7.若有以下說明:chars1[]={"tree"},s2[]={"flower"};,則以下對(duì)數(shù)組元素或數(shù)組的輸出語句中,正確的是()。

A.printf("%s%s",s1[5],s2[7]);

B.printf("%c%c",s1,s2);

C.puts(s1);puts(s2);

D.puts(s1,s2);

8.有下列程序:main{intk=5,n=0;while(k>0){switch(k){dcfault:break;case1:n=n+k;case2:case3:n+=k;}k--;}printf("%d\n".n);}程序運(yùn)行后的輸出結(jié)果足()。A.0B.4C.6D.7

9.下面結(jié)構(gòu)中最適于表示稀疏無向圖的是()。

A.鄰接矩陣B.逆鄰接表C.鄰接多重表D.十字鏈表

10.以下正確的字符串常量是()。

A.\\\B.'abc'C.OlympicGames

11.判斷字符串s1是否大于字符串s2,應(yīng)該使用()。

A.if(strcmp(s1,s2)<0)

B.if(s1>s2)

C.if(strcmp(s2,s1)<0)

D.if(strcmp(s1,s2))

12.下列關(guān)于函數(shù)的敘述中正確的是()。A.A.每個(gè)函數(shù)都可以被其他函數(shù)調(diào)用(包括main函數(shù))

B.每個(gè)函數(shù)都可以被單獨(dú)編譯

C.每個(gè)函數(shù)都可以單獨(dú)運(yùn)行

D.在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)

13.下列描述錯(cuò)誤的是()。

A.繼承分為多重繼承和單繼承

B.對(duì)象之問的通信靠傳遞消息來實(shí)現(xiàn)

C.在外面看不到對(duì)象的內(nèi)部特征是基于對(duì)象的“模塊獨(dú)立性好”這個(gè)特征

D.類是具有共同屬性、共同方法的對(duì)象的集合

14.假設(shè)把整數(shù)關(guān)鍵碼K散列到有N個(gè)槽的散列表,以下哪些散列函數(shù)是好的散列函數(shù)()

A.h(K)=KmodN

B.h(K)=1

C.h(K)=K/N

D.h(K)=(K+rand(N))modN,rand(N)返回一個(gè)0到N-1的整數(shù)

15.在長度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是A.O(n)

B.O(n2)

C.O(log2n)

D.O(nlog2n)

16.有以下程序:#include<stdio.h>main(){inta=2,b=3,c=4;a*=16+(b++)-(++c);printf(“%d\n”,a);}程序運(yùn)行后的輸出結(jié)果是()。

A.15B.30C.28D.14

17.設(shè)有以下語句

charchl,ch2;scanf("%c%C",&chl,&ch2);

若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。

A.A和B之間用逗號(hào)間隔

B.A和B之間不能有任何間隔符

C.A和B之間可以用回車間隔

D.A和B之間用空格間隔

18.有如下程序段:

inta=14,b=15,x;

charc='A';

x=(a&&b)&&(c<'B'):

執(zhí)行該程序后,x的值為()。A.A.trueB.falseC.0D.1

19.下列說法錯(cuò)誤的是______。

A.關(guān)系中每一個(gè)屬性對(duì)應(yīng)一個(gè)值域

B.關(guān)系中不同的屬性可對(duì)應(yīng)同一值域

C.對(duì)應(yīng)同一值域的屬性為不同的屬性

D.DOM(A)表示屬性A的取值范圍

20.標(biāo)準(zhǔn)庫函數(shù)fgets(str,n,fp)的功能是()。A.從fp所指的文件中讀取長度不超過n-1的字符串存入指針str所指的內(nèi)存

B.從fp所指的文件中讀取長度為n的字符串存入指針str所指的內(nèi)存

C.從fp所指的文件中讀取n個(gè)字符串存入指針str所指的內(nèi)存

D.從fp所指的文件中讀取長度為n-1的字符串存入指針str所指的內(nèi)存

二、2.填空題(20題)21.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),線性表、棧和隊(duì)列都屬于【】。

22.下列程序的運(yùn)行結(jié)果是______。

#definePOW(r)(r)*?

main()

{intx=3,y=2,t;

t=POW(x+y);

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

}

23.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。

24.性表的多種存儲(chǔ)結(jié)構(gòu)中,最簡單的方法是【】。

25.以下程序運(yùn)行后的輸出結(jié)果是【】。

main()

{intx,a=1,b=2,c=3,d=4;

x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;

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

}

26.數(shù)據(jù)庫理論中,數(shù)據(jù)的獨(dú)立性一般可分為物理獨(dú)立性和______。

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

28.以下程序的輸出結(jié)果是【】。

main()

{char*p[]={"BOOL","OPK","H","SP"};

inti;

for(i=3,i>=0;i--,i--)printf("%c",*p[i]);

printf("\n");

}

29.下列程序的輸出結(jié)果是______。

#include<stdio.h>

main0

{intx=1,y=1,a=1,b=1;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:

a++;b++;break;

}

printf("a=%d,b=%d\n",a,B);

}

30.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。

31.當(dāng)運(yùn)行以下程序時(shí),輸入abcd,程序的輸出結(jié)果是:()。

insert(charstr[])

{inti;

i=strlen(str);

while(i>0)

{str[2*i]=str[i];str[2*i-1]='*';i--;}

printf("%s\n",str);

}

main()

{charstr[40];

scanf("%s",str);insert(str);

}

32.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為______。

33.軟件生命周期包括2今階段。為了使各時(shí)期的任務(wù)更明確,又可分為3個(gè)時(shí)期:軟件定義期、軟件開發(fā)期、軟件維護(hù)期。編碼和測(cè)試屬于【】期。

34.關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、______和自定義完整性。

35.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),帶鏈的棧屬于【】。

36.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】兩部分組成。

37.下列程序的運(yùn)行結(jié)果為【】。

voidaverage();

main()

{floatscore[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,99}};

average(*score,12);

}

voidaverage(p,n)

intn;

float*p;

{inti;

floatsum=0;

for(i=0;i<n;i++,p++)sum+=(*p);

printf("%.2f\n",sum/n);

}

38.有以下程序

intsub(intn){retnrn(n/10+n%10);}

main()

{intx,y;

scanf("%d",&x);

y=sub(sub(sub(x)));

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

}

若運(yùn)行時(shí)輸入:1234<回車>,程序的輸出結(jié)果是______。

39.以下程序段的輸出結(jié)果是【】。

inta=1234;

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

40.有以下程序:

main()

{charstr[]="xyz",*ps=str;

while(*ps)ps++;

for(ps--;ps-str>=0;ps--)puts(ps);

}

執(zhí)行后的輸出結(jié)果是【】。

三、1.選擇題(20題)41.有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}該程序輸出結(jié)果是______。

A.0B.0.25C.0.5D.1

42.有以下程序main()inta[10]={1,2,3,4,5,6,7,8,9,10},*p=.&a[3],*q=p+2;printf("%d\n",*p+*q);程序運(yùn)行后輸出結(jié)查是

A.16B.10C.8D.6

43.已定義下列函數(shù):intfun(int*p){return*p;)fun函數(shù)返回值是()。

A.不確定的值B.一個(gè)整數(shù)C.形參p中存放的值D.形參p的地址值

44.在函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù)funB,函數(shù)funB又調(diào)用了函數(shù)funA,則()。

A.稱為函數(shù)的直接遞歸調(diào)用B.稱為函數(shù)的間接遞歸調(diào)用C.稱為函數(shù)的循環(huán)調(diào)用D.C語言中不允許這樣的遞歸調(diào)用

45.設(shè)a、b、c、d、m.n均為血型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為______。

A.0B.1C.2D.3

46.有以下語句,則對(duì)a數(shù)組元素的引用不正確的是inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))

47.順序查找一個(gè)具有n個(gè)元素的線性表,二分查找一個(gè)具有n個(gè)元素的有序表,其時(shí)間復(fù)雜性為______。

A.O(n)

B.O(log2n)

C.O(n2)

D.O(nlog2n)

48.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。

A.x&&y

B.x<=y

C.x‖y+z&&y-z

D.!((x<y)&&!z‖1)

49.有以下程序:#include<stdio.h>main()inti;for(i=0;i<3;i++)switch(i)case0:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);程序運(yùn)行后的輸出結(jié)果是()。

A.22111B.21021C.122D.12

50.fscanf函數(shù)的正確調(diào)用形式是()。

A.fscanf(文件指針,格式字符串,輸出表列);

B.fscanf(格式字符串,輸出表列,文件指針);

C.fscanf(格式字符串,文件指針,輸入表列);

D.fscanf(文件指針,格式字符串,輸入表列);

51.若有下列語句:chara[]="xyz";charb[]=}'x','y','z'};則下列敘述正確的是______。

A.數(shù)組a和數(shù)組b不等價(jià)

B.數(shù)組a和數(shù)組b的長度相同

C.數(shù)組a占用空間大小等于數(shù)組b占用空間大小

D.數(shù)組a占用空間大小大于數(shù)組b占用空間大小

52.若執(zhí)行下列程序時(shí)從鍵盤上輸入2,則輸出結(jié)果是()。#include<stdio.h>main(){inta;scanf("%d",&a);if(a++<3)printf("%d\n",a);elseprintf("%d\n",a--);}

A.1B.3C.2D.4

53.有以下程序:main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}程序運(yùn)行后的輸出結(jié)果是______。

A.16516.5B.1651.56.5C.1651.06.5D.2651.56.5

54.設(shè)x和y都是int類型,且x=1,y=2,則printf("%d%d",x,y,(x,y))的輸出結(jié)果是()。

A.12B.122C.1,2D.輸出值不確定

55.在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過程屬于()。

A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

56.下列關(guān)鍵字中,不屬于C語言變量存儲(chǔ)類別的是______。

A.registerB.autoC.externD.public

57.設(shè)有以下說明語句structex{intX;floaty;charz;}example;則下面的敘述中不正確的是

A.struct結(jié)構(gòu)體類型的關(guān)鍵字

B.example是結(jié)構(gòu)體類型名

C.x,y,z都是結(jié)構(gòu)體成員名

D.structex是結(jié)構(gòu)體類型名

58.使計(jì)算機(jī)病毒傳播范圍最廣的媒介是________

A.硬磁盤B.軟磁盤C.內(nèi)部存儲(chǔ)器D.互聯(lián)網(wǎng)

59.在C語言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是()。

A.auto和register

B.extern和register

C.auto和static

D.static和register

60.概要設(shè)計(jì)是軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì),以下選項(xiàng)中不屬于概要設(shè)計(jì)的是()。A.A.把軟件劃分成模塊B.確定模塊之間的調(diào)用關(guān)系C.確定各個(gè)模塊的功能D.設(shè)計(jì)每個(gè)模塊的偽代碼

四、選擇題(20題)61.

62.

63.有以下程序:

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

A.-3,-1,1,3,B.-12,-3,0,0,C.0,1,2,3,D.-3,-3,-3,-3,

64.用樹形結(jié)構(gòu)來表示實(shí)體之間聯(lián)系的模型稱為

A.層次模型B.關(guān)系模型C.網(wǎng)狀模型D.?dāng)?shù)據(jù)模型

65.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,

B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

C.數(shù)據(jù)庫設(shè)計(jì)是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫

D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持

66.下列敘述中錯(cuò)誤的是()。

A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)

B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)

C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)

D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的

67.有以下函數(shù)定義:

voidfun(intn,doublex){……}

若以下選項(xiàng)中的變量都已正確定義并賦值,則對(duì)函數(shù)fun正確調(diào)用的語句是

A.fun(inty,doublem);B.k=fun(10,12.5);

C.fun(x,n);D.voidfun(n,x);

68.

69.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

70.已知inta=1,b=-1;則語句printf("%d\n",(a--,++b));的輸出結(jié)果是

A.-1B.0C.1D.語句錯(cuò)誤

71.

72.以下敘述中正確的是

A.C程序的基本組成單位是函數(shù)B.C程序中的每一行只能寫一條語句

C.main()函數(shù)必須放在其他函數(shù)之前D.C語句必須在一行內(nèi)寫完

73.

74.有以下程序:

#include<stdio.h>

main()

{intb[3][3]=(0,1,2,0,1,2,0,1,2},i,j,t=l;

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

for(j=1;j<=i;j++)t+=b[i][b[j][i]];

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

}

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

A.1B.3C.4D.0

75.(32)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()

A.數(shù)據(jù)所占的存儲(chǔ)空間量

B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示

C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式

D.存儲(chǔ)在外存中的數(shù)據(jù)

76.

77.數(shù)據(jù)流圖中帶有箭頭的線段表示的是()。

A.控制流B.事件驅(qū)動(dòng)C.模塊調(diào)用D.數(shù)據(jù)流

78.對(duì)下列二叉樹

進(jìn)行中序遍歷的結(jié)果是()。

A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:在字符串的最前端加入m個(gè)*號(hào),形成新串,并且覆蓋原串。例如,用戶輸入字符串a(chǎn)bcd(以Enter鍵結(jié)束),然后輸入m值為3,則結(jié)果為***abcd。注意:字符串的長度最長允許為79。請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù)proc(),它的功能是:求出一個(gè)4×N整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫的若干語句。試題程序:

參考答案

1.B解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫管理系統(tǒng)。另外,數(shù)據(jù)庫管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫的安全保護(hù)工作,按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。

2.C

3.D在C語言中,不能直接比較兩個(gè)字符串的大小,必須用特定的函數(shù)來完成,選項(xiàng)A錯(cuò)誤;選項(xiàng)B不管大于還是小于都執(zhí)行S,不符合題意;選項(xiàng)C正好相反,當(dāng)s2大于s1時(shí),執(zhí)行語句S,可知選項(xiàng)D正確。

4.C用數(shù)組名作為函數(shù)實(shí)參時(shí),不是把數(shù)組的值傳遞給形參,而是把實(shí)參數(shù)組的起始地址傳遞給形參數(shù)組,這樣兩個(gè)數(shù)組就共同占用同一段內(nèi)存單元。本題通過“prt(a,5);”將數(shù)組a的首地址傳遞給了指針變量m,使指針變量m指向數(shù)組a的首地址,那么,對(duì)指針變量所指向的存儲(chǔ)單元的內(nèi)容的改變就是對(duì)數(shù)組a中的元素的改變。題中函數(shù)prt的作用是將指針變量m所指向的存儲(chǔ)單元中的元素值各加上1,故數(shù)組a中的值也隨之變化,所以。輸出的數(shù)組元素的值為2,3,4,5,6,。

5.AC語言規(guī)定,注釋語句可以換行寫,并且一個(gè)“/*”和其后緊跟的第一個(gè)“*/”中間的部分是注釋內(nèi)容,并且注釋部分的內(nèi)容不參與程序的執(zhí)行,因此本題中沒有執(zhí)行“b=20”;這條語句。

6.A將函數(shù)內(nèi)的局部變量說明為static存儲(chǔ)類,第1次調(diào)用該函數(shù)時(shí)才對(duì)其初始化,后續(xù)調(diào)用時(shí)使用上一次調(diào)用結(jié)束后的值;函數(shù)體內(nèi)的局部變量無論是否聲明為stat\x1fic,外部編譯單位都不能引用,選項(xiàng)A錯(cuò)誤,其他選項(xiàng)正確。本題答案為A選項(xiàng)。

7.C

8.D本題主要考查while循環(huán)語句和switchcase語句的使用方法。其執(zhí)行步驟為:k=5時(shí),跳出switch語句,然后k自減1;當(dāng)k=4時(shí),跳出switch語句,然后k自減1;當(dāng)k=3時(shí),n=13+k=0+3=3,跳出switch語句,然后k自減1;當(dāng)k=2時(shí)n=n+k=3+2=5,跳出switch語句,然后k自減l;當(dāng)k=1時(shí),case1:n=n+k一5+1=6,沒有break繼續(xù)執(zhí)行CaSe3;n=n+k=6+1=7,跳出switch語句,然后k自減1;當(dāng)k=0時(shí),退出循環(huán),所以輸出結(jié)果為7。

9.C

10.D解析:在C語言中,字符串常量是以雙引號(hào)括起來的字符序列。故選項(xiàng)B和C不正確。字符序列中可包含一些轉(zhuǎn)義字符,轉(zhuǎn)義字符都是以“\\”開頭的。選項(xiàng)A中包含了三個(gè)“\\”,前兩個(gè)(\\\\)代表了一個(gè)“\\”字符,后面一個(gè)和“'”一起(\\”)被看作一個(gè)……,所以該字符串缺少一個(gè)結(jié)束的“'”,故不正確。選項(xiàng)D的兩個(gè)……之間沒有任何字符,代表的是一個(gè)空串,是合法的字符串常量,故應(yīng)該選擇D。

11.C解析:本題考查字符串比較函數(shù)strcmp()。調(diào)用形式:strcmp(s1,s2),其中s1、s2分別是字符串存儲(chǔ)區(qū)的首地址。函數(shù)功能:比較字符串str1和str2,當(dāng)str1<str2時(shí),返回值為負(fù)數(shù);當(dāng)str1=str2時(shí),返回0;當(dāng)str1>str2,返回值為正數(shù)(注意:不能使用關(guān)系運(yùn)算符比較兩個(gè)字符串的大小)。

12.B在C語言中,函數(shù)定義是平行的,函數(shù)不能嵌套定義,即函數(shù)之間沒有從屬關(guān)系。雖然函數(shù)之間可以相互調(diào)用,但main函數(shù)不能被調(diào)用,選項(xiàng)A)錯(cuò)誤;C程序從main函數(shù)開始執(zhí)行,當(dāng)main數(shù)執(zhí)行完畢時(shí),整個(gè)程序就結(jié)束了。C程序的執(zhí)行必須從main函數(shù)開始,選項(xiàng)C)選項(xiàng)錯(cuò)誤;函數(shù)不能嵌套定義,選項(xiàng)D)錯(cuò)誤。

13.C對(duì)象的封裝性是指從外面看只能看到對(duì)象的外部特性,而對(duì)象的內(nèi)部,其處理能力的實(shí)行和內(nèi)部狀態(tài)對(duì)外是不可見的,是隱蔽的。

14.A

15.C解析:二分查找法也稱為折半查找法。它的基本思想是:將n個(gè)元素分成個(gè)數(shù)大致相同的兩半,取a[n/2]與欲查找的x作比較,如果x=a[n/2],則找到x,算法終止;如果x<a[n/2],則只要在數(shù)組a的左半部繼續(xù)搜索x(這里假設(shè)數(shù)組元素呈升序排列);如果x>a[n/2],則只要在數(shù)組a的右半部繼續(xù)搜索x。每次余下n/(2i)個(gè)元素待比較,當(dāng)最后剩下一個(gè)時(shí),即n/(2i)=1。故n=2i;所以i=log2n。

16.C單目運(yùn)算符“++”的優(yōu)先級(jí)高于賦值運(yùn)算符。表達(dá)式“a*=16+(b++)-(++C);”可轉(zhuǎn)化為“a=a*(16+b-(c+1));b=b+1;”,代入值計(jì)算可得a=28。故本題答案為C選項(xiàng)。

17.B\nscanf輸入函數(shù)中,格式控制J必須嚴(yán)格按照函數(shù)中的要求進(jìn)行輸入,在scanf('%c%c',&chl,&ch2)的格式控制語句中沒有任何字符進(jìn)行間隔,所以在輸入時(shí)也不能使用任何字符進(jìn)行間隔,所以答案選擇B。

\n

18.D在C語言中,當(dāng)表達(dá)式成立時(shí)用l表示,不成立時(shí)用0表示,即x=(a&&b)&&(c<'B')=(14&&15)&&('A'<'B')=1&&1=1,故選擇D選項(xiàng)。

19.C解析:關(guān)系中每一個(gè)屬性都有一個(gè)取值范圍,稱為屬性的值域。每—個(gè)屬性對(duì)應(yīng)一個(gè)值域,不同屬性可對(duì)應(yīng)同一個(gè)值域。對(duì)應(yīng)同一值域的卻不一定是不同的屬性。屬性的值域用DOM(A)表示,A表示屬性的名稱。

20.Afgets函數(shù)的功能是從fp所指文件中讀入n-1個(gè)字符放入以str為起始地址的空間內(nèi),讀取長度不超過n-1,讀入結(jié)束后,自動(dòng)在最后添加’\\0’,選項(xiàng)A正確。本題答案為A選項(xiàng)。

21.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:本題考查了數(shù)據(jù)結(jié)構(gòu)的基本概念。與棧類似,隊(duì)列也是線性表,可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),所以帶鏈的隊(duì)列屬于線性結(jié)構(gòu)。

22.解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過程為:t=POW(x+y)=(2+3)*(2+3)=25。

23.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。

24.順序存儲(chǔ)順序存儲(chǔ)

25.11解析:因?yàn)樵跅l件表達(dá)式(a<b)?a:b中,比較表達(dá)式a<b為真,所以x的值等于a的值等于1,后面兩個(gè)條件表達(dá)式中的比較表達(dá)式都為真,所以最終x的值等于1。

26.邏輯獨(dú)立性邏輯獨(dú)立性解析:數(shù)據(jù)的獨(dú)立性一般可分為物理獨(dú)立性和邏輯獨(dú)立性。

27.E-R圖E-R圖解析:數(shù)據(jù)庫邏輯設(shè)計(jì)的任務(wù)是將概念模型進(jìn)一步轉(zhuǎn)化成相應(yīng)的數(shù)據(jù)模型。而E-R圖是主要的概念模型,因此數(shù)據(jù)庫的邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換成關(guān)系模式。

28.SO

29.a=2b=3a=2,b=3解析:分析程序,程序從x=l語句開始執(zhí)行,之后執(zhí)行第一個(gè)switch語句,switch(x)=switch(1),所以執(zhí)行case1,casel語句中包含一個(gè)復(fù)合switch語句;這時(shí)執(zhí)行第二個(gè)switch語句,此時(shí)y=1,所以switch(y)=switch(1),因此執(zhí)行case1,將b加1,得到b=2,遇到break語句,退出第二個(gè)switch語句,則整個(gè)case1的復(fù)合語句執(zhí)行完畢,由于在這個(gè)case1的后面沒有break語句使其退出第一個(gè)switch語句,所以接著執(zhí)行下列的case2后面的語句,即將a、b各加1,得到a=2,b=3。

30.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。

31.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測(cè)試字符串常量的長度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實(shí)現(xiàn)了將字符數(shù)組中每個(gè)非‘\\0’的字符后插入字符‘*’的功能。故輸出結(jié)果是a*b*c*d*。

32.整型整型解析:上面的表達(dá)式中,通過強(qiáng)制類型轉(zhuǎn)換把最后參與運(yùn)算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類型。

33.軟件開發(fā)軟件開發(fā)解析:軟件生命周期包括8個(gè)階段:問題定義、可行性研究、需求分析、系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、運(yùn)行維護(hù)。為了使各時(shí)期的任務(wù)更明確,又可以分為3個(gè)時(shí)期:軟件定義期,包括問題定義、可行性研究和需求分析3個(gè)階段;軟件開發(fā)期,包括系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試4個(gè)階段;軟件維護(hù)期,即運(yùn)行維護(hù)階段??芍幋a和測(cè)試屬于軟件開發(fā)階段。

34.參照完整性參照完整性

35.存儲(chǔ)結(jié)構(gòu)存儲(chǔ)結(jié)構(gòu)解析:帶鏈的棧屬于棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。

36.輸出結(jié)果輸出結(jié)果解析:注意:測(cè)試的基本方法和步驟。

37.82.25

38.1010解析:本題程序中定義了一個(gè)函數(shù)sub(),用來計(jì)算一個(gè)整數(shù)整除10的商和余數(shù)的和。在主函數(shù)中,首先用scanf()函數(shù)讀入一個(gè)十進(jìn)制整數(shù)1234,然后對(duì)1234三次嵌套調(diào)用函數(shù)svb()。首先看最里層的調(diào)用,應(yīng)該返回的值是123+4=127;然后中間一層調(diào)用應(yīng)該返回的是12+7=19;所以最外層調(diào)用返回1+9=10。故最后輸出10。

39.12341234解析:在%與格式符之間插入一個(gè)整型數(shù)來指定輸出寬度,當(dāng)指定寬度小于輸出數(shù)的實(shí)際寬度時(shí),則按實(shí)際寬度輸出。

40.zyzXyzzyzXyz解析:本題考查字符型指針變量的應(yīng)用。程序中字符指針變量ps指向字符串'xyz',while循環(huán)語句的作用使ps指向字符串結(jié)尾,for循環(huán)的執(zhí)行過程如下。

第一次循環(huán):ps指向字符串'z',輸出z。

第二次循環(huán):ps指向字符串'yz',輸出yz。

第三次循環(huán):ps指向字符串'xyz',輸出xyz。

41.C解析:本題考查的是if...else語句的使用。x=2.0,符合第二個(gè)IF語句的條件x<10.0,所以執(zhí)行y=1.0/x語句,即y=1.0/2.0=0.500000。

42.B解析:本題考查的是指針的簡單應(yīng)用。題目中首先定義了一個(gè)int型數(shù)組a并初始化了,然后定義了兩個(gè)指針變量p和q,并分別初始化p為指向數(shù)組元素a[3]、q指向p后面的第2個(gè)元素即指向a[5]。所以最終輸出的值為a[3]+a[5]的值10。應(yīng)該選B。

43.B解析:由函數(shù)intfun(int*p){return*p;}的定義可知,返回值為整型指針變量p所指向的數(shù)據(jù)。

44.B解析:在C語言中所謂函數(shù)的遞歸是指在調(diào)用一個(gè)函數(shù)的過程中,又出現(xiàn)了直接或間接調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱為函數(shù)的間接遞歸調(diào)用。顯然題目中所說得函數(shù)調(diào)用為函數(shù)的間接遞歸調(diào)用。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

45.A解析:C語言中比較表達(dá)式的運(yùn)算結(jié)果為0或1。0代表不成立,1表示成立。

46.D解析:本題考查數(shù)組指針的應(yīng)用。選項(xiàng)D)第一層括號(hào)中為數(shù)組a中第i項(xiàng)元素的值,外面再加指針運(yùn)算符沒有意義。

47.B

48.D解析:本題考查邏輯運(yùn)算符的使用。當(dāng)“&&”的兩個(gè)運(yùn)算對(duì)象都是邏輯1時(shí),表達(dá)式才返回值是1;當(dāng)“‖”的兩個(gè)運(yùn)算對(duì)象至少有一個(gè)是邏輯1時(shí),表達(dá)式返回值是1。選項(xiàng)A)中,x和y都是邏輯1。所以返回值是1:選項(xiàng)B)中,x=4<=y=6為邏輯1,所以返回值是1;選項(xiàng)C)中,y+z的值等于14,非0,y-z的值為-2,非0,所以邏輯表達(dá)式4‖14&&-2的值不為0;選項(xiàng)D)中,x<y為1,!z為0,1&&0為1,0‖1為1,因此,!1為0。

49.C解析:程序中沒有使用break終止switch語句的執(zhí)行。當(dāng)i:0時(shí),執(zhí)行第一個(gè)case語句,因?yàn)樗竺鏇]有break,所以一直到執(zhí)行完default語句結(jié)束,輸出3個(gè)0,再執(zhí)行下一循環(huán)。所以只有選項(xiàng)C)正確。

50.D解析:fscanf的調(diào)用形式是:fscanf(文件指針,格式字符串,輸入表列);

51.D解析:數(shù)組a的存儲(chǔ)空間占4個(gè)字節(jié)(結(jié)束符'\\0'占一字節(jié)),數(shù)組a的存儲(chǔ)空間占3個(gè)字節(jié)。

52.B解析:本題考查ifelse語句。程序中首先使用函數(shù)scanf()通過鍵盤讀入a的值,并通過第1個(gè)if語句,先判斷條件,取a的值2和3比較,然后將a的值加1,發(fā)現(xiàn)條件成立,執(zhí)行下列的printf語句,輸出a的值3。

53.B解析:主函數(shù)中先定義了一個(gè)整型變量a,一個(gè)字符變量c并賦初值10,一個(gè)浮點(diǎn)型變量f并賦初值100.00和一個(gè)double型x,接著執(zhí)行a=f/=c*=(x=6.5),該語句從右向左計(jì)算,先把6.5賦值給x(該括號(hào)表達(dá)式的值也為6.5),此時(shí)x的值變?yōu)?.5,然后執(zhí)行c*=(x=6.5)相當(dāng)于執(zhí)行c=c*(x=6.5),此時(shí)c的值為65,接著向左執(zhí)行f/c*=(x=6.5),語句相當(dāng)于執(zhí)行f=f/c,所以f的值為100/65≈1.538。接著向最右邊執(zhí)行“a=f”,由于a是整型變量,所以a最后去f的整數(shù)部分為1。程序最后輸出的a、c、f和x的值(f和x只保留小數(shù)點(diǎn)后面1位)分別為1、65、1.5、6.5。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

54.A解析:本題考查printf函數(shù)的格式和逗號(hào)表達(dá)式。printf函數(shù)在輸出時(shí),是根據(jù)格式說明符的個(gè)數(shù)輸出的,如果函數(shù)中有有多余的項(xiàng)將不予輸出;如果有輸出項(xiàng)少于格式說明符,則出錯(cuò),不能輸出正確的結(jié)果。本題中逗號(hào)表達(dá)式(x,y)只返回y的值。此時(shí)格式說明的個(gè)數(shù)是2,而輸出項(xiàng)的個(gè)數(shù)是3,因此printf函數(shù)只輸出前兩項(xiàng)。

55.BB?!窘馕觥繑?shù)據(jù)庫設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。其中邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。

56.D解析:變量的存儲(chǔ)類別具體包含四種:自動(dòng)的(auto),靜態(tài)的(static),寄存器的(register),外部的(extern)。

57.B解析:本題中,structex是結(jié)構(gòu)體類型名,ex-ample是結(jié)構(gòu)體變量名。

58.D

59.A解析:在C語言中,動(dòng)態(tài)存儲(chǔ)區(qū)域中存放的變量在使用時(shí)才分配內(nèi)存空間,函數(shù)調(diào)用時(shí)返回的地址和自動(dòng)類局部變量等存放在動(dòng)態(tài)存儲(chǔ)區(qū)域中。auto變量和register變量都屬于自動(dòng)類局部變量,因此選項(xiàng)A正確。static說明的變量為靜態(tài)變量,靜態(tài)變量在內(nèi)存的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元,直至程序運(yùn)行結(jié)束。extern說明的變量為外部變量,屬于全局變量,全局變量在整個(gè)程序運(yùn)行期間都占用內(nèi)存空間。

60.D解析:概要設(shè)計(jì)是軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì),其目的就是要按照需求規(guī)格說明書,把軟件按照功能劃分為多個(gè)模塊,然后確定每個(gè)模塊要實(shí)現(xiàn)的功能,最后確定模塊之間的調(diào)用關(guān)系。而設(shè)計(jì)每個(gè)模塊的偽代碼則屬于詳細(xì)設(shè)計(jì)。所以只有最后一個(gè)不屬于概要設(shè)計(jì)范疇。

61.B

62.C

63.A本題中由fun函數(shù)可知,b[0]=a[0][0]-a[0][3]=1-4=-3,b[1]=a[1][1]-[1][2]=6-7=-1,b[2]=a[2][2]-[2][1]=11-10=1,b[3]=8[3][3]-[3][1]=16-13=3。所以主函數(shù)中打印Y數(shù)組元素的值為A選項(xiàng)。

64.A層次模型是最早發(fā)展出來的數(shù)據(jù)庫模型。它的基本結(jié)構(gòu)是樹形結(jié)構(gòu),這種結(jié)構(gòu)方式在現(xiàn)實(shí)世界中很普遍,如家族結(jié)構(gòu)、行政組織機(jī)構(gòu),它們自頂向下、層次分明。

65.A解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識(shí)。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計(jì)算機(jī)中的存儲(chǔ)方式。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器里的實(shí)現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項(xiàng)A的說法是錯(cuò)誤的。

數(shù)據(jù)庫可以看成是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點(diǎn)。不同的用戶可以使用同一個(gè)數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標(biāo)是要解決數(shù)據(jù)的共享問題。因此,選項(xiàng)B的說法是正確的。

數(shù)據(jù)庫設(shè)計(jì)是在數(shù)據(jù)庫管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計(jì)一個(gè)結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計(jì)包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計(jì),也就是設(shè)計(jì)數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu);二是行為設(shè)計(jì),即設(shè)計(jì)基于數(shù)據(jù)庫的各類應(yīng)用程序、事務(wù)等。因此,選項(xiàng)C的說法是錯(cuò)誤的。

數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等。對(duì)于大型的多用戶數(shù)據(jù)庫系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項(xiàng)D的說法是正確的。因此,本題的正確答案是選項(xiàng)A。

66.B解析:一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),常用的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引等,選項(xiàng)A和選項(xiàng)D正確。采用不同的存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)處理的效率不同,因此,在進(jìn)行數(shù)據(jù)處理時(shí),選擇合適的存儲(chǔ)結(jié)構(gòu)是很重要的,選項(xiàng)C正確,選項(xiàng)B錯(cuò)誤,應(yīng)為本題正確答案。

67.C選項(xiàng)A中,fun(inty,doublem);中變量y和m前不需要類型說明;因?yàn)楹瘮?shù)fun(10,12.5)沒有返回值,所以選項(xiàng)B錯(cuò)誤;調(diào)用函數(shù)fun時(shí),不需要在函數(shù)前面加上void,所以選項(xiàng)D錯(cuò)誤。故本題的正確答案是選項(xiàng)C。

68.B

69.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。

70.B表面上看,題目中是給出一個(gè)輸出函數(shù),實(shí)際上是考查printf函數(shù)輸出表列為逗號(hào)表達(dá)式的情況。逗號(hào)表達(dá)式的一般形式為:表達(dá)式1,表達(dá)式2,……,表達(dá)式n,整個(gè)逗號(hào)表達(dá)式的值為表達(dá)式n的值。題目中的實(shí)際輸出是++b的值,初始時(shí),b=-1,先將b進(jìn)行++運(yùn)算,然后將結(jié)果輸出,輸出結(jié)果為0。

71.A

72.A本題主要考查C語句中函數(shù)的基本知識(shí)。

在C語言中,函數(shù)是組成C語言程序的基本單位,而函數(shù)又主要由語句和注釋組成,在C程序中,每一行可以寫一條或多條語句,而且一條語句也可以分多行(編程時(shí)不推薦這樣做,這樣可讀性不好)。

main函數(shù)是C語言的入口函數(shù),一切程序都從這里開始執(zhí)行,在main函數(shù)中可以調(diào)用其他庫函數(shù)或用戶自定義的函數(shù),main函數(shù)不一定要放在程序的最前面,它可以出現(xiàn)在程序的任何位置。

73.D

74.C\n本題考查了兩層for循環(huán)。外層循環(huán)增量i的值作為內(nèi)層循環(huán)執(zhí)行次數(shù)的值使用。

\n

75.B

76.D

77.D解析:數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)的功能建模。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。數(shù)據(jù)流圖中的主要的圖形元素與說明如下:

加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。

數(shù)據(jù)流:沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名。

存儲(chǔ)文件(數(shù)據(jù)源):表示處理過程中存放各種數(shù)據(jù)的文件。

源,潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體。

78.A解析:二叉樹的中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。

79.C

80.B\r\n

81.(1)錯(cuò)誤:str=P;

正確:p=str;

(2)錯(cuò)誤:i++;

正確:i++;p++;

(3)錯(cuò)誤:a[i]=0;

正確:a[i]=ˊ\0ˊ;

【解析】由函數(shù)proc()可知,變量p是指向字符串的指針,其初始化應(yīng)為字符串首地址,因此,“str=p;”應(yīng)改為“p=str;”;將P指向的字符串中的每一個(gè)字符插在m個(gè)*之后,并存放在字符串?dāng)?shù)組a中,因此,“i++;”應(yīng)改為“i++;p++;”;操作完成后要為字符串?dāng)?shù)組添加結(jié)束符,因此“a[i]=0;”應(yīng)改為“a[i]=ˊ\0ˊ;”。

82.

【解析】要求出二維數(shù)組中最大元素的值,需要比較二維數(shù)組中每一個(gè)元素的值。首先,定義變量max用來存放最大元素的值,將其初始化為二維數(shù)組中第一個(gè)元素的值。然后將其與后面的每一個(gè)元素進(jìn)行比較,將二維數(shù)組中最大元素的值放到變量max當(dāng)中,并將其返回給主函數(shù)。

2022年河南省三門峽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.數(shù)據(jù)庫系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員

2.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

3.s1和s2已正確定義并分別指向兩個(gè)字符串。若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語句s;則以下選項(xiàng)中正確的是()。

A.if(s1>s2)S;

B.if(strcmp(s1,s2))S;

C.if(strcmp(s2,sl)>O)S;

D.if(stremp(s1,s2)>O)S;

4.有以下程序

prt(int*m,intn)

{

inti;

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

m[i]++;

}

main()

{

inta[]={1,2,3,4,5},i;

prt(a,5);

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

printf("%d,",a[i]);

}

程序運(yùn)行后的輸出結(jié)果是A.A.1,2,3,4,5,

B.3,4,5,6,7,

C.2,3,4,5,6,

D.2,3,4,5,1,

5.有以下程序:main{inta=0,b=0;a=10;/*給a賦值b=20;給b賦值*/printf(“a+b=%d\n”,a+b);/*輸出計(jì)算機(jī)結(jié)果*/}程序運(yùn)行后的輸出結(jié)果是()。A.a+b=10B.a+b=30C.30D.出錯(cuò)

6.以下敘述中錯(cuò)誤的是()。

A.將函數(shù)內(nèi)的局部變量說明為static存儲(chǔ)類是為了限制其他編譯單位的引用

B.—個(gè)變量作用域的開始位置完全取決于變量定義語句的位置

C.全局變量可以在函數(shù)以外的任何部位進(jìn)行定義

D.局部變量的“生存期”只限于本次函數(shù)調(diào)用,因此不能將局部變量的運(yùn)算結(jié)果保存至下一次調(diào)用

7.若有以下說明:chars1[]={"tree"},s2[]={"flower"};,則以下對(duì)數(shù)組元素或數(shù)組的輸出語句中,正確的是()。

A.printf("%s%s",s1[5],s2[7]);

B.printf("%c%c",s1,s2);

C.puts(s1);puts(s2);

D.puts(s1,s2);

8.有下列程序:main{intk=5,n=0;while(k>0){switch(k){dcfault:break;case1:n=n+k;case2:case3:n+=k;}k--;}printf("%d\n".n);}程序運(yùn)行后的輸出結(jié)果足()。A.0B.4C.6D.7

9.下面結(jié)構(gòu)中最適于表示稀疏無向圖的是()。

A.鄰接矩陣B.逆鄰接表C.鄰接多重表D.十字鏈表

10.以下正確的字符串常量是()。

A.\\\B.'abc'C.OlympicGames

11.判斷字符串s1是否大于字符串s2,應(yīng)該使用()。

A.if(strcmp(s1,s2)<0)

B.if(s1>s2)

C.if(strcmp(s2,s1)<0)

D.if(strcmp(s1,s2))

12.下列關(guān)于函數(shù)的敘述中正確的是()。A.A.每個(gè)函數(shù)都可以被其他函數(shù)調(diào)用(包括main函數(shù))

B.每個(gè)函數(shù)都可以被單獨(dú)編譯

C.每個(gè)函數(shù)都可以單獨(dú)運(yùn)行

D.在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)

13.下列描述錯(cuò)誤的是()。

A.繼承分為多重繼承和單繼承

B.對(duì)象之問的通信靠傳遞消息來實(shí)現(xiàn)

C.在外面看不到對(duì)象的內(nèi)部特征是基于對(duì)象的“模塊獨(dú)立性好”這個(gè)特征

D.類是具有共同屬性、共同方法的對(duì)象的集合

14.假設(shè)把整數(shù)關(guān)鍵碼K散列到有N個(gè)槽的散列表,以下哪些散列函數(shù)是好的散列函數(shù)()

A.h(K)=KmodN

B.h(K)=1

C.h(K)=K/N

D.h(K)=(K+rand(N))modN,rand(N)返回一個(gè)0到N-1的整數(shù)

15.在長度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是A.O(n)

B.O(n2)

C.O(log2n)

D.O(nlog2n)

16.有以下程序:#include<stdio.h>main(){inta=2,b=3,c=4;a*=16+(b++)-(++c);printf(“%d\n”,a);}程序運(yùn)行后的輸出結(jié)果是()。

A.15B.30C.28D.14

17.設(shè)有以下語句

charchl,ch2;scanf("%c%C",&chl,&ch2);

若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。

A.A和B之間用逗號(hào)間隔

B.A和B之間不能有任何間隔符

C.A和B之間可以用回車間隔

D.A和B之間用空格間隔

18.有如下程序段:

inta=14,b=15,x;

charc='A';

x=(a&&b)&&(c<'B'):

執(zhí)行該程序后,x的值為()。A.A.trueB.falseC.0D.1

19.下列說法錯(cuò)誤的是______。

A.關(guān)系中每一個(gè)屬性對(duì)應(yīng)一個(gè)值域

B.關(guān)系中不同的屬性可對(duì)應(yīng)同一值域

C.對(duì)應(yīng)同一值域的屬性為不同的屬性

D.DOM(A)表示屬性A的取值范圍

20.標(biāo)準(zhǔn)庫函數(shù)fgets(str,n,fp)的功能是()。A.從fp所指的文件中讀取長度不超過n-1的字符串存入指針str所指的內(nèi)存

B.從fp所指的文件中讀取長度為n的字符串存入指針str所指的內(nèi)存

C.從fp所指的文件中讀取n個(gè)字符串存入指針str所指的內(nèi)存

D.從fp所指的文件中讀取長度為n-1的字符串存入指針str所指的內(nèi)存

二、2.填空題(20題)21.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),線性表、棧和隊(duì)列都屬于【】。

22.下列程序的運(yùn)行結(jié)果是______。

#definePOW(r)(r)*?

main()

{intx=3,y=2,t;

t=POW(x+y);

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

}

23.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。

24.性表的多種存儲(chǔ)結(jié)構(gòu)中,最簡單的方法是【】。

25.以下程序運(yùn)行后的輸出結(jié)果是【】。

main()

{intx,a=1,b=2,c=3,d=4;

x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;

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

}

26.數(shù)據(jù)庫理論中,數(shù)據(jù)的獨(dú)立性一般可分為物理獨(dú)立性和______。

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

28.以下程序的輸出結(jié)果是【】。

main()

{char*p[]={"BOOL","OPK","H","SP"};

inti;

for(i=3,i>=0;i--,i--)printf("%c",*p[i]);

printf("\n");

}

29.下列程序的輸出結(jié)果是______。

#include<stdio.h>

main0

{intx=1,y=1,a=1,b=1;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:

a++;b++;break;

}

printf("a=%d,b=%d\n",a,B);

}

30.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。

31.當(dāng)運(yùn)行以下程序時(shí),輸入abcd,程序的輸出結(jié)果是:()。

insert(charstr[])

{inti;

i=strlen(str);

while(i>0)

{str[2*i]=str[i];str[2*i-1]='*';i--;}

printf("%s\n",str);

}

main()

{charstr[40];

scanf("%s",str);insert(str);

}

32.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為______。

33.軟件生命周期包括2今階段。為了使各時(shí)期的任務(wù)更明確,又可分為3個(gè)時(shí)期:軟件定義期、軟件開發(fā)期、軟件維護(hù)期。編碼和測(cè)試屬于【】期。

34.關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、______和自定義完整性。

35.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),帶鏈的棧屬于【】。

36.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】兩部分組成。

37.下列程序的運(yùn)行結(jié)果為【】。

voidaverage();

main()

{floatscore[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,99}};

average(*score,12);

}

voidaverage(p,n)

intn;

float*p;

{inti;

floatsum=0;

for(i=0;i<n;i++,p++)sum+=(*p);

printf("%.2f\n",sum/n);

}

38.有以下程序

intsub(intn){retnrn(n/10+n%10);}

main()

{intx,y;

scanf("%d",&x);

y=sub(sub(sub(x)));

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

}

若運(yùn)行時(shí)輸入:1234<回車>,程序的輸出結(jié)果是______。

39.以下程序段的輸出結(jié)果是【】。

inta=1234;

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

40.有以下程序:

main()

{charstr[]="xyz",*ps=str;

while(*ps)ps++;

for(ps--;ps-str>=0;ps--)puts(ps);

}

執(zhí)行后的輸出結(jié)果是【】。

三、1.選擇題(20題)41.有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}該程序輸出結(jié)果是______。

A.0B.0.25C.0.5D.1

42.有以下程序main()inta[10]={1,2,3,4,5,6,7,8,9,10},*p=.&a[3],*q=p+2;printf("%d\n",*p+*q);程序運(yùn)行后輸出結(jié)查是

A.16B.10C.8D.6

43.已定義下列函數(shù):intfun(int*p){return*p;)fun函數(shù)返回值是()。

A.不確定的值B.一個(gè)整數(shù)C.形參p中存放的值D.形參p的地址值

44.在函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù)funB,函數(shù)funB又調(diào)用了函數(shù)funA,則()。

A.稱為函數(shù)的直接遞歸調(diào)用B.稱為函數(shù)的間接遞歸調(diào)用C.稱為函數(shù)的循環(huán)調(diào)用D.C語言中不允許這樣的遞歸調(diào)用

45.設(shè)a、b、c、d、m.n均為血型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為______。

A.0B.1C.2D.3

46.有以下語句,則對(duì)a數(shù)組元素的引用不正確的是inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))

47.順序查找一個(gè)具有n個(gè)元素的線性表,二分查找一個(gè)具有n個(gè)元素的有序表,其時(shí)間復(fù)雜性為______。

A.O(n)

B.O(log2n)

C.O(n2)

D.O(nlog2n)

48.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。

A.x&&y

B.x<=y

C.x‖y+z&&y-z

D.!((x<y)&&!z‖1)

49.有以下程序:#include<stdio.h>main()inti;for(i=0;i<3;i++)switch(i)case0:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);程序運(yùn)行后的輸出結(jié)果是()。

A.22111B.21021C.122D.12

50.fscanf函數(shù)的正確調(diào)用形式是()。

A.fscanf(文件指針,格式字符串,輸出表列);

B.fscanf(格式字符串,輸出表列,文件指針);

C.fscanf(格式字符串,文件指針,輸入表列);

D.fscanf(文件指針,格式字符串,輸入表列);

51.若有下列語句:chara[]="xyz";charb[]=}'x','y','z'};則下列敘述正確的是______。

A.數(shù)組a和數(shù)組b不等價(jià)

B.數(shù)組a和數(shù)組b的長度相同

C.數(shù)組a占用空間大小等于數(shù)組b占用空間大小

D.數(shù)組a占用空間大小大于數(shù)組b占用空間大小

52.若執(zhí)行下列程序時(shí)從鍵盤上輸入2,則輸出結(jié)果是()。#include<stdio.h>main(){inta;scanf("%d",&a);if(a++<3)printf("%d\n",a);elseprintf("%d\n",a--);}

A.1B.3C.2D.4

53.有以下程序:main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}程序運(yùn)行后的輸出結(jié)果是______。

A.16516.5B.1651.56.5C.1651.06.5D.2651.56.5

54.設(shè)x和y都是int類型,且x=1,y=2,則printf("%d%d",x,y,(x,y))的輸出結(jié)果是()。

A.12B.122C.1,2D.輸出值不確定

55.在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過程屬于()。

A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段

56.下列關(guān)鍵字中,不屬于C語言變量存儲(chǔ)類別的是______。

A.registerB.autoC.externD.public

57.設(shè)有以下說明語句structex{intX;floaty;charz;}example;則下面的敘述中不正確的是

A.struct結(jié)構(gòu)體類型的關(guān)鍵字

B.example是結(jié)構(gòu)體類型名

C.x,y,z都是結(jié)構(gòu)體成員名

D.structex是結(jié)構(gòu)體類型名

58.使計(jì)算機(jī)病毒傳播范圍最廣的媒介是________

A.硬磁盤B.軟磁盤C.內(nèi)部存儲(chǔ)器D.互聯(lián)網(wǎng)

59.在C語言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是()。

A.auto和register

B.extern和register

C.auto和static

D.static和register

60.概要設(shè)計(jì)是軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì),以下選項(xiàng)中不屬于概要設(shè)計(jì)的是()。A.A.把軟件劃分成模塊B.確定模塊之間的調(diào)用關(guān)系C.確定各個(gè)模塊的功能D.設(shè)計(jì)每個(gè)模塊的偽代碼

四、選擇題(20題)61.

62.

63.有以下程序:

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

A.-3,-1,1,3,B.-12,-3,0,0,C.0,1,2,3,D.-3,-3,-3,-3,

64.用樹形結(jié)構(gòu)來表示實(shí)體之間聯(lián)系的模型稱為

A.層次模型B.關(guān)系模型C.網(wǎng)狀模型D.?dāng)?shù)據(jù)模型

65.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,

B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

C.數(shù)據(jù)庫設(shè)計(jì)是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫

D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持

66.下列敘述中錯(cuò)誤的是()。

A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)

B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)

C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)

D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的

67.有以下函數(shù)定義:

voidfun(intn,doublex){……}

若以下選項(xiàng)中的變量都已正確定義并賦值,則對(duì)函數(shù)fun正確調(diào)用的語句是

A.fun(inty,doublem);B.k=fun(10,12.5);

C.fun(x,n);D.voidfun(n,x);

68.

69.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

70.已知inta=1,b=-1;則語句printf("%d\n",(a--,++b));的輸出結(jié)果是

A.-1B.0C.1D.語句錯(cuò)誤

71.

72.以下敘述中正確的是

A.C程序的基本組成單位是函數(shù)B.C程序中的每一行只能寫一條語句

C.main()函數(shù)必須放在其他函數(shù)之前D.C語句必須在一行內(nèi)寫完

73.

74.有以下程序:

#include<stdio.h>

main()

{intb[3][3]=(0,1,2,0,1,2,0,1,2},i,j,t=l;

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

for(j=1;j<=i;j++)t+=b[i][b[j][i]];

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

}

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

A.1B.3C.4D.0

75.(32)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()

A.數(shù)據(jù)所占的存儲(chǔ)空間量

B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示

C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式

D.存儲(chǔ)在外存中的數(shù)據(jù)

76.

77.數(shù)據(jù)流圖中帶有箭頭的線段表示的是()。

A.控制流B.事件驅(qū)動(dòng)C.模塊調(diào)用D.數(shù)據(jù)流

78.對(duì)下列二叉樹

進(jìn)行中序遍歷的結(jié)果是()。

A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:在字符串的最前端加入m個(gè)*號(hào),形成新串,并且覆蓋原串。例如,用戶輸入字符串a(chǎn)bcd(以Enter鍵結(jié)束),然后輸入m值為3,則結(jié)果為***abcd。注意:字符串的長度最長允許為79。請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù)proc(),它的功能是:求出一個(gè)4×N整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫的若干語句。試題程序:

參考答案

1.B解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫管理系統(tǒng)。另外,數(shù)據(jù)庫管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫的安全保護(hù)工作,按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。

2.C

3.D在C語言中,不能直接比較兩個(gè)字符串的大小,必須用特定的函數(shù)來完成,選項(xiàng)A錯(cuò)誤;選項(xiàng)B不管大于還是小于都執(zhí)行S,不符合題意;選項(xiàng)C正好相反,當(dāng)s2大于s1時(shí),執(zhí)行語句S,可知選項(xiàng)D正確。

4.C用數(shù)組名作為函數(shù)實(shí)參時(shí),不是把數(shù)組的值傳遞給形參,而是把實(shí)參數(shù)組的起始地址傳遞給形參數(shù)組,這樣兩個(gè)數(shù)組就共同占用同一段內(nèi)存單元。本題通過“prt(a,5);”將數(shù)組a的首地址傳遞給了指針變量m,使指針變量m指向數(shù)組a的首地址,那么,對(duì)指針變量所指向的存儲(chǔ)單元的內(nèi)容的改變就是對(duì)數(shù)組a中的元素的改變。題中函數(shù)prt的作用是將指針變量m所指向的存儲(chǔ)單元中的元素值各加上1,故數(shù)組a中的值也隨之變化,所以。輸出的數(shù)組元素的值為2,3,4,5,6,。

5.AC語言規(guī)定,注釋語句可以換行寫,并且一個(gè)“/*”和其后緊跟的第一個(gè)“*/”中間的部分是注釋內(nèi)容,并且注釋部分的內(nèi)容不參與程序的執(zhí)行,因此本題中沒有執(zhí)行“b=20”;這條語句。

6.A將函數(shù)內(nèi)的局部變量說明為static存儲(chǔ)類,第1次調(diào)用該函數(shù)時(shí)才對(duì)其初始化,后續(xù)調(diào)用時(shí)使用上一次調(diào)用結(jié)束后的值;函數(shù)體內(nèi)的局部變量無論是否聲明為stat\x1fic,外部編譯單位都不能引用,選項(xiàng)A錯(cuò)誤,其他選項(xiàng)正確。本題答案為A選項(xiàng)。

7.C

8.D本題主要考查while循環(huán)語句和switchcase語句的使用方法。其執(zhí)行步驟為:k=5時(shí),跳出switch語句,然后k自減1;當(dāng)k=4時(shí),跳出switch語句,然后k自減1;當(dāng)k=3時(shí),n=13+k=0+3=3,跳出switch語句,然后k自減1;當(dāng)k=2時(shí)n=n+k=3+2=5,跳出switch語句,然后k自減l;當(dāng)k=1時(shí),case1:n=n+k一5+1=6,沒有break繼續(xù)執(zhí)行CaSe3;n=n+k=6+1=7,跳出switch語句,然后k自減1;當(dāng)k=0時(shí),退出循環(huán),所以輸出結(jié)果為7。

9.C

10.D解析:在C語言中,字符串常量是以雙引號(hào)括起來的字符序列。故選項(xiàng)B和C不正確。字符序列中可包含一些轉(zhuǎn)義字符,轉(zhuǎn)義字符都是以“\\”開頭的。選項(xiàng)A中包含了三個(gè)“\\”,前兩個(gè)(\\\\)代表了一個(gè)“\\”字符,后面一個(gè)和“'”一起(\\”)被看作一個(gè)……,所以該字符串缺少一個(gè)結(jié)束的“'”,故不正確。選項(xiàng)D的兩個(gè)……之間沒有任何字符,代表的是一個(gè)空串,是合法的字符串常量,故應(yīng)該選擇D。

11.C解析:本題考查字符串比較函數(shù)strcmp()。調(diào)用形式:strcmp(s1,s2),其中s1、s2分別是字符串存儲(chǔ)區(qū)的首地址。函數(shù)功能:比較字符串str1和str2,當(dāng)str1<str2時(shí),返回值為負(fù)數(shù);當(dāng)str1=str2時(shí),返回0;當(dāng)str1>str2,返回值為正數(shù)(注意:不能使用關(guān)系運(yùn)算符比較兩個(gè)字符串的大小)。

12.B在C語言中,函數(shù)定義是平行的,函數(shù)不能嵌套定義,即函數(shù)之間沒有從屬關(guān)系。雖然函數(shù)之間可以相互調(diào)用,但main函數(shù)不能被調(diào)用,選項(xiàng)A)錯(cuò)誤;C程序從main函數(shù)開始執(zhí)行,當(dāng)main數(shù)執(zhí)行完畢時(shí),整個(gè)程序就結(jié)束了。C程序的執(zhí)行必須從main函數(shù)開始,選項(xiàng)C)選項(xiàng)錯(cuò)誤;函數(shù)不能嵌套定義,選項(xiàng)D)錯(cuò)誤。

13.C對(duì)象的封裝性是指從外面看只能看到對(duì)象的外部特性,而對(duì)象的內(nèi)部,其處理能力的實(shí)行和內(nèi)部狀態(tài)對(duì)外是不可見的,是隱蔽的。

14.A

15.C解析:二分查找法也稱為折半查找法。它的基本思想是:將n個(gè)元素分成個(gè)數(shù)大致相同的兩半,取a[n/2]與欲查找的x作比較,如果x=a[n/2],則找到x,算法終止;如果x<a[n/2],則只要在數(shù)組a的左半部繼續(xù)搜索x(這里假設(shè)數(shù)組元素呈升序排列);如果x>a[n/2],則只要在數(shù)組a的右半部繼續(xù)搜索x。每次余下n/(2i)個(gè)元素待比較,當(dāng)最后剩下一個(gè)時(shí),即n/(2i)=1。故n=2i;所以i=log2n。

16.C單目運(yùn)算符“++”的優(yōu)先級(jí)高于賦值運(yùn)算符。表達(dá)式“a*=16+(b++)-(++C);”可轉(zhuǎn)化為“a=a*(16+b-(c+1));b=b+1;”,代入值計(jì)算可得a=28。故本題答案為C選項(xiàng)。

17.B\nscanf輸入函數(shù)中,格式控制J必須嚴(yán)格按照函數(shù)中的要求進(jìn)行輸入,在scanf('%c%c',&chl,&ch2)的格式控制語句中沒有任何字符進(jìn)行間隔,所以在輸入時(shí)也不能使用任何字符進(jìn)行間隔,所以答案選擇B。

\n

18.D在C語言中,當(dāng)表達(dá)式成立時(shí)用l表示,不成立時(shí)用0表示,即x=(a&&b)&&(c<'B')=(14&&15)&&('A'<'B')=1&&1=1,故選擇D選項(xiàng)。

19.C解析:關(guān)系中每一個(gè)屬性都有一個(gè)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論