2021年江西省新余市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)_第1頁(yè)
2021年江西省新余市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)_第2頁(yè)
2021年江西省新余市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)_第3頁(yè)
2021年江西省新余市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)_第4頁(yè)
2021年江西省新余市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021年江西省新余市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列關(guān)于效率的說(shuō)法不正確的是()

A.效率是一個(gè)性能要求,其目標(biāo)應(yīng)該在需求分析時(shí)給出

B.提高程序效率的根本途徑在于選擇良好的設(shè)計(jì)方法,數(shù)據(jù)結(jié)構(gòu)與算法

C.效率主要指處理機(jī)時(shí)間和存儲(chǔ)器容量?jī)蓚€(gè)方面

D.程序的效率與程序的簡(jiǎn)單性無(wú)關(guān)

2.在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()。

A./B.++C.!=D.%

3.以下正確的敘述是()。

A.在C程序中,每行中只能寫(xiě)一條語(yǔ)句

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

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

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

4.下面的排序算法中初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o(wú)影響的是()A.插入排序B.堆排序C.冒泡排序D.快速排序

5.如果要求一個(gè)線性表既能較快地查找,又能適應(yīng)動(dòng)態(tài)變化的要求,可以采用下列哪一種查找方法()

A.分塊B.順序C.折半D.哈希

6.有以下程序:#include<stdio.h>voidfunc(intn){staticintnum=1);num=num+n;printf("%d",num);}main(){funo(3);func(4);printf("n");}程序運(yùn)行后的輸出結(jié)果是()。A.48B.34C.35D.45

7.以下敘述中不正確的是

A.預(yù)處理命令行都必須以#號(hào)開(kāi)始

B.在程序中凡是以#號(hào)開(kāi)始的語(yǔ)句行都是預(yù)處理命令行

C.宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間

D.在以下定義是正確的:#definePI3.1415926;

8.若要求從鍵盤(pán)讀入含有空格字符的字符串,應(yīng)該使用函數(shù)______。A.getc()B.gets()C.getchar()D.scanf()

9.下列敘述中正確的是()。

A.數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持

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

C.數(shù)據(jù)庫(kù)管理系統(tǒng)就是數(shù)據(jù)庫(kù)系統(tǒng)

D.以上三種說(shuō)法都不對(duì)

10.若有定義intx=3,y=2和floata=2.5,b=3.5,則表達(dá)式:(x+y)%2+(int)a/(int)b的值是()。

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

11.以下選項(xiàng)中,當(dāng)x為大于l的奇數(shù)時(shí),值為0的表達(dá)式是

A.x%2==1B.x/2C.x%2!=0D.x%2==0

12.在帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。

A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL

13.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。

A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序的易讀性

14.假定一個(gè)順序隊(duì)列的隊(duì)首和隊(duì)尾指針?lè)謩e為f和r,則判斷隊(duì)空的條件為_(kāi)___。

A.f+1==rB.r+1==fC.f==0D.f==r

15.對(duì)表進(jìn)行水平方向和垂直方向的分割,分別對(duì)應(yīng)的關(guān)系運(yùn)算是()

A.選擇和投影B.投影和選擇C.選擇和聯(lián)接D.投影和聯(lián)接

16.在嵌套使用if語(yǔ)句時(shí),C語(yǔ)言規(guī)定else總是A.和之前與其具有相同縮進(jìn)位置的if配對(duì)

B.和之前與其最近的if配對(duì)

C.和之前與其最近的且不帶else的if配對(duì)

D.和之前的第一個(gè)if配對(duì)

17.算法的時(shí)間復(fù)雜度是指A.算法的執(zhí)行時(shí)間B.算法所處理的數(shù)據(jù)量C.算法程序中的語(yǔ)句或指令條數(shù)D.算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)

18.

19.有以下程序,其中函數(shù)f的功能是將多個(gè)字符串按字典順序排序:#include<string.h>voidf(char*p[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)ifstrcmp(p[i],p[j])>0{t=p[i]p[i]=p[j];p[j]=t;}}main(){char*p[5]=("abc","aabdfg","abbd","dcdbe","cd"};f(p,5);printf("%d\n",strlen(p[1]));}程序運(yùn)行后的輸出結(jié)果是______。A.2B.3C.6D.4

20.最小堆[0,3,2,5,7,4,6,8],在刪除堆頂元素0之后,其結(jié)果是()

A.[3,2,5,7,4,6,8]

B.[2,3,5,7,4,6,8]

C.[2,3,4,5,7,8,6]

D.[2,3,4,5,6,7,8]

二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是______。

main()

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

if(c=A)printf("%d\n",C);

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

}

22.若有程序

main()

{inti,j;

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

printf("i=%d,j-%d\n",i,j);

}

要求給i賦10,給j賦20,則應(yīng)該從鍵盤(pán)輸入______。

23.若有定義doublea[5];,則a數(shù)組元素下標(biāo)的上限為_(kāi)_____。

24.若有如下程序:

main()

{ints[]={1,2,3,4,5,6},*p=s;

printf("%d,%d\n",*(p+3),*(p+6));}

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

25.設(shè)有以下結(jié)構(gòu)體類(lèi)型:

structst

{charname[8];

intnum;

floats[4];

}student[50];

并且結(jié)構(gòu)體數(shù)組student中的元素都已有值。若要將這些元素寫(xiě)到硬盤(pán)文件fp中,請(qǐng)將以下fwrite語(yǔ)句補(bǔ)充完整:

fwrite(student,【】,1,fp);

26.調(diào)用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí)要求用【】命令。

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

#include<stdio.h>

main()

inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;

for(i=0;i<3;i++)s+=a[i][i]+a[i][3-i-1];

pfintf("%d\n",s);

28.下列程序執(zhí)行后輸出的結(jié)果是【】。

main()

{intarr[10],i,k=0;

for(i=O;i<10;i++)arr[i]=i;

for(i=1;i<4;i++)k+=arr[i]+i;

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

}

29.實(shí)現(xiàn)程序可將磁盤(pán)中的一個(gè)文件復(fù)制到另一個(gè)文件中,兩個(gè)文件的文件名在可執(zhí)行命令的命令行中(相當(dāng)于copy命令),假定文件在當(dāng)前目錄下。請(qǐng)補(bǔ)全程序。

#include<stdio.h>

voidmain(intargc,char*argv[])

{FILE*f1,*f2;

if(argc<【】)

{printf("parametererror!\n");exit(0);}

f1=fopen(argv[1],"r");

f2=fopen(argv[2],"w");

while(【】)fputc(fgetc(f1),f2);

fclose(f1);

fclose(f2);

}

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

main()

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

inti;

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

printf("\n");}

31.棧的3種基本運(yùn)算是:入棧、退棧和______。

32.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指向內(nèi)存空間中,形成一個(gè)新的字符串s。請(qǐng)?zhí)羁铡?/p>

voidsstrcpy(char*s,char*t)

{while(*s++=______);}

main()

{charstr1[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

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

}

33.對(duì)一組記錄{54,38,96,23,15,72,60,45,83}進(jìn)行直接插入排序時(shí),當(dāng)插入第5個(gè)記錄到有序表時(shí),尋找插入位置需比較【】次。

34.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intfun(intn)

{intm=0,f=1,i;

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

{m+=i*f;f=【】;}

returnm;

}

main()

{printf("m=%d\n",【】);}

35.數(shù)據(jù)模型分為格式化模型與非格式化模型,層次模型與網(wǎng)狀模型屬于【】。

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

intf(inta[],intn)

{

if(n>=1)

returnf(a,n-1)+a[n-1];

else

return0;

}

main()

{

intaa[5]={1,2,3,4,5},s;

s=f(aa,5);

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

}

37.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語(yǔ)言表達(dá)式是______。

38.有如下圖所示的雙鏈表結(jié)構(gòu),請(qǐng)根據(jù)圖示完成結(jié)構(gòu)體的定義:

structaa

{intdata;

【】}node;

39.有以下程序

#include<stdio.h>

main()

{charch1,ch2;intn1,n2;

ch1=getchar();ch2=getchar();

n1=ch1-'()';n2=n1*10+(ch2-'()');

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

}

程序運(yùn)行時(shí)輸入:12<回車(chē)>,執(zhí)行后輸出結(jié)果是【】。

40.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對(duì)數(shù)據(jù)的操作運(yùn)算。

三、1.選擇題(20題)41.以下數(shù)組定義中錯(cuò)誤的是A.intx[][3]={0};

B.intx[2][3]={{l,2},{3,4},{5,6}};

C.intx[][3]={{l,2,3},{4,5,6}};

D.intx[2][3]={l,2,3,4,5,6};

42.下列不正確的轉(zhuǎn)義字符是()。

A.'\\'B.'\t'C.'\n\D.'088'

43.當(dāng)向一棵m階的B-樹(shù)做插入操作時(shí),若一個(gè)結(jié)點(diǎn)中的關(guān)鍵字個(gè)數(shù)等于______,則必須分裂為2個(gè)結(jié)點(diǎn)。

A.mB.m-1C.m+1D.m/2

44.對(duì)于下述程序,在方式串分別采用"wt"和"wb"運(yùn)行時(shí),兩次生成的文件TEST的長(zhǎng)度分別是

#include<stdio.h>

voidmain()

{FILE*fp=fopen("TEST",);

fputc(′A′,fp);fputc(′\n′,fp);

fputc(′B′,fp);fputc(′\n′,fp);

fputc(′C′,fp);

fclose(fp);}

A.7字節(jié)、7字節(jié)B.7字節(jié)、5字節(jié)C.5字節(jié)、7字節(jié)D.5字節(jié)、5字節(jié)

45.若變量已正確定義,要求通過(guò)scanf("%c%d%c%d",&c1,&a,&c2,&B)語(yǔ)句給變量a和b分別賦32和45,給變量c1和c2分別賦字符A和B;下列選項(xiàng)中數(shù)據(jù)從第1列開(kāi)始輸入,正確的輸入形式是()。

A.A32<CR>B45<CR>B.A45<CR>B32<CR>C.A32B45<CR>D.A32B45<CR>

46.下列敘述中正確的是()。

A.在模塊化程序設(shè)計(jì)中,一個(gè)模塊應(yīng)該盡量多的包括與其他模塊聯(lián)系的信息

B.在自頂向下、逐步細(xì)化的設(shè)計(jì)過(guò)程中,首先應(yīng)設(shè)計(jì)解決問(wèn)題的第一個(gè)細(xì)節(jié)

C.在模塊化程序設(shè)計(jì)中,一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則

D.在程序設(shè)計(jì)過(guò)程中,不能同時(shí)采用結(jié)構(gòu)化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì)方法

47.下述關(guān)于C語(yǔ)言文件的操作的結(jié)論中,正確的是______。

A.對(duì)文件操作必須先關(guān)閉文件

B.對(duì)文件操作必須先打開(kāi)文件

C.對(duì)文件操作順序無(wú)要求

D.對(duì)文件操作前必須先測(cè)文件是否存在,然后再打開(kāi)文件

48.設(shè)有下列二叉樹(shù):

對(duì)此二叉樹(shù)中序遍歷的結(jié)果為_(kāi)_____。

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

49.閱讀下列程序,則在執(zhí)行后,程序的運(yùn)行結(jié)果為#include"stdio.h"#include"string.h"main(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}

A.nicetomeetyouyouB.nicetoC.meetyouyouD.nicetoyou

50.若有以下的說(shuō)明和語(yǔ)句,則在執(zhí)行for語(yǔ)句后,*(*(pt+1)+2)表示的數(shù)組元素是______。intt[3][3],*pt[3],k;for(k=0;k<3k++)pt[k]=&t[k][0]

A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]

51.有以下程序main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0case3:a+=2;case1;case2;a+=3;default,a+=5;}}printf("%d\n",a);}

A.31B.13C.10D.20

52.下列能正確進(jìn)行字符串賦值的是()。

A.chars[5]={"ABCDE"};

B.chars[5]={'A','B','C','D','E'};

C.char*s;s="ABCDE";

D.char*s;printf("%s",s);

53.已知在ASCII字符集中,數(shù)字0的序號(hào)為48,下列程序的輸出結(jié)果為_(kāi)_____。main()}chara='0',b='9';printf("%d,%c\n",a,b);}

A.因輸出格式不合法B.48,57C.0,9D.48,9

54.當(dāng)用戶(hù)要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是

A.scanf()B.getchar()C.gets()D.Setc()

55.以下不屬于對(duì)象的基本特點(diǎn)的是()

A.分類(lèi)性B.多態(tài)性C.繼承性D.封裝性

56.以下選項(xiàng)中非法的表達(dá)式是()。

A.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+1

57.以下敘述正確的是()。

A.在C語(yǔ)言程序中,main函數(shù)必須位于程序的最前面

B.C語(yǔ)言程序的每行中只能寫(xiě)一條語(yǔ)句

C.C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句

D.在對(duì)一個(gè)C語(yǔ)言程序進(jìn)行編譯的過(guò)程,可發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤

58.在深度為5的滿(mǎn)二叉樹(shù)中,結(jié)點(diǎn)的個(gè)數(shù)為

A.32B.31C.16D.15

59.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r分別指向一個(gè)鏈表中的三個(gè)連續(xù)結(jié)點(diǎn)。structnodeintdata;structnode*next;}*p,*q,

*r;

現(xiàn)要將q和r所指結(jié)點(diǎn)的先后位置交換,同時(shí)要保持鏈表的連續(xù),以下錯(cuò)誤的程序是

A.r->next=q;q->next=r->next;p->next=r;

B.q->next=r->next;p->next=r;r->next=q;

C.p->next=r;q->next=r->next;r->next=q;

D.q->next=r->next;r->next=q;p->next=r;

60.設(shè)有語(yǔ)句chara='\72';,則變量a()

A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說(shuō)明不合法

四、選擇題(20題)61.算法分析的目的是()。

A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系C.分析算法的易懂性和可靠性D.分析算法的效率以求改進(jìn)

62.

63.

64.

65.定義無(wú)符號(hào)整數(shù)類(lèi)為UInt,下面可以作為類(lèi)UInt實(shí)例化值的是()。

A.-369B.369C.0.369D.整數(shù)集合11,2,3,4,51

66.

67.

68.不能實(shí)現(xiàn)函數(shù)之間數(shù)據(jù)傳遞的是()。

A.全局變量B.局部變量C.函數(shù)接口D.函數(shù)返回值

69.

70.軟件的()設(shè)計(jì)又稱(chēng)總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。

A.概要B.抽象C.邏輯D.規(guī)劃

71.設(shè)有關(guān)系R和S,關(guān)系代數(shù)表達(dá)式為R一(R—S)表示的是()。

A.R∩SB.R—SC.RUSD.R÷S

72.

73.C語(yǔ)言用_______表示邏輯“真”值。

A.trueB.t或yC.非零整型值D.整型值0

74.

75.

有下列程序:

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

76.

77.下列合法的聲明語(yǔ)句是()。

A.intabc=50;

B.doubleint=3+5e2.5;

C.longdo=1L;

D.float3asd=3e一3;

78.設(shè)有如下函數(shù)定義若執(zhí)行調(diào)用語(yǔ)句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是()。

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

79.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。

A.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元

B.形參只是形式上的存在,不占用具體存儲(chǔ)單元

C.同名的實(shí)參和形參占同一存儲(chǔ)單元

D.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元

80.有以下程序

main()

{inta[3][3],*p,i;

p=&a[0][0];

for(i=0;i<9;i++)p[i]=i;

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

}

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

A.012B.135C.234D.345

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:用冒泡法對(duì)6個(gè)字符串按由小到大的順序進(jìn)行排序。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和+號(hào)。編寫(xiě)函數(shù)fun,其功能是:除了字符串前導(dǎo)和尾部的母號(hào)外,將其他的*號(hào)全部刪除。形參h已指向字符串中第一個(gè)字母,形參P指向字符串中最后一個(gè)字母。在編寫(xiě)函數(shù)時(shí),不得使用c語(yǔ)言提供的字符串函數(shù)。

參考答案

1.D

2.D解析:/、++和!=的操作數(shù)既可能是整型,又可能是實(shí)型。而%的操作數(shù)只能是整型。

3.D

4.B

5.D

6.A第一調(diào)用func函數(shù)時(shí)輸出4,第二次調(diào)用func函數(shù)時(shí)num的值并不會(huì)釋放,仍然是上次修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是48。

7.D解析:帶參數(shù)的宏定義如下:#define宏名(參數(shù))字符串。本題中,宏定義的作用是指定用標(biāo)識(shí)符PI來(lái)代替“3.1415926”這個(gè)字符串,但宏定義不是C語(yǔ)句,不必在行末加分號(hào)。

8.B解析:函數(shù)getchar()的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符,且只能接受—個(gè)字符(回車(chē)符也算是—個(gè)字符),所以getchar()不能用宋讀入字符串。scanf()函數(shù)要求按—定的格式來(lái)輸入,若同時(shí)輸入多個(gè)字符串,則以空格或回車(chē)分割,所以空格不能被識(shí)別為—個(gè)字符,也就無(wú)法讀入空格字符。函數(shù)gets()的作用是從終端輸入—個(gè)字符串\u3000(包括空格)至字符數(shù)組,直到遇到換行符為止,所以可以用來(lái)鍵盤(pán)讀入空格字符。

9.B解析:本題考查數(shù)據(jù)庫(kù)系統(tǒng)的基本概念和知識(shí)。

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

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

通常將引入數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng)稱(chēng)為數(shù)據(jù)庫(kù)系統(tǒng)。一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)通常由五個(gè)部分組成,包括相關(guān)計(jì)算機(jī)的硬件、數(shù)據(jù)庫(kù)集合、數(shù)據(jù)庫(kù)管理系統(tǒng)、相關(guān)軟件和人員。

因此,選項(xiàng)C的說(shuō)法是錯(cuò)誤的。

因此,本題的正確答案是選項(xiàng)B。

10.D

11.D解析:因?yàn)閤的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1,因此,選項(xiàng)A)、C)中表達(dá)式的結(jié)果為真,不為0;對(duì)于選項(xiàng)B)來(lái)說(shuō),x除以2的商不會(huì)等于0;選項(xiàng)D)中表達(dá)式的結(jié)果為假,即等于0。

12.B

13.D解析:程序不僅是編寫(xiě)完就結(jié)束了,為了測(cè)試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,即程序的易讀性,“清晰第一,效率第二”。

14.D

15.A解析:從關(guān)系中找出滿(mǎn)足給定條件的那些元組稱(chēng)為選擇,是從行的角度進(jìn)行的運(yùn)算,即水平方向抽取元組。從關(guān)系模式中挑選若干屬性組成新的關(guān)系稱(chēng)為投影,是從列的角度進(jìn)行的運(yùn)算,相當(dāng)于對(duì)關(guān)系進(jìn)行垂直分解。所以,本題選擇A。

16.C解析:C語(yǔ)言的語(yǔ)法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合,與書(shū)寫(xiě)格式無(wú)關(guān)。所以選項(xiàng)C)為正確答案。

17.DD?!窘馕觥克惴ǖ臅r(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來(lái)說(shuō),計(jì)算機(jī)算法是問(wèn)題規(guī)模。09函數(shù)fin),算法的時(shí)間復(fù)雜度也因此記做T(n)=O(f(n))。因此,問(wèn)題的規(guī)模n越大,算法執(zhí)行的時(shí)間的增長(zhǎng)率與f(n)的增長(zhǎng)率正相關(guān),稱(chēng)作漸進(jìn)時(shí)間復(fù)雜度(AsymptoticTimeComplexity)。簡(jiǎn)單來(lái)說(shuō)就是算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)。

18.A

19.D解析:字符串比較函數(shù)“strcmp(char*s1,char*s2)”的比較規(guī)則是對(duì)兩個(gè)字符串自左至右逐個(gè)字符相比(按ASCII碼值大小比較),直到出現(xiàn)不同的字符或遇到到"\\0"為止。如果全部相同,則認(rèn)為相等:若出現(xiàn)不相同的字符,則以第一個(gè)不相同的字符的比較結(jié)果為準(zhǔn)。當(dāng)s1<s2,返回值<0;當(dāng)s1=s2時(shí),返回值二0:當(dāng)s1>s2時(shí),返回值>0。故本題經(jīng)過(guò)排序后,得到第二個(gè)字符串是“abbd”,所以輸出結(jié)果是4。

20.C

21.11解析:本題是一個(gè)陷阱題。在if語(yǔ)句的判斷表達(dá)式中,使用的不是邏輯運(yùn)算符==而是賦值運(yùn)算符=,使該表達(dá)式返回的結(jié)果正好相反。如果是c==a,則結(jié)果為假。但是c=a則是將a賦給c,且表達(dá)式的結(jié)果是賦值之后的c的值,因此結(jié)果為1是真.故最后輸出c的值1。

22.i=0j=20i=0j=20解析:本題考核的知識(shí)點(diǎn)是scanf()數(shù)的使用.該函數(shù)的第一個(gè)參數(shù)是格式字符串,主要由兩類(lèi)字符組成,一類(lèi)是非格式符要求原樣輸入,一類(lèi)是格式符對(duì)應(yīng)要輸入的變量,所以說(shuō)本題中應(yīng)該原樣輸入i=j=,后面分別給變量0和20,所以說(shuō)空格處應(yīng)該填入i=0,j=20。

23.44解析:一維數(shù)組元素的定義形式為:數(shù)組名[N],則該數(shù)組中元素的下限是0,上限是N-1。

24.4不定值4,不定值

25.sizeof(structst)*50sizeof(structst)*50解析:fwrite函數(shù)的一般調(diào)用形式為:fwrite(buffer,size,count,fp);其中:buffer是一個(gè)指針變量,是要輸出數(shù)據(jù)的起始地址;size是要寫(xiě)的字節(jié)數(shù);count是要寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng);fp是文件指針。

26.includeinclude解析:include命令可調(diào)用標(biāo)準(zhǔn)的C語(yǔ)言庫(kù)函數(shù),可以用一對(duì)尖括號(hào)或一對(duì)雙引號(hào)將“.h”文件括起來(lái),在include前面要加“#”。

27.3030解析:當(dāng)i=0時(shí),s=0+a[0][0]+a[0][2]=10;i=1時(shí),s=10+a[1][1]+a[1][1]=18;i=2時(shí),s=18+a[2][2]+a[2][0]=30。

28.1212解析:本題的第一個(gè)for循環(huán)用于給數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。

29.3!feof(f1)3\r\n!feof(f1)解析:要實(shí)現(xiàn)文件復(fù)制,需要指定源文件及目的文件,因此在命令行下執(zhí)行程序時(shí)至少要指定兩個(gè)參數(shù),加上程序名本身,故argc的值至少為3,因此第一空應(yīng)填3。while循環(huán)中語(yǔ)句fputc(fgetc(f1),f2);的目的是將f1中的字符依次讀出并寫(xiě)入到f2對(duì)應(yīng)的文件中去,直至文件f1結(jié)束為止,因此第二空為!feof(f1)。

30.SOSO解析:題中需要注意兩個(gè)問(wèn)題:一是for循環(huán)的修正表達(dá)式共執(zhí)行兩次“i-”操作;二是*p[i]是對(duì)某個(gè)字符的引用。

31.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個(gè)新的元素;退棧是指取出棧頂元素并賦值給一個(gè)變量;讀棧頂元素是將棧頂元素賦值給一個(gè)指定的變量,不刪除棧頂元素。

32.*t++或*(t++)*t++或*(t++)解析:主函數(shù)中定義了兩個(gè)字符型數(shù)組st1l和str2,并且給str2賦初值“abcdefgh”,接著調(diào)用函數(shù)sstrcpy(str1,str2),將字符串str2的值賦給str1.在函數(shù)sstrcpy(*s,*t)中,用了一個(gè)while循環(huán),每循環(huán)一次將形參指針t所指的字符賦給形參指針s所指向的存儲(chǔ)空間,然后指針s和指針t都下移到下一個(gè)元素。所以空格處應(yīng)該填*t++或*(t++)。

33.11解析:直接插入排序是在已排好序的序列中用順序查找法查找插入位置。第5個(gè)記錄是15,15和23比較,就知道15應(yīng)放在原23放的位置,23及其以后的記錄后移。

34.(-1)*ffun(10)(-1)*f\r\nfun(10)解析:本題利用一個(gè)fun函數(shù)來(lái)完成題目要求的計(jì)算。程序中變量f起的作用是控制i*f的符號(hào),偶數(shù)位都為負(fù)值,第一處填(-1)*f。在main函數(shù)中要輸出fun函數(shù)返回的m值,因此第二處填fun(10),實(shí)參10傳給形參n。

35.格式化模型格式化模型解析:層次模型與網(wǎng)狀模型屬于格式化模型。

36.1515解析:在函數(shù)f()中只有一條if語(yǔ)句,如果n不小于1,則返回f(a,n-1)+a[n-1];否則返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3],……直到f(aa,0)返回0。故f(aa,5)實(shí)際返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本題最終輸出15。

37.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語(yǔ)言表達(dá)式為:(x>-5)&&(x<5)。

38.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對(duì)鏈表的定義。

39.1212解析:字符類(lèi)型的數(shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,在C語(yǔ)言中,字符數(shù)據(jù)可以等價(jià)為與其相應(yīng)的ASCII碼的整數(shù),還可以作為整數(shù)參加運(yùn)算。在本題中,n1=h1-0'=1-0=49-48=1,n2=n1*10+(ch2-'0')=1*10+(2-0)=10+2=12。

40.存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個(gè)方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)及對(duì)數(shù)據(jù)的操作運(yùn)算。

41.B(16)B)解析:二維數(shù)組的初始化有以下幾種形式:①分行進(jìn)行初始化。②不分行的初始化。③部分?jǐn)?shù)組元素初始化。④省略第一維的定義,不省略第二維的定義。選項(xiàng)B)等號(hào)右邊分了3行,大于等號(hào)左邊數(shù)組的行數(shù)2。

42.D解析:'\\\\'是反斜線轉(zhuǎn)義字符;'\\t'是水平跳格轉(zhuǎn)義字符;'\\n'是換行轉(zhuǎn)義字符;C語(yǔ)言中沒(méi)有規(guī)定'088'為轉(zhuǎn)義字符。

43.A

44.B解析:以'wt'方式寫(xiě)入的是字符文件,轉(zhuǎn)義字符\'\\n\'被看作兩個(gè)字符來(lái)處理。而'wb'方式寫(xiě)入的是二進(jìn)制文件,轉(zhuǎn)義字符\'\\n\'是一個(gè)字符。

45.D解析:本題考查scanf函數(shù)的基本格式。當(dāng)需要從鍵盤(pán)上輸入數(shù)據(jù)時(shí),輸入的數(shù)值之間需要有間隔符(空格符號(hào)、制表符號(hào)、回車(chē)符號(hào)),間隔符號(hào)的使用數(shù)量不限。直到按下回車(chē)鍵,scanf函數(shù)才會(huì)接受從鍵盤(pán)輸入的數(shù)據(jù)。

46.CC?!窘馕觥吭谀K化程序設(shè)計(jì)中,模塊之間的聯(lián)系可以通過(guò)程序的控制結(jié)構(gòu)來(lái)實(shí)現(xiàn),在自頂向下、逐步細(xì)化的設(shè)計(jì)過(guò)程中,首先要考慮全局目標(biāo),而不是細(xì)節(jié)。在程序設(shè)計(jì)中模塊化和結(jié)構(gòu)化可以同時(shí)使用,一個(gè)模塊的內(nèi)部結(jié)構(gòu)也要符合結(jié)構(gòu)化設(shè)計(jì)原則。

47.B解析:在C中對(duì)文件操作必須先打開(kāi)文件,待文件操作完畢后要關(guān)閉文件。對(duì)文件以讀的方式進(jìn)行打開(kāi)操作時(shí),同時(shí)會(huì)執(zhí)行文件的檢查文件是否存在,不存在將會(huì)返回空的文件指針,如果對(duì)文件以寫(xiě)的方式打開(kāi)時(shí),文件不存在,將會(huì)自動(dòng)創(chuàng)建文件,因此在C中打開(kāi)文件前不必對(duì)其檢查文件是否存在,故答案為B。

48.B解析:所謂中序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù);并且在遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。

49.D解析:考查通過(guò)賦值的方式給一維數(shù)組賦初值。字符串復(fù)制函數(shù)strcpy調(diào)用形式為:strcpy(s1,s2),此函數(shù)用來(lái)把s2所指字符串的內(nèi)容復(fù)制到s1所指存儲(chǔ)空間中,函數(shù)返回s1的值,即目的串的首地址;求字符串長(zhǎng)度函數(shù)strlen的調(diào)用形式如下:strlen(s),此函數(shù)計(jì)算出以s為起始地址的字符串長(zhǎng)度,并作為函數(shù)值返回。注意這一長(zhǎng)度不包括串的結(jié)束標(biāo)志。用于字符串處理的函數(shù)。

50.C解析:本題考查通過(guò)指針引用數(shù)組元素。*(*(pt+1)+2)等價(jià)于*(pt[1]+2),pt[1]+2是t[1][2]的地址,故*(pt[1]+2)是t[1][2]的值。

51.A

52.C解析:字符串存儲(chǔ)要有結(jié)束符“\\0”且要占用一個(gè)空間,選項(xiàng)A)、B的空間不夠:printf用來(lái)輸出字符,不能輸入字符串.

53.D解析:注意輸出控制符%d,%c,分別表示以十進(jìn)制形式輸出字符的ASCII碼值和字符。

54.C解析:本題綜合考查了輸入函數(shù)的使用。scanf函數(shù)會(huì)將空格視為分隔符,getchar函數(shù)只能輸入單個(gè)字符,getc函數(shù)是文件操作函數(shù),顯然都不符合題意。通過(guò)gets函數(shù)輸入字符串時(shí),輸入的空格被認(rèn)為是字符串的一個(gè)字符。

55.C解析:對(duì)象的基本特點(diǎn)包括;標(biāo)識(shí)惟一性、分類(lèi)性、多態(tài)性、封裝性和獨(dú)立性等。繼承性不屬于對(duì)象的基本特點(diǎn)。

56.D解析:選項(xiàng)A)在C語(yǔ)言中是一個(gè)合法的關(guān)系表達(dá)式,但它并不代表數(shù)學(xué)式o<=x<100。計(jì)算0<=x<100時(shí),從左到右結(jié)合,先計(jì)算0<=x,其結(jié)果只能是0或1,然后再比較0<100或1<100。根據(jù)運(yùn)算符的優(yōu)先級(jí),選項(xiàng)B)先判斷j==0是否成立,其結(jié)果只能是0或1,然后再將0或1賦給i。選項(xiàng)C)中,(char)(65+3)為類(lèi)型強(qiáng)制轉(zhuǎn)換,將整數(shù)型數(shù)據(jù)轉(zhuǎn)換為字符型。選項(xiàng)D)是將一個(gè)數(shù)據(jù)賦給一個(gè)表達(dá)式,等號(hào)左邊不合要求,所以錯(cuò)誤。

57.C解析:選項(xiàng)A)中,main函數(shù)可以放在程序的任何位置,不一定要放在程序的最前面,不論main函數(shù)放在什么位置,程序的執(zhí)行卻總是從main函數(shù)開(kāi)始的;選項(xiàng)B)中,因?yàn)镃語(yǔ)言的語(yǔ)法限制不嚴(yán)格,所以可以多條語(yǔ)句放在同一行上;選項(xiàng)C)是正確的,C語(yǔ)言中沒(méi)有專(zhuān)門(mén)的輸入輸出語(yǔ)句,輸入輸出是通過(guò)使用輸入輸出庫(kù)函數(shù)來(lái)實(shí)現(xiàn)的;選項(xiàng)D)是錯(cuò)誤的,因?yàn)镃語(yǔ)言中的注釋是不會(huì)被編譯的。注意:掌握算法的相關(guān)特性。

58.B解析:二叉樹(shù)有如下性質(zhì):深度為m的二叉樹(shù)最多有2的m次方再減1個(gè)結(jié)點(diǎn),也就是2m-1=25-1=32-1=31。由此可知答案為B。

59.A解析:題目中要求將q和r所指結(jié)點(diǎn)的先后位置交換,即要求p所指結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)。選項(xiàng)A首先讓r所指向的指針的指針域指向q所指向的結(jié)點(diǎn),這樣就將r所指向的結(jié)點(diǎn)的指針域指向的結(jié)點(diǎn)丟失了,故選項(xiàng)A錯(cuò)誤。選項(xiàng)B首先q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)的指針域所指向的結(jié)點(diǎn),然后,讓p所指向結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),最后讓r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),滿(mǎn)足要求,故選項(xiàng)B正確。選項(xiàng)C首先讓p所指向結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn),然后讓q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)的指針城所指向的結(jié)點(diǎn),最后讓r所指向的結(jié)點(diǎn)的指針域指向q所指向的結(jié)點(diǎn),滿(mǎn)足要求,故選項(xiàng)C正確.選項(xiàng)D首先讓q所指向的結(jié)點(diǎn)的指針域指向r所指向的結(jié)點(diǎn)的指針域所指向的結(jié)點(diǎn),然后,讓?zhuān)赶虻慕Y(jié)點(diǎn)的指針城指向q所指向的結(jié)點(diǎn)讓?zhuān)詈笞孭所指向結(jié)點(diǎn)的指針城指向r所指向的結(jié)點(diǎn),滿(mǎn)足要求,故選項(xiàng)D正確;所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

60.A解析:'\\72'是反斜線后跟一個(gè)八進(jìn)制數(shù),代表字符常量':'。

61.D

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論