2021-2022年河南省南陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第1頁(yè)
2021-2022年河南省南陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第2頁(yè)
2021-2022年河南省南陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第3頁(yè)
2021-2022年河南省南陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第4頁(yè)
2021-2022年河南省南陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021-2022年河南省南陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下語(yǔ)句中存在語(yǔ)法錯(cuò)誤的是()。A.charss[6][20];s[1]="right?";

B.charss0[20]={"right?"};.

C.char*ss[6];s[1]="right?";

D.char*ss[={"rignt?"};

2.下面C程序段中count++語(yǔ)句執(zhí)行的次數(shù)為()A.15B.16C.31D.32

3.有以下程序:main(){intm=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序運(yùn)行后的輸出結(jié)果是______。

A.3B.5C.-1D.-216

4.若有定義intw[3][5];,則以下不能正確表示該數(shù)組元素的表達(dá)式是A.*(*w+3)B.*(*w+1)[4]C.*(*(*w+1))D.*(&w[0][0]+1)

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

A.在switch語(yǔ)句中,不一定使用break語(yǔ)句

B.break語(yǔ)句只能用于switch語(yǔ)句

C.break語(yǔ)句必須與switch語(yǔ)句中的case配對(duì)使用

D.在switch語(yǔ)句中必須使用default

6.以下不能輸出字符A的語(yǔ)句是(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)()。

A.print[("%c\n",a-32);

B.print[("%d\n",A);

C.printf("%c\n",65);

D.printf("%c\n",B-1);

7.用單鏈表方式存儲(chǔ)的線性表,存儲(chǔ)每個(gè)結(jié)點(diǎn)需要兩個(gè)域,一個(gè)數(shù)據(jù)域,另一個(gè)是()。

A.當(dāng)前結(jié)點(diǎn)的所在地址B.后繼結(jié)點(diǎn)的所在地址C.空指針域D.空閑域

8.查找較快,且插入和刪除操作也比較方便的查找方法是

A.分塊查找B.二分查找C.順序查找D.折半查找

9.若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組元素的地址為()。

A.334HB.30DHC.352HD.31AH

10.下述程序的運(yùn)行結(jié)果是()。#includedstdio.h>#includedstrin9.h>main{char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值

11.線性結(jié)構(gòu)是數(shù)據(jù)元素之間存在一種()。

A.一對(duì)多關(guān)系B.多對(duì)多關(guān)系C.多對(duì)一關(guān)系D.一對(duì)一關(guān)系

12.有以下程序段:inti,n;for(i=0;i<8;i++){n=rand()%5;switch(n){casel:case3:printf("%d\n",n);break;case2:case4:print?("%d\n",n);continue;case():exit(0);}printf("%d\n",n);}以下關(guān)于程序段執(zhí)行情況的敘述,正確的是()。A.for循環(huán)語(yǔ)句固定執(zhí)行8次

B.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí)結(jié)束循環(huán)操作

C.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時(shí)不做任何操作

D.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時(shí)結(jié)束程序運(yùn)行

13.若有以下程序段

intm=0xabc,n=0xabc;

m-=n;

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

執(zhí)行后的輸出結(jié)果是A.A.0X0

B.0x0

C.0

D.0xABC

14.若有下面的說(shuō)明和定義

structtest

{intml;charm2;floatm3;

unionuu{charul[5];intu2[2];}ua;

}myaa;

則sizeof(structtest)的值是A.A.12B.16C.14D.9

15.在C語(yǔ)言中,函數(shù)返回值的類型最終取決于()。

A.函數(shù)定義時(shí)在函數(shù)首部所說(shuō)明的函數(shù)類型

B.return語(yǔ)句中表達(dá)式值的類型

C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類型

D.函數(shù)定義時(shí)形參的類型

16.以下敘述中正確的是()

A.C程序由函數(shù)和過(guò)程組成B.C程序由主函數(shù)組成C.C程序由函數(shù)組成D.C程序中,主函數(shù)必須放在其他函數(shù)之前

17.設(shè)在C語(yǔ)言中,float類型數(shù)據(jù)占4個(gè)字節(jié),則double類型數(shù)據(jù)占()個(gè)字節(jié)。

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

18.以下不合法的字符常量是()。

A.‘\\’B.‘\”’C.‘\018’D.‘\xcc’

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

A.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的

B.由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線性結(jié)構(gòu)

C.程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)

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

20.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是()。

A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口

B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)

C.不允許使用GOT0語(yǔ)句

D.語(yǔ)言中若沒(méi)有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來(lái)模擬

二、2.填空題(20題)21.以下程序運(yùn)行后輸入:3,abcde<回車>,則輸出結(jié)果是______。

#include<string.h>

move(char*str,intn)

{charcemp;inti;

temp=str[n-1];

for(i=n-1;i>0;i--)str[i]=str[i-1);

str[0]=temp;}

main()

{chars[50];intn,i,z;

scanf(“%d,%s”,&n,s);

z=strlen(s);

for(i=1;i<=n;i++)move(s,z);

printf(“%s\n”,s);

}

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

main()

{charCl,c2;

for(c1='0''c2='9';c1<c2;c1++,c2--)printf("%c%c",c1,c2);

printf("\n");

}

23.若輸入字符串:abcde,則以下while循環(huán)體將執(zhí)行【】次。

while((ch=getchar())=='e')printf("*");

24.在對(duì)文件進(jìn)行操作的過(guò)程中,若要使文件位置的指針回到文件的開頭,應(yīng)使用的函數(shù)是【】。

25.在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為【】。

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

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break;

elsei--;}

i+=11;

a+=i;

}

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

}

27.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。

28.軟件測(cè)試按功能劃分的方法劃分,通常分為【】測(cè)試方法和黑盒測(cè)試方法。

29.執(zhí)行以下程序后sum的值是【】。

main()

{

inti,sum;

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

sum+=i;

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

}

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

main()

{inta=5,b=5,y,z;

y=b-->++a?++b:a;

z=++a>b?a:y;

printf("%d,%d,%d,%d",a,b,y,z);

}

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

#include<stdio.h>

main()

{inti;

for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');

printf("\n");

}

32.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問(wèn)題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。

33.分析下列程序:

main()

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

switch(a)

{case1:switch(b)

{case0:x++;

case1:y++;break;

}

case2:x++;y++;break;

}

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

}

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

34.若輸入3、4、5,程序的輸出結(jié)果為【】。

#include"math.h"

main()

{floata,b,c,s,area;

scanf("%f,%f,%f",&a,&b,&c);

s=1.0/2*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f",a,b,c,s);

printf("area=%7.2f\n",area);

}

35.若有以下定義和語(yǔ)句:

intw[10]={23,54,10,33,47,98,72,80,61},*p;

p=w;

則通過(guò)指針p引用值為98的數(shù)組元素的表達(dá)式是【】。

36.與十進(jìn)制數(shù)101等值的二進(jìn)制數(shù)為【】。

37.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。

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

#include<stdio.h>

main()

{inta=10,b=3;

printf("%d,",a%b);

printf("%d,",(a-h,a+b));

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

}

39.如果調(diào)用fopen函數(shù)不成功,則函數(shù)返回【】;如果調(diào)用fclose函數(shù)不成功,則函數(shù)返回【】。

40.有以下程序

main()

{intx=1,y=1,z=1;

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

printf("%d",x<y?y:x);

printf("%d",x<y?x++:y++);

printf("%d",x);

printf("%d",y);

}

運(yùn)行結(jié)果是【】

三、1.選擇題(20題)41.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.軟件工具D.數(shù)據(jù)庫(kù)

42.若有如下定義并賦值:charch='a',a;則執(zhí)行語(yǔ)句"printf("%d",a=ch+2.6);”后的輸出結(jié)果是()

A.cB.dC.99D.100

43.C語(yǔ)言提供的合法關(guān)鍵字是______。

A.swicthB.chanC.CaseD.default

44.有以下程序

main()

{intk=5,n=0;

do

{switch(k)

{case1:case3:n+=1;k--;break;

default:n=0;k--;

case2:case4:n+=2;k--;break;

}

printf("%d",n);

}while(k>0&&n<5);

}

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

A.235B.0235C.02356D.2356

45.有定義語(yǔ)句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語(yǔ)句是

A.gets(&s[0]);

B.scanf("%s",s+1);

C.gets(s);

D.scanf("%s",s[1]);

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

#include<stdio.h>

intfun(intx)

{intp;

if(x==0‖x=1)

return3;

else

p=x-fun(x-2);

returnp;

}

voidmain()

{printf("\n%d",fun(5));

}

A.5B.3C.7D.1

47.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是______。

A.調(diào)用函數(shù)時(shí),只能將實(shí)參的值傳遞給形參,形參值不能傳遞給實(shí)參

B.C函數(shù)既可以嵌套調(diào)用又可以遞歸調(diào)用

C.函數(shù)必須有返回值,否則不能使用函數(shù)

D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中

48.下列關(guān)于棧的描述中錯(cuò)誤的是()。A.棧是先進(jìn)后出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針

49.以下程序段中,不能正確賦字符串(編譯時(shí)系統(tǒng)會(huì)提示錯(cuò)誤)的是()。

A.chars[10]="abcdefg";

B.chart[]="abcdefg",*s=t;

C.chars[10];s="abcdefg";

D.chars[10];strcpy(s,"abcdefg");

50.有以下程序段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ù)

51.若有以下說(shuō)明和語(yǔ)句intc[4][5],(*p)[5];p=c;能夠正確引用c數(shù)組元素的是

A.p+1B.*(p+3)C.*(p+1)+3D.*(P[0]+2)

52.以下敘述中錯(cuò)誤的是A.gets函數(shù)用于從終端讀入字符串

B.getchar函數(shù)用于從磁盤文件讀入字符

C.fputs函數(shù)用于把字符串輸出到文件

D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件

53.閱讀下列程序,當(dāng)運(yùn)行函數(shù)時(shí),輸入asdafaaz67,則輸出為

#include<stdio.h>

#include<ctype.h>

#include<string.h>

intfun(char*str)

{inti,j=0;

for(i=0;str[i]!=′\0′;i++)

if(str[i]!=′′)str[j++]=str[i];

str[j]=′\0′;

}

main()

{

charstr[81];

intn;

printf("Inputastring:");

gets(str);

puts(str);

fun(str);

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

}

A.asdafaaz67B.asdafaaz67C.asdD.z67

54.執(zhí)行下面的程序后,a的值為

main()

{inta,b;

for(a=1,b=1;a<=10;a++)

{if(b%3==1)

{b+=3;

continue;}

b-=5;}}

A.7B.8C.9D.10

55.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的()。

A.存儲(chǔ)問(wèn)題B.共享問(wèn)題C.安全問(wèn)題D.保護(hù)問(wèn)題

56.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;

A.example.x=10

B.examplev2.x=10

C.structv2;v2.x=10

D.structexamplev2={10};

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

A.\1234B.57C.\'D.\\060

58.若有以下的說(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]

59.c語(yǔ)言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置()。

A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面C.可以任意D.必須在最后

60.有以下程序:intf(intb[][4]){inti,j,s=0;for(j=0j<4;j++){i=j;if(i>2)i=3-j;s+=b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}執(zhí)行后的輸出結(jié)果是()。

A.12B.11C.18D.16

四、選擇題(20題)61.

有下列程序:

intfun(intn)

{if(n==1)}return1;

else

return(n+fun(n-1));

}

main

{intx;

scanf("%d",&x);x=fun(x);printf("%d\n",x);

)

執(zhí)行程序時(shí),給變量x輸入10,程序的輸出結(jié)果是()。

A.55B.54C.65D.45

62.有以下程序:

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

A.1,2,3,4,5,6,7,8,9,0,

B.2,1,4,3,6,5,8,7,0,9,

C.0,9,8,7,6,5,4,3,2,1,

D.0,1,2,3,4,5,6,7,8,9,

63.對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)是nlog2n的排序方法是()。

A.快速排序B.冒泡排序C.直接插入排序D.堆排序

64.

65.

66.

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

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

68.有以下程序

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

A.zB.0C.元素Ch[5]地址D.字符y的地址

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

A.intabc=50;

B.doubleint=3+5e2.5;

C.longdo=1L;

D.float3asd=3e一3;

71.

72.

73.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)次序的是()。

A.自頂而下B.由內(nèi)向外C.由外向內(nèi)D.自底向上

74.

若有定義和語(yǔ)句:

int**pp),*P,a=20,b=10;

pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,*PP);

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

A.20,10B.20,20C.10,20D.10,10

75.下列排序方法中,最壞情況下比較次數(shù)最少的是()。

A.簡(jiǎn)單選擇排序B.冒泡排序C.堆排序D.直接插入排序

76.

77.語(yǔ)句Char(*P)說(shuō)明了()。

A.P是指向函數(shù)的指針,該函數(shù)返回一個(gè)Char型數(shù)據(jù)

B.P是指向Char型數(shù)據(jù)的指針變量

C.P是指向數(shù)組的指針變量

D.P是一個(gè)函數(shù)名,該函數(shù)的返回值是指向Char型數(shù)據(jù)的指針

78.

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

A.在switch語(yǔ)句中,不-定使用break語(yǔ)句

B.在switch語(yǔ)句中必須使用default

C.break語(yǔ)句必須與switch語(yǔ)句中的case配對(duì)使用

D.break語(yǔ)句只能用于switch語(yǔ)句

80.以下選項(xiàng)中,合法的一組c語(yǔ)言數(shù)值常量是()。

A.12.0Xa234.5e0

B.028.5e…30xf

C.1774el.50abe

D.0x8A10,0003.e5

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:輸出M行M列整數(shù)方陣,然后求兩條對(duì)角線上的各元素之和并將其返回。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)fun(),其功能是:求SS所指字符串中指定字符的個(gè)數(shù),并返回此值。例如,若輸入字符串“123412132”,輸入字符為“1”,則輸出3。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入編寫的若干語(yǔ)句。試題程序:

參考答案

1.A[解析]數(shù)組定義后,不可以對(duì)數(shù)組整體賦值,s是二維數(shù)組,因ss[1]是一維字符數(shù)組,即字符串,字符串賦值可以使用strcpy[1],"right);這樣的形式,而選項(xiàng)A)中對(duì)二維數(shù)組中的第“1維(相當(dāng)于一個(gè)一維數(shù)組)賦值,是不可以的。選項(xiàng)B)和D)是定義時(shí)對(duì)數(shù)組初始化,這是可以的。選項(xiàng)C)中,將字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個(gè)元素,這是可以的。

2.A

3.D解析:本題主要考查++執(zhí)行的次序。執(zhí)行過(guò)x=-m++;后,x=-3,m=4;執(zhí)行x=x+8/++n;時(shí)8/++n=1;因此最后x=-216。

4.C在C語(yǔ)言中,二維數(shù)組的名字表示的是二維數(shù)組的地址,表達(dá)式*(W+1)表示的是二維數(shù)組的第一行的第二個(gè)元素。在其前面再加上*(*(w+1))就是錯(cuò)誤的表達(dá)式。

5.Aswitch語(yǔ)句中不一定使用break語(yǔ)句,選項(xiàng)A正確;break語(yǔ)句除了用于switch語(yǔ)句,還可以用于循環(huán)語(yǔ)句中,選項(xiàng)B、C錯(cuò)誤;switch語(yǔ)句不一定需要使用default語(yǔ)句,選項(xiàng)D錯(cuò)誤。本題答案為A選項(xiàng)。

6.B在C語(yǔ)言中%d表示輸出整型數(shù)值,所以答案為B。

7.B

8.A分塊查找是折半查找和順序查找的一種改進(jìn)方法,分塊查找要求索引表是有序的,對(duì)塊內(nèi)節(jié)點(diǎn)沒(méi)有排序要求,因此查找較快,且插入和刪除操作也比較方便。

9.C解析:解答本題,首先要明白在對(duì)指針進(jìn)行加、減運(yùn)算的時(shí)候,數(shù)字“1”不是十進(jìn)制的數(shù)“1”,而是指'1'個(gè)存儲(chǔ)單元長(zhǎng)度,而1個(gè)存儲(chǔ)單元長(zhǎng)度占多少存儲(chǔ)空間,應(yīng)該視具體情況而定。如果基本類型是int型,移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移2個(gè)字節(jié),如果基本類型是float型,移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址:300H+(13*上標(biāo))4)H=352H。

10.A本題考查符符串比較函數(shù)和兩個(gè)字符串比較的原則這兩個(gè)知識(shí)點(diǎn)。

(1)兩字符串比較的原則是依次比較兩個(gè)字符串同一位置的一對(duì)字符,若它們的ASCII碼值相同,則繼續(xù)比較下一對(duì)字符,若它們的ASCII碼值不同,則ASCII碼值較大的字符所在的字符串較大;若所有字符相同,則兩個(gè)字符串相等;若一個(gè)字符串全部i個(gè)字符與另一個(gè)字符串的前i個(gè)字符相同,則字符串較長(zhǎng)的較大(2)strcmp(s1,s2)的返回值,當(dāng)str1<str2時(shí),返回值為負(fù)數(shù);當(dāng)str1=str2時(shí),返回0;當(dāng)str1>str2,返回值為正數(shù)。

11.D

12.A程序中的if循環(huán)是固定地執(zhí)行8次,屬于計(jì)數(shù)器,程序是從中隨機(jī)抽取一個(gè)數(shù),然后對(duì)5進(jìn)行求余再輸出,共抽取8個(gè)數(shù)。所以答案為A。

13.C本題考查C語(yǔ)言中的數(shù)據(jù)輸出格式。

題目中定義了兩個(gè)整型變量m、n,對(duì)這兩個(gè)變量賦值,輸入的數(shù)值為十六進(jìn)制整數(shù),并且有m=n。進(jìn)行m-n運(yùn)算后,將減法所得到的值賦給m,并將m值輸出。其中printf的格式字符選用的格式字符為x,即以十六進(jìn)制形式輸出整數(shù)。注意,0x是表示該數(shù)為十六進(jìn)制的標(biāo)志,輸出數(shù)據(jù)時(shí),數(shù)據(jù)前面不會(huì)自動(dòng)加上進(jìn)制的標(biāo)志。

14.A

15.A解析:在C語(yǔ)言中,應(yīng)當(dāng)在定義函數(shù)時(shí)指定函數(shù)值的類型。凡不加類型說(shuō)明的函數(shù),默認(rèn)按整型處理。在定義函數(shù)時(shí)對(duì)函數(shù)值說(shuō)明的類型一般應(yīng)該和return語(yǔ)句中的表達(dá)式類型一致。如果函數(shù)值的類型和return語(yǔ)句中的表達(dá)式類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換,即函數(shù)類型決定返回值的類型。

16.C

17.C

\n在C語(yǔ)言中各種數(shù)據(jù)類型在內(nèi)存中所占的字節(jié)數(shù)與機(jī)器的位數(shù)有關(guān),16位機(jī)中(也就是在標(biāo)準(zhǔn)c中),若int類型數(shù)據(jù)占2個(gè)字節(jié),則float類型數(shù)據(jù)占4個(gè)字節(jié),double類型數(shù)據(jù)占8個(gè)字節(jié)。

\n

18.C轉(zhuǎn)義字符中,八進(jìn)制的表示形式為\\ddd,但是八進(jìn)制中不能包含數(shù)字8,所以C選項(xiàng)不合法。故本題答案為C選項(xiàng)。

19.D解析:一般來(lái)說(shuō),一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)不一定是一一對(duì)應(yīng)的。選項(xiàng)A中的說(shuō)法是錯(cuò)誤的。雖然計(jì)算機(jī)的存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),但由于一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),例如,線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。一般來(lái)說(shuō),性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致。性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來(lái)指示的。因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不一定是線性結(jié)構(gòu)。選項(xiàng)B中的說(shuō)法也是錯(cuò)誤的。雖然程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),但是,利用數(shù)組也能處理非線性結(jié)構(gòu)。例如,滿二叉樹與完全二叉樹是非線性結(jié)構(gòu),但對(duì)于滿二叉樹與完全二叉樹來(lái)說(shuō),根據(jù)完全二叉樹的性質(zhì)6,可以按層序進(jìn)行順序存儲(chǔ),即利用程序設(shè)計(jì)語(yǔ)言中的數(shù)組來(lái)存儲(chǔ),這樣,不僅節(jié)省了存儲(chǔ)空間,又能方便地確定每一個(gè)結(jié)點(diǎn)的父結(jié)點(diǎn)與左右子結(jié)點(diǎn)的位置。對(duì)于一般的二叉樹來(lái)說(shuō),也可以將二叉樹中每一個(gè)結(jié)點(diǎn)的左指針、右指針以及數(shù)據(jù)域分別用三個(gè)數(shù)組中的對(duì)應(yīng)元素來(lái)存儲(chǔ),即實(shí)際上也是利用了程序設(shè)計(jì)語(yǔ)言中的數(shù)組來(lái)處理二叉樹這樣的非線性結(jié)構(gòu)。選項(xiàng)C中的說(shuō)法也是錯(cuò)誤的。綜上所述,選項(xiàng)A、B與C中的說(shuō)法都是錯(cuò)誤的。

20.C結(jié)構(gòu)化程序設(shè)計(jì)的原則和方法之一是限制使用GOT0語(yǔ)句,但不是絕對(duì)不允許使用G0T0語(yǔ)句。其他三項(xiàng)為結(jié)構(gòu)化程序設(shè)計(jì)的原則。

21.cdeabcdeab解析:本題考核的知識(shí)點(diǎn)是基本算法的應(yīng)用和程序的綜合分析。從分析知道m(xù)ove()函數(shù)的作用,是將形參str所指的數(shù)組依次向后左移一位,即讓該數(shù)組第一個(gè)元素的值等于第二個(gè)元素的值,接著讓第二個(gè)元素的值等于第三個(gè)元素的值,直到該數(shù)組最后第二個(gè)元素的值等于最后一個(gè)元素的值,然后讓第一個(gè)元素等于最后一個(gè)元素的值。主函數(shù)中用了一個(gè)for循環(huán)調(diào)用move()函數(shù),共循環(huán)三次。當(dāng)i=1時(shí),第一次調(diào)用move()函數(shù),使輸入到數(shù)組的s的字符串“abcde”變?yōu)椤癳abcd”,當(dāng)i=2時(shí),第二次調(diào)用move()函數(shù),使字符串“eabcd”變?yōu)椤癲eabc”,當(dāng)i=3時(shí),第三次調(diào)用move()函數(shù),使字符串“deabc”變?yōu)椤癱deab”,故最后輸出的值為“cdeab”,故該空格處應(yīng)該填“cdeab”。

22.9.18274e+0089.18274e+008解析:本題考查的循環(huán)條件是c1<c2,當(dāng)c1>=c2時(shí),退出循環(huán)。所以,第一次循環(huán)輸出09,第二次循環(huán)輸出18,如此循環(huán)直到輸出45,之后c1=5,c2=4,不滿足循環(huán)條件,退出循環(huán)。

23.00解析:函數(shù)getchar()是從鍵盤得用戶輸入的一個(gè)字符。用戶輸入的第1個(gè)字符a,不管后面輸入的是什么ch的值都是'a',因此條件(ch=getchar())=='e'為假,這個(gè)循環(huán)不會(huì)被執(zhí)行。

24.rewind或fseekrewind或fseek

25.數(shù)據(jù)字典數(shù)據(jù)字典解析:在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為數(shù)據(jù)字典。

26.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值,若為真,則執(zhí)行循環(huán)體語(yǔ)句,執(zhí)行完畢,再計(jì)算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,直到表達(dá)式的值為假時(shí),結(jié)束while語(yǔ)句的執(zhí)行,繼續(xù)執(zhí)行while語(yǔ)句后面的語(yǔ)句:i=0時(shí)滿足循環(huán)條件,也滿足if的條件,執(zhí)行語(yǔ)句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。

27.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見(jiàn)的線性結(jié)構(gòu)有線性表、棧和隊(duì)列等,常見(jiàn)的非線性結(jié)構(gòu)有樹、二叉樹等。

28.白盒白盒解析:軟件測(cè)試的方法分為白盒測(cè)試方法和黑盒測(cè)試方法。

29.1515解析:程序的功能是求1、2、3、4、5的和即15。

30.7467

31.ACEACE解析:在本題中,for循環(huán)體每執(zhí)行完一次,變量i的值自加兩次。i的初值為“a”,執(zhí)行一次循環(huán)后變?yōu)椤癱”,之后再變成“e”,當(dāng)其變?yōu)椤癵”時(shí),循環(huán)條件若不滿足,循環(huán)終止,故本題共輸出3個(gè)字符。表達(dá)式“i-'a'+'A'”即表示輸出i對(duì)應(yīng)的大寫字母,結(jié)果為ACE。

32.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。其中的每一個(gè)加工對(duì)應(yīng)一個(gè)處理模塊。

33.x=1y=0。x=1,y=0。解析:本題程序的主體部分是switch語(yǔ)句的嵌套結(jié)構(gòu),當(dāng)變量a的值為0時(shí),在第一層switch-case語(yǔ)句中,沒(méi)有匹配的case分支。因此,x和y的值沒(méi)有變化,仍然是1和0。

34.a=3.00b=4.00c=5.00s=6.00area=6.00

35.*(p+5)

36.1100101

37.88解析:fabs函數(shù)功能是求x的絕對(duì)值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。

38.11371,13,7解析:本題考查3個(gè)知識(shí)點(diǎn):①余數(shù)的計(jì)算,題中的a=10,b=3,a%b=1:②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后一個(gè)表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運(yùn)算符的使用,題中的a-b?a-b:a+b,判斷語(yǔ)句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。

39.NULL或0EOF或-1NULL或0\r\nEOF或-1解析:如果fopen()函數(shù)調(diào)用不成功,則返回一個(gè)空指針值NULL(0);如果fclose()函數(shù)調(diào)用不成功,則返回EOF(-1)。所以本題的兩個(gè)空應(yīng)分別填NULL和EOF。

40.3233

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

42.C

43.D

44.A解析:因?yàn)樽兞康某跏贾捣謩e為'k=5,n=0',所以程序第一次進(jìn)入循環(huán)時(shí),執(zhí)行default語(yǔ)句,這時(shí)k=4,執(zhí)行'case4:'這個(gè)分支,結(jié)果是'n=2,k=3',打印出2;程序然后進(jìn)行第二次循環(huán),這時(shí)'n=2,k=3',執(zhí)行'case3:'這個(gè)分支,結(jié)果是'n=3,k=2',打印出3;程序進(jìn)行第三次循環(huán),這時(shí)'n=3,k=2',執(zhí)行'case2:case4:'這兩個(gè)分支,結(jié)果是\ue008'n=5,k=1'\ue009,打印出5,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此退出循環(huán),程序運(yùn)行結(jié)束,故輸出結(jié)果為235。

45.D解析:在格式輸入中,要求給出的是編譯的地址,而D)答案中給出的s[1]是一個(gè)值的表達(dá)式。

46.A解析:本題考查函數(shù)的遞歸調(diào)用。在函數(shù)遞歸調(diào)用時(shí),fun(5):a=5-fun(3)->fun3:a=3-fun(1)->fun(1):a=3,反推回去fun(3):a=3-3=O->fun(5):a=5-0=5,最后的計(jì)算結(jié)果為5。

47.A

48.B棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧都是在棧頂進(jìn)行,它們的操作特點(diǎn)是先進(jìn)后出,因此具有記憶作用。??梢圆捎庙樞虼鎯?chǔ),也可以采用鏈?zhǔn)酱鎯?chǔ)。

49.C解析:選項(xiàng)A中定義了一個(gè)字符型數(shù)組并賦初值,故選項(xiàng)A正確;選項(xiàng)B定義了一個(gè)字符型數(shù)組t并初始化,然后定義了一個(gè)指針變量s并讓它指向t,故選項(xiàng)B正確;選項(xiàng)C先定義?一個(gè)長(zhǎng)度為10的字符型數(shù)組,然后在給它賦值,這時(shí)應(yīng)該分別給數(shù)組中的每個(gè)元素賦值,故選項(xiàng)C不正確;選項(xiàng)D中先定義了一個(gè)長(zhǎng)度為10的字符型數(shù)組s,然后通過(guò)字符串拷貝函數(shù)將字符串“abedefs”賦值給它,選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

50.D解析:本題考查的是do…while循環(huán)結(jié)構(gòu).do…while循環(huán)與while循環(huán)的區(qū)別就是,前者是先執(zhí)行循環(huán)體,后判斷循環(huán)變量,故至少會(huì)執(zhí)行一遍循環(huán)體;后者先判斷再執(zhí)行,可能循環(huán)體一次也不會(huì)執(zhí)行。本題首先讓t=1,然后在循環(huán)體中每次自減2,所以判斷循環(huán)條件的時(shí)候,t會(huì)等于-1、-3、-5……,故只有n等于任意的負(fù)奇數(shù)才有可能終止循環(huán).選項(xiàng)D正確。

51.D解析:本題中定義了一個(gè)二維數(shù)組c和一個(gè)指針數(shù)組p并初始化讓它指向c,顯然此時(shí)p中的各元素為地址,選項(xiàng)A中p+1,此時(shí)其中的1代表的長(zhǎng)度是整個(gè);維數(shù)組c的長(zhǎng)度,故p+1將讓p指向c數(shù)組后面的元素,故不能引用c數(shù)組中的成員,故選項(xiàng)A錯(cuò)誤;同理選項(xiàng)B和選項(xiàng)C都不正確,選項(xiàng)D中p[0]指的是指針數(shù)組中的第一個(gè)元素的地址即c的首地址,此時(shí)的1的長(zhǎng)度代表的是數(shù)組c中一行的長(zhǎng)度,故p[0]+2代表的是第三行的首地址,而*(p[0]+2)將代表第三行的第一個(gè)元素的地址,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

52.B其中B選項(xiàng)的getchar函數(shù)用于從終端讀入字符。故本題答案為B選項(xiàng)。

53.A解析:本題題意要求刪除所有空格,即除了空格以外的其他所有字符都要留下。由于C語(yǔ)言中沒(méi)有直接刪除字符的操作,所以我們對(duì)于刪除字符的操作都是采用'留下'字符的算法,以前的題目亦是如此。用str[i]從串頭到串尾逐一走動(dòng),每走到一個(gè)字符都判斷其是否為空格,若不是空格(注意在if()的單引號(hào)之間有一個(gè)空格),則將其保存str[j]中。注意j的下標(biāo)變化、初值及最后加串結(jié)束符\'\\0\'。

54.D解析:考查continue語(yǔ)句的使用。continue語(yǔ)句的作用是結(jié)束本次循環(huán),直接進(jìn)入下次循環(huán)。

55.B解析:數(shù)據(jù)庫(kù)產(chǎn)生的背景就是計(jì)算機(jī)的應(yīng)用范圍越來(lái)越廣泛,數(shù)據(jù)量急劇增加,對(duì)數(shù)據(jù)共享的要求越來(lái)越高。共享的含義是多個(gè)用戶、多種語(yǔ)言、多個(gè)應(yīng)用程序相互覆蓋的使用一些公用的數(shù)據(jù)集合。在這樣的背景下,為了滿足多用戶、多應(yīng)用共,享數(shù)據(jù)的要求,就出現(xiàn)了數(shù)據(jù)庫(kù)技術(shù),以便對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。因此,數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)就是解決數(shù)據(jù)的共享問(wèn)題。故選項(xiàng)B正確。

56.D解析:在定義結(jié)構(gòu)體變量時(shí),不能只用結(jié)構(gòu)體名example或關(guān)鍵字struct進(jìn)行定義,必需要用結(jié)構(gòu)缽類型名structexample定義,在引用結(jié)構(gòu)體成員變量時(shí),需要用結(jié)構(gòu)體變量名進(jìn)行引用,所以選D。

57.C解析:轉(zhuǎn)義字符是要用\\開頭的,所以選項(xiàng)B不是轉(zhuǎn)義字符。開頭的斜杠為單斜杠,所以選項(xiàng)D不是轉(zhuǎn)義字符。斜杠后面可跟1至3位八進(jìn)制數(shù),可以由0開頭:或以x開頭的1至2位十六進(jìn)制數(shù),因此選項(xiàng)A是錯(cuò)誤的。\\為轉(zhuǎn)義字符,為單引號(hào)字符,所以選項(xiàng)C符合題意。

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

59.C解析:不論main函數(shù)在整個(gè)過(guò)程中的位置如何,一個(gè)C程序總是從main函數(shù)開始執(zhí)行的。

60.D解析:分析程序可知,函數(shù)f()中的for循環(huán)作用,是將數(shù)組前三行中的對(duì)角線上的元素,即b[0][0]、b[1][1]、b[2][2]和第一行的第四列元素即b[0][3]累加到變量s中,然后將s的值返回。在主函數(shù)中首先定義了一個(gè)4行4列的二維數(shù)組,接著通過(guò)輸出語(yǔ)句輸出函數(shù)f(a)的返回值。調(diào)用f(a)的返回值為a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

61.A

\n本題在函數(shù)intfun(intn)的定義中又出現(xiàn)了對(duì)函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時(shí),當(dāng)輸入10賦給變量x時(shí),遞歸調(diào)用的過(guò)程為

\nfun(10)=10…fun(9)=104-94-fun(8)=104-9+84-fun(7)

\n=10+9++

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論