2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第1頁(yè)
2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第2頁(yè)
2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第3頁(yè)
2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第4頁(yè)
2021-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(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-2022年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。

A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試

3.有以下程序:#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf(“%d\n”,fun(2*a,fun(b,c)));}程序運(yùn)行后的輸出結(jié)果是()。

A.3B.6C.8D.12

4.若有定義:typedefint*(*T[10])[10];Tb;則以下選項(xiàng)中所定義的a與上述定義中的b,其類型完全相同的是()。

A.int*(*a[10][10]);

B.int**a[10][10];

C.int*(a[10])[10];

D.int*(*a[10])[10];

5.當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)罘是()。#include<stdio.h>#include<string.h>main(){charss[10]="1,2,3,4,5":gets(ss);strcat(ss,"6789");printf("%s\n",ss);}A.ABC6789B.ABC67C.12345ABC6D.ABC456789

6.sizeof(float)是()。A.一個(gè)雙精度型表達(dá)式B.一個(gè)整型表達(dá)式C.一種函數(shù)調(diào)用D.一個(gè)不合法的表達(dá)式

7.

8.有以下程序:main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}執(zhí)行后輸出結(jié)果是()。

A.77B.88C.810D.1010

9.若有定義“charc=“hello!”;”,則以下說法正確的是()。

A.c占用7字節(jié)內(nèi)存B.c是一個(gè)字符串變量C.定義中有語(yǔ)法錯(cuò)誤D.c的有效字符個(gè)數(shù)是6

10.

11.

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

main()

{inta,b,d=25;

a=d/10%9;

b=a&&(-1);

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

A.6,1B.2,1C.6,0D.2,0

13.已知有double型變量x=2.5,y=4.7,整型變量a=7,則表達(dá)式x+a%3*(int)(x+y)%2/4的值是()。

A.2.4B.2.5C.2.75D.0

14.循環(huán)隊(duì)列存儲(chǔ)在數(shù)組A[0..m]中,則入隊(duì)時(shí)的操作為()。

A.rear=rear+1

B.rear=(rear+1)mod(m-1)

C.rear=(rear+1)modm

D.rear=(rear+1)mod(m+1)

15.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī).,則表SC的關(guān)鍵字(鍵或碼)為()

A.課號(hào),成績(jī)B.學(xué)號(hào),成績(jī)C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績(jī)

16.下面程序的輸出結(jié)果是()。#include<stdio.h>intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf("%d\n",fun2(a,b)/m);}

A.1B.2C.7D.10

17.若要說明一個(gè)類型名STP,使得定義語(yǔ)句STPs;等價(jià)于Char*s;,以下選項(xiàng)中正確的是()。

A.typedefChar*s;

B.typedefChar*STP;

C.typedefSTP*Char;

D.typedef*CharSTP;

18.在c語(yǔ)言中,變量的隱含存儲(chǔ)類別是()。

A.autoB.staticC.externD.無(wú)存儲(chǔ)類別

19.程序中頭文件typel.h的內(nèi)容是:#defineN5#defineM1N*3程序如下:#include“typel.h”#defineM2N*2main(){inti;i=M1+M2;Printf(“%d\n”,0;}程序編譯后運(yùn)行的輸出結(jié)果是:

A.10B.20C.25D.30

20.

二、2.填空題(20題)21.棧中允許進(jìn)行插入和刪除的一端叫做______。

22.有以下定義和語(yǔ)句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。

structdate

{intday;

intmouth;

intyear;

union{intshare1;

floatshare2;

}share;

}a;

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

charstr[]="ABCD",*p=str;

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

24.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。

25.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過來(lái),請(qǐng)?zhí)羁铡?/p>

#include<string.h>

main()

{inti,j,【】;charstr[]={"1234567"};

for(i=0,j=strlen(str)【】;i<j;i++,j--)

{k=str[i];str[i]=str[j];str[j]=k;}

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

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

#definePOW(r)(r)*(r)

main()

{intx=3,y=2,t;

t=POW(x+y);

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

}

27.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。

28.下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計(jì)有多少個(gè)單詞,單詞間用空格分隔。補(bǔ)充所缺語(yǔ)句。

#include<stdio.h>

main()

{charss[80],c1,c2='';

inti=0,num=0;

gets(s);

while(s[i]!='\0')

{c1=s[i];

if(i==0)c2='';

elsec2=s[i-1];

if(【】)num++;

i++;

}

printf("Thereare%dwords,\n",num);

}

29.有以下程序:

main()

{intt=1,i=5;

for(;i>=0;i--)t*=i;

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

}

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

30.對(duì)于軟件測(cè)試,從是否需要執(zhí)行被測(cè)軟件的角度,可以分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。代碼檢查屬于______測(cè)試。

31.在關(guān)系模型中,二維表的行稱為______。

32.下列的for語(yǔ)句的循環(huán)次數(shù)為______。

for(x=1,y=0;(y!=19)&&(x<7);x++);

33.下列語(yǔ)句的輸出結(jié)果是______。

chars[20]="aaaa",*sp=s;

puts(strcat(sp,"AAAAA"));

34.數(shù)據(jù)庫(kù)技術(shù)的主要特點(diǎn)為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理與控。

35.以下程序調(diào)用函數(shù)swap_p將指針s和t所指單元(a和b)中的內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>

main()

{inta=10,b=20,*s,*t;

s=&a;t=&b;

swap_p(【】);

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

swap_p(int**ss,int**tt)

{intterm;

term=**ss;

**ss=**tt;

**tt=term;}

36.將以下程序段寫成三目運(yùn)算表達(dá)式:【】。

if(a>b)max=a;

elsemax=b;

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

38.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指向內(nèi)存空間中,形成一個(gè)新的字符串s。請(qǐng)?zhí)羁铡?/p>

voidsstrcpy(char*s,char*t)

{while(*s++=______);}

main()

{charstr1[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

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

}

39.設(shè)有下列的程序段;

charstr[]="Hello";

char*ptr;

ptr=str;

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

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

三、1.選擇題(20題)41.整型變量X和Y的值相等,且為非0值,則以下選項(xiàng)中結(jié)果為0的表達(dá)式是______。

A.X||YB.X|YC.X&YD.xy

42.下列程序的輸出結(jié)果是______。main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}

A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2

43.以下合法的賦值語(yǔ)句是______。

A.X=Y=100B.D-;C.X+Y;D.C=int(A+B)

44.下列選項(xiàng)中,不屬于模塊間耦合的是()

A.數(shù)據(jù)耦合B.同構(gòu)耦合C.異構(gòu)耦合D.公用耦合

45.數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)之間的關(guān)系是()。

A.數(shù)據(jù)庫(kù)包括數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)

B.數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)

C.數(shù)據(jù)庫(kù)管理系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng)

D.三者沒有明顯的包含關(guān)系

46.根據(jù)下列定義,能打印出字母P的語(yǔ)句是()。

structstu{charname[10];

intage;

};

structstus[10]={"John",11,

"Pau1",12,

"Mary",11,

"adam",12

};

A.primf("%c",s[3].name};

B.primf("%c",s[3].name[1]);

C.printf("%c",s[2].name[1]);

D.printf("%c",s[1].name[0]);

47.下面程序的運(yùn)行結(jié)果是include<stdio.h>main(){inta=28,b;chars[10],*p;p=s;do{b=a%16;if(b<10)*p=b+48;else*p=b+55;p++;a=a/5;}while(a>0);*p='\0';puts(s);}

A.10B.C2C.C51D.\0

48.下面程序的輸出結(jié)果為______。#include<string.h>main(){charp1[7]="abc",p2[]="ABC",str[50]="xyz";strcpy(str,strcat(p1,p2));printf("%s",str);}

A.xyzabcABCB.abcABCC.xyzabcD.xyzABC

49.下面程序main(){intx=32;printf("%d\n",x=x<<1);}的輸出是______。

A.100B.160C.120D.64

50.若有說明語(yǔ)句:charc=′\72′;則變量c

A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說明不合法,c的值不確定

51.

對(duì)兩個(gè)數(shù)組a和b進(jìn)行下列初始化:

charm[]="1234567";

charn[]={1,2,3,4,5,6,7};

則下列敘述正確的是()。

A.數(shù)組m與數(shù)組n完全相同B.數(shù)組m與數(shù)組n長(zhǎng)度相同C.數(shù)組m比數(shù)組n長(zhǎng)1D.數(shù)組m與數(shù)組n中都存放字符串

52.若有以下定義和語(yǔ)句,則輸出結(jié)果是______。char*s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));

A.4B.5C.9D.10

53.有以下程序:main(){unsignedinta;intb=-1;a=b;printf("%u",a);}程序運(yùn)行后的輸出結(jié)果是()。

A.-1B.65535C.32767D.-32768

54.有以下程序:main(){intx=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);}程序執(zhí)行后的輸出結(jié)果是()。

A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5

55.以下定義語(yǔ)句中正確的是

A.inta=b=0;

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

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

D.doublea=0.0;b=1.1;

56.若要顯示或打印漢字將用到漢字編碼中的()

A.輸入碼B.字型碼C.機(jī)內(nèi)碼D.交換碼

57.以下選項(xiàng)中不屬于C語(yǔ)言的類型的是

A.signedshortint

B.unsignedlongint

C.unsignedint

D.longshort

58.下列敘述中正確的是()。A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)

B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)

C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)不影響數(shù)據(jù)處理的效率

D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率

59.有以下程序:#include<string.h>main(){charstr[][20]={"Hello","beijing"},*p=str;ptintf("%\n",strlen(p+20));}程序運(yùn)行后的輸出結(jié)果是()。

A.0B.5C.7D.20

60.在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一個(gè)對(duì)象為其服務(wù)的方式是通過發(fā)送()。

A.調(diào)用語(yǔ)句B.命令C.口令D.消息

四、選擇題(20題)61.對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。

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

62.

63.以下敘述不正確的是

A.分號(hào)是C語(yǔ)言的必要組成部分B.C程序的注釋可以寫在語(yǔ)句的后面

C.函數(shù)是C程序的基本組成單位D.程序中可以有一個(gè)或多個(gè)main函數(shù)

64.

65.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法

A.對(duì)象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)

66.

若有以下的說明和語(yǔ)句,則在執(zhí)行for語(yǔ)句后,’(*(pt+1)+2)表示的數(shù)組元素是()。

intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];

A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]

67.

68.以下()不是標(biāo)準(zhǔn)的HTTP消息頭字段。

A.StatusB.HostC.AcceptD.Referer

69.有以下程序:viodfun(inta,intb,intc){a=456;b=567;c=678;}main{intx=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}輸出的結(jié)果是()。A.30,20,10B.10,20,30C.456,567,678D.678,567,456

70.

71.

72.有以下程序:

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

A.MtemoonB.AftemoonC.MorningD.orning

73.有以下語(yǔ)句:Charb[B];intC;,則正確的輸入語(yǔ)句是()。

A.

B.

C.

D.

74.

75.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。

A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)

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

A.可以給指針變量賦一個(gè)整數(shù)作為地址值

B.函數(shù)可以返回地址值

C.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值

D.當(dāng)在程序的開頭包含頭文件stdi0.h時(shí),可以給指針變量賦NULL、、、

77.

78.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。

A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序

B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序

C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序

D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序

79.

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

#include<stdio.h>

voidp(int*x)

{printf("%d¨,++*x);

}

voidmain()

{inty=3;

p(&y);

}

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

80.

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

#include<stdio.h>

#defineADD(x)x+x

main

{intm=1,n=2,k=3;

intS=ADD(m+n)*k;

printf("s=%d",s);

}

A.sum=18B.sum=10C.sum=9D.sum=25

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將m(1≤m≤10)個(gè)字符串反著連接起來(lái),組成一個(gè)新串,放入pt所指字符串中,例如,把“ab、cd、ef9”3個(gè)字符串反著串連起來(lái),結(jié)果是efgcdab。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.有N個(gè)學(xué)生,每個(gè)學(xué)生的信息包括學(xué)號(hào)、性別、姓名、四門課的成績(jī),從鍵盤上輸入N個(gè)學(xué)生的信息,要求輸出總平均成績(jī)最高的學(xué)生信息,包括學(xué)號(hào)、性別、姓名和平均成績(jī)。

參考答案

1.D

2.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個(gè)模塊的功能、建立與已確定的軟件需求的對(duì)應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評(píng)估模塊劃分的質(zhì)量等方面。詳細(xì)設(shè)計(jì)的任務(wù)是:在使用程序設(shè)計(jì)語(yǔ)言編制程序以前,對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá)。需求分析是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進(jìn)度需求等。編程調(diào)試的任務(wù)是診斷和改正程序中潛在的錯(cuò)誤。綜上所述。軟件功能分解只能發(fā)生在總體設(shè)計(jì)階段。

3.Bfun函數(shù)的功能是獲取2個(gè)數(shù)的平均值,注意平均值是整型數(shù),小數(shù)會(huì)被截?cái)?。調(diào)用函數(shù)“fun(2*4,fun(5,6))”相當(dāng)于調(diào)用函數(shù)“fun(8,5)”,平均值是6。故本題答案為B選項(xiàng)。

4.D“typedefint*(*T[10])[10];”使用typedef定義一種新類型名T,T的類型是二維數(shù)組指針,指向10個(gè)元素的數(shù)組。其中數(shù)組元素類型為int*[10],即數(shù)組的每個(gè)元素又是包含10個(gè)元素的數(shù)組,數(shù)組的元素是整型指針類型。故本題答案為D選項(xiàng)。

5.A當(dāng)執(zhí)行g(shù)ets(ss)后,ss數(shù)組中的元素為ABC,再執(zhí)行strcat(ss,"6789"),strcat的作用,是把6789連接到了ss數(shù)組后面,執(zhí)行完后SS數(shù)組為ABC6789,故選擇A選項(xiàng)。

6.B該函數(shù)用于數(shù)據(jù)類型和變量。注意:sizeof操作符不能用于函數(shù)、不完全類型或位字段。不完全類型指具有未知存儲(chǔ)大小的數(shù)據(jù)類型,如未知存儲(chǔ)大小的數(shù)組類型、void類型等。

7.B

8.C解析:本題考核的知識(shí)點(diǎn)是字符數(shù)組的定義、賦初值以及函數(shù)sizeof()的應(yīng)用。本題中定義兩個(gè)字符型數(shù)組,其中a省略了長(zhǎng)度,定義了b的長(zhǎng)度為10,并賦初值分別為“abcdefg”和“abcdfg”。所以a的長(zhǎng)度為賦值給它的字符串的字符個(gè)數(shù)7加上一個(gè)結(jié)束轉(zhuǎn)義字符,即a的長(zhǎng)度為7+1為8.定義時(shí)b的長(zhǎng)度定義為10,故b的長(zhǎng)度為10,因此最后通過函數(shù)sizeof()求得的數(shù)組a和數(shù)組b的長(zhǎng)度分別為8和10,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

9.Cc是字符變量,“hello!”是字符串。字符串不能賦給字符變量,定義中有語(yǔ)法錯(cuò)誤。本題答案為C選項(xiàng)。

10.D

11.C

12.B解析:算術(shù)運(yùn)行符“/”、“%”的優(yōu)先級(jí)處于同一級(jí),并且兩者的結(jié)合性都是從左到右。所以算術(shù)表達(dá)式運(yùn)算過程為:a=25/10%9=2%9=2:當(dāng)邏輯運(yùn)算符“&&”兩邊的值都是非零時(shí),邏輯表達(dá)式的值才為真(即為1)。所以b=2&&(-1)=1。

13.B

14.D

15.C學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C項(xiàng)。

16.B解析:本題考查函數(shù)的調(diào)用。函數(shù)fun2的作用是將形參x和y的值相乘后減去3,在fun2中的變量m是一個(gè)局部變量,它的值在fun2函數(shù)內(nèi)有效;在主函數(shù)中的m指的是全局變量,其值為13,所以fun2(a,b)/m的值為(7*5-3)/13,即2。

17.B用關(guān)鍵字typedef聲明一種新的類型的形式為typedef類型名標(biāo)識(shí)符。本題中的類型為char*。

18.A解析:auto變量:無(wú)static聲明的局部變量。用auto作存儲(chǔ)類別的聲明時(shí),可以不寫auto,存儲(chǔ)類別隱含確定為auto(自動(dòng)存儲(chǔ)類別),是動(dòng)態(tài)存儲(chǔ)方式。大多數(shù)變量是自動(dòng)變量。用static聲明的局部變量是靜態(tài)局部變量。函數(shù)調(diào)用結(jié)束后靜態(tài)局部變量占據(jù)的內(nèi)存存儲(chǔ)單元空間不釋放,局部變量保留原值,下次調(diào)用時(shí)可以繼續(xù)使用該值。用extern聲明外部變量,外部變量即全局變量,可以用extern聲明來(lái)改變?nèi)肿兞康淖饔糜?實(shí)際上,關(guān)鍵字'auto'可以省略,auto不寫則隱含確定為'自動(dòng)存儲(chǔ)類別',屬于動(dòng)態(tài)存儲(chǔ)方式。

19.C解析:編譯預(yù)處理時(shí),用“typel.h”中的內(nèi)容替代命令#include“typel.h”。表達(dá)式“i=M1+M2”經(jīng)過宏替換為“i=5*3+5*2”即i=25,所以最后輸出的i的值為25。

20.C

21.棧頂棧頂解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。

22.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。

23.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。

24.順序存儲(chǔ)(順序方式存儲(chǔ))順序存儲(chǔ)(順序方式存儲(chǔ))解析:二分法查找對(duì)表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲(chǔ)。

25.k-1k,-1解析:顛倒一個(gè)字符串中的字符,就是首尾對(duì)應(yīng)的元素兩兩交換。簡(jiǎn)單地可用兩個(gè)游標(biāo)變量i和j,i是前端元素的下標(biāo),j是后端元素的下標(biāo),交換以這兩個(gè)變量值為下標(biāo)的元素str[i]和str[j]。開始時(shí),i的值為0,j的值為字符串末元素的下標(biāo)(字符串長(zhǎng)度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]位于str[j]的前面,即i<j。字符串末元素的下標(biāo)是它的長(zhǎng)度減1,所以在第二個(gè)空框處應(yīng)填入-1。程序?yàn)榱私粨Qstr[i]和str[j],使用了變量k,該變量應(yīng)在程序的變量定義部分中一起定義,所以在第一個(gè)空框處應(yīng)填入k。

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

27.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語(yǔ)言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。

28.c1!==''&&c2==''

29.00解析:for循環(huán)執(zhí)行完成后t=5×4×3×2×1×0=0。

30.靜態(tài)靜態(tài)解析:靜態(tài)測(cè)試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析,代碼質(zhì)量度量等。靜態(tài)測(cè)試不實(shí)際運(yùn)行軟件。

31.元組元組解析:在關(guān)系型數(shù)據(jù)庫(kù)中,用二維表來(lái)表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱為關(guān)系的元組,二維表的列,稱為關(guān)系的屬性。

32.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時(shí)循環(huán)6次。

33.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動(dòng)覆蓋字符數(shù)組sp末尾的\'\\0\'。

34.共享性共享性解析:數(shù)據(jù)庫(kù)技術(shù)的主要特點(diǎn)有以下幾個(gè)方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)統(tǒng)一管理與控制。

35.&s&t&s,&t解析:指針做函數(shù)參數(shù)時(shí),形參和實(shí)參指向同一個(gè)數(shù)據(jù),所以函數(shù)中對(duì)形參所指向的數(shù)據(jù)的改變也能影響到實(shí)參。本題中函數(shù)swap_p的形參為指向指針的指針,即雙重指針,原理跟普通的指針是一樣的。注意:通過指針來(lái)引用一個(gè)存儲(chǔ)單元。

36.max=(a>b)?a:bmax=(a>b)?a:b解析:本題考查三目運(yùn)算符的用法,條件表達(dá)式的一般形式為:

表達(dá)式1?表達(dá)式2:表達(dá)式3

所以,本題可以寫成(a>b)?a:b,它是一個(gè)條件表達(dá)式,執(zhí)行順序是:如果條件(a>b)為真,則條件表達(dá)式取值a,否則取值b。

37.黑盒軟件測(cè)試的方法有三種:動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和正確性證明。設(shè)計(jì)測(cè)試實(shí)例的方法一般有兩類:黑盒測(cè)試法和白盒測(cè)試法。在使用黑盒法設(shè)計(jì)測(cè)試實(shí)例時(shí),測(cè)試人員將程序看成一個(gè)“黑盒”,即不關(guān)心程序內(nèi)部是如何實(shí)現(xiàn)的,只是檢查程序是否符合它的“功能說明”,所以使用黑盒法設(shè)計(jì)的測(cè)試用例完全是根據(jù)程序的功能說明來(lái)設(shè)計(jì)的。

38.*t++或*(t++)*t++或*(t++)解析:主函數(shù)中定義了兩個(gè)字符型數(shù)組st1l和str2,并且給str2賦初值“abcdefgh”,接著調(diào)用函數(shù)sstrcpy(str1,str2),將字符串str2的值賦給str1.在函數(shù)sstrcpy(*s,*t)中,用了一個(gè)while循環(huán),每循環(huán)一次將形參指針t所指的字符賦給形參指針s所指向的存儲(chǔ)空間,然后指針s和指針t都下移到下一個(gè)元素。所以空格處應(yīng)該填*t++或*(t++)。

39.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在C語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0'所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。

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

41.D解析:“||”為或運(yùn)算符,當(dāng)其左有表達(dá)式中只要一個(gè)為非零則整個(gè)表達(dá)式的值1。|是按位或,&是按位與,^是按位異或,這三位運(yùn)算符是按值的二進(jìn)制位來(lái)比較的。

42.A

43.B解析:本題中的答案A與D都缺少“;”,而答案C中,表達(dá)式是不能獨(dú)立成為語(yǔ)句的,答案B使用了C語(yǔ)言的自減運(yùn)算符它就相當(dāng)于D=D-1,所以答案B為一賦值語(yǔ)句。

44.C解析:模塊之間的耦合程度反映了模塊的獨(dú)立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強(qiáng),可以將其分成5級(jí),分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項(xiàng)C),沒有這種耦合方式。注意:評(píng)價(jià)模塊獨(dú)立性的主要標(biāo)準(zhǔn),以及對(duì)它們的定義和分類。

45.B數(shù)據(jù)庫(kù)可以看成是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)可以被直觀地理解為存放數(shù)據(jù)的倉(cāng)庫(kù),只不過這個(gè)倉(cāng)庫(kù)在計(jì)算機(jī)的大容量存儲(chǔ)器上,例如,硬盤就是一種最常見的計(jì)算機(jī)大容量存儲(chǔ)設(shè)備。數(shù)據(jù)必須按一定的格式存放,因?yàn)樗粌H需要存放,而且還要便于查找和使用。

數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是位于用戶與操作系統(tǒng)之間的完成數(shù)據(jù)管理的系統(tǒng)軟件。它是用戶與數(shù)據(jù)庫(kù)的接口。應(yīng)用程序一般要通過DBMS才能訪問數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一控制。

數(shù)據(jù)庫(kù)系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng),一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶構(gòu)成。數(shù)據(jù)庫(kù)是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)最基本的成分。數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心。數(shù)據(jù)庫(kù)管理員是數(shù)據(jù)庫(kù)系統(tǒng)的責(zé)任維護(hù)者,負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的整體維護(hù)。

綜上所述,本題中只有B選項(xiàng)的描述是正確的。

46.D解析:本題主要考查按結(jié)構(gòu)數(shù)組元素方式引用結(jié)構(gòu)成員。字母P為'Paul'的第一個(gè)字母,是結(jié)構(gòu)體s[1]的name成員的第一個(gè)元素的值,即s[1].name[0]的值。

47.C解析:語(yǔ)句“p=s;”是使指針p指向字符數(shù)組s。*p則引用了p所指位置的數(shù)組元素。注意:通過指針來(lái)引用一維數(shù)組元素。

48.B解析:strcpy(str1,s1):作用是將字符串s1拷貝到字符數(shù)組str1中去。strcat(字符數(shù)組1,字符數(shù)組2):把字符串2接到字符串1的后面,結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后返回字符數(shù)組1的地址。本題定義了三個(gè)字符數(shù)組p1,p2,sir,strcat(p1,p2)函數(shù)的作用是將字符串?dāng)?shù)組p2接到字符串p1的后面,結(jié)果放在字符數(shù)組p1中,再通過strcpy()函數(shù)將該字符串拷貝到str數(shù)組中,原str數(shù)組中的字符串xyz被覆蓋,因此打印輸出字符串str即可得到abcABC。

49.D解析:<<是C語(yǔ)言中規(guī)定的左移運(yùn)算符,例如,a=a<<2,這個(gè)語(yǔ)句即是將a的二進(jìn)制數(shù)左移兩位,左移一位相當(dāng)于該數(shù)乘于2,左移兩位相當(dāng)于該數(shù)乘以2的2次方。所以,x<<1=32*2=64。

50.A解析:C語(yǔ)言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個(gè)'\\'開頭的字符。其中,'\\ddd'表示用ASCII碼(八進(jìn)制數(shù))表示一個(gè)字符,本題中的charc=\'\\72\'即表示占一個(gè)字符的變量c的ASCII碼值。

51.C解析:本題考查字符數(shù)組和字符串賦值給數(shù)組的一些區(qū)別。語(yǔ)句“charm[]='1234567';”定義了一個(gè)字符型數(shù)組并進(jìn)行了初始化,C語(yǔ)言規(guī)定,在字符串的末尾自動(dòng)加上串結(jié)束標(biāo)記\'\\0\',因此數(shù)組m的長(zhǎng)度是8;而數(shù)組n是按照字符方式對(duì)數(shù)組進(jìn)行初始化,系統(tǒng)不會(huì)自動(dòng)加上串結(jié)束標(biāo)記\'\\0\',因此數(shù)組n的長(zhǎng)度是7。

52.A

53.B當(dāng)運(yùn)算對(duì)象為不同的類型時(shí),數(shù)據(jù)的轉(zhuǎn)換方向?yàn)閕nt→unsigned→long→double。本題程序中的變量b為int型,先要轉(zhuǎn)換為unsigned型,int型變量的數(shù)值范圍為-32768~32767,最高位為符號(hào)位,而unsigned所表示的數(shù)的范圍為0~65535,它的最高位為數(shù)值位。由于內(nèi)存中是以補(bǔ)碼形式存儲(chǔ)數(shù)據(jù)的,所以,整型的“-1”在內(nèi)存中表示為16個(gè)1,最高位的“1”表示符號(hào)負(fù),將它轉(zhuǎn)換為unsigned類型,即將原符號(hào)位表示符號(hào)的“1”看成數(shù)值,就可得到16個(gè)數(shù)值位1,即65535。

54.B解析:本題中首先定義了3個(gè)整型變量x、y和z,并分別賦值為0、5和3,while循環(huán)的判定條件為z-->0&&++x<5,由于z的初值為3,所以當(dāng)z--執(zhí)行3次后,z-->O將不再成立,又由于x的初值為0,所以++x執(zhí)行5次,++x<5將不再成立,而它們兩個(gè)表達(dá)式的值為邏輯與的關(guān)系,故當(dāng)z-->O不成立時(shí)整個(gè)表達(dá)式的值為假,因此該循環(huán)共執(zhí)行了3次,即語(yǔ)句y=y-1:共執(zhí)行了三次,但while循環(huán)的判定表達(dá)式卻執(zhí)行了四次,故最后輸出的x、y、z的值分別為3,2,-1,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

55.B解析:本題考查變量的定義方法。

56.B

57.D解析:在選項(xiàng)中很明顯選項(xiàng)A為無(wú)符號(hào)短整型,選項(xiàng)B為無(wú)符號(hào)長(zhǎng)整型,選項(xiàng)C為無(wú)符號(hào)整型,而選項(xiàng)D的類型在C語(yǔ)言中不存在。

58.DD)【解析】數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要采用不同的存儲(chǔ)結(jié)構(gòu),常用的存儲(chǔ)結(jié)構(gòu)有順序和鏈?zhǔn)浇Y(jié)構(gòu)。采用不同的存儲(chǔ)結(jié)構(gòu),其處理的效率是不同的。

59.C解析:主函數(shù)中定義了一個(gè)二維字符數(shù)組并初始化,初始化后的結(jié)果為str[0]='Hello'、str[1]='Beijing',然后定義一個(gè)字符指針變量p并讓它指向數(shù)組的首地址,即指向str[0],而在C語(yǔ)言中無(wú)論是一維還是多維數(shù)組,其元素在內(nèi)存中都是順序存放的,故p+20后指針指向str[1],所以strlen(p+20);返回的是str[1]中的字符串的長(zhǎng)度,即Beijing的長(zhǎng)度為7,所以最后輸出的值為7,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

60.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^對(duì)象與對(duì)象間彼此的相互合作來(lái)推動(dòng)的,對(duì)象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱為消息。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請(qǐng)求對(duì)象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。

61.D各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡(jiǎn)單插入排序n(n-1)/2、希爾排序0(n1.5)、簡(jiǎn)單選擇排序n(n-1)/2、堆排序O(nlog2n)

62.C

63.D本題考查C語(yǔ)言的基礎(chǔ)知識(shí)。

C語(yǔ)言中,語(yǔ)句都是以“;”作為語(yǔ)句的結(jié)束標(biāo)志,如表達(dá)式語(yǔ)句就是指在表達(dá)式后跟一個(gè)分號(hào)“;”,函數(shù)表達(dá)式加上分號(hào)“;”組成函數(shù)調(diào)用語(yǔ)句。

/*……*/是程序的注釋部分,這是為了提高程序的可讀性而加入的。它對(duì)程序的運(yùn)行不起任何作用,它可以放在程序中的任何位置。在程序中添加注釋是一個(gè)良好的程序設(shè)計(jì)習(xí)慣,應(yīng)該在一個(gè)程序中添加適當(dāng)?shù)淖⑨尅?/p>

構(gòu)成C語(yǔ)言程序的基本單位是函數(shù)。函數(shù)也是C程序中模塊化程序設(shè)計(jì)的基礎(chǔ)。

一個(gè)C語(yǔ)言源程序可以由一個(gè)或多個(gè)源文件組成,每個(gè)源文件可由一個(gè)或多個(gè)函數(shù)組成,一個(gè)源程序不論由多少個(gè)文件組成,都有一個(gè)且只能有一個(gè)main函數(shù),即主函

溫馨提示

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