2021年山東省淄博市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第1頁
2021年山東省淄博市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第2頁
2021年山東省淄博市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第3頁
2021年山東省淄博市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第4頁
2021年山東省淄博市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021年山東省淄博市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.以下是if語句的基本形式:

if(表達(dá)式.語句

其中“表達(dá)式”()。

A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式

2.

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

A.C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的

B.用C語言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行

C.通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行

D.在沒有安裝C語言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件

4.

5.程序設(shè)計(jì)的任務(wù)包括()。

A.編寫程序代碼并上機(jī)調(diào)試B.確定所用數(shù)據(jù)結(jié)構(gòu)C.確定所用算法D.以上選項(xiàng)均正確

6.有以下程序:#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

7.

8.定義int*swap()指的是______。

A.一個(gè)返回整型值的函數(shù)swap()

B.一個(gè)返回指向整型值指針的函數(shù)swap()

C.一個(gè)指向函數(shù)swap()的指針,函數(shù)返回一個(gè)整型值

D.以上說法均錯(cuò)

9.若要判斷char型變量c中存放的是否為小寫字母,以下正確的表達(dá)式是()。A.'a'<=c<='z'

B.(c>='a')&&(c<='z')

C.(c>='a')‖(c<='z')

D.('a'<=c)AND('z'>=c)

10.

11.有以下程序:#include<stdio.h>main(){inti,s=0,t[]=(1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf(“%d\n”,s);}程序的運(yùn)行結(jié)果是()。

A.20B.25C.45D.36

12.以下程序中函數(shù)sort的功能是對數(shù)組a中的數(shù)據(jù)進(jìn)行由大到小的排序:#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[]={1,2,3,4,5,6,7,8,9,10},i;son(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。

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

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

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

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

13.有以下程序

#include<stdio.h>

main()

{charch[3][5]={“AAAA”,”BBB”,”CC”};

printf(“%s\n”,ch[1];)

}

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

B.CC

C.BBBCC

D.BBB

14.對于線性表(7,34,55,25,64,46,20,10)進(jìn)行散列存儲(chǔ)時(shí),若選用H(K)=K%9作為散列函數(shù),則散列地址為1的元素有()個(gè)。

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

15.有以下程序:#include<stdio.h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當(dāng)運(yùn)行時(shí)輸入:a<回車>后,以下敘述正確的是()。

A.變量c1被賦予字符a,c2被賦予回車符

B.程序?qū)⒌却脩糨斎氲?個(gè)字符

C.變量c1被賦予字符a,c2中仍是原有字符2

D.變量c1被賦予字符a,c2中將無確定值

16.針對二分查找算法,假設(shè)一個(gè)有序數(shù)組有136個(gè)元素,那么要查找到第10個(gè)元素,需要比較的元素為()

A.68,34,17,9,13,11,10

B.68,34,17,8,12,10

C.69,35,18,10

D.68,34,18,9,13,11,10

17.在Internet中,域名服務(wù)器的主要功能是實(shí)現(xiàn)()的轉(zhuǎn)換。

A.IP地址到域名(主機(jī)名字)B.域名到IP地址C.主機(jī)IP地址和路由器IP地址之間D.路由器IP地址之問

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

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

19.以下能正確定義且賦初值的語句是______。A.intn1=n2=10;

B.charc=32;

C.floatf=f+1.1;

D.doublex=12.3E2.5;

20.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()。

A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)

B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)

D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

二、2.填空題(20題)21.數(shù)據(jù)流圖的類型有【】和事務(wù)型。

22.mysulen函數(shù)的功能是計(jì)算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>

intmystrlen(Char*str)

{inti;

for{i=0;!='\0';i++);

return(______);

}

23.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。

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

main()

{intx=0;

sub(&x,8,1);

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

}

sub(int*a,intn,intk)

{if(k<=n)sub(a,n/2,2*k);

*a+=k;

}

25.數(shù)據(jù)庫系統(tǒng)其內(nèi)部分為三級模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。

26.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。

27.若有下列定義:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,則值為3的表達(dá)式為:______。

28.有以下程序

voidf(inty,int*x)

{y=y+*x;*X=*X+y;}

main()

{intx=2,y=4;

f(y,&x);

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

}

執(zhí)行后輸出結(jié)果是______。

29.按照邏輯結(jié)構(gòu)分類,數(shù)據(jù)結(jié)構(gòu)可分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),隊(duì)列屬于______。

30.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。允許插入的一端稱作______。

31.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素的最大值。請?zhí)羁铡?/p>

voidfun(int,int,int(*)[4],int*);

main()

{

inta[3][4]={{12,41,36,28},{19,33,15,27),{3,27,19,1}},b[3],i;

fun(3,4,a,B);

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

printf("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

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

{

x=ar[i][0];

for(i=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];

______=X;

}

}

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

structs

{intx,y;}data[2]={10,100,20,200};

main()

{

structs*p=data;

printf("%d\n",++(p->x));

}

33.若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請寫出完整的的輸出語句()。

34.設(shè)有以下程序,為使之正確運(yùn)行,請?jiān)跈M線中填入應(yīng)包含的命令行。(注:try_me()函數(shù)在a:\myfile.txt中有定義。)

______

main()

{printf("\n");

try_me();

printf("\n");}

35.以下程序中,fun()函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值,請?zhí)羁铡?/p>

voidfun(int,int,int(*)[4],int*);

main()

{inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;

fun(3,4,a,b);

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

printf("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

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

{x=ar[i][0];

for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];

______=x;

}

}

36.以下程序運(yùn)行時(shí),若從鍵盤輸入:102030<回車>,輸出的結(jié)果是【】。

#include<stdio.h>

main()

{inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);

prinff("%d%d%d\n",i,j,k);

}

37.衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn),其中()是度量一個(gè)模塊功能強(qiáng)度的一個(gè)相對指標(biāo)。

38.以下程序輸出矩陣中值為。的元素的行下標(biāo)和列下標(biāo)。行下標(biāo)和列下標(biāo)分別放在同一下標(biāo)的r和c數(shù)組元素中。程序通過調(diào)用隨機(jī)函數(shù)給矩陣賦值。

#defineN5

#include<stdlib.h>

main()

{inta[N][N],i,j,c[N*N],r[N*N],n;

for(i=0,i<N;i++)

for(j=0;j<N;j++)a[i][j]=rand()%5;

n=gindex(【】);

printf("\n\nTheresult:\nn=%d\n",n);

for(i=0;i<n;i++)printf("%4d%4d\n",r[i],c[i]);

}

intgindex(int(*p)[N],int*c,int*r)

{inti,j,k;

【】;

for(i=0;i<N,i++)

for(j=0;j<N;j++)

if(【】==0)

{r[k]=i;c[k]=j;【】;}

return【】;

}

39.一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【】。

40.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。

a=15;

b=0;

do{b+=2;a-=2+b;}while(a>=0);

三、1.選擇題(20題)41.有以下程序:voidsum(int*A){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}執(zhí)行后的輸出結(jié)果是

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

42.下列有關(guān)格式輸入函數(shù)scanf的敘述中正確的是()

A.輸入項(xiàng)可以是C語言中規(guī)定的任何變量,并且在任何變量前必須加地址符號“&”

B.可以只有格式控制項(xiàng),沒有地址列表項(xiàng)

C.在輸入數(shù)據(jù)時(shí),必須規(guī)定精度。如:scanf("%4.2f",&d);

D.當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址

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

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

44.下列程序的運(yùn)行結(jié)果為#include<stdio.h>voidabc(char*str){inta,b;for(a=b=0;str[a]!='\0';a++)if(str[a]!='c')str[b++]=str[a];str[b]='\0';}voidmain(){charstr[]="abcdef";abc(str);printf("str[]=%s",str);}

A.str[]=abdefB.str[]=abcdefC.str[]=aD.str[]=ab

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

#include"stdio.h"

main()

{intx=-9,y=5,z=8;

if(x<y)

if(y<0)z=0;

elsez+=1;

printf("%d\n",z);}

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

46.函數(shù)fun的返回值是fun(char*a,char*b){intnum=0,n=0;while(*(a+num)!='\0')num++;while(b[n]){*(a+num)=b[n];num++;n++;}returnnum;}

A.字符串a(chǎn)的長度B.字符串b的長度C.字符串a(chǎn)和b的長度之差D.字符串a(chǎn)和b的長度之和

47.下列程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){intb[6]={2,4,6,8,10,12};int*p--b,**q=&p;printf("%d",*(p++));printf("%d",**q);}

A.*p=&a;scanf("%1f",p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%1f",*p);

D.p=&a;scanf("%1f",p);

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

A.C語言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)

B.C語言中對二進(jìn)制文件的訪問速度比文本文件快

C.C語言中,隨機(jī)讀寫方式不適用于文本文件

D.C語言中,順序讀寫方式不適用于二進(jìn)制文件

49.以下程序的運(yùn)行結(jié)果是()#include<stdio.h>main(){inta=015,b=22;printf("%d,%d\n",a++,--b);}

A.15,22B.15,21C.13,21D.14,21

50.對建立良好的程序設(shè)計(jì)風(fēng)格,下列描述正確的是()。

A.程序應(yīng)該簡單、清晰、可讀性好B.符號名的命名只需要符合語法C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無

51.以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。#defineN10voidarrin(intx[N]){inti=0;while(i<N)scanf("%d",______);}在下劃線處應(yīng)填入的是

A.x+iB.&x[i+1]C.x+(i++)D.&x[++i]

52.在下列幾種排序方法中,要求內(nèi)存量最大的是______。

A.插入排序B.選擇排序C.快速排序D.歸并排序

53.在下列設(shè)備中,屬于輸出設(shè)備的是()

A.鍵盤B.鼠標(biāo)C.顯示器D.軟盤

54.第

13

設(shè)有程序段

intk=10;

while(k=0)k=k-1;

則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次

55.若二維數(shù)組a有m列,且設(shè)a[0][0]位于數(shù)組的第一個(gè)位置上,則計(jì)算任一元素a[i][j]剛在數(shù)組中的位置的式子為()。

A.i*m+jB.j*m+iC.i*m+j-1D.i*m+j+l

56.有以下程序:main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。

A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和

57.設(shè)有定義:charp[]={'1','2','3'},*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是

A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])

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

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

59.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的()。A.存儲(chǔ)結(jié)構(gòu)B.物理結(jié)構(gòu)C.邏輯結(jié)構(gòu)D.物理和存儲(chǔ)結(jié)構(gòu)

60.有以下程序#include<stdio.h>main(){FILE*fP;intk,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是。

A.12B.14C.1234D.123456

四、選擇題(20題)61.若變量已正確定義,有以下程序段:

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

A.0,0B.0,1C.1,1D.程序進(jìn)入無限循環(huán)

62.

63.

有以下程序:

main()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:n+=l;k--;break;

defalut: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

64.

65.在一個(gè)C源程序文件中所定義的全局變量,其作用域?yàn)椋ǎ?/p>

A.由具體定義位置和extem說明來決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍

66.若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是()。

A.a,point,*&a

B.&*a,&a,*point

C.*&point,*point,&a

D.&a,&*point,point

67.有以下程序段

main()

{inta=5,*b,**c;

c=&b;b=&a;

……

}

程序在執(zhí)行了c=&b;b=&a;語句后,表達(dá)式:**c的值是()

A.變量a的地址

B.變量b中的值

C.變量a中的值

D.變量b的地址

68.

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

char*p1="abcd",*p2="ABCD",str[50]="xyz";

strcpy(str+2,strcat(p1+2,p2+1));

printf("%s",str);

A.xyabcABB.abcABzC.ABabczD.xycdBCD

70.

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

A.程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)

B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)

C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量

D.以上三種說法都不對

72.若有說明語句:double*p,a;則通過scanf語句正確給輸入項(xiàng)讀人數(shù)據(jù)的程序段是()。

A.*p=&a;scanf("%1f”,p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%",*p);

D.p=&a;scanf("%1f",p);

73.x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語句是()。

A.INPUTx,y、z;

B.scanf(”%d%d%d”,&x,&y,&z.);

C.sCanf(”%d%d%d”,x,y,z.);

D.read(”%d%d%d”,&x,&y,&z.);

74.在下列模式中,能夠給出數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是()。

A.外模式B.內(nèi)模式C.概念模式D.邏輯模式

75.

76.有以下程序:

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

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

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

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

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

77.有以下程序:

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

A.SunDan20044550

B.Penghua20045537

C.LiSiGuo20042580

D.SunDan20041703

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

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

79.若有以下程序

#include<stdio.h>

voidf(intn);

main()

{

voidf(intn);

f(5);

}

voidf(intn)

{

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

}

則以下敘述中不正確的是

A.若只在主函數(shù)中對函數(shù)f進(jìn)行說明,則只能在主函數(shù)中正確調(diào)用函數(shù)f

B.若在主函數(shù)前對函數(shù)f進(jìn)行說明,則在主函數(shù)和其后的其他函數(shù)中都可以正確調(diào)用函數(shù)f

C.對于以上程序,編譯時(shí)系統(tǒng)會(huì)提示出錯(cuò)信息:對f函數(shù)重復(fù)說明

D.函數(shù)f無返回值,所以,可用void將其類型定義為無返回值型

80.

有以下程序:

#include<stdio.h>

main

{inti=0,a=0;

while(i<20)

{for(;;)

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

else

i--;

}

i+=11:

a+=i:

}

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

}

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

A.62B.63C.33D.32

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:對M名學(xué)生的學(xué)習(xí)成績,按從低到高的順序找出前m(m≤10)名學(xué)生來,并將這些學(xué)生數(shù)據(jù)存放在一個(gè)動(dòng)態(tài)分配的連續(xù)存儲(chǔ)區(qū)中,此存儲(chǔ)區(qū)的首地址作為函數(shù)值返回。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.請編一個(gè)函數(shù)voidproc(intttEM][N],intpp[N]),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每行中最大元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。

注意:部分源程序給出如下。

請勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編寫的若干語句。

試題程序:

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#defineM3

#defineN4

voidproc(intttrM3rN]。intpp[N])

{}

voidmain

{

intstr[M][N]={{34,56,84,78},

{23,84,93,12),

{28,38,39,93}};

intp[N],i,j,k;

system("CLS");

printf("Theriginaldatais:\n");

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

{

for(j=0;j<N;j++)

printf("%6d",str[i][j]);

printf("\n");

}

proc(str,p);

printf("\nTheresultis:\n");for(k=0:k<M;k++)

printf("%4d",p[k]);

printf("n");}

參考答案

1.D解析:本題主要考查關(guān)于if語句的說明,if后面圓括號中的表達(dá)式,可是任意合法的C語言表達(dá)式(如:邏輯表達(dá)式、關(guān)系表達(dá)式、算術(shù)表達(dá)式、賦值表達(dá)式等),也可以是任意類型的數(shù)據(jù)(如:整型、實(shí)型、字符型、指針型等。)

2.C

3.Dc語言的可執(zhí)行程序是由一系列機(jī)器指令組成的。用C語言編寫的源程序必須經(jīng)過編譯生成二進(jìn)制目標(biāo)代碼,再經(jīng)過連接才能運(yùn)行,并且可以脫離c語言集成開發(fā)環(huán)境。故答案為D)。

4.B

5.D程序設(shè)計(jì)是一門技術(shù),需要相應(yīng)的理論、技術(shù)、方法和工具來支持。程序設(shè)計(jì)的任務(wù)包括選項(xiàng)A)、B)、c)等方面。

6.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)。

7.A

8.B解析:一個(gè)函數(shù)可以帶回—個(gè)整型值、字符值、實(shí)型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號和*號,由于()優(yōu)先級高于*。故它是一個(gè)返回整型指針的函數(shù)。

9.BC語言中,char型變量的值是其對應(yīng)字符的ASCII值,可以做比較運(yùn)算。由于小寫字母的ASCII值按字母表的順序連續(xù)遞增,因此判斷char型變量c是不是小寫字母時(shí),判斷c的ASCII值是否在’a’和’z’之間,即(c>=’a’)&&(c<=’z’)。本題答案為B選項(xiàng)。

10.D

11.B程序的功能為統(tǒng)計(jì)1~9這9個(gè)數(shù)中的奇數(shù)和。C語言中規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第1個(gè)元素的地址,因此“*(t+i)”代表數(shù)組的第i+1個(gè)元素。程序的運(yùn)行結(jié)果是1+3+5+7+9=25。故本題答案為B選項(xiàng)。

12.C解析:在main函數(shù)中調(diào)用sort函數(shù)時(shí),實(shí)參&aa[3]把數(shù)組元素aa[3]的首地址傳給形參數(shù)組a,使aa[3]與a[0]相對應(yīng)。sort函數(shù)將從aa[3]開始的連續(xù)5個(gè)數(shù)進(jìn)行了從大到小的排序,其他數(shù)組元素不變。

13.Dch[1]即輸出的為第二個(gè)字符串,即BBB。

14.D

15.A解析:本題考查的是getchar()函數(shù)。getchar()函數(shù)執(zhí)行時(shí)將從鍵盤緩沖區(qū)中讀取用戶的輸入,而不管輸入的是否可打印字符,所以當(dāng)輸入a<回車>后,鍵盤緩沖區(qū)被輸入的實(shí)際上是兩個(gè)字符:'a'和'\\n'。故選項(xiàng)A的說法是正確的。

16.B

17.B在Internet中,把域名翻譯為IP地址的軟件稱為域名系統(tǒng)DNS,運(yùn)行域名系統(tǒng)的主機(jī)稱為域名服務(wù)器。域名服務(wù)器的主要功能是實(shí)現(xiàn)入網(wǎng)主機(jī)名字和IP地址的轉(zhuǎn)換。

18.B

19.B解析:本題考查的知識(shí)點(diǎn)是變量賦初值.選項(xiàng)A中的語句只能起定義n1的作用,而n2=10是n1的初始值表達(dá)式,但因前面沒有定義過n2,所以編譯會(huì)報(bào)錯(cuò)“n2未定義”,故不正確。選項(xiàng)B使用一個(gè)整數(shù)初始化一個(gè)字符變量是正確的,因?yàn)樽址兞恐斜4娴谋緛砭褪钦麛?shù)(某字符的ASCII碼值)。選項(xiàng)C定義的初始值表達(dá)式中出現(xiàn)了它自身,某些編譯器能通過編譯,但f在初始化之前是一個(gè)未知的值,用未知值來初始化也還是未知值,這是不可取的。選項(xiàng)D的初始值是一個(gè)非法常量,因?yàn)閷?shí)型常量指數(shù)形式的指數(shù)部分必須為整數(shù),這里的2.5非法。

20.D結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn):①采用自頂向下、逐步求精的程序設(shè)計(jì)方法;②任何程序都可由順序、選擇和循環(huán)3種基本控制結(jié)構(gòu)構(gòu)造。

21.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。

22.*(srt+i)或str[i]i*(srt+i)或str[i]\r\ni解析:求str指向的字符串長度的算法是:用一個(gè)變量i表示字符串中字符的位置,一開始賦值為0,取出i位置的字符,判斷是否為'\\0',若不是則i的值加1,如此循環(huán)直到取出的字符是'\\0'為止,此時(shí)i的值就是字符串的長度。由此可知,第一個(gè)空處應(yīng)填第i位置上的字符*(str+i);第二個(gè)空格應(yīng)該填字符串的長度i。

23.邏輯關(guān)系邏輯關(guān)系

24.77解析:在主函數(shù)中定義了一個(gè)變量x并賦初值0,然后執(zhí)行函數(shù)調(diào)用語句,該語句的執(zhí)行過程為sub(&x,8,1)調(diào)用sub(&a,4,2),sub(&a,4,2)調(diào)用sub(&a,2,4),sub(&a,2,4)中由于2<4,所以if后面括號里的判斷為假,遞歸結(jié)束,執(zhí)行其后的*a+=k;語句此時(shí)x=x+k=0+4=4,回退到上一層調(diào)用函數(shù)sub(&x,4,2)中,執(zhí)行后面的語句,x=x+k=4+2=6,再回推到最上一層調(diào)用函數(shù)sub(&x,8,1)執(zhí)行后面的語句,x=x+k=6+1=7,所以最后輸出7。

25.外模式外模式解析:數(shù)據(jù)庫系統(tǒng)的三級模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫的物理存儲(chǔ)結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。

26.非線性結(jié)構(gòu)非線性結(jié)構(gòu)

27.p+=2*(p++)p+=2,*(p++)解析:由題可知a[2]=3,因此只要使指針p指向a[3],然后再引用指針的值就可以了。

28.8484解析:本題考核的知識(shí)點(diǎn)是函數(shù)的調(diào)用、值傳遞和地址傳遞的區(qū)別。“值傳遞”指實(shí)參將值傳遞給形參后,實(shí)參與形參再無聯(lián)系。也就是說對行參的改變將不影響實(shí)參;地址傳遞是指地址或數(shù)組名作為形參時(shí)的參數(shù)傳遞,這種情況下對形參的改變將對實(shí)參產(chǎn)生影響.函數(shù)f(Y*x)的作用是讓y的值加上指針x所指向變量的值,讓指針x所指向變量的值加上y的值。由于形參y是傳值的,形參x是傳地址的,故調(diào)用該函數(shù)后,作為實(shí)參的y的值將不改變,而實(shí)參x的值將改變,故最后輸出的y的值為4,而x的值為8。

29.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:隊(duì)列有且只有一個(gè)根結(jié)點(diǎn),而且每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,滿足線性結(jié)構(gòu)的條件,所以屬于線性結(jié)構(gòu)。

30.隊(duì)尾隊(duì)尾解析:在隊(duì)列中,允許插入的一端叫做“隊(duì)尾”,允許刪除的一端叫做“隊(duì)頭”。

31.br[i]或*(br+i)br[i]或*(br+i)解析:求最大值算法要求輸入的一般是一系列數(shù),例如一個(gè)數(shù)組,而輸出只有一個(gè)值。計(jì)算時(shí)通常的做法是,首先將這一系列數(shù)的笫1個(gè)值保存到結(jié)果變量中,然后用一個(gè)指針或循環(huán)變量從頭(或從第2個(gè)值)至尾遍歷這一系列數(shù),每次比較結(jié)果變量和被遍歷的值,如果該值比結(jié)果大,則將該值保存到結(jié)果中。本題中,3行4列二維數(shù)組a顯然是算法的輸入值,而傳給函數(shù)fun()的3和4在函數(shù)中起到限制循環(huán)次數(shù)的作用,所以它們代表輸入數(shù)據(jù)的行列數(shù).而傳遞給函數(shù)的一維數(shù)組b即沒有初始化,最后又要輸出它,所以數(shù)組b肯定是用來保存每行的最大值。在函數(shù)中是一個(gè)二重循環(huán),外循環(huán)首先將ar[i][0]賦給x,然后內(nèi)循環(huán)中比較x和ar[il剛,若x比較小就讓x=ar[i][j],這就說明x是保存結(jié)果的臨時(shí)變量.最后應(yīng)該將x的值輸出到數(shù)組b中,也就是形參br的相應(yīng)位置。故在空格處應(yīng)該填的內(nèi)容為br[i]或者寫成指針方式*(br+i)。

32.1111解析:程序中結(jié)構(gòu)體數(shù)組data首地址(即&data[0])賦值給結(jié)構(gòu)體指針變量p,++(P->x)表示先將p所指向的結(jié)構(gòu)體變量的成員x值加1,然后將此x(即data[0].x)輸出。

33.printf(“a=%db=%d”aB);printf(“a=%d,b=%d”,a,B);解析:printf函數(shù)的一般格式為:“printf(格式控制,輸出表列)”。

34.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本題考查了函數(shù)的存儲(chǔ)分類的概念。如果沒有特別說明,函數(shù)的存儲(chǔ)范圍是從定義函數(shù)的位置到文件的結(jié)尾,如果其他文件想使用這個(gè)函數(shù),需要用ginclude文件包含命令將定義函數(shù)的文件包含進(jìn)來。

35.br[i]

36.1030010300解析:在scanf格式控制符中有一個(gè)“*”附加說明符,表示跳過它指定的列數(shù)。程序中'%d%*d%d'表示首先將10賦給i,然后遇%。d讀入整數(shù)但不賦給任何變量,最后將讀人的整數(shù)30賦給變量j,變量k并沒有重新賦值,仍為初始值0。所以輸出的結(jié)果為10300。

37.內(nèi)聚性內(nèi)聚性解析:模塊的獨(dú)立程度是評價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn)。內(nèi)聚性是度量一個(gè)模塊功能強(qiáng)度的一個(gè)相對指標(biāo),耦合性則用來度量模塊之間的相互聯(lián)系程度。

38.acrk=0p[i][j]k++k

39.可重用性繼承的優(yōu)點(diǎn):相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。

40.33解析:本題考查do…while語句形式:

do循環(huán)體

while表達(dá)式

首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時(shí)再判斷循環(huán)條件不滿足,退出循環(huán)。

41.A解析:本題考核的知識(shí)點(diǎn)是數(shù)組的定義、賦初值以及函數(shù)調(diào)用的組合應(yīng)用.本題中函數(shù)sum(int*A)的作用是:將形參a所指的數(shù)組中的第二個(gè)元素的值a[1]賦給第一個(gè)元素a[0]。主函數(shù)中定義一個(gè)長度為10的整型數(shù)組并賦初值,接著執(zhí)行一個(gè)for循環(huán),該循環(huán)共執(zhí)行了3次.當(dāng)i=2時(shí),調(diào)用函數(shù)sum(&aa[2]),主函數(shù)中將&aa[2]作為實(shí)參傳給行參a,所以此時(shí)形參a所指的數(shù)組的第一個(gè)元素和第二個(gè)元素分別為aa[2]和aa[3],故執(zhí)行完該函數(shù)后將aa[3]的值賦給aa[2],即aa[1]=aa[3]=4,當(dāng)i=1時(shí),調(diào)用函數(shù)sum(&aa[1]),主函數(shù)中將&aa[1]作為實(shí)參傳給行參a,所以此時(shí)形參a所指的數(shù)組的第一個(gè)元素和第二個(gè)元素分別為aa[1]和aa[2],故執(zhí)行完該函數(shù)后將aa[2]的值賦給aa[1],即aa[1]=aa[2]=4;當(dāng)i=0時(shí);調(diào)用函數(shù)sum(&aa[0]),,主函數(shù)中將&aa[0]作為實(shí)參傳給行參a,所以此時(shí)形參a所指的數(shù)組的第一個(gè)元素和第二個(gè)元素分別為aa[0]和aa[1],故執(zhí)行完該函數(shù)后將aa[1]的值賦給aa[0],即aa[0]=aa[1]=4;故最后輸出的aa[0]的值為4,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

42.D解析:如果是指針型變量或數(shù)組名,則變量前不加地址符號&,所以選項(xiàng)A的說法有誤。必須有地址列表項(xiàng)才能實(shí)現(xiàn)正確輸入,所以選項(xiàng)B的說法有誤。在輸入數(shù)據(jù)時(shí),不可以指定實(shí)型數(shù)據(jù)的精度,所以選項(xiàng)C的說法有誤。只有選項(xiàng)D的說法正確。

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

44.A解析:本題考查了用字符指針引用字符數(shù)組中的字符及對字符的操作。函數(shù)abc()的for語句執(zhí)行過程是:從字符指針str所指向的字符數(shù)組的第一個(gè)元素開始,逐一判斷字符是否為'c',若不是就執(zhí)行一次數(shù)組元素的賦值過程,若字符為'c'就不執(zhí)行。

45.D解析:if卐lse語句的執(zhí)行過程如下,首先計(jì)算if后面一對圓括號內(nèi)表達(dá)式的值,若表達(dá)式的值為非0,執(zhí)行if子句,然后跳過else子句,去執(zhí)行if語句后的下一條語句;若表達(dá)式的值為0,跳過if子句,去執(zhí)行else子句,接著去執(zhí)行if語句后的下一條語句。C語言的語法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書寫格式無關(guān),本題目的后一個(gè)if-else相當(dāng)于嵌套在第一個(gè)if子句里,相當(dāng)于x<y&&y<0時(shí),z=0;當(dāng)x<y&&y>=0時(shí),z=z+1。

46.D解析:第一個(gè)while循環(huán)是字符串a(chǎn)的長度,第二個(gè)while是將字符串b接在a的后面,num在a串長度上繼續(xù)累計(jì),為兩個(gè)字符串長度之和。

47.D解析:double*p,a;語句表示定義了一個(gè)指向雙精度型的指針變量p和雙精度型變量a,而語句p=&a表示將變量a的地址賦給指針變量p;scanf('%1f',p)表示用鍵盤輸入的數(shù)賦給指針變量p所指向的地址單元中。scanf()函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f(或%1e)。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D)為正確答案。

48.D解析:在C語言中文本文件是以ASCII碼形式存放的,每個(gè)字符占一個(gè)字節(jié)。由于數(shù)據(jù)在計(jì)算機(jī)中是以二進(jìn)制形式存放的,因此二進(jìn)制文件中的數(shù)據(jù)可以直接讀出,而不需要像文本文件那樣把ASCII碼轉(zhuǎn)換成二進(jìn)制,因此速度較快。在文本文件葉,,數(shù)據(jù)以ASCII碼形式存放,用戶很難判定一個(gè)數(shù)據(jù)到底占幾個(gè)字節(jié),所以不適合使用隨機(jī)讀寫方式。數(shù)據(jù)以二進(jìn)制形式存放,占有的字節(jié)數(shù)是固定的,所以可以進(jìn)行隨機(jī)讀寫,當(dāng)然也可以順序讀寫。故D選項(xiàng)為所選。

49.C

50.A解析:“清晰第一,效率第二”,在考慮到程序的執(zhí)行效率的同時(shí),一定要保證程序清晰、可讀;對符號名的命名,除了要符合語法要求外,還要具有一定的含義;程序的注釋可以幫助程序員理解程序,不是可有可無的。

51.C解析:本題考核的知識(shí)點(diǎn)是scarf()函數(shù)的輸入格式。在stallf()函數(shù)中有兩個(gè)參數(shù),其中第一個(gè)參數(shù)為輸入格式字符串,第二個(gè)參數(shù)是地址字符串.根據(jù)scanf()的定義,故應(yīng)該在空白處填入一地址,4個(gè)選項(xiàng)中只有B和D符合,又由題意要給數(shù)組的每個(gè)成員賦值,i表示數(shù)組的下標(biāo),那么i必須每循環(huán)一次加1,即指向下一個(gè)數(shù)組元素,當(dāng)i=7時(shí)循環(huán)體執(zhí)行了7次,數(shù)組的每個(gè)成員都被賦值了,退出循環(huán),因此選項(xiàng)B錯(cuò)誤。所以,C選項(xiàng)為所選。

52.D解析:快速排序的基本思想是,通過一趟排序?qū)⑴判蛴涗浄指畛瑟?dú)立的兩部

分,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小,再分別對這兩部分記錄繼

續(xù)進(jìn)行排序,以達(dá)到整個(gè)序列有序;插入排序的基本操作是指將無序序列中的各元素依

次插入到已經(jīng)有序的線性表中,從而得到一個(gè)新的序列;選擇排序的基本思想是:掃描整

個(gè)線性表,從中選出最小的元素,將它交換到表的最前面(這是它應(yīng)有的位置),然后對剩

下的于表采用同樣的方法,直到表空為止;歸并:排序是將兩個(gè)或兩個(gè)以上的有序表組合

成一個(gè)新的有序表。

注意:各種排序方法實(shí)現(xiàn)過程及實(shí)現(xiàn)機(jī)制。

53.C

54.C本題中,首先將0賦給k,表達(dá)式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語句。解答本題的關(guān)鍵是掌握while語句。

55.D解析:解此題要注意的問題有兩個(gè):一是,二維數(shù)組在內(nèi)存中的存放形式是線性的,且是以行方式排列的。例如:a[3][4]在內(nèi)存中是以a[0][0],a[0][1],a[0][2],a[0][3],a[1][0],a[1][1],a[1][2],…的順序排列的。二是,數(shù)組的下標(biāo)范圍是從0開始至上限減1為止的。例如:a[5]中5個(gè)元素的下標(biāo)范圍是0~4。所以,元素a[i][j]剛在m列的二維數(shù)組a中,其上面已經(jīng)有a[0][?]~a[i-1][?],i行元素,加上其左面的a[i][0]~a[i][j-1],j個(gè)元素,再加上自己所處的位置1就是該元素在數(shù)組中的位置值了。i行元素的個(gè)數(shù)是i*m,所以元素a[i][j]在數(shù)組中的位置為i*+j+1。得出結(jié)論后還應(yīng)該驗(yàn)證一下,當(dāng)i=0,j=0時(shí),a[0][0]所處的位置代入式子為0*m+0+1:1,符合題意。故正確答案為D。

56.D解析:本題考核的知識(shí)點(diǎn)是for循環(huán)語句和復(fù)合賦值+=運(yùn)算符的應(yīng)用。本題中,i賦初值為1,并對其每次進(jìn)行加2操作,即i每次均為1~10之間的奇數(shù),s+=i+1,即s=s+i+1,相當(dāng)于s等于原來的s每次加上1~10之間的偶數(shù),直到i<10不成立.當(dāng)i=1時(shí),s=0+1+1=2;當(dāng)i=3時(shí),s=2+3+1=2+4;當(dāng)i=5時(shí),s=2+4+5+1=2+4+6;當(dāng)i=7時(shí),s=2+4+6+7+1=2+4+6+8;當(dāng)i=9時(shí),s=2+4+6+8+9+1=2+4+6+8+10;當(dāng)i=11時(shí),i<10不成立,結(jié)束循環(huán)。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

57.A解析:在本題中,p和q同為指向字符類型數(shù)據(jù)的指針。*q和p[0]同為字符型數(shù)據(jù)。選項(xiàng)B)、C)和D)都符合題目的要求;選項(xiàng)A)計(jì)算得出的是指針類型數(shù)據(jù)所占的內(nèi)存字節(jié)數(shù)。

58.D解析:在C語言中,字符串常量是以雙引號括起來的字符序列。故選項(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。

59.C數(shù)據(jù)結(jié)構(gòu)概念一般包括3個(gè)方面的內(nèi)容,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)(物理結(jié)構(gòu))及數(shù)據(jù)上的運(yùn)算集合。數(shù)據(jù)的邏輯結(jié)構(gòu)只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,即數(shù)據(jù)元素之間的前后件關(guān)系,而不管它在計(jì)算機(jī)中的存儲(chǔ)表示形式。

60.D解析:將有6個(gè)元素的整型數(shù)組分兩行輸出到一個(gè)文件中,因?yàn)檩敵龅亩际菙?shù)字并且每行都沒有分隔符,所以當(dāng)再對其進(jìn)行讀取操作時(shí),每一行都會(huì)被認(rèn)為是一個(gè)完整的數(shù),而換行符則作為它們的分隔符。

61.B對于do…while循環(huán),程序先執(zhí)行一次循環(huán)體,再判斷循環(huán)是否繼續(xù)。本題先輸出一次i的值”0,”,再接著判斷表達(dá)式i++的值,其值為0,所以循環(huán)結(jié)束。此時(shí)變量i的值經(jīng)過自加已經(jīng)變?yōu)閘,程序再次輸出i的值…1"。

62.C

63.B

\n本題考查分支語句用法加個(gè)句號因?yàn)樽兞康某跏贾捣謩e為k一5、n一0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語句,輸出0,k減1;這時(shí)n=0、k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case4:這個(gè)分支,結(jié)果是n=2、k=3,打印出2;這時(shí)n=2、k=3,break跳出,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3、k=2,打印出3;這時(shí)n一3、k2,b¨ak跳出,程序然后進(jìn)行第4次循環(huán),執(zhí)行case2:case4:這個(gè)分支,結(jié)果是n=5、k=1,打印出5,break跳出,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此循環(huán)結(jié)束。

\n

64.A

65.A全局變量的作用域是從聲明處到文件的結(jié)束。所以選擇A)。

66.D本題主要考查指針變量對數(shù)值的引用。在題目中,首先定義了整型指針變量point和一個(gè)整型變量a,變量a的初值為4,然后是指針變量指向a,或者說將變量a所在存儲(chǔ)單元的地址值賦給指針變量。

在選項(xiàng)A中,很顯然,不全是地址,只有point表示地址,而*&a等價(jià)于*(&a),表示取一個(gè)數(shù)值。

在選項(xiàng)B中,也不都表示地址,其中*point表示數(shù)值,其他兩個(gè)表示地址。

在選項(xiàng)C中,與選項(xiàng)B類似,其中的*point表示數(shù)值。

在選項(xiàng)D中,都表示地址,是題目的選擇答案。

67.C*c表示c間接指向的對象的地址,而**c是c間接指向的對象的值。在c=&b中,已經(jīng)把b的地址存放在c里了,*c就指向了b的地址,b里存放的就是a的地址,那么**c應(yīng)該是變量a的值,而且

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論