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è),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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.有定義語(yǔ)句:“intx,y;”,若要通過“scanf("%d,%d,&x,&y);”語(yǔ)句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,錯(cuò)誤的是

A.1112<回車>B.11,12<回車>C.11,12<回車>D.11,<回車>12<回車>

2.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是()。

A.數(shù)組a和b的長(zhǎng)度相同B.a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度C.a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D.以述說法都不對(duì)

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

A.*pt->yB.pt->xC.++pt->xD.(pt++)->x

4.有以下程序:

程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸出結(jié)果()。

A.不等于10的整數(shù)

B.大于3且不等于l0的整數(shù)

C.大于3或等于l0的整數(shù)

D.小于3的整數(shù)

5.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。

A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上3個(gè)都是

6.以下敘述中正確的是

A.語(yǔ)句inta[8]={0};是合法的

B.語(yǔ)句inta[]={0};是不合法的,遺漏了數(shù)組的大小

C.語(yǔ)句chara[2]={"A","BII};是合法的,定義了一個(gè)包含兩個(gè)字符的數(shù)組

D.語(yǔ)句chara[3];a="AB";是合法的,因?yàn)閿?shù)組有三個(gè)字符空間的容量,可以保存兩個(gè)字符

7.假設(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ù)

8.

9.

10.依次讀入數(shù)據(jù)元素序列{a,b,c,d,e,f,g}進(jìn)棧,每進(jìn)一個(gè)元素,機(jī)器可要求下一個(gè)元素進(jìn)?;驈棗?,如此進(jìn)行,則??諘r(shí)彈出的元素構(gòu)成的序列是以下哪些序列?

A.{d,e,c,f,b,g,a}

B.{f,e,g,d,a,c,b}

C.{e,f,d,g,b,c,a}

D.{c,d,b,e,f,a,g}

11.

12.下列函數(shù)的類型是()。fun(doublex){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

13.若有以下定義:floatx;inta,b,c=2;,則正確的switch語(yǔ)句是()

A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}

B.switch(int(x)){case1:printf("*\n");case2:printf("**\n");}

C.switch(a+b){case1:printf("*\n");case1+2:printf("**\n");}

D.switch(a+B){case1:printf("*\n");casec:printf("**\n");}

14.若有定義語(yǔ)句:“intx=10;”,則表達(dá)式x-=x+x的值為()。

A.-20B.-l0C.0D.10

15.下列說法中錯(cuò)誤的是A.A.只能在循環(huán)體內(nèi)使用break語(yǔ)句

B.在循環(huán)體內(nèi)使用break語(yǔ)句可以使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)

C.在while和do…while循環(huán)中,continue語(yǔ)句并沒有使整個(gè)循環(huán)終止

D.continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)判斷

16.有以下程序:#include<stdio.h>main(){inti,j=0;chara[]=“ab123c4d56ef7gh89”;for(i=0;a[i];i++)if(a[i]>=‘0’&&a[i]<=‘9’)a[j++]=a[i];a[j]=‘\0’;printf(“%s”,a);}程序運(yùn)行后的輸出結(jié)果是()。

A.123456789abcdefgh

B.abcdefgh

C.123456789

D.1234567896ef7gh89

17.下面程序的輸出結(jié)果是______。#include<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti:for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}

A.SOB.SPC.SPOPKD.SHOB

18.若有定義“inta,b,c;”以下程序段的輸出結(jié)果是()。a=11;b=3;c=0;printf(“%d\n”,c=(a/b,a%b));

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

19.對(duì)一個(gè)滿二叉樹,m個(gè)葉子,n個(gè)結(jié)點(diǎn),深度為h,則()。

A.n=h+mB.h+m=2nC.m=h-1D.n=2h-1

20.假設(shè)下圖中每個(gè)正方形的邊長(zhǎng)為1,則從A到Z的最短路徑條數(shù)為()A.11B.12C.13D.14

二、2.填空題(20題)21.若有下面的程序片段:int[12]={0},*p[3],**pp,i;for(i=0;i<3;i)p[i]=&a[i*4];pp=p;則對(duì)數(shù)組元素的錯(cuò)誤引用是

22.設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式2.0+y/x的值為【】。

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

#defineP(A)printf("%d,",(int)(A))

#definePRINT(A)P(A);printf("theend")

main()

{inti,a=0;

for(i=1;i<5.i++)

PRINT(a+i);

printf("\n");

}

24.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為【】。

25.設(shè)有以下定義

struetss

{intinfo;struetss*link;}x,y,z;

且已建立如下圖所示鏈表結(jié)構(gòu):

請(qǐng)寫出刪除結(jié)點(diǎn)y的賦值語(yǔ)句【】。

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

main()

{

charc1,c2;

for(c1='0',c2='9';c1<c2;c1++,c2--)

printf("%c%c",c1,c2);

printf("\n");

}

27.下面程序是把從終端讀入的20個(gè)字符作為字符串放在字符數(shù)組中,然后利用指針變量輸出上述字符串,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inti;chars[21],*p;

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

s[i]=getchar();

s[i]=【】;

p=【】;

while(*p)putchar(【】);

}

28.若有定義intm=5,y=2,則執(zhí)行表達(dá)式y(tǒng)+=y-=m*=y后,y的值為【】。

29.在數(shù)據(jù)庫(kù)理論中,數(shù)據(jù)庫(kù)總體邏輯結(jié)構(gòu)的改變,如修改數(shù)據(jù)模式、增加新的數(shù)據(jù)類型、改變數(shù)據(jù)間聯(lián)系等,不需要相應(yīng)修改應(yīng)用程序,稱為______。

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

#include<string.h>

main()

{printf("%d\n",strlen("IBM\n012\1\\"));}

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

main()

{chars[]="9876",*p;

for(p=s;p<s+2;p++)printf("%s\n",p);

}

32.函數(shù)ssbc叩()的功能是對(duì)兩個(gè)字符申進(jìn)行比較。當(dāng)s所指字符串和t所指字符申相等時(shí),返回值為0;當(dāng)s所指字符串大于t所指字符串時(shí),返回值大于0;當(dāng)s所指字符串小于t所指字符串時(shí),返回值小于0(功能等同于庫(kù)函數(shù)strcmp())。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intsstrcmp(char*s,char*t)

{

while(*s&&*t&&*s==)

{s++;t++;}

return

}

33.數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)這3個(gè)階段,其中數(shù)據(jù)獨(dú)立性最高的階段是【】。

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

#include<stdio.h>

voidmain()

{

charc1[20]="1234";

charc2[20]="5678";

char*p1,*p2;

p1=c1;

p2=c2;

while(*p1++)

while(*p1++=*p2++);

printf("%s,c1);

}

35.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<string.h>

main()

{chara[]="clanguage",t;

inti,j,k;

k=strlen(a);

for(i=0;i<=k-2;i+=2)

for(j=i+2;j<=k;j+=2;)

if(【】)

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);printf("\n");

}

36.結(jié)構(gòu)化程序設(shè)計(jì)的三種基本邏輯結(jié)構(gòu)為順序、選擇和【】。

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

main()

{intx=10,y=20,t=0;

if(x==y)t=x;x=Y;Y=t;

printf(“%d,%d\n”,x,y);

}

38.在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為【】。

39.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。

40.若x為int類型,請(qǐng)寫出與!x等價(jià)的C語(yǔ)言表達(dá)式______。

三、1.選擇題(20題)41.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()

A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

42.CPU處理數(shù)據(jù)基本單位為字,一個(gè)字的字長(zhǎng)()

A.為8個(gè)二進(jìn)制位B.為16個(gè)二進(jìn)制位C.為32個(gè)二進(jìn)制位D.與CPU芯片的型號(hào)有關(guān)

43.有以下程序:#include<stdio.h>main(){FILE*fp;inti=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是()。

A.2030B.2050C.3050D.3020

44.下列程序的運(yùn)行結(jié)果是______。main(){inta[6],i;for(i=2;i<6;i++){a[i]=4*(i-2*(i>3))%5;printf("%2d",a[i]);}}

A.2323B.1212C.3232D.2222

45.下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是A.內(nèi)模式B.外模式C.概念模式D.邏輯模式

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

A.周部變量說明為static存儲(chǔ)類,其生存期將礙到延長(zhǎng)

B.全局變量說明為static存儲(chǔ)類,其作用域?qū)⒈粩U(kuò)大

C.任何存儲(chǔ)類的變量在未賦初值時(shí),其值都是不確定的

D.形參可以使用的存儲(chǔ)類說明符與局部變量完全相同

47.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#include<string.h>main(){char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}

A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值

48.若x=10010111,則表達(dá)式(3+(int)(x))&(~3)的運(yùn)算結(jié)果是()。

A.10011000B.10001100C.10101000D.10110000

49.有以下程序:#includo<stdio.h>main(){inty=10;while(y--)printf("y=%d\n",y);}程序執(zhí)行后的輸出結(jié)果是()。

A.y=0B.y=-1C.y=1D.while構(gòu)成無(wú)限循環(huán)

50.有以下程序:#include<stdio.h>main(){FILE*fp;inti,k,n;fp=fopen("data.dat","w+");for(i=1;i<6;i++){fprimtf(fp,"%d",i);if(i%3==0)fprintf(fp,"\n");}rewind(fp);fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是()。

A.00B.12345C.14D.12

51.若有定義:inta[4][10];,則以下選項(xiàng)中對(duì)數(shù)組元素a[i][j]引用錯(cuò)誤的是______。(o<=i<4,0<=j<=10

A.*(&a[0][0]+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(a[i]+j)

52.有以下程序main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)pfintf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是

A.5B.24C.32D.40

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

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

54.下列選項(xiàng)中,合法的C語(yǔ)言關(guān)鍵字是______。

A.VARB.cherC.integerD.default

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

A.在程序中凡是以"#"開始的語(yǔ)句行都是預(yù)處理命令行

B.預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束

C.#defineMAX是合法的宏定義命令行

D.C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進(jìn)行的

56.有以下程序:int*f(int*x,int*y){if(*<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}程序運(yùn)行后輸出結(jié)果是______。

A.7,8,8B.7,8,7C.8,7,7D.8,7,8

57.下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是()。

A.AP_0doB.floatla0_AC.b-agotointD._123tempint

58.下面程序段的運(yùn)行結(jié)果是char*p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(p,"ABCD")));

A.8B.12C.4D.7

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

A.對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出

B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變

C.當(dāng)程序執(zhí)行過程中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”的出錯(cuò)信息

D.可以通過賦初值的方式確定數(shù)組元素的個(gè)數(shù)

60.有以下程序:#include<stdio.h>#include<string.h>main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}程序運(yùn)行后的輸出結(jié)果是()。

A.22B.76C.72D.62

四、選擇題(20題)61.

62.

63.下面程序的輸出結(jié)果是()。

main()

{inta,b;

scanf("%2d%3d",&a,&b);

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

}

A.a(chǎn)=12b=34

B.a(chǎn)=123b=45

C.a(chǎn)=12b=345

D.語(yǔ)句有錯(cuò)誤

64.有以下程序

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

A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||1

66.概要設(shè)計(jì)中要完成的事情是()。

A.系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)B.系統(tǒng)結(jié)構(gòu)和過程的設(shè)計(jì)C.過程和接口的設(shè)計(jì)D.數(shù)據(jù)結(jié)構(gòu)和過程的設(shè)計(jì)

67.下列選項(xiàng)不符合良好程序設(shè)計(jì)風(fēng)格的是()。

A.源程序要文檔化B.數(shù)據(jù)說明的次序要規(guī)范化C.避免濫用goto語(yǔ)句D.模塊設(shè)計(jì)原則是高耦合、高內(nèi)聚

68.以下數(shù)組定義中錯(cuò)誤的是()。

A.

B.

C.

D.

69.

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

A.數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的核心

B.數(shù)據(jù)庫(kù)系統(tǒng)由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)管理員三部分組成

C.數(shù)據(jù)共享最好的是數(shù)據(jù)庫(kù)系統(tǒng)階段

D.數(shù)據(jù)庫(kù)中的數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序

71.數(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ǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)

72.執(zhí)行下列程序后,變量a,b,C的值分別是()。intx=5,y=4;inta,b,c;a=(--x==y++)?X:++y;b=++x:c=y:A.a=5,b=5,c=5B.a=4,b=5,c=5C.a=5,b=6,c=5D.a=1,b=5,c=6

73.有以下程序:

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

A.6,4,3,2,1

B.6,5,4,3,2

C.5,4,3,2,1

D.10,4,3,2,l

74.以下程序段中,與語(yǔ)句:k=a>;b?(b>;c?1:O):0;功能相同的是()。

75.閱讀以下程序:

#include<stdio.h>

main()

{intcase;floatprintF;

printf("請(qǐng)輸人2個(gè)數(shù):");

scanf("%d%fl"&case,&printF);

printf("%dofof\n",case,printF);

}

該程序在編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是()。

A.定義語(yǔ)句出錯(cuò),case是關(guān)鍵字,不能用做用戶自定義標(biāo)識(shí)符

B.定義語(yǔ)句出錯(cuò),printF不能用做用戶自定義標(biāo)識(shí)符

C.定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用

D.定義語(yǔ)句無(wú)錯(cuò),printf不能輸出case的值

76.下列關(guān)于線性鏈表的敘述中,正確的是()。

A.各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)空間可以不連續(xù),但它們的存儲(chǔ)順序與邏輯順序必須一致

B.各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與邏輯順序可以不一致,但它們的存儲(chǔ)空間必須連續(xù)

C.進(jìn)行插入與刪除時(shí),不需要移動(dòng)表中的元素

D.以上說法均不正確

77.有以下程序:

#include<stdio.h>

main

{shortC=124;

C=C_;

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

}

若要使程序的運(yùn)行結(jié)果為248,應(yīng)在下劃線處填入的是()。

A.>>2

B.|248

C.&0248

D.<<1

78.

79.

80.

五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:為一個(gè)偶數(shù)尋找兩個(gè)素?cái)?shù),這兩個(gè)素?cái)?shù)之和等于該偶數(shù),并將這兩個(gè)素?cái)?shù)通過形參指針傳回主函數(shù)。

請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫函數(shù)fun(),該函數(shù)的功能是刪除一維數(shù)組中所有相同的元素,使之只剩一個(gè)。數(shù)組中的元素已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中元素的個(gè)數(shù)。例如,若一維數(shù)組中的元素是2223445666677899101010刪除后,數(shù)組中的元素應(yīng)該是2345678910注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:#include<stdio.h>#defineN80intfun(inta[],intn){}voidmain(){ inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20; printf(“Theoriginaldata:\n”); for(i=0;i<n;i++)<p=""></n;i++)<> printf(n%3d”,a[i]); n=fun(a,n); printf(“\n\nThedataafterdeleted:\n”); for(i=0;i<n;i++)<p=""></n;i++)<> printf(“%3d”,a[i]); printf(“\n\n”);}

參考答案

1.A解析:本題考核的知識(shí)點(diǎn)是scanf()函數(shù)的運(yùn)用。seanf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)為輸入格式字符串,第二個(gè)參數(shù)為輸入變量地址列表,在scallf()語(yǔ)句中非格式字符可以作為輸入時(shí)數(shù)據(jù)的間隔,輸入時(shí)必須原樣輸入,在本題中輸入格式串為%d,%d其中“,”為非格式字符,所以輸入時(shí)必須原樣輸入。所以4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

2.C解析:對(duì)字符型一維數(shù)組在定義時(shí)初始化,既可以使用初始化列表,也可以使用字符串常量。不過由于字符串常量會(huì)自動(dòng)在結(jié)尾添加\'\\0\',字符做結(jié)束標(biāo)志,所以用字符串常量的初始化列表項(xiàng)個(gè)數(shù)是字符串的長(zhǎng)度加1。因此題目中的chara[]='xyz';等價(jià)于chara[]={\'x\',\'y\',\'z\',\'\\0\');,所以a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度,應(yīng)該選C。

3.C解析:要計(jì)算一個(gè)復(fù)雜的表達(dá)式時(shí),首先要弄明白表達(dá)式中所有運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,本題中所涉及的運(yùn)算符中,->的優(yōu)先級(jí)最高,*和++的優(yōu)先級(jí)相同,但其結(jié)合性為從右至左。所以選項(xiàng)A等價(jià)于*pt->y)也就是pt所指向的結(jié)構(gòu)體的成員指針變量y所指向的內(nèi)容。從前面的程序段不難看出,pt指向結(jié)構(gòu)體數(shù)組c的首地址,也就是指向它的第1個(gè)元素,在它的第1個(gè)元素中,指針變量y又被初始化為指向控型數(shù)組a的首地址,即指向數(shù)組a的第1個(gè)元素。故選項(xiàng)A中的表達(dá)式的值為a[0],也就是1。選項(xiàng)B中表達(dá)式的值就是c[0].x,即10。根據(jù)優(yōu)先級(jí)和結(jié)合性,選項(xiàng)C中的表達(dá)式等價(jià)于++(pt->x),由于是前綴++,所以整個(gè)表達(dá)式的值為pt->x的值加1,故為11。而選項(xiàng)D中,++是后綴形式,所以(pt++)的值還是pt的原值,即等于pt->x的值10。故應(yīng)該選擇C。

4.Bif-else控制結(jié)構(gòu)中,else總是與最近的未配對(duì)的if匹配。本題的執(zhí)行過程為:如果輸入整數(shù)小于3則不進(jìn)行任何操作,否則判斷該整數(shù)是否不等于l0,若為真則進(jìn)行輸出。因此程序輸出的數(shù)據(jù)為大于3且不等于l0的整數(shù)。

5.C在數(shù)據(jù)庫(kù)設(shè)計(jì)中,目前常用的數(shù)據(jù)模型主要有三種,分別是層次模型、網(wǎng)狀模型和關(guān)系模型。

層次模型是數(shù)據(jù)庫(kù)系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。我們通常把滿足以下兩個(gè)條件的數(shù)據(jù)模型稱為層次模型。

(1)有且僅有一個(gè)結(jié)點(diǎn)無(wú)雙親,這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn)。

(2)其他結(jié)點(diǎn)有且僅有一個(gè)雙親。

層次模型用樹形結(jié)構(gòu)來表示各實(shí)體與實(shí)體間的聯(lián)系。實(shí)體是數(shù)據(jù)庫(kù)中數(shù)據(jù)描述的對(duì)象,可以是一個(gè)人、一種商品等。在層次模型中,每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類型,記錄之間的聯(lián)系用結(jié)點(diǎn)之間的連線表示,這種聯(lián)系是父子之間一對(duì)多的聯(lián)系。記錄就是描述實(shí)體的相關(guān)數(shù)據(jù)。

如果取消層次模型中的兩個(gè)限制,即允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親,則每一個(gè)結(jié)點(diǎn)可以有多個(gè)父結(jié)點(diǎn),便形成了網(wǎng)狀。我們把網(wǎng)狀表示實(shí)體之間聯(lián)系的模型稱為網(wǎng)狀模型。

關(guān)系模型用表格形式表示實(shí)體類型及其實(shí)體間的聯(lián)系。關(guān)系模型是目前最重要的一種模型,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的,具有最堅(jiān)實(shí)的理論基礎(chǔ)。關(guān)系模型的基本數(shù)據(jù)結(jié)構(gòu)是二維表,每一張二維表稱為一個(gè)關(guān)系。

6.AB選項(xiàng)中,如給全部元素賦值,則在數(shù)組說明中,可以不給出數(shù)組元素的個(gè)數(shù);C選項(xiàng)中,chara[2]={"","B"};不合法,應(yīng)為chara[2]={′A′,′B′};;D選項(xiàng)中,字符數(shù)組只能在定義的時(shí)候可以用字符串常量來初始化,但不能夠先定義字符數(shù)組,然后再用字符串常量進(jìn)行賦值。因此A選項(xiàng)正確。

7.A

8.C

9.D

10.A

11.D

12.A本題考查函數(shù)值的類型。在函數(shù)調(diào)用時(shí),盡管Y的類型是float.x的類型是double,但是因?yàn)楹瘮?shù)定義時(shí)沒有指定類型說明,系統(tǒng)默認(rèn)函數(shù)值的類型為int型,所以計(jì)算后Y的類型是int型。

13.C

14.B表達(dá)式x-=x+X可以寫成x=x-(x+x),所以X的值為-l0。

15.A解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句,當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體時(shí),其作用是跳出該switch語(yǔ)句體。當(dāng)break出現(xiàn)在循環(huán)體中,但不在switch語(yǔ)句體中時(shí),則在執(zhí)行break后,跳出本層循環(huán)體。continue語(yǔ)句的作用是,跳過本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)的條件判定。

16.C題干中定義了字符數(shù)組a,它包含數(shù)字字符和字母字符。通過for循環(huán),將a中所有的數(shù)字字符前移,舍去其他字符,并在數(shù)字字符后添加字符串結(jié)束符‘\\0’,for循環(huán)結(jié)束后,字符串a(chǎn)的值為:123456789。故本題答案為C選項(xiàng)。

17.A解析:p[0]存放的是“BOOL\\0”的首地址:p[1]存放的是“OPK\\0”的首址等。在printf語(yǔ)句中輸出的*p[i]表示p[i]字符串的第—個(gè)字符。在for循環(huán)中,i的初值為3,那么輸出的第—個(gè)字符為“S”,接著兩次i--,則輸出的值為*p[1],即字符“O”,所以本題的輸出為SO。

18.AC語(yǔ)言中,逗號(hào)運(yùn)算符可以把兩個(gè)以上(包含兩個(gè))的表達(dá)式連接成一個(gè)表達(dá)式。逗號(hào)運(yùn)算符的優(yōu)先級(jí)是所有運(yùn)算符中級(jí)別最低的,逗號(hào)運(yùn)算符保證左邊的子表達(dá)式運(yùn)算結(jié)束后才進(jìn)行右邊的子表達(dá)式的運(yùn)算。也就是說,逗號(hào)運(yùn)算符是一個(gè)序列點(diǎn),其左邊所有子表達(dá)式運(yùn)算都結(jié)束后,才對(duì)其右邊的子表達(dá)式進(jìn)行運(yùn)算,并以最右邊表達(dá)式的值作為整個(gè)逗號(hào)表達(dá)式的值。因此c的值為“a%b”,即“11%3=2”。故本題答案為A選項(xiàng)。

19.D

20.C

21.C

22.4.0或44.0或4

23.1234theend1,2,3,4,theend解析:本題考查帶參數(shù)的宏的定義。第1次循環(huán),i=1時(shí),調(diào)用PRINT(1),P(1)輸出1;第2次循環(huán),i=2時(shí),調(diào)用PRINT(2),P(2)輸出2:第3次循環(huán),i=3時(shí),調(diào)用PRINT(3),P(3)輸出3:第4次循環(huán),i=4時(shí),調(diào)用PRINT(4),P(4)輸出4,theend。

24.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等活動(dòng)。

25.x.link=&z;或x.link=y.link;或x.link=x.link->link;或x.link=*(x.link).link;x.link=&z;或x.link=y.link;或x.link=x.link->link;或x.link=*(x.link).link;解析:鏈表中結(jié)點(diǎn)的刪除,要?jiǎng)h除結(jié)點(diǎn)y,只需要讓結(jié)點(diǎn)x的指針域指向y結(jié)點(diǎn)的指針域所指向的后續(xù)結(jié)點(diǎn)就可,因此只需把結(jié)點(diǎn)z的地址賦給x的指針域就可以了,即讓結(jié)點(diǎn)x的指針域指向結(jié)點(diǎn)z。而結(jié)點(diǎn)z的地址保存在結(jié)點(diǎn)y的指針域中,因此只需把結(jié)點(diǎn)y的指針域賦值給結(jié)點(diǎn)x的指針域即可。

26.09182736450918273645解析:題目中為for循環(huán)定義了兩個(gè)字符型循環(huán)變量c1和c2,循環(huán)開始時(shí)分別初始化為字符‘0’和‘9’,然后每次循環(huán)結(jié)束給c1增1、c2減l,循環(huán)條件為c1<c2,即讓c1的值依次為‘0’、‘1’、‘2’…,c2的值依次為‘9’、‘8’、‘7’…,直到兩個(gè)數(shù)相遇時(shí)結(jié)束循環(huán)。又因?yàn)樵撗h(huán)的循環(huán)體每次按字符形式輸出c1和c2的值。所以最終的輸出結(jié)果為:0918273645。

27.\0's*p++\\0'\r\ns\r\n*p++解析:本題先通過for循環(huán)從鍵盤接收20個(gè)字符,然后在串尾賦一空值'\\0'作為串結(jié)束標(biāo)志。再使指針p指向串的首地址。最后通過while循環(huán)對(duì)字符串進(jìn)行掃描并輸出。

28.-16-16解析:將賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給左側(cè)的變量,并且賦值運(yùn)算符按照“自右而左”的結(jié)合順序,本題表達(dá)式應(yīng)先算m的值為10,再運(yùn)算y的值為8,最后計(jì)算y=y+(-8)=-8+(-8)=-16。

29.邏輯獨(dú)立性邏輯獨(dú)立性解析:數(shù)據(jù)庫(kù)總體邏輯結(jié)構(gòu)改變,而不需要相應(yīng)修改應(yīng)用程序叫做邏輯獨(dú)立性。

30.99解析:本題的字符串中共有9個(gè)字符,它們分別是\'I\'、\'B\'、\'M\'、\'\\n\'、\'0\'、\'1\'、\'2\'、\'\\1\'、\'\\\\\',其中,'\\n'表示換行,'\\\\'表示反斜杠字符'\\',所以本題的最后輸出結(jié)果為9。

31.98768769876\r\n876解析:指針是一種數(shù)據(jù)類型,這種數(shù)據(jù)類型的變量用來存放內(nèi)存中分配的存儲(chǔ)單元的首地址。指針的定義:

類型說明符*指針變量名;

32.*t或t[0)*s-*t或*s-t[0]或s[0]-*t或s[0]t[0]*t或t[0)*s-*t或*s-t[0]或s[0]-*t或s[0]t[0]解析:本題考查的知識(shí)點(diǎn)是字符型指針變量作為函數(shù)的參數(shù)以及序符串大小的比較.函數(shù)sstrcmp()有兩個(gè)字符型指針變量,用來指向兩個(gè)字符串。比較兩個(gè)字符串的大小方法是:從第一個(gè)字符開始依次向后比較,若對(duì)應(yīng)的字符相等則接著比較下一個(gè)字符,一直到兩個(gè)字符串中對(duì)應(yīng)字符不等,或者有一個(gè)為'\\0',此對(duì)應(yīng)字符的ASCII碼大的字符串就大。故循環(huán)條件是*s和*t不為'\\0'。且*s和*t相同,第一處應(yīng)填“*t”或其他等價(jià)形式。根據(jù)題意可知第二處應(yīng)填“*s-*t”或其等價(jià)形式。

33.數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)解析:在數(shù)據(jù)庫(kù)系統(tǒng)管理階段,通過系統(tǒng)提供的映像功能,數(shù)據(jù)具有兩方面的獨(dú)立性:一是物理獨(dú)立性,二是邏輯獨(dú)立性。數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫(kù)系統(tǒng)階段;

34.1567815678解析:本題使用了雙重while循環(huán),外循環(huán)的循環(huán)條件是*p1++,即每次循環(huán)時(shí)讓p1指向其后面的一個(gè)元素,而p1自增之前所指內(nèi)容為0時(shí)循環(huán)結(jié)束。內(nèi)循環(huán)的循環(huán)條件是*p1++=*p2++,即每次循環(huán)時(shí)讓p1和p2指向其后面的一個(gè)元素,而將p2自增之前所指的元素復(fù)制到p1自增之前所指的地址中去,直到p2自增之前所指內(nèi)容為0時(shí)循環(huán)結(jié)束。p1本來一開始是指向c1[0],由于外循環(huán)判斷條件時(shí)讓p1自增了,所以進(jìn)入內(nèi)循環(huán)時(shí)p1指向c1[1],而內(nèi)循環(huán)將p2所指字符串復(fù)制到p1所指位置,所以內(nèi)循環(huán)的結(jié)果是c1[1]、c1[2]、c1[3]、c1[4]、c1[5]分別被c2[0]、c2[1]、c2[2]、c2[3]、c2[4]改寫成'5'、'6'、'7'、'8'、'\\0'。故程序輸出的結(jié)果為15678。

35.a[I]>a[j]a[I]>a[j]解析:本題中的嵌套的循環(huán)結(jié)構(gòu)用在了數(shù)組元素的排序上。本題需要注意的一點(diǎn)是:由于題目只要求出下標(biāo)值為偶數(shù)的元素從小到大排序,所以內(nèi)外層for循環(huán)的條件變量變更條件都是+=2,最后通過條件a[i]>a[j]對(duì)元素大小進(jìn)行判斷并交換。

36.重復(fù)(或循環(huán))重復(fù)(或循環(huán))

37.20020,0解析:在主函數(shù)中首先定義了三個(gè)整型變量x、y、t,并分別給它們賦初值為10,20,0,接著執(zhí)行if語(yǔ)句,在if后面括號(hào)內(nèi)的條件表達(dá)式中,條件“x==y”即“10==20”不成立,則不執(zhí)行其后的語(yǔ)句“t=x”,然后退出if語(yǔ)句,順序執(zhí)行語(yǔ)句x=Y;Y=t;。執(zhí)行完這兩條語(yǔ)句后x的值變?yōu)?0,y的值變?yōu)?,所以最后輸出x,y的值為20和0。

38.

解析:冒泡排序法是通過相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。假設(shè)線性表的長(zhǎng)度為n,則在最壞的情況下,冒泡排序需要經(jīng)過遍的從前往后的掃描和遍的從后往前的掃描,需要的比較次數(shù)為。

39.數(shù)據(jù)模型數(shù)據(jù)模型

40.x==0x==0解析:!x的邏輯意思就是x為非,即x==0。

41.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫(kù)系統(tǒng)的功能(動(dòng)態(tài)特性)。

42.D

43.A解析:本題主要考查有關(guān)文件操作的函數(shù)的應(yīng)用,其中:

①函數(shù)fopen的功能是打開一個(gè)文件,調(diào)用方式是:FILE*fp;

fp=fopen(文件名,使用文件方式);

②函數(shù)fprintf的功能是將格式化數(shù)據(jù)輸出到一個(gè)文件中,調(diào)用方式是:

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

③函數(shù)fclose的功能是關(guān)閉一個(gè)文件,調(diào)用方式是:

fclose(文件指針);

④函數(shù)fscanf的功能是從磁盤文件執(zhí)行格式化輸入,調(diào)用方式是:

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

44.C解析:本題程序的功能是對(duì)數(shù)組元素賦值,難點(diǎn)是對(duì)表達(dá)式4*(i-2*(i>3))%5的分析。

45.A數(shù)據(jù)庫(kù)管理系統(tǒng)的三級(jí)模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。

外模式,或子模式,或用戶模式,是指數(shù)據(jù)庫(kù)用戶所看到的數(shù)據(jù)結(jié)構(gòu),是用戶看到的數(shù)據(jù)視圖。模式,或邏輯模式,是數(shù)據(jù)庫(kù)中對(duì)全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶所見到的數(shù)據(jù)視圖的總和。外模式是模式的一一部分。內(nèi)模式,或存儲(chǔ)模式,或物理模式,是指數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)的存儲(chǔ)介質(zhì)上的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存取方式的描述。

46.A解析:靜態(tài)局部變量的生存期將一直延長(zhǎng)到程序運(yùn)行結(jié)束。故選項(xiàng)A正確;而全局變量的只有一種靜態(tài)存儲(chǔ)類別,故全局變量說明為static存儲(chǔ)類,和沒有說明為static存儲(chǔ)類其生存期都是一直延長(zhǎng)到程序運(yùn)行結(jié)束,故選項(xiàng)B不正確;未賦初值的auto型變量的初值是隨機(jī)的,未賦初值的static型變量的初值是0(故選項(xiàng)C和選項(xiàng)D不正確)。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

47.A解析:本題考查字符串比較函數(shù)和兩個(gè)字符串比較的原則兩個(gè)知識(shí)點(diǎn),①原則是依次比較兩個(gè)字符串同一位置的對(duì)字符,若它們的ASCII碼值相同,則繼續(xù)比較下一對(duì)字符,若它們的ASCII碼值不同,則ASCII碼值較大的字符所在的字符串較大;若所有字符相同,則兩個(gè)字符串相等;若一個(gè)字符串全部i個(gè)字符與另一個(gè)字符串的前i個(gè)字符相同,則字符串較長(zhǎng)的較大。②strcmp(s1,s2)的返回值,當(dāng)str1<str2時(shí),返回值<0;當(dāng)str1=str2時(shí),返回值為0;當(dāng)str1>str2,返回值>0。

48.A解析:本題主要考查運(yùn)算表達(dá)式的運(yùn)算。3+(int)(x)的結(jié)果是10011010,~3的結(jié)果是11111100,二者邏輯與得10011000。

49.B解析:程序首先判斷y值是否非0,顯然y=10滿足條件,y自減1,再次執(zhí)行while語(yǔ)句,判斷y為9的值是否滿足條件,滿足條件,y自減1,……,直到y(tǒng)為0,條件不成立,結(jié)束循環(huán),y自減1后變?yōu)?1,所以輸出結(jié)果為y=-1。

50.D解析:語(yǔ)句“fprintf(fp,”%d”,i);”的作用是將變量i的值直接按“%d”的格式輸出到文件fp指向的文件上;“rewind(fp)”的作用是使指針重新返回文件的開頭;“fscanf(fp,'%d%d',&k,&n);”的作用是將磁盤文件中的數(shù)據(jù)傳送給變量k和n。

51.B解析:本題中選項(xiàng)B是錯(cuò)誤的引用,*(a+i)+j只代表了a[i][j]的地址。

52.C解析:當(dāng)for循環(huán)執(zhí)行到第30次時(shí),i的值為30能被5整除,然后繼續(xù)執(zhí)行兩次if語(yǔ)句,i經(jīng)過兩次自加1運(yùn)算,值變?yōu)?2,能被8整除,故此時(shí)第一次執(zhí)行“printf('%d',i);”語(yǔ)句,即輸出32。

53.B解析:數(shù)據(jù)庫(kù)產(chǎn)生的背景就是計(jì)算機(jī)的應(yīng)用范圍越來越廣泛,數(shù)據(jù)量急劇增加,對(duì)數(shù)據(jù)共享的要求越來越高。共享的含義是多個(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ù)的共享問題。故選項(xiàng)B正確。

54.D解析:選項(xiàng)A中的VAR不是C語(yǔ)言中關(guān)鍵字,故選項(xiàng)A不正確:選項(xiàng)B中cher,應(yīng)改char,char才是C語(yǔ)言中的關(guān)鍵字,故選項(xiàng)B不正確;選項(xiàng)C中integer在C語(yǔ)言中簡(jiǎn)化為int,這里應(yīng)該將integer改為int,int才是C語(yǔ)言中的關(guān)鍵字,選項(xiàng)D中default為C語(yǔ)言中默認(rèn)的關(guān)鍵字,故選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

55.D解析:C語(yǔ)言中的預(yù)處理命令以符號(hào)#開頭,這些命令是在程序編譯之前進(jìn)行處理的,選項(xiàng)D)的描述錯(cuò)誤。

56.B解析:f函數(shù)的功能是返回地址為x,y的兩個(gè)數(shù)中值較的數(shù)的地址,本題輸出結(jié)果是7,8,7。

57.C解析:C語(yǔ)言規(guī)定的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,第一個(gè)字符必須為字母或下劃線,并且不能使用C語(yǔ)言中的關(guān)鍵字作為標(biāo)識(shí)符。選項(xiàng)C)中g(shù)oto和int是關(guān)鍵字,b-a中'-'不是組成標(biāo)識(shí)符的3種字符之一;選項(xiàng)D)中int是關(guān)鍵字,所以,均是不合法用戶標(biāo)識(shí)符的選項(xiàng)是C)。

58.C在本題中,程序段首先定義了字符型指針變量p,并使其指向一個(gè)字符串,然后將指針變量p加3,即使其指向字符串的第四個(gè)元素。然后執(zhí)行輸出語(yǔ)句,通過輸出語(yǔ)句的輸出格式我們可以知道,最后輸出的是一個(gè)十進(jìn)制數(shù)的整型數(shù)值,其輸出列表為strlen(strcpy(P,″ABCD″))。這就要求我們了解strlen函數(shù)和strcpy函數(shù)的作用。

strcpy的調(diào)用格式是:strcpy(目的地址,源地址),其功能是把源地址的字符串復(fù)制到目的地址中,這種復(fù)制將覆蓋原來的字符串。strcat函數(shù)的功能是將源地址的字符串復(fù)制到目的地址字符串的后面。

strlen的調(diào)用格式是:strlen(字符串地址),其功能是返回字符串中字符的個(gè)數(shù)。

那么程序中執(zhí)行strcpy(P,″ABCD″)后指針變量p所指向的字符串為“ABCD”,該字符串中字符的個(gè)數(shù)為4,那么執(zhí)行strlen后,程序最終輸出的結(jié)果是4。因此本題正確的答案是C。

59.C解析:在c語(yǔ)言中,如果出現(xiàn)下標(biāo)越界的情況,系統(tǒng)不管在編譯還是執(zhí)行時(shí)都不會(huì)給出“下標(biāo)越界”的錯(cuò)誤提示。

60.C解析:C語(yǔ)言.中以,'\\0'作為字符串的結(jié)束符,且strlen函數(shù)計(jì)算的是,'\\0',字符前的所有字符的個(gè)數(shù),故本題中strlen(a)應(yīng)為2。數(shù)組定義以后系統(tǒng)就為其分配相應(yīng)大小的內(nèi)存空間,而不論其中有沒有內(nèi)容。sizeof運(yùn)算符是計(jì)算變量或數(shù)組所分配到的內(nèi)存空間的大小,所以本題的sizeof(a)為7。

61.B

62.B

63.C嚴(yán)格按照格式進(jìn)行輸入和輸出。%2d%3d,a是兩位輸入,b是三位,輸出時(shí)亦是這個(gè)格式。

64.Amain函數(shù)輸出字符串第6個(gè)元素對(duì)應(yīng)的數(shù)據(jù),所以答案

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論