2021年山東省菏澤市全國計算機等級考試C語言程序設計測試卷一(含答案)_第1頁
2021年山東省菏澤市全國計算機等級考試C語言程序設計測試卷一(含答案)_第2頁
2021年山東省菏澤市全國計算機等級考試C語言程序設計測試卷一(含答案)_第3頁
2021年山東省菏澤市全國計算機等級考試C語言程序設計測試卷一(含答案)_第4頁
2021年山東省菏澤市全國計算機等級考試C語言程序設計測試卷一(含答案)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

2021年山東省菏澤市全國計算機等級考試C語言程序設計測試卷一(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.是哈希查找的沖突處理方法()。

A.求余法B.平均取中法C.二分法D.開放地址法

2.

3.

4.以下敘述中錯誤的是()。

A.通過指針變量存取某個變量值的方式稱為“直接存取”方式

B.在程序的開頭包含頭文件stdio.h后,可以給指針變量賦NULL值

C.將一個指針變量中的值賦給另一個指針變量,則這兩個指針變量指向同一地址

D.C語言中函數(shù)返回值的類型可以是簡單的數(shù)據(jù)類型,也可以是指針類型

5.

6.在一個C語言源程序文件中所定義的全局變量,其作用域為()。

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

7.軟件調(diào)試的目的是______。

A.發(fā)現(xiàn)錯誤B.改正錯誤C.改善軟件的性能D.挖掘軟件的潛能

8.在定義inta[3][2]以后,對a的引用正確的是()

A.a[0,0]B.a[3][0]C.a[2][2]D.a[0][0]

9.設整型數(shù)i=5,則printf("%d",i+++++i);的輸出為______。

A.10B.11C.12D.語法錯誤

10.在1,2,3,......1000中,有()個數(shù)各位乘積為0。

A.100B.101C.172D.181E.190F.191

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

A.在C程序中,逗號運算符的優(yōu)先級最低

B.在C程序中,APH和aph是兩個不同的變量

C.若a和b類型相同,在執(zhí)行了賦值表達式a=b后b中的值將放人a中,而b中的值不變

D.當從鍵盤輸入數(shù)據(jù)時,對整型變量只能輸入整型數(shù)值,對實型變量只能輸入實型數(shù)值

12.下列選項中,當x為大于1的奇數(shù)時,值為0的表達式是()。

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

13.

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

A.if((a>b)||(b>c))k=1;elsek=0;

B.if((a>b)&&(b>c))k=1;elsek=0;

C.if(a<=b)k=0;elseif(b<=c)k=1;

D.if(a>b)k=1;elseif(b>c)k=1;elsek=0;

15.下列程序的輸出結果是()。main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}

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

16.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十進制代碼為97,則執(zhí)行上述程序段后輸出結果是()。A.因變量類型與格式描述符的類型不匹配輸出無定值

B.輸出項與格式描述符個數(shù)不符,輸出為零值或不定值

C.a,97,12k=12

D.a,97,k=12

17.以下程序段中的變量已正確定義:for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf(“*”);該程序段的輸出結果是()。

A.*B.****C.**D.********

18.設a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達式(m=a>b)&&(n—c>d)運算后,n的值是()n

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

19.有以下程序:#include<stdio.h>main{shortC=124;C=C_;printf("%d\n",c);}若要使程序的運行結果為248,應在下劃線處填入的是()。A.>>2B.|248C.&0248D.<<1

20.

二、2.填空題(20題)21.下列程序的輸出結果是______。

longfun5(intn)

(longs;

if((n==l)‖(n==2))

s=2;

else

s=n+fun5(n-1);

return(s);

}

main()

{longx;

x=fun5(4);

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

22.設變量已正確定義為整型,則表達式n=i=2,++i,i++的值為【】。

23.請用位運算實現(xiàn)下述目標(設16位二進制數(shù)的最低位為零位):

(1)輸出無符號正整數(shù)m的第i個二進制位的數(shù)值。

(2)將m的第i個二進制位置1,其余的位不變,然后輸出m。

#include"stdio.h"

【】

main()

{

unsignedk,i,m=0;

scanf("%d%d",&m,&i);

k=【】;

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

k=pow(2,i);

m=【】;

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

}

24.在數(shù)據(jù)結構中,順序存儲結構的數(shù)據(jù)元素所占的存儲空間是______的。

25.以下程序的運行結果是【】。

#include<stdio.h>

main()

{intfun();fun();}

fun()

{staticinta[3]={0,1,2};

inti;

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

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

printf("\n");}

26.下列語句能循環(huán)______次。

ints=12;

while(s);

--s;

27.以下程序的運行結果是【】。

#include<stdio.h>

main()

{FILE*fp;inta[10]={1,2,3,0,0},i;

fp=fopen("d2.dat","wb");

fwtite(a,sizeof(int),5,fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a,sizeof(int),10,fp);

fclose(fp);

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

}

28.以下程序運行后的輸出結果是【】。

intf(inta[],intn)

{if(n>=1)returnf(a,n-1)+a[n-1];

elsereturn0;

}

main()

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

s=f(aa,5);printf("%d\n",s);

}

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

f(intA)

{staticc=0;

c=a+c++;

return(c);

}

main()

{inta=2,i,k;

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

k=f(a++);

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

}

30.設函數(shù)findbig已定義為求3個數(shù)中的最大值。以下程序將利用函數(shù)指針調(diào)用findbig函數(shù)。請?zhí)羁铡?/p>

main()

{

intfindbig(int,int,int);

int(*f)(),x,yz,z,big;

f=【】;

scanf("%d%d%d",&X,&y,&z);

big=(*f)(x,y,z);

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

}

31.設有下列的程序段;

charstr[]="Hello";

char*ptr;

ptr=str;

執(zhí)行上面的程序段后,*(ptr+5)的值為______。

32.

main()

{printf("Thesum=%d\n",SunFun(10));}

SunFun(intn)

{intx,s=0;

for(x=0;x<=n;x++)s+=F(【】);

returns;

}

F(intx)

{return(【】);)

33.若s是int型變量,且s=8,則s%3+(s+1)%3表達式的值為()。

34.以下程序的輸出結果是【】。

main()

{chars[]=“abcdef”;

s[3]='\0';

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

}

35.數(shù)據(jù)結構分為邏輯結構和存儲結構,循環(huán)隊列屬于______結構。

36.有以下程序:

fun(inta,intb)

{if(a>b)return(a);

elsereturn(b);

}

main()

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

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

}

程序運行后的輸出的結果是【】。

37.以下程序段用于構成一個簡單的單向鏈表。請?zhí)羁铡?/p>

struetSTRU

{intx,y;

floatrate;

【】p;

}a,b;

a.x=0;a.y=0;a.rate=0;a.p=&b;

b.x=0;b.y=0;b.rate=0;b.p=NULL;

38.以下函數(shù)用來求出數(shù)組的最大元素在數(shù)組中的下標并存放在k所指的存儲單元中。請?zhí)羁铡?/p>

#include<conio.h>

#include<stdio.h>

intfun(int*s,intt,int*k)

{inti;

*k=0;

【】

if(s[*k]<s[i])*k=i;

return【】;}

main()

{inta[10]={876,675,896,101,301,401,980,431,451,777},k;

fun(a,10,&k);

printf("%d,%d\n",k,a[k]);}

39.在關系數(shù)據(jù)庫中把數(shù)據(jù)表示成二維表,每一個二維表稱為【】。

40.數(shù)據(jù)結構包括數(shù)據(jù)的邏輯結構、數(shù)據(jù)的【】以及對數(shù)據(jù)的操作運算。

三、1.選擇題(20題)41.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()

A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭

42.設有:

inta=1,b=2,c=3,d=4,m=2,n=2;

執(zhí)行(m=a>b)&&(n=c>d)后,n的值是

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

43.下面程序的功能是輸出以下形式的金字塔圖案:****************main(){inti,j;for(i=1;i<=4;i++){ror(j=1;j<=4-i;j++)printf("");for(j=1;j<=______;j++)printf("*");printf("\n");}}在下劃線處應填入的是

A.iB.2*i-1C.2*i+1D.i+2

44.以下程序的輸出結果是

#include<stdio.h>

inta[3][3]={1,2,3,4,5,6,7,8,9,},*p;

main()

{p=(int*)malloc(sizeof(int));

f(p,a);

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

free(p);}

f(int*s,intp[][3])

{*s=p[1][1];}

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

45.以下程序運行后,輸出結果是______。#include<stdio.h>ss(char*s){char*p=s;while(*.p)p++;return(p-s);}main(){char*a="abded";inti;i=ss((A);print("%d\n",i);}

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

46.在執(zhí)行下述程序時,若從鍵盤輸入6和8,則結果為

main()

{inta,b,s;

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

S=a

if(a<b)

s=b;

S*=s;

printf("%d",s);}

A.36B.64C.48D.以上都不對

47.以下程序:#include<stdio.h>#include<string.h>main(){charstr[]="abcd\n\123\xab";printf("%d",(str));}運行后的輸出結果是()。

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

48.有如下程序:voidf(intx,inty){intt;if(x<y){t=x;x=y;y=t;}}main(){inta=4,b=3,C=5,f(a,b);f(a,c);f(b,c);printf("%d,%d,%d\n",a,b,C);}執(zhí)行后輸出結果是()。

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

49.下述程序的輸出結果是()。#include<stdio.h>voidmain(){inta[5]={2,4,6,8,10};int*p=a,**q=&p;printf("%d,",*(p++));printf("%d",**q);}

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

50.以下程序的輸出結果為()。inta,b,C;a=10;b=50;C=30;if(a<b)a=b;b=C;c=a;printf("a=%d,b=%d,c=%d",a,b,C);

A.a=50,b=30,c=30

B.a=10,b=30,c=10

C.a=50,b=30,c=10

D.a=50,b=30,c=50

51.當變量c的值不為2、4、6時,值也為“真”的表達式是

A.(c==2)||(c==4)||(c==6)

B.(c>=2&&c<=6)||(c!=3)||(c!=5)

C.(c>=2&&c<=6)&&!(c%2)

D.(c>=2&&c<=6)&&(c%2!=1)

52.以下4組用戶定義標識符中,全部合法的一組是()A._mainencludesin

B.If-maxturbo

C.txtREAL3COM

D.intk_2_001

53.下面各選項中,均是C語言合法標識符的選項組是

A.33weautoB._23me_3ewC._433e_elseD.ER-DF32

54.設有以下語句:structSS{intno;charname[10];}PERSON;則下面敘述中錯誤的是()

A.struct是結構體類型的關鍵字

B.structSS是結構體類型

C.PERSON是結構體類型名

D.name是結構體成員名

55.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序運行后的輸出結果是

A.編譯出錯B.9C.21D.9

56.數(shù)據(jù)庫系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員

57.有以下程序:#include<stdio.h>fun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i][0]=='T')n++;returnn;}main(){charsir[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};prlnff("%d\n",fun(str));}程序執(zhí)行后的輸出結果是()。

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

58.若執(zhí)行下面的程序時,從鍵盤輸入5和2,則輸出結果是

main()

{inta,b,k;

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

k=a;

if(a<b)k=a%b;

elsek=b%a;

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

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

59.數(shù)據(jù)結構作為計算機的一門學科,主要研究數(shù)據(jù)的邏輯結構、對各種數(shù)據(jù)結構進行的運算,以及()。A.A.數(shù)據(jù)的存儲結構B.計算方法C.數(shù)據(jù)映象D.邏輯存儲

60.已知下列函數(shù)定義:fun(int*b,intc,intD){intk;for(k=0;k<c*d;k++){*b=c+d;b++;}}則調(diào)用此函數(shù)的正確寫法是(假設變量a的說明為inta[10])()。

A.fun(*a,6,14);

B.fim(&a,6,8);

C.fun(a,8,4);

D.fun((int)a,8,6);

四、選擇題(20題)61.下列敘述中錯誤的是()。

A.一種數(shù)據(jù)的邏輯結構可以有多種存儲結構

B.數(shù)據(jù)的存儲結構與數(shù)據(jù)處理的效率無關

C.數(shù)據(jù)的存儲結構與數(shù)據(jù)處理的效率密切相關

D.數(shù)據(jù)的存儲結構在計算機中所占的空間不一定是連續(xù)的

62.在以下給出的表達式中,與while(E)中的(E)不等價的表達式是()。

63.

64.

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

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

66.下列選項中,均屬于通用軟件的是()。

A.WindowsXP、AutoCAD、PowerPoint

B.VisualFoxPro、Excel、SPSS

C.Word、Photoshop、Excel

D.C++、CorelDraw、Firefox2.0

67.假設a和b為int型變量,則執(zhí)行以下語句后b的值為()。a=1;b=10;do{b-=a;a++;}while(b--<0);A.9B.-2C.-lD.8

68.下列函數(shù)的功能是

set(s,t)

{char*s,*t;

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

return(*s-*t);

}A.A.求字符串的長度

B.比較兩字符串的大小

C.將字符串s復制到字符串t中

D.將字符串s連接到字符串t后

69.程序中已構成如下圖所示的不帶頭結點的單向鏈表結構,指針變量s、P、q、均已正確定義,并用于指向鏈表結點,指針變量s總是作為頭指針指向鏈表的第一個結點。該程序段實現(xiàn)的功能是()。

A.首結點成為尾結點B.尾結點成為首結點C.刪除首結點D.刪除尾結點

70.

71.有以下程序

main()

{

chara[]={′a′,′b′,′c′,′d′,′\0′,′f′,′g′,′h′,′\0′};inti,j;

i=sizeof(a);

j=strlen(a);

printf("%d,%d\b",i,j);

}

程序運行后的輸出結果是

A.9,4B.8,4C.1,8D.9,8

72.作為信息處理熱點技術之一的“多媒體技術”中的媒體,強調(diào)的是()。

A.存儲媒體B.表現(xiàn)媒體C.傳輸媒體D.感覺媒體

73.

74.有下列程序:

main()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++:

}

x++:

}

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

}

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

A.x=4B.x=8C.x=6D.x=12

75.下列合法的聲明語句是()。

A.intabc=50;

B.doubleint=3+5e2.5;

C.longdo=1L;

D.float3asd=3e一3;

76.有以下函數(shù)intfun(char*X,char*y){intn=0;while((*x===*y)*x!=\O){x++;y++;n++;}returnn;}函數(shù)的功能是()。A.查找X和y所指字符串中是否有\(zhòng)o

B.統(tǒng)計x和Y所指字符串中最前面連續(xù)相同的字符個數(shù)

C.將Y所指字符串賦給X所指定存儲空間

D.統(tǒng)計X和Y所指字符串中相同的字符個數(shù)

77.

78.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()

A.便于用戶,開發(fā)人員進行理解和交流

B.反映出用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據(jù)

C.作為確認測試和驗收的依據(jù)

D.便于開發(fā)人員進行需求分析

79.

80.

下面程序的運行結果是()。

#inelude<stdio.h>

voiddel(char*s)

{inti,j;

char*a;

a=s:

for(i=0,j=0;a[i]!=\0;i++)

{if(a[i]>=0&&a[i]<=9)

{s[j]=a[i];

j++;

}

s[j]=\0;

}

}

main

{char*s="aa89gggh";

del(s):

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

}

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

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:根據(jù)輸入的3個邊長(整型值),判斷能否構成三角形:若能構成等邊三角形,則返回3;若是等腰三角形,則返回2;若能構成三角形則返回1;若不能,則返回0。例如,輸入3個邊長為3,4,5,實際輸入時,數(shù)與數(shù)之間以Enter鍵分隔而不是逗號。請修改程序中的錯誤,使它能得出正確的結果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:#include<stdio.h>#include<math.h>intproc(inta,intb,intc){if(a+b>c&&b+c>aa+c>b){if(a==b&&b==c)//****found****return1;elseif(a==b||b==c||a==c)return2;//****found****elsereturn3;}elsereturn0;}voidmain{inta,b,C,shape;printf("\nlnputa,b,C:");scanf("%d%d%d",&a,&b,&c);printf("\na=%d,b=%d,c=%d\n",a,b,c);shape=proc(a,b,c);printf("\n\nTheshape:%d\n",shape);}六、程序設計題(1題)82.請編寫函數(shù)proc,其功能是:將str所指字符串中除下標為偶數(shù)、同時ASCIl碼值為奇數(shù)的字符外,其余的字符都刪除,串中剩余字符所形成的一個新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為ABCDEFGl2345,其中字符B的ASCIl碼值為偶數(shù),所在元素的下標為奇數(shù),因此必須刪除;而字符A的ASCIl碼值為奇數(shù),所在數(shù)組中的下標為偶數(shù),因此不應當刪除。依此類推,最后t所指的數(shù)組中的內(nèi)容應是ACEG。注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填人所寫的若干語句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<string.h>voidproc(char*str,chart[]){}voidmain{charstr[100],t[100];system("CLS");printf("\nPleaseenterstringstr:");scanf("%S",str);proc(str,t);printf("\nTheresultiS:%s\n",t);

參考答案

1.D

2.B

3.D

4.A通過指針變量存取某個變量值的方式稱為“間接存取”方式,選項A錯誤;頭文件stdio.h中定義了NULL,在程序的開頭包含stdio.h后,可以給指針變量賦NULL值,表示一個空指針,選項B正確;將一個指針變量中的值賦給另一個指針變量,這兩個指針變量指向同一地址,選項C正確;C語言中函數(shù)返回值的類型可以是簡單的數(shù)據(jù)類型,也可以是指針類型,選項D正確。故本題答案為A選項。

5.D

6.D

\n全局變量是在函數(shù)外部任意位置上定義的變量,它的作用域是從變量定義的位置開始,到整個源文件結束止。當全局變量定義在后,引用它的函數(shù)在前時,應該在引用它的函數(shù)中用extern對此全局變量進行說明,以便通知編譯程序該變量是一個已在外部定義了的全局變量,這時全局變量的作用域從extern說明處起,延伸到該函數(shù)末尾。

\n

7.B解析:在對程序進行測試時會發(fā)現(xiàn)錯誤,這就要進行程序調(diào)試(排錯)。程序調(diào)試活動由三部分組成:一是錯誤定位,根據(jù)錯誤的外部表現(xiàn)形式,確定程序中出錯的位置,找出錯誤的內(nèi)在原因;二是對程序進行修改,排除這個錯誤;三是進行回歸測試,防止引進新的錯誤。所以程序調(diào)試的目的就是診斷和改正程序中的錯誤。軟件調(diào)試不能改善軟件的性能,也不能挖掘軟件的潛能。

8.D

9.D解析:C語言中有基本的算術運算符(+、-、*、/)還包括自增自減運算符(++、-),在C語言解析表達式時,它總是進行貪婪咀嚼,這佯,該表達式就被解析為i+++++i,顯然該表達式不合C語言語法。

10.D

11.D

12.D解析:因為x的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1。所以選項D)等于關系表達式的結果為假,即等于0。

13.A

14.B條件表達式的含義是:如果表達式1成立,結果為表達式2的值,如果不成立,則為表達式3的值。在題干中,如果“a>b”且“b>c”,則k值為1;如果“a>b”且“b<c”,則k值為0;如果“a<b”,則k值為0。條件“a>b”與“b>c”中只要有一個條件不成立,k的值就為0。故本題答案為B選項。

15.C解析:函數(shù)slzeof(a)的功能是求出字符串a(chǎn)中的字符占用存儲空間的大小,由于字符數(shù)組a有長度為7,所以i=7;函數(shù)strlen(a)的功能是:求出字符串a(chǎn)的長度。而每個字符串都以'\\0'為字符串的結束標記,所以j的值等于2。

16.D解析:在用基本輸出函數(shù)printf時,格式說明與輸出項的個數(shù)應該相同。如果格式說明的個數(shù)少于輸出項的個數(shù),多余的輸出項不予輸出;如果格式說明個數(shù)多于輸出項個數(shù),則對于多余的格式項輸出不定值或0。

17.AC語言中,分號為一條語句的結束。因此“for(i=0;i<4;i++,i++)for(k=1;k<3;k++);”是完整的語句,“printf(“*”);”是獨立語句,不屬于for循環(huán)。最后執(zhí)行printf語句輸出“*”。故本題答案為A選項。

18.C因為a>b不成立,故表達式a>b的值為0,即為0賦給m,因此&&左邊表達式的值為0,0與任何值&&運算都為0,于是不再計算&&右邊表達式的值,所以此時的n仍然為2。

19.D124的2進制值為1111100,要輸出為248即124*2,則2進制值為11111000,即右移l位,所以選D。

20.D

21.99解析:考查ifelse語句,n==4不滿足條件,所以fun5(4)=4+fun5(3),n==3也不滿足條件,fun5(3)=3+fun5(2),n==2滿足條件fun5(2)=2,故x=4+3+2=9。

22.33解析:本題考查的是C語言逗號表達式的相關知識。程序在計算逗號表達式時,從左到右計算由逗號分隔各表達式的值,整個逗號表達式的值等于其中最后一個表達式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計算為3。

23.#include"math.h"m>>i&1m|k

24.連續(xù)連續(xù)解析:順序存儲結構具有兩個特點:1)數(shù)據(jù)元素所占空間是連續(xù)的;2)數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。

25.0240480,2,4\r\n0,4,8解析:本題主要考查for循環(huán)語句的使用以及靜態(tài)局部變量的特點。

26.無限無限解析:分析程序“while(s)”語句后面有一個“;”不能執(zhí)行后面的語句,只是執(zhí)行空語句,所以s=12保持不變,因此,沒有條件限制的能循環(huán)無限次(即死循環(huán))。

27.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個元素輸出到文件fp中兩次,共10個字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個字節(jié)的數(shù)據(jù)到數(shù)組a中,此時數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結果為'1,2,3,0,0,1,2,3,0,0,'。

28.1515解析:s=f(aa,5)=f(aa,4)+a[4]=f(aa,3)+a[3]+a[4]=f(aa,2)+a[2]+a[3]+a[4]

=f(aa,1)+a[1]+a[2]+a[3]|a[4]=0+a[0]+a[1]+a[2]+a[3]+a[4]=15。

29.77解析:在程序執(zhí)行時,static變量僅初始化一次,下次使用時將使用上次保存的值。

30.findbigfindbig解析:本題首先定義了一個指向函數(shù)的指針變量f,如果希望讓它指向某個函數(shù),只需把函數(shù)名賦給該指針變量即可。所以本題的空白處應該填入函數(shù)名findbig。

31.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個知識點:①在C語言中,字符型數(shù)組在存放字符串時會自動在末尾加上字符串結束標識符'\\0'所以題中數(shù)組str有6個元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。

32.xx*x+1或1+x*xx\r\nx*x+1或1+x*x解析:題目中要求從x=0開始將f(x)的值累加起來,直到x=10。在SunFun()函數(shù)中用了一個for循環(huán),每循環(huán)一次將f(x)累加到s中,所以在本題的第一個空白處應該填x,然后x+1,共循環(huán)10次。F()函數(shù)的功能應該是求數(shù)學表達式f(x)的值,所以其返回值應該為x*x+1。

33.22解析:考查基本表達式的計算,“%”運算符的功能是取余。題中條件s=8,則s%3=2,(s+1)%3=9%3=0,所以表達式s%3+(s+1)%3=2+0=2。

34.abcabc解析:字符串的結束標記'\\0',當輸出一個存放在字符數(shù)組中的字符串時,只需輸出到'\\0'為止,而不管其后有什么數(shù)據(jù)。本題給字符數(shù)組s的元素s[3]賦值為'\\0',故只能輸出3個字符“abc”。

35.存儲或物理或存儲結構或物理結構存儲或物理或存儲結構或物理結構解析:數(shù)據(jù)的邏輯結構在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結構(也稱數(shù)據(jù)的物理結構)。所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間。供隊列循環(huán)使用??芍?,循環(huán)隊列應當是物理結構。

36.1212解析:函數(shù)fun的功能是求兩個數(shù)當中的最大值。語句r=fun(fun(x,y),2*z)的執(zhí)行過程為:首先計算fun(x,y),因x=3、y=8,所以結果為8;然后計算fun(8,2,*z),即計算fun(8,12),所以r=12。

37.structSTRU*

38.for(I=0;I<t;I++)0for(I=0;I<t;I++),0解析:本題中直接使用指針變量k,但在使用時要注意對k的指針運算,此外,一開始應使*k的值為數(shù)組中的某一下標值,即*k=0。

39.關系或一個關系關系或一個關系解析:在關系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,而一個二維表就是一個關系。

40.存儲結構數(shù)據(jù)結構包括3個方面,即數(shù)據(jù)的邏輯結構、數(shù)據(jù)的存儲結構及對數(shù)據(jù)的操作運算。

41.A解析:數(shù)據(jù)流圖包括4個方面,即加工(轉換)(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標注數(shù)據(jù)流名)、存儲文件(數(shù)據(jù)源)(表示處理過程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體)。不包括選項中的控制流。

42.B本題考查邏輯與運算符“&&”的使用。對于邏輯與運算符&&來說,對象的結合方式為從左往右,只有&&左邊的值為真,才繼續(xù)右邊的運算。題目中&&左邊的表達式為m=a>b,“>”運算符優(yōu)先級高于“=”,故先判斷a>b,因為a=1,b=2,所以a>b為假,于是m=0。“&&”左邊的值為假,所以不進行右邊的運算。n的值沒有發(fā)生改變,n=2。

43.B解析:通過觀察可知圖形共4行,主函數(shù)中通過一個for循環(huán)四次,輸出4行。第一行輸出3個空格和1個“*”,第2行輸出2個空格和3個“*”,第3行輸出3個空格和5個“*”,第四行輸出7個“*”,主函數(shù)中通過第二個循環(huán)控制每行的輸出空格數(shù),第三個for循環(huán)控制輸出的“*”的個數(shù),總結規(guī)律:每行輸出的“*”的個數(shù),總比前一行的多2個,且第一行的個數(shù)為1,可以斷定每行輸出的“*”的個數(shù)組成了一個公差為2的等差數(shù)列,所以每行輸出“*”的個數(shù)即該等差數(shù)列的通項,故該空格處應該填寫2*i-1。

44.D解析:本題考查了二維數(shù)組元素引用的方法。題中用動態(tài)存儲分配函數(shù)malloc分配了一個int型數(shù)據(jù)長度大小的內(nèi)存,然后指針p指向了這段內(nèi)存,函數(shù)f()中對p所指向的數(shù)據(jù)進行了賦值,p[1][1]為二維數(shù)組第二行第二列的元素,對應于實參a的元素5,所以輸出結果為5。

45.D

46.B解析:本題中a的值為6,b的值為8,最后s的值為8,s*=s等價于s=s*s。

47.C

48.D解析:C語言規(guī)定,在函數(shù)調(diào)用時變量作為參數(shù)傳遞是傳值的,在函數(shù)體中對形參變量的修改不能影響到對應的實參變量。本題定義了一個函數(shù)f(),用變量作為形參,在main()函數(shù)中調(diào)用了3次f()函數(shù),由于變量作為參數(shù)進行傳遞,所以對應的實參的值并沒有被交換。故輸出的a、b、c依舊是原來的值4、3、5。D選項為所選。

49.D解析:通過賦值,指針p和q都指向了數(shù)組a的首地址,*(p++)先引用數(shù)組元素,然后p++,所以輸出結果為2,**q指向的數(shù)組元素為4。注意:通過建立一個指針數(shù)組來引用二維數(shù)組元素。

50.D解析:a的初值為10,b的初值為50,a<b為真,執(zhí)行a=b,則a的值為50。繼續(xù)執(zhí)行b=c;和c=a;,則b=30,c=50。所以選項D正確。

51.B解析:滿足表達式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當變量c的值不為2,4,6時,其值只能為3或5,所以表達式c!=3和c!=5中至少有一個為真,即不論c為何值,選項B中的表達式都為“真”。

52.A解析:標識符是以字母或下劃線開頭,由字母、數(shù)字或下劃線組成的字符序列(例如,-max含非法字符-),并且用戶標識符不能與C語言中的32個關鍵字同名(例如,int是關鍵字,不是合法的用戶標識符)。選項B中-max不是字母、數(shù)字或下劃線組成的字符序列,故選項B不正確;選項C中3COM不是由字母或下劃線開頭,故選項C不正確;選項D中int為C語言中的關鍵字,故選項D不正確;選項A中全部為合法的標識符,所以,4個選項中選項A符合題意。

53.B解析:合法的標識符是由字母、數(shù)字和下劃線組成,并且第一個字符必須為字母或下劃線,用戶定義的標識符不能與關鍵字相同。選項A),數(shù)字不能為第一個字母,auto為關鍵字;選項C)中,也是數(shù)字不能為第一個字母,else為關鍵字;選項D)中負號不合法。

54.C

55.B解析:本題考查函數(shù)的綜合知識。首先,我們可以利用強制轉換類型轉換運算符將一個表達式轉換成所需類型。如:(double)a是將a轉換成double類型;(int)(x+y)是將x+y的值轉換成整型。

本題可按部就班地逐步運算:

fun((int)fun(a+c,b),a-c)

fun((int)fun(10,5),2-8)

fun((int)15.000000,-6)

fun(15,-6)

9

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

57.B解析:數(shù)組名str作為函數(shù)參數(shù)將實參數(shù)組的起始地址傳給形參數(shù)組p,當形參數(shù)組發(fā)生變化時主函數(shù)中的實參數(shù)組中的值也隨之發(fā)生變化。調(diào)用fun函數(shù)執(zhí)行for循環(huán)語句后,n為2,返回給main函數(shù)輸出。

58.C解析:本題考查簡單的if…else語句。先執(zhí)行條件if(a<b),顯然不成立,在執(zhí)行else語句。

59.A解析:數(shù)據(jù)結構作為計算機的一門學科,主要研究和討論以下三個方面的問題:①數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關系,即數(shù)據(jù)的邏輯結構;②在對數(shù)據(jù)進行處理時,各數(shù)據(jù)元素在計算機中的存儲關系,即數(shù)據(jù)的存儲結構;③對各種數(shù)據(jù)結構進行的運算。

60.C

61.B解析:一種數(shù)據(jù)的邏輯結構根據(jù)需要可以表示成多種存儲結構,常用的存儲結構有順序、鏈接、索引等,選項A和選項D正確。采用不同的存儲結構,其數(shù)據(jù)處理的效率不同,因此,在進行數(shù)據(jù)處理時,選擇合適的存儲結構是很重要的,選項C正確,選項B錯誤,應為本題正確答案。

62.AE為0,while條件為假,而E為0,(E=--0)為真,所以選擇A)。

63.C

64.B

65.D本題考查邏輯運算符的使用。當“&&”的兩個運算對象都是邏輯1時,表達式返回值才是1;“||”的兩個運算對象至少有一個是邏輯1時,表達式返回值也是1,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。

66.C軟件可以分為系統(tǒng)軟件和應用軟件兩類,應用軟件又可以分為針對具體應用問題而專門開發(fā)的定制應用軟件和在許多行業(yè)

溫馨提示

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

評論

0/150

提交評論