2021年內(nèi)蒙古自治區(qū)呼和浩特市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)_第1頁
2021年內(nèi)蒙古自治區(qū)呼和浩特市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)_第2頁
2021年內(nèi)蒙古自治區(qū)呼和浩特市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)_第3頁
2021年內(nèi)蒙古自治區(qū)呼和浩特市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)_第4頁
2021年內(nèi)蒙古自治區(qū)呼和浩特市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021年內(nèi)蒙古自治區(qū)呼和浩特市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.數(shù)組A中,每個(gè)元素的長度為3個(gè)字節(jié),行下標(biāo)i從1到8,列下標(biāo)j從1到10,從首地址SA開始連續(xù)存放的存儲(chǔ)器內(nèi),該數(shù)組按行存放,元素A[8][5]的起始地址為()。

A.SA+141B.SA+144C.SA+222D.SA+225

2.如果最常用的操作是取第i個(gè)結(jié)點(diǎn)及其前驅(qū),最節(jié)省時(shí)間的存儲(chǔ)方式是()。

A.單鏈表B.雙向鏈表C.單循環(huán)鏈表D.順序表

3.有下列程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;while(t!=n);為使此程序段不陷入循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)

4.

5.交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。

A.&B.^C.‖D.~

6.有下面程序段#include"stdio.h"#include"string.h"main(){chara[3][20]={{"china"};{"isa"},{bigcountry!"}};chark[100]={0},*p=k;inti;for(j=0;j<3;i++){p=strcat(p,a[i]);}i=strlen(p);printf("%d\n",i);}則程序段的輸出結(jié)果是

A.18B.19C.20D.21

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

B.1111110100011001

C.0000001011100010

D.1100000000101000

8.下列關(guān)于宏的敘述中正確的是()。

A.宏替換沒有數(shù)據(jù)類型限制

B.宏定義必須位于源程序中所有語句之前

C.宏名必須用大寫字母表示

D.宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間

9.數(shù)字字符0的ASCII值為48,運(yùn)行下列程序的輸出結(jié)果是()。main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-A);}

A.3,2B.50,2C.2,2D.2,50

10.有以下程序:structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項(xiàng)中表達(dá)式值為11的是()。

A.++p->xB.pt->xC.*pt->yD.(pt++)->x

11.設(shè)有定義:

inta=1,b=2,C=3;

以下語句中執(zhí)行效果與其他三個(gè)不同的是()。

A.if(a>B.C=a,a=b,b=C;

B.if(a>B.{C=a,a=b,b=C;}

C.if(a>B.C=a;a=b;b=c;

D.if(a>B.{C=a;a=b;b=c;}

12.在下面的二維數(shù)組定義中,正確的是()。

A.inta[5][];

B.inta[][5];

C.inta[][3]={{1,3,5},{2}};

D.inta[](10);

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

A.0B.-12C.-20D.10

14.有以下程序

intfun1(doublea){returna*=a;}

intfun2(doublex,doubley)

{doublea=0,b=0;

a=fun1(x);b=fun1(y);return(int)(a+b);

}

main()

{doublew;w=fun2(1.1,2.0);……}

程序執(zhí)行后變量w中的值是A.5.21B.5C.5.0D.0.0

15.一個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棱的順序是()。A.A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA

16.堆的形狀是一棵_______。

A.二叉排序樹B.滿二叉樹C.完全二叉樹D.平衡二叉樹

17.設(shè)有宏定義“#defineIsDIV(k,n)((k%n==1)?1:0)”,且變量m已正確定義并賦值,則宏調(diào)用“IsDIV(m,5)&&IsDIV(m,7)”為真時(shí)所要表達(dá)的是()。

A.判斷m是否能被5和7整除

B.判斷m被5和7整除是否都余1

C.判斷m被5或者7整除是否余1

D.判斷m是否能被5或者7整除

18.有以下程序:

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

A.357B.753C.369D.751

19.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]=“THIS\0”,*b=“OK\0\0”;printf(“%d,%d,%d,%d”,strlen(a),sizeof(a),strlen(b),sizeof(b));}程序運(yùn)行后的輸出結(jié)果是()。

A.4,6,2,4B.4,4,4,1C.6,5,2,1D.6,4,2,4

20.輸出語句“printf(“%d\n”,11+011);”的輸出結(jié)果是()。

A.20B.22C.022D.021

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

22.數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是______數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。

23.C語言中用______表示邏輯值為“真”,用數(shù)字“0”表示邏輯值為“假”。

24.以下程序用業(yè)統(tǒng)計(jì)文件十字符個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

main()

{FTLE*fp;longnum=OL;

if((fp=fopen("fname.dat","r"))==NUlL)

{pirntf("Openerror\n");exit(0);}

while()

{fgetc(fp);num++;}

printf("num=%1d\n",num-1);

fclose(fp);

}

25.有以下程序:

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

main()

{intx,y;

scanf("%d",&x);

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

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

}

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

26.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和______三種。

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

main()

{unionEXAMPLE

{struct

{intx;inty;}in;

inta;

intb;

}e:

e.a=1;e.b=2;

e.in.x=e.a*e.b;

e.in.y=e.a+e.b;

printf("%d,%d\n",e.in.x,e.in.y);

}

28.以下程序的功能是將字符串s中所有小寫字母'a'刪去,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{chars[]="absuWWUDJFKFLaaakdK";

inti,j;

for(i=j=0;s[i]!='\0';i++)

if()

s[j++]=s[i];

s[j]='\0';

printf("%s",s);

}

29.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【】。

30.設(shè)有下列宏定義:#defineA2

#defineBA+3

則執(zhí)行賦值語句:t=b*2;t為血型變量后的值是______。

31.下面函數(shù)要求計(jì)算兩個(gè)整數(shù)x,y之和,并通過形參返回該值,請(qǐng)?zhí)羁铡?/p>

add(intx,inty,【】z)

{【】=x+y;}

32.若有定義語句:inta=5;,則表達(dá)式:a++的值是【】。

33.常用的黑箱測試有等價(jià)類劃分法、【】和錯(cuò)誤推測法3種。

34.注釋說明了程序的功能,它分為【】注釋和功能性注釋。

35.表示""整數(shù)x的絕對(duì)值大于5""時(shí)值為""真""的C語言表達(dá)式是【】。

36.測試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

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

voidfun(int*n)

{

while((*n)--);

printf("%d",++(*n));

}

main()

{inta=100;

fun(&a);

}

38.數(shù)據(jù)流圖有兩種典型的結(jié)構(gòu)形式,它們分別是變換型和【】。

39.在E-R圖中,矩形表示【】。

40.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。

三、1.選擇題(20題)41.已有定義int(*p)();,指針p可以______。

A.代表函數(shù)的返回值B.指向函數(shù)的入口地址C.代表函數(shù)的類型D.代表函數(shù)返回值的類型

42.以下程序段的輸出結(jié)果是()。inta=1234;printf("%2d\n",a);

A.12B.34C.1234D.提示出錯(cuò),無結(jié)果

43.有以下函數(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);

44.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):

inti=8,j=9;

則下列語句:

printf("i=%u,j%x\n",i,j);

輸出的結(jié)果是()。

A.i=8,j=9B.8.9C.89D.i=8,j=8

45.以下定義語句中正確的是

A.inta=b=0;

B.charA=65+1,b='b';

C.noata=1,*b=&a,*c=&b;

D.doublea=0.0;b=1.1;

46.fgetc函數(shù)的作用是從指定文件讀入—個(gè)字符,該文件的打開方式必須是______。

A.只讀B.追加C.讀或讀寫D.以上均正確

47.執(zhí)行以下程序后,y的值是()main(){inta[]={2,4,6,8,10);inty=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n",y);}

A.17B.18C.19D.20

48.有以下程序:#include<stdio.h>intfun(int*k){intb=0;b=*k+b:return(B);}main(){inta[10]={1,2,3,4,5,6,7,8},i;for(i=2;i<4;i++){printf("%d",fun(&a[i]));}printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。

A.1012B.810C.34D.1028

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

A.枚舉型B.共用型C.結(jié)構(gòu)型D.數(shù)組型

50.下列SQL語句中,用于修改表結(jié)構(gòu)的是()。A.A.ALTERB.CREATEC.UPDATED.INSERT

51.下列司用于C語言用戶標(biāo)識(shí)符的—組是______。

A.voiddefineWORD

B.a3_b3_123Car

C.For-abcIFCase

D.2aDOsizeof

52.以下程序的運(yùn)行結(jié)果是

intk=0;

voidfun(intm)

{m+=k;k+=m;printf("m=%dk=%d",m,k++);}

main()

{inti=4;

fun(i++);

printf("i=%dk=%d\n",i,k);

}

A.m=4k=5i=5k=5

B.m=4k=4i=5k=5

C.m=4k=4i=4k=5

D.m=4k=5i=4k=5

53.數(shù)據(jù)庫設(shè)計(jì)的4個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和()。

A.編碼設(shè)計(jì)B.測試階段C.運(yùn)行階段D.物理設(shè)計(jì)

54.(49)A.*sB.sC.*s++D.(*s)++

55.可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是A.and2007

B.Date_y-m-d

C.HiDr.Tom

D.caseBigl

56.若變量a,i已正確定義,且i已正確賦值,下面合法的語句是()。

A.a==1B.++i;C.a=a++=5;D.a=int(i);

57.C語言中下列敘述正確的是_______。

A.不能使用do...while語句構(gòu)成的循環(huán)

B.do...while語句構(gòu)成的循環(huán),必須用break語句才能退出

C.do...while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為非零時(shí)結(jié)束循環(huán)

D.do...while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)

58.字符串"\\"ABCDEF\"\\”的長度是()。

A.11B.10C.5D.3

59.請(qǐng)讀程序:#include<stdio.h>func(inta,intb){intc;c=a+b;returnc;}main(){intx=6,y=7,z=8,r,r=func((x-,y++,x+y),z-);printf("%d\n",r);}上面程序的輸出結(jié)果是_______。

A.11B.20C.21D.31

60.設(shè)有下列二叉樹:對(duì)此二叉樹前序遍歷的結(jié)果為()

A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY

四、選擇題(20題)61.

62.

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

main

{inta=6,b=3,C;

if(a<b)

{c=a*b;printf("%d%d,%d\n",b,a,c);)

else

{c=b/a;printf("%d,%d,%d\n",b,a,c);)

}

A.3,6,18B.3,6,2C.6,3,18D.6,3,2

63.有以下程序:

則以下函數(shù)調(diào)用語句錯(cuò)誤的是()。

A.k:f(a,B.;B.k:add(a,B.;C.k=(*f)(a,B.;D.k=*(a,B.;

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

B.1111110100011001

C.0000001011100010

D.1100000000101000

65.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A.循環(huán)隊(duì)列B.帶鏈隊(duì)列C.二叉樹D.帶鏈棧

66.若有以下定義和語句:

chars[10]="abcd!",*s2="\nl23\\";

Drintf("%d%d\n",strlen(sl),strlen(s2));

則輸出結(jié)果是()。

A.55B.105C.107D.58

67.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為()。

A.i*m+j-1B.i*m+jC.J*m+iD.i*m+j+1

68.結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是()。

A.for、while、switchB.輸入、輸出、處理C.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)D.主程序、子程序、函數(shù)

69.

70.下列可用于C語言用戶標(biāo)識(shí)符的一組是

A.void,define,WORDB.a(chǎn)3_b3,_123,Car

C.For,-abc,CaseD.2a,DO,sizeof

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

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

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

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

73.有以下程序:main{inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j=0;j<=3;j++)x++;}x++;}printf("x=%d\n",x);}程序執(zhí)行后的輸出結(jié)果是()。A.x=4B.x=8C.x=6D.x=12

74.

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

A.順序存儲(chǔ)的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表

76.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。

A.EOFB.-lC.非零值D.0

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

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

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

78.下列能正確定義且賦初值的語句是()。

A.intn1=n2=1;

B.charC=99;

C.floatf=f+1;

D.doublex=1.2E5.6;

79.

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

A.線性表是由n個(gè)元素組成的一個(gè)有限序列

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

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

D.線性表可以是空表

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的作用是:將字符串tt中的大寫字母都改為對(duì)應(yīng)的小寫字母,其他字符不變。

例如,若輸入“I,anl,A,Student”,則輸出“i,am,a,student”。

請(qǐng)修改程序中的錯(cuò)誤。使它能得到正確結(jié)果。

注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),其功能是:計(jì)算并輸出下列多項(xiàng)式值。S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n)例如,若主函數(shù)從鍵盤給n輸入20后,則輸出為s=0.680803。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:

參考答案

1.C

2.D

3.D本題主要考查do—while循環(huán),因?yàn)樽兞縯的初始值等于1,經(jīng)過第一次do-while循環(huán)后,執(zhí)行t=t-1這條語句一次,所以變量t的值為-1,判斷關(guān)系表達(dá)式t!=n是否成立,如果關(guān)系表達(dá)式成立,則執(zhí)行第二次循環(huán),如果關(guān)系表達(dá)式不成立,退出循環(huán)。由此可見,只要輸入變量n的值為負(fù)奇數(shù),則一定會(huì)使t==n成立,故退出do-while循環(huán)。

4.B

5.B按邏輯位運(yùn)算特點(diǎn):①用按位與運(yùn)算將特定位清為0或保留特定位;②用按位或運(yùn)算將特定的位置為1;③用按位異或運(yùn)算將某個(gè)變量的特定位翻轉(zhuǎn)或交換兩個(gè)變量的值。

6.B解析:字符串連接函數(shù)strcat的調(diào)用形式如下:strcat(s1,s2)。此函數(shù)用來把s2所指字符串的內(nèi)容連接到s1所指的字符串后面,并自動(dòng)覆蓋s1串末尾的尾標(biāo),函數(shù)返回s1的地址值。

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

8.A宏定義寫在函數(shù)的花括號(hào)外,作用域?yàn)槠浜蟮某绦?,通常在文件的最開頭,所以B選項(xiàng)錯(cuò)|誤。宏名一般用大寫字母,但不是必須用大寫字母,所以C選項(xiàng)錯(cuò)誤。宏展開不占運(yùn)行時(shí)間,只占編譯時(shí)間,函數(shù)調(diào)用占運(yùn)行時(shí)間(分配內(nèi)存、保留現(xiàn)場、值傳遞、返回值),所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。

9.C解析:自增運(yùn)算符“++”,出現(xiàn)在變量之前,表示先使變量的值加1,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后,表示先使用變量的值進(jìn)行運(yùn)算,冉使變量的值加1。例如題中的“b++”,題中第一條語句先輸出字符b的值,此時(shí)變量b='2',因此輸出值為2;再使b的值加1,b='3',因此第二條語句輸出:b-a='3'-'1'=2。

10.A題目中定義了一個(gè)結(jié)構(gòu)體數(shù)組c并初始化,指針pt指向c的第1個(gè)元素。則“++pt->x”為11,“pt->x”為10,“*pt->y”為1,“(pt++)->x”為20。故本題答案為A選項(xiàng)。

11.C由于a小于b,所以所有選項(xiàng)中的條件都為假,c選項(xiàng)中實(shí)際執(zhí)行了a=b;b=c;兩個(gè)操作。而A、B、D選項(xiàng)由于條件不成立,所以什么也沒有做,所以選擇c選項(xiàng)。

12.C

13.C宏定義只是做簡單的替換,本題中SUB(a+b)*c=(a+b)-(a+b)*c=-20。故本題答案為C選項(xiàng)。

14.C(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。

15.B棧是先進(jìn)后出的原則組織數(shù)據(jù),所以人棧最早的最后出棧,所以選擇B。

16.C

17.B邏輯與運(yùn)算兩邊運(yùn)算對(duì)象的值都為真時(shí),結(jié)果才為真。所以需要m能被5和7整除都余1。故本題答案為B選項(xiàng)。

18.A本題考查的是for循環(huán)與二維數(shù)組的定義和引用。當(dāng)定義二維數(shù)組的初始化列表只使用一重花括號(hào)時(shí),其中的每個(gè)值依次代表從第l行的第1個(gè)元素起,直到第l行滿,接著代表第2行、第3行……的每一個(gè)元素。程序中的循環(huán)將循環(huán)3次,循環(huán)變量i的值分別是0、1、2,所以3次循環(huán)中輸出的數(shù)分別是:t[2一O][D]、t[2-1][1]、t[2~2]121,即t[2][0]、t[1][l]、t[0][2],所以最后輸出的結(jié)果為357。故應(yīng)該選擇A)。

19.Astrlen函數(shù)求得參數(shù)中字符串的長度(不包括字符串結(jié)束標(biāo)識(shí)“\\0”)sizeof函數(shù)求得特定類型參數(shù)所占存儲(chǔ)空間的長度。題干中a是數(shù)組名,由于定義時(shí)省略維數(shù)大小,因此數(shù)組大小是初始化的字符個(gè)數(shù),即a的數(shù)組大小為6。綜上,strlen(a)只計(jì)算字符“T”“H”“I”“S”,結(jié)果為4;sizeof(a)求得數(shù)組a的大小,結(jié)果為6;指針b指向一個(gè)字符串“OK\\0\\0”,所以strlen(b)只計(jì)算字符“O”“K”,結(jié)果為2;sizeof(b)求得指針占用存儲(chǔ)空間的大小,結(jié)果為4。故本題答案為A選項(xiàng)。

20.A“printf(“%d\\n”,11+011);”中,“11”為十進(jìn)制數(shù),“011”為八進(jìn)制數(shù),%d表示以十進(jìn)制格式輸出。因此,先將八進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),即(011)8=81×1+1×80=(9)10,相當(dāng)于“printf(“%d\\n”,11+9)”,輸出結(jié)果為20。故本題答案為A選項(xiàng)。

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

22.概念概念

23.非0非0解析:邏輯運(yùn)算中,非0表示邏輯“真”,用。表示邏輯“假”。

24.!feof(fp)!feof(fp)解析:本題中統(tǒng)計(jì)文件中字符個(gè)數(shù)的算法可描述如下:首先判斷文件位置指針是否指向了文件尾,如果不是則讀出一個(gè)字符,同時(shí)字符的個(gè)數(shù)加1,再判斷文件位置指針是否位于文件尾,如此循環(huán),直到文件位置指針位于文件尾為止。本題首先以讀文件的方式打開了文件“fname.daf”,如果打開成功則把返回的文件型指針賦值給fp,然后通過循環(huán)求文件中的字符數(shù)。首先判斷文件位置指針是否位于文件尾,如果不是則循環(huán)讀取字符,每次字符數(shù)加1。所以下劃處應(yīng)填循環(huán)條件,文件位置指針不是指向文件尾,即“!feof(fp)”。

25.1010解析:y=sub(sub(sub(x)))=sub(sub(127))=sub(19)=10。

26.關(guān)系模型關(guān)系模型

27.484,8解析:C語言規(guī)定,共用體中各個(gè)成員變量在內(nèi)存中占用同一段內(nèi)存單元,即e.in.x和e.a、e.b占用同一段內(nèi)存單元,由于e.in.x和e.a、e.b占用的是同、段內(nèi)存單元,所以程序最后的打印結(jié)果為“4,8”。

28.s[i]!='a's[i]!='a'解析:本題是要將字符串s中所有小寫字母'a'刪去,所以if語句的判斷條件應(yīng)該是字符串s中的字符和字符'a'不相同的時(shí)候,就把它仍然存在原來的數(shù)組中,若是和字符'a'相同,就不再保存它。

29.對(duì)象對(duì)象解析:將屬性、操作相似的對(duì)象歸為類,也就是說,類是具有共同屬性、共同方法的對(duì)象的集合。

30.88解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算。運(yùn)算過程為:t=-B*2=A+3*2=2+3*2=8。

31.int**zint*\r\n*z解析:函數(shù)希望通過形參z帶回結(jié)果,形參z必須是指針類型的。由于返回整型結(jié)果,所以第一處填int*;函數(shù)返回前必須先把結(jié)果通過形參z間接引用傳回,第二處應(yīng)填*z。

32.55解析:a++的含義是在使用a值以后,使a值加1,所以a++的值為5。

33.邊界值分析法邊界值分析法解析:黑箱測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例。常用的黑箱測試有等價(jià)類劃分、邊界值分析法和錯(cuò)誤推測法3種。

34.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。

35.x>5||x<-5x<-5或x<-5||x>5x>5||x<-5,x<-5或x<-5||x>5解析:要使整數(shù)x的絕對(duì)值大于5,則x大于5或x小于5,用C語言表示即為:x>5||x<-5或者x<-5||x>5。故本題答案為;x>5||x<-5或者x<-5||x>5。

36.調(diào)試調(diào)試

37.00解析:在函數(shù)fun()中,while((*n)-)是先引用*n的值,再做(*n)--運(yùn)算,所以循環(huán)結(jié)束時(shí)*n的值為0,再做(*n)--運(yùn)算后,*n的值為-1;執(zhí)行++(*n)后,*n的值是0。

38.事務(wù)型事務(wù)型解析:數(shù)據(jù)流圖中有眾多的加工,但必有一個(gè)加工是起核心作用的,即中心加工。由數(shù)據(jù)流圖導(dǎo)出結(jié)構(gòu)圖的關(guān)鍵是找出中心加工。一般來說,中心加工有兩種存在形態(tài),即數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)形式:變換型和事務(wù)型。

39.實(shí)體實(shí)體解析:E-R模型中,有3個(gè)基本的抽象概念:實(shí)體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實(shí)體,菱形框表示聯(lián)系,橢圓形框表示屬性。

40.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。

41.B

42.C解析:在C語言中,對(duì)于不同類型的數(shù)據(jù)用不同的格式字符,其中,“%d”是按整型數(shù)據(jù)的實(shí)際長度輸出,“%md”中,m為指定的輸出字段的寬度,如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。注意:格式輸入函數(shù)scanf的使用。

43.C解析:函數(shù)調(diào)用的一般形式為:函數(shù)名(實(shí)參表列);,實(shí)參與形參的個(gè)數(shù)應(yīng)相等,類型應(yīng)一致,在調(diào)用函數(shù)時(shí),不要指定其返回類型,對(duì)于返回類型為void的函數(shù),不能作為賦值表達(dá)式的組成部分,所以選C。

44.A解析:本題考查函數(shù)printf()的格式?!?x”表示以+六進(jìn)制輸出整型數(shù)據(jù);“%u”表示以+進(jìn)制無符號(hào)型輸出整型數(shù)據(jù)。printf函數(shù)中格式說明符之前插入的任何字符都原樣輸出。

45.B解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號(hào)隔開,因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。

46.D解析:fgetc函數(shù)是指從指定的文件讀入—個(gè)字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。

47.C

48.C

49.A本題考查高級(jí)語言的數(shù)據(jù)類型。其中屬于構(gòu)造類型的主要有結(jié)構(gòu)體類型、聯(lián)合體類型,即共用體類型和數(shù)組類型。

50.A解析:在SQL語句中,凡是創(chuàng)建都用CREATE,刪除都用DROP,改變用ALTER,后面跟類型和名字,附加子句。

51.B解析:C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符必須為字母或下劃線,所以排除C和D。C語言還規(guī)定標(biāo)識(shí)符不能為C語言的關(guān)鍵字,從而選項(xiàng)A(void是關(guān)鍵字)是錯(cuò)誤的。

52.B解析:由于在main()函數(shù)中,變量i=4,所以就調(diào)用fun(4),則輸出“m=4k=4”。然后變量k增1等于5,變量i增1等于5,所以main()函數(shù)的“printf('i=%dk=%d\\n',i,k);”語句輸出“i=5k=5”。

53.D解析:數(shù)據(jù)庫的生命周期可以分為兩個(gè)階段:一是數(shù)據(jù)庫設(shè)計(jì)階段,二是數(shù)據(jù)庫實(shí)現(xiàn)階段。數(shù)據(jù)庫的設(shè)計(jì)階段又分為4個(gè)子階段,即需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。因此,本題的正確答案是D。

54.A解析:結(jié)構(gòu)體node的數(shù)據(jù)成員data的類型為char型,而s為傳入的字符串.

55.A解析:在C語言中,合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字和下畫線3種字符組成,且第一個(gè)字符必須為字母或下畫線。C語言的標(biāo)識(shí)符可以分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符。選項(xiàng)B)和C)中的橫線以及點(diǎn)都不合法,選項(xiàng)D)中的case為C語言關(guān)鍵字。

56.B解析:選項(xiàng)A)缺少分號(hào),是一個(gè)表達(dá)式,而不是語句;選項(xiàng)C)包含一個(gè)不合法的運(yùn)算符“++=”;選項(xiàng)D)應(yīng)改為a=(int)i;。

57.D解析:選項(xiàng)A是錯(cuò)誤的,C語言支持do…while語句;選項(xiàng)B是錯(cuò)誤的,do…while構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時(shí)結(jié)束循環(huán),而不是非零;選項(xiàng)C也是錯(cuò)誤的。

58.B解析:本題涉及字符串的兩個(gè)最基本的概念。①字符串的長度是指字符串中字符的個(gè)數(shù),但不包含字符串結(jié)束符;②以反斜線“\\”開頭的特殊字符序列,意思是把反斜線后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來的含義,不包含在字符串長度之內(nèi),“\\”連同后面的字符為一個(gè)長度。

59.C解析:函數(shù)func()的作用是返回兩個(gè)形參的和,第一個(gè)形參是x、y分別自減和自增后的和,其中(x-,y++,x+y)是一個(gè)逗號(hào)表達(dá)式,它的值應(yīng)該等于x+y,所以整個(gè)表達(dá)式(x-,y++,x+y)的值為13,而第二個(gè)形參的值為8(根據(jù)語法規(guī)則,應(yīng)當(dāng)先使用,后自增),所以func()的返回值為13+8=21。

60.B解析:所謂二叉樹的前序遍歷(DLR)是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這3者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹,并且,在遍歷左右子樹時(shí),上述規(guī)則同樣適用,即“根-左-右”。故該二叉樹的前序遍歷結(jié)果為“ATBZXCYP”。對(duì)于本題,若使用后序遍歷和中序遍歷的結(jié)果分別為“ZBTYCPXA”和“TZBACYXP”。

61.B

62.B

\n本題考查if…else語句。如果if條件成立,則執(zhí)行if下面的語句,不成立則執(zhí)行else,判斷條件,發(fā)現(xiàn)a<b不成立,則執(zhí)行else后面的語句,得c=b/a=2。

\n

63.DD選項(xiàng)中+f(a,b)表示調(diào)用后返回一個(gè)指向整型數(shù)據(jù)的地址指針,即該函數(shù)的返回值為指針類型,所以不能將其賦值給整形變量k。

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

65.C根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。循環(huán)隊(duì)列、帶鏈隊(duì)列和帶鏈棧都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。

66.A\n\\n和\\\\分別為轉(zhuǎn)義字符,各占據(jù)一個(gè)字符的位置。

\n

67.B解析:二維數(shù)組的元素可以看成是按矩陣形式存放的,總是先存放第一行的元素,再存放第二行的元素。數(shù)組第一維的下標(biāo)是i,說明它前面還有i行,有i*m個(gè)元素,數(shù)組第二維的下標(biāo)是j,說明它前面還有j列,有j個(gè)元素,所以共有i*m+j個(gè)元素。

68.C結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)式順序,選擇,和循環(huán)結(jié)構(gòu)。

69.C

70.B在C語言中,標(biāo)識(shí)符是用來表示變量名、符

溫馨提示

  • 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)論