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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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.p指向線(xiàn)性鏈表中某一結(jié)點(diǎn),則在線(xiàn)性鏈表的表尾插入結(jié)點(diǎn)s的語(yǔ)句序列是()。

A.while(p->next!=NULL)p=p->next;p->next=s;s->next=NULL;

B.while(p!=NULL)p=p->next;p->next=s;s->next=NULL;

C.while(p->next!=NULL)p=p->next;s->next=p;p->next=NULL;

D.while(p!=NULL)p=p->next->next;p->next=s;s->next=p->next;

2.C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類(lèi)型包括()。

A.整型、實(shí)型、邏輯型B.整型、實(shí)型、字符型C.整型、字符型、邏輯型D.字符型、實(shí)型、邏輯型

3.若長(zhǎng)度為n的線(xiàn)性表采用順序存儲(chǔ)結(jié)構(gòu),在其第i個(gè)位置插入一個(gè)新元素的算法的時(shí)間復(fù)雜度為()。

A.O(0)B.O(1)C.O(n)D.O(n2)

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

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

5.某堆棧的輸入序列為a,b,c,d,下面的四個(gè)序列中,不可能是它的輸出序列的是()。

A.a,c,b,dB.b,c,d,aC.c,d,b,aD.d,c,a,b

6.有以下程序:#include<stdio.h>voidfun(doublex,double*y,double*z){*y=*y-1.0;*z=*z+x;}main(){doublea=2.5,b=9.0,*pa,*pb;pa=&a;pb=&b;fun(b-a,pa,pb);printf(“%f\n”,a);}程序運(yùn)行后的輸出結(jié)果是()。

A.8.000000B.9.000000C.1.500000D.10.500000

7.有以下程序:#include<stdio.h>main(){chars[]=“abcde”;s+=2;printf(“%d\n”,s[0]);}程序的運(yùn)行結(jié)果是()。

A.輸出字符c的ASCII值B.程序出錯(cuò)C.輸出字符cD.輸出字符a的ASCII值

8.

9.已知a,b均被定義為double型,則表達(dá)式:b=1,a=b+5/2的值為()。

A.1B.3C.3.0D.3.5

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

A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒(méi)有任何關(guān)系

11.在軟件設(shè)計(jì)中,不屬于過(guò)程設(shè)計(jì)工具的是()。

A.PDLB.DFD圖C.PAD圖D.N—S圖

12.有以下程序:main{inta=0,b=0;a=10;/*給a賦值b=20;給b賦值*/printf(“a+b=%d\n”,a+b);/*輸出計(jì)算機(jī)結(jié)果*/}程序運(yùn)行后的輸出結(jié)果是()。A.a+b=10B.a+b=30C.30D.出錯(cuò)

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

A.typedefChar*s;

B.typedefChar*STP;

C.typedefSTP*Char;

D.typedef*CharSTP;

14.下列程序的輸出結(jié)果是()。#include<stdio.h>voidp(int*x){printf("%d¨,++*x);}voidmain(){inty=3;p(&y);}A.3B.4C.2D.5

15.下面結(jié)構(gòu)中最適于表示稀疏無(wú)向圖的是()。

A.鄰接矩陣B.逆鄰接表C.鄰接多重表D.十字鏈表

16.有以下程序:#include<stdio.h>doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf("%5.of\n",a);}doublef(doublex){returnx*x+1;}程序運(yùn)行后的輸出結(jié)果是()。A.503B.401C.500D.1404

17.有以下程序:#include<stdio.h>main(){intb[3][3]=(0,1,2,0,1,2,0,1,2},i,j,t=l;for(i=0;i<3;i++)for(j=1;j<=i;j++)t+=b[i][b[j][i]];printf("%d\n",t);}程序運(yùn)行后的輸出結(jié)果是()。A.1B.3C.4D.0

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

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

19.有以下程序:#include<stdio.h>main(){charb[]=“happynewyear”,k;for(k=0;b[k];k++) printf(“%c”,b[k]-‘a(chǎn)’+‘A’);}程序運(yùn)行后的輸出結(jié)果是()。

A.hAppynewyeArB.HappynewyearC.HAPPYNEWYEARD.HaPPYNEWYEaR

20.有以下程序main(){intx,y,z;x=y=1;z=X++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運(yùn)行后的輸出結(jié)果是

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

二、2.填空題(20題)21.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是【】。

#defineN2

#defineMN+1

#defineKM+1*M/2

main()

{inti;

for(i=1;i<K;i++){......}

22.【】是從二維表列的方向進(jìn)行的運(yùn)算。

23.以下程序的運(yùn)行結(jié)果是:【】。

#include<stdio.h>

#include<string.h>

char*ss(char*s)

{returns+strlen(s)/2;}

main()

{char*p,*str="abcdefgh";

p=ss(str);printf("%s\n",p);

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

#include<stdio.h>

main()

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

if(x<y)

if(y<0)z=0;

elsez+=1;

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

}

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

#include<stdio.h>

main()

{inta=1,b=2,c;

c=max(a,b);

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

max(intx,inty)

{intz;

z=(x>y)?x:y;

return(z);}

26.函數(shù)pi的功能是根據(jù)以下公式近似求得的:

pi*pi/6=1+1/(2*2)+1/(3.3)+...+1/(n*n)

請(qǐng)?jiān)谙旅娴暮瘮?shù)中天空,完成求pi的功能。

#include<math.h>

doublepi(longn)

{doubles=0.0,longi;

for(i=1;i<<=n;i++)s=s+【】;

return(sqrt(6*s));

}

27.若有以下程序:

main()

{int,p,a=5;

if(P=a!=0)

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

else

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

}

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

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

intk=0;

voidfun(intm)

{m+=k;k+=m;printf("m=%d\nk=%d",m,k++);}

main()

{inti=4;

fun(i++);printf("i=%dk=%d\n",i,k);

}

29.用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁?。st=(char*)【】;

30.閱讀下面語(yǔ)句,則程序的執(zhí)行結(jié)果是【】。

#include"stdio.h"

main()

{inta=-1,b=1,k;

if((++a<0)&&!(b--<=0))

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

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

31.以下程序段用以統(tǒng)計(jì)鏈表中元素的個(gè)數(shù)。其中first指向鏈表第一個(gè)結(jié)點(diǎn),count用來(lái)統(tǒng)計(jì)結(jié)點(diǎn)個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>

structlink

{chardata;

structlink*next;

}

structlink*p,*first;

|

intcount=0;

p=first;

while(【】)

{

【】;

p=【】;

}

32.軟件定義時(shí)期主要包括______和需求分析兩個(gè)階段。

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

#include<stdio.h>

unsignedfun6(unslgnednum)

{unsignedk=1;

do{k*=mum%10;num/=10;}

while(num);

returnk;

}

main()

{unsignedn=26;

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

}

34.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和方法的機(jī)制稱(chēng)為_(kāi)_____。

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

#include<stdio.h>

main()

{inta[5]={2,4,6,8,10},*p;

p=a;p++;

printf("%d",*p);

}

36.算法的復(fù)雜度主要包括空間復(fù)雜度和______復(fù)雜度。

37.在C語(yǔ)言中,字符的比較就是對(duì)它們的【】碼進(jìn)行比較。

38.已有定義:double*p;,請(qǐng)寫(xiě)出完整的語(yǔ)句,利用malloc函數(shù)使p指向一個(gè)雙精度型的動(dòng)態(tài)存儲(chǔ)單元______。

39.當(dāng)運(yùn)行以下程序時(shí),輸入abcd,程序的輸出結(jié)果是:()。

insert(charstr[])

{inti;

i=strlen(str);

while(i>0)

{str[2*i]=str[i];str[2*i-1]='*';i--;}

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

}

main()

{charstr[40];

scanf("%s",str);insert(str);

}

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

enumweekday{sun=7,mon=1,tue,wed,thu,fri,sat};

main()

{enumweekdayworkday,weekend;

inti,a[8];

workday=tue;

weekend=sun;

printf("\ntueday=%dsunday=%d;",workday,week_end);

workday=sun+tue;

week_end=(enumweekday)3;

printf("tueday=%dsunday=%d;",workday,weekend);

a[sun]=sun;

a[mon]=mon;

a[tue]=rue;

a[wed]=wed;

a[thu]=thu;

a[fri]=fri;

a[sat]=sat;

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

}

三、1.選擇題(20題)41.若有如下定義:intx=6,y=3,z=2;則表達(dá)式“x=y||y<z&&z==z”的值是()。

A.0B.1C.4D.6

42.以下函數(shù)調(diào)用語(yǔ)句中含有_______個(gè)實(shí)參。func((exp1,exp2),(exp3,exp4,exp5));

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

43.線(xiàn)性表L=(a1,a2,a3,…ai,…an),下列說(shuō)法正確的是()

A.每個(gè)元素都有一個(gè)直接前件和直接后件

B.線(xiàn)性表中至少要有一個(gè)元素

C.表中諸元素的排列順序必須是由小到大或由大到小

D.除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且只有一個(gè)直接前件和直接后件

44.設(shè)有二維數(shù)組A[8][9],其每個(gè)元素占2個(gè)字節(jié),從首地址400開(kāi)始,按行優(yōu)先順序存放,則元素A[8,5]的存儲(chǔ)地址為_(kāi)_____。

A.570B.506C.410D.482

45.模塊本身的內(nèi)聚是模塊獨(dú)立性的重要性度量因素之—。在7類(lèi)內(nèi)聚中,具有最強(qiáng)內(nèi)聚的—類(lèi)是______。

A.順序性?xún)?nèi)聚B.過(guò)程性?xún)?nèi)聚C.邏輯性?xún)?nèi)聚D.功能性?xún)?nèi)聚

46.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。

A.控制程序的執(zhí)行順序B.模塊之間的調(diào)用關(guān)系C.數(shù)據(jù)的流向D.程序的組成成分

47.下列程序的輸出結(jié)果是()。#include<stdio.h>voidp(int*x){printf("%d",++*x);}voidmain(){inty=3;p(&y);}

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

48.若有如下程序;main(){intm=-i;printf("%d,%u,%o,%X",m,m,m,m);}則程序運(yùn)行后的輸出結(jié)果是()。

A.-1,65535,177777,ffff

B.-1,-1,177777,fffe

C.-1,1,177777,ffff

D.-1,65535,177776,fffe

49.有下列程序:#include"stdio.h"main(){intx=0;inty=0;while(x<7&&++y){y--;x++;}printf("%d,%d",y,x);}程序的輸出結(jié)果是()。

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

50.鏈表不具有的特點(diǎn)是()

A.不必事先估計(jì)存儲(chǔ)空間B.可隨機(jī)訪(fǎng)問(wèn)任一元素C.插入刪除不需要移動(dòng)元素D.所需空間與線(xiàn)性表長(zhǎng)度成正比

51.某二叉樹(shù)共有60個(gè)葉子結(jié)點(diǎn)與50個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中的總結(jié)點(diǎn)數(shù)為()。

A.148B.169C.182D.198

52.有以下程序:#include<string.h>main(intargc,char*argv[]){inti,len=0;for(i=1;i<argc;i+=2)len+=strlen(argv[i]);printf("%d\n",len);}經(jīng)編譯鏈接后生成的可執(zhí)行文件是ex.exe,若運(yùn)行時(shí)輸入以下帶參數(shù)的命令行exabcdefgh3k44執(zhí)行后輸出的結(jié)果是()。

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

53.以下程序的結(jié)果是______。inta,b;voidfun(){a=100;b=200;}main(){inta=5;b=7fun();printf("%d%d\n",a,b);}

A.100200B.57C.200100D.75

54.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);retumy-x-1;}

A.求字符串的長(zhǎng)度B.求字符串存放的位置C.比較兩個(gè)字符串的大小D.將字符串x連接到字符串y后面

55.下列描述中不正確的是()。

A.字符型數(shù)組中可以存放字符串

B.可以對(duì)字符型數(shù)組進(jìn)行整體輸入、輸出

C.可以對(duì)整型數(shù)組進(jìn)行整體輸入、輸出

D.不能在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符“=”對(duì)字符型數(shù)組進(jìn)行整體賦值

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

A.C語(yǔ)言比其他語(yǔ)言高級(jí)

B.C語(yǔ)言可以不用編譯就被計(jì)算機(jī)識(shí)別并執(zhí)行

C.C語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式

D.C語(yǔ)言出現(xiàn)最晚,具有其他語(yǔ)言的一切優(yōu)點(diǎn)

57.有以下程序:#include<stdio.h>main(){intx=3,y=2,z=1;printf("%d\n",x/y&~z);程序運(yùn)行后的輸出結(jié)果是()。

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

58.以下能正確定義一維數(shù)組的選項(xiàng)是

A.inta[5]={0,1,2,3,4,5};

B.chara[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};

C.chara={′A′,′B′,′C′};

D.inta[5]="0123";

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

A.C程序中的#include和#define行均不是C語(yǔ)句

B.除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低

C.C程序中,j++;是賦值語(yǔ)句

D.C程序中,+、-、*、/、%是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算

60.若有語(yǔ)句:char*line[5];,以下敘述中正確的是

A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類(lèi)型為char的指針變量

B.定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組

C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的。號(hào)稱(chēng)為間址運(yùn)算符

D.定義line是一個(gè)指向字符型函數(shù)的指針

四、選擇題(20題)61.

62.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是()。

A.軟件過(guò)程不規(guī)范B.軟件質(zhì)量難以控制C.軟件開(kāi)發(fā)生產(chǎn)率低D.軟件成本不斷提高

63.下列詞語(yǔ)中,不屬于面向?qū)ο蠓椒ǖ氖?/p>

A.對(duì)象、消息B.繼承、多態(tài)C.類(lèi)、封裝D.過(guò)程調(diào)用

64.(46)面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的的面向過(guò)程的方法有本質(zhì)不同,它的基本原理是()

A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系

B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念

C.使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題

D.鼓勵(lì)開(kāi)發(fā)者在軟件開(kāi)發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考

65.

66.

67.從循環(huán)體內(nèi)某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語(yǔ)句是:___________。

A.break語(yǔ)句B.return語(yǔ)句C.continue語(yǔ)句D.空語(yǔ)句。

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

A.軟件測(cè)試應(yīng)該由程序開(kāi)發(fā)者來(lái)完成

B.程序經(jīng)調(diào)試后一般不需要測(cè)試

C.軟件維護(hù)只包括對(duì)程序代碼的維護(hù)

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

69.有以下計(jì)算公式

70.

71.針對(duì)簡(jiǎn)單程序設(shè)計(jì),以下敘述的實(shí)施步驟順序正確的是()。

A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔

B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔

C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試

D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔

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

main

{char*s="12134211";

intv[4]=(0,0,0,0),k,i;

for(k=0;s[k];k++)

{switch(s[k])

{case'1':i=0;

case'2':i=1;

case'3':i=2;

case'4':i=3;}

}

v[i]++:

}

for(k=0;k<4;k++)printf("%d",v[k]);A.A.4211B.0008C.4678D.8888

73.若有定義語(yǔ)句:“charsE10]="1234567\0\0";”,則strlen(s)的值是()。A.A.7B.8C.9D.10

74.if語(yǔ)句的基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表=迭式”值的敘述中正確的是()。

A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值

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

A.2011B.99C.209D.1111

76.有以下程序程序的運(yùn)行結(jié)果是()。

A.852B.963C.741D.875421

77.數(shù)據(jù)庫(kù)設(shè)計(jì)包含四個(gè)階段,它們是需求分析、()、邏輯設(shè)計(jì)和物理設(shè)計(jì)。

A.編碼設(shè)計(jì)B.測(cè)試階段C.運(yùn)行階段D.概念設(shè)計(jì)

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

main

{intx=0.5;charz='a';

printf("%d\n",(x&1)&&(z<'2'));}A.A.0B.1C.2D.3

79.有以下程序:

#include<stdio.h>

main()

{inta;

scanf("%d",&a);

if(a++<9)printf("%d\n",a);

clscprintf("%d\n",a--);

}

程序運(yùn)行時(shí)從鍵盤(pán)輸入9<回車(chē)>,則輸出結(jié)果是()。

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

80.以下結(jié)構(gòu)體類(lèi)型說(shuō)明和變量定義中正確的是()。

A.

B.

C.

D.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:從整數(shù)l0-55,查找能被3整除且有一位上的數(shù)值是5的數(shù),把這些:故放在b所指的數(shù)組中,這些數(shù)的個(gè)數(shù)作為函數(shù)值返回。規(guī)定函數(shù)中al放位數(shù),a2放十位數(shù)。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫(xiě)函數(shù)fun(),其功能是將兩個(gè)兩位數(shù)的正整數(shù)a、b合并成一個(gè)整數(shù)放在c中。合并的方式是將a中的十位數(shù)和個(gè)位數(shù)依次放在c數(shù)的十位和千位上,b中的十位數(shù)和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。例如,當(dāng)a=45,b=12時(shí),調(diào)用該函數(shù)后,c=5142。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>voidfun(inta,intb,long*c){}main(){ inta,b; longc; printf(“Inputa,b:”); scanf(“%d%d”,&a,&b); fun(a,b,&c); printf(“Theresultis:%ld\n”,c);}

參考答案

1.A

2.B解析:選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+7=c+b和a=a+7,因?yàn)镃語(yǔ)言規(guī)定賦值號(hào)的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等,所以a+7=c+b是錯(cuò)的。因此,正確答案是選項(xiàng)B),它相當(dāng)于a=(b=c+2),可分解為兩個(gè)表達(dá)式:b=c+2和a=b。

3.C

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

5.D

6.Cmain函數(shù)定義兩個(gè)double類(lèi)型的變量a、b,分別賦初值為2.5、9.0。另外定義兩個(gè)double類(lèi)型的指針變量pa、pb,其中pa指向a,pb指向b。然后將b-a、pa、pb傳給函數(shù)fun,此時(shí)x的值為6.5,y指向a,z指向b?!?y=*y-1.0;”是將變量a的值減去1.0賦給a,a的值為1.5;“*z=*z+x;”是將變量b的值加上6.5賦給b,b的值為15.5。fun函數(shù)執(zhí)行完畢后,輸出a的值為1.5。故本題答案為C選項(xiàng)。

7.B在C語(yǔ)言中,數(shù)組名類(lèi)似于一個(gè)指向數(shù)組首地址的指針常量,一旦定義就不能修改其內(nèi)容。所以本題中的“s+=2;”語(yǔ)句讓數(shù)組名S的內(nèi)容加2是錯(cuò)誤的,編譯無(wú)法通過(guò)。故本題答案為B選項(xiàng)。

8.D

9.D

10.CC?!窘馕觥繑?shù)據(jù)庫(kù)系統(tǒng)(DBS)由數(shù)據(jù)庫(kù)(DBS)、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)、數(shù)據(jù)庫(kù)管理員、硬件平臺(tái)和軟件平臺(tái)五個(gè)部分組成,可見(jiàn)DB和DBMS都是DBS的組成部分。

11.B常見(jiàn)的過(guò)程設(shè)計(jì)工具有圖形土具(程序流程圖、N—S圖、PAD圖、HIP0圖)、表格工具(判定表)和語(yǔ)言工具(PDL)。DFD是數(shù)據(jù)流圖,是描述數(shù)據(jù)處理過(guò)程的工具。

12.AC語(yǔ)言規(guī)定,注釋語(yǔ)句可以換行寫(xiě),并且一個(gè)“/*”和其后緊跟的第一個(gè)“*/”中間的部分是注釋內(nèi)容,并且注釋部分的內(nèi)容不參與程序的執(zhí)行,因此本題中沒(méi)有執(zhí)行“b=20”;這條語(yǔ)句。

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

14.B本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),形參是指向?qū)崊⒌闹羔樧兞浚瑒tprintf的執(zhí)行結(jié)果為++x;x=3,則3+1=4。

15.C

16.A此題是一個(gè)簡(jiǎn)單的函數(shù)調(diào)用,當(dāng)i=0并且i<30,執(zhí)行i+=10,并且調(diào)用函數(shù)f,所以當(dāng)i=0時(shí),結(jié)果為1,當(dāng)i=10時(shí),結(jié)果為101,當(dāng)i=20時(shí),結(jié)果為401,所以a=1+101+401=503。

17.C本題考查了兩層for循環(huán)。外層循環(huán)增量i的值作為內(nèi)層循環(huán)執(zhí)行次數(shù)的值使用。

18.B

19.C程序定義一個(gè)字符數(shù)組b,并使用字符串“happynewyeai”進(jìn)行初始化。然后通過(guò)for循環(huán),遍歷字符數(shù)組b中的每個(gè)字符,再將b中的字符元素修改為大寫(xiě)字母。程序輸出:HAPPYNEWYEAR。故本題答案為C選項(xiàng)。

20.C解析:整型變量x、y的初值都為1,“x++,y++,++y”是一個(gè)逗號(hào)表達(dá)式,程序執(zhí)行“z=x++,y++,++y”后,x的值為2,y的值為3,z取豆號(hào)表達(dá)式中第二個(gè)表達(dá)式的值,為1。

21.44解析:本題考查宏定義。預(yù)編譯時(shí),首先將M的宏定義帶入K,得到N+1+1*N+1/2;再將N的宏定義帶人,得到2+1+1*2+1/2=3+2+0=5,所以循環(huán)4次。

22.投影投影解析:在關(guān)系模型的數(shù)據(jù)語(yǔ)言中,一般除了運(yùn)用常規(guī)的集合運(yùn)算,(并、交,差、笛卡爾積等)外,還定義了一些專(zhuān)門(mén)的關(guān)系運(yùn)算,如投影、選擇、連接等。投影是從二維表的列方向上進(jìn)行的運(yùn)算。

23.efghefgh解析:函數(shù)*ss的作用是使字符串指針往后移strlen(s)/2個(gè)位置。形參指針a指向字符串'abcdefeh',調(diào)用函數(shù)*ss后,指針指向e,所以輸出為efgh。

24.11解析:ifelse語(yǔ)句的功能是:若表達(dá)式的值為真,執(zhí)行語(yǔ)句1,并跳過(guò)其他語(yǔ)句,執(zhí)行ifelse語(yǔ)句的下一條語(yǔ)句,若表達(dá)式的值為假,跳過(guò)語(yǔ)句1,執(zhí)行語(yǔ)句2,依次往下判斷。題中,x=3,y=2,第一個(gè)if語(yǔ)句的控制條件x<y就不滿(mǎn)足,又沒(méi)有與之配對(duì)的else語(yǔ)句,所以直接執(zhí)行printf語(yǔ)句,在整個(gè)過(guò)程中變量z的值都沒(méi)發(fā)生變化。

25.maxis2maxis2解析:函數(shù)通過(guò)參數(shù)來(lái)傳遞數(shù)據(jù)是單向的,只能由實(shí)參傳給形參而不能由形參傳給實(shí)參,但是可以通過(guò)函數(shù)的返回值將函數(shù)中的數(shù)據(jù)帶回。注意:函數(shù)的兩種調(diào)用方式及函數(shù)調(diào)用的語(yǔ)法要求。

26.1.0/i/i或1.0/(i*i)1.0/i/i或1.0/(i*i)解析:由題面中提供的計(jì)算pi的公式可知:在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將1轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。

27.11解析:首先計(jì)算if語(yǔ)句后面的表達(dá)式,根據(jù)運(yùn)算符的優(yōu)先級(jí)可知,先算“a!=0”,該值為1,再把1賦值給p,結(jié)果為1(真),執(zhí)行其后的printf語(yǔ)句,輸出的值為1。

28.m=4k=4i=5k=5m=4k=4i=5k=5解析:在主函數(shù)main()中定義了一個(gè)變量i,并賦初值4,調(diào)用fun()函數(shù)將i的初值傳遞給形參m,進(jìn)行fun()函數(shù)后的運(yùn)算,輸出結(jié)果為m=4,k=4。將k值輸出后自行增加1,k=5,此時(shí)全局變量k的值變?yōu)?。主函數(shù)中調(diào)用fun()函數(shù)后,i再自行增加1,i=5,所以主函數(shù)輸出的結(jié)果為“i=5k=5”。

29.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲(chǔ)區(qū),此題要分配11字節(jié)的單元,把11代入即可。

30.101,0解析:與運(yùn)算兩邊的語(yǔ)句必須同時(shí)為真時(shí),結(jié)果才為真,當(dāng)執(zhí)行完if((++a<0)&&!(b--<=0))時(shí),a,b的值已經(jīng)發(fā)生了變化。

31.p!=NULLcount++(*p).next

32.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用及維護(hù)等,還可以將軟件生命周期分為三個(gè)階段:①軟件定義階段:可行性研究和需求分析;②軟件開(kāi)發(fā)階段:設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試;③軟件運(yùn)行維護(hù)階段:交付使用和維護(hù)。

33.1212解析:循環(huán)語(yǔ)句中,表達(dá)式num%10是取num的個(gè)位。循環(huán)直至num為0結(jié)束,這是逐一求出num+進(jìn)制表示的各位數(shù)字,并累乘于變量k中。函數(shù)最后返回k,所以程序輸出12。

34.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,某些屬性和方法是可以共享的,由于類(lèi)從父類(lèi)中繼承而來(lái),這樣提高了軟件的可重用性。

35.44解析:在主函數(shù)中,語(yǔ)句p=a;p++使用指針p指向數(shù)組a[1],所以輸出結(jié)果為4。

36.時(shí)間時(shí)間解析:算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。

37.ASCⅡ

38.p=(double*)malloc(sizeof(double)):或p=(double*)malloc(8);p=(double*)malloc(sizeof(double)):或p=(double*)malloc(8);解析:malloc()函數(shù)只有一個(gè)參數(shù),該參數(shù)指定了需要分配多少字節(jié)的內(nèi)存。然后將分配好的內(nèi)存塊的首地址作為void*(未知類(lèi)型指針)返回.故標(biāo)準(zhǔn)的調(diào)用形式應(yīng)該寫(xiě)成:

p(double*)malloc(sizeof(double));

39.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測(cè)試字符串常量的長(zhǎng)度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實(shí)現(xiàn)了將字符數(shù)組中每個(gè)非‘\\0’的字符后插入字符‘*’的功能。故輸出結(jié)果是a*b*c*d*。

40.tueday=2sunday=7;tueday=9sunday=3;1234567

41.B解析:表達(dá)式x=y||y<z&&z==z中共有5種運(yùn)算符,其優(yōu)先級(jí)從高到低排列依次是:小于<、等于==、邏輯與&&、邏輯或||、賦值二。所以原式可看做x=(y||(y<z&&z==z)),在子表達(dá)式y(tǒng)||(y<z&&z==z)中,因?yàn)閥=3為真,而真||任何數(shù)都為真,所以表達(dá)式等價(jià)于x=真=1,故整個(gè)表達(dá)式的值為1,應(yīng)該選擇B。

42.B解析:實(shí)參可以是常量、變量或表達(dá)式,(exp1,exp2)是逗號(hào)表達(dá)式,它的值是exp2的值;(exp3,exp4,exp5)是逗號(hào)表達(dá)式,它的值是exp5的值。所以該函數(shù)調(diào)用語(yǔ)句含有的實(shí)參個(gè)數(shù)是2,即:(exp1,exp2)和(exp3,exp4,exp5)。

43.D解析:線(xiàn)性表可以為空表,排除選項(xiàng)B。第一個(gè)元素沒(méi)有直接前件,最后一個(gè)元素沒(méi)有直接后件,故排除選項(xiàng)A。線(xiàn)性表的定義中,元素的排列沒(méi)有規(guī)定大小順序,故選項(xiàng)C也有誤,只有D項(xiàng)是正確的。

44.A

45.D解析:內(nèi)聚性是—個(gè)模塊內(nèi)部各元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚共有7類(lèi),它們之間的內(nèi)聚性由弱到強(qiáng)排列順序?yàn)椋号既粌?nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚、過(guò)程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚和功能內(nèi)聚。

46.C解析:數(shù)據(jù)流相當(dāng)于一條管道,并有一級(jí)數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實(shí)體流向系統(tǒng)或從系統(tǒng)流向外部實(shí)體。

47.B解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),形參是指向?qū)崊⒌闹羔樧兞?,則printf的執(zhí)行結(jié)果為3+1=4。

48.A解析:-1為帶符號(hào)的整型數(shù),在內(nèi)存中的存放形式為1111111111111111。按帶爺號(hào)的整型格式輸出仍為-1;按無(wú)帶符號(hào)的整數(shù)輸出為65535(將1111111111111111轉(zhuǎn)換為十進(jìn)制數(shù));按八進(jìn)制數(shù)輸出為177777(將1111111111111111轉(zhuǎn)換為八進(jìn)制數(shù),方法為由低位到高位,每三位一組,用一個(gè)八進(jìn)制數(shù)代替);按八進(jìn)制數(shù)輸出為ffff(將1111111111111111轉(zhuǎn)換為十六進(jìn)制數(shù),方法為由低位到高位,每四位一組,用一個(gè)十六進(jìn)制數(shù)代替)。

49.A解析:本題考查while循環(huán).y的值在while循環(huán)的控制表達(dá)式中加1,在循環(huán)體內(nèi)減1,所以總的y值不變,且控制條件++y永遠(yuǎn)非零。當(dāng)x加到7時(shí)不滿(mǎn)足循環(huán)條件,結(jié)束循環(huán)。

50.B解析:鏈表采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:①每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間;②鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。

51.B解析:本題考查二叉樹(shù)的性質(zhì)。葉子結(jié)點(diǎn)即度為0的結(jié)點(diǎn),它總是比度為2的結(jié)點(diǎn)多一個(gè),所以,具有60個(gè)葉子結(jié)點(diǎn)的二叉樹(shù)有59個(gè)度為2的結(jié)點(diǎn)。總結(jié)點(diǎn)數(shù)等于個(gè)葉子結(jié)點(diǎn)加上59個(gè)度為2的結(jié)點(diǎn)再加上50個(gè)度為1的結(jié)點(diǎn)的和,一共為169個(gè)結(jié)點(diǎn)。

52.D解析:主函數(shù)的第一個(gè)參數(shù)argc為整形參數(shù),記下從命令行輸入的參數(shù)的個(gè)數(shù);第二個(gè)參數(shù)argv是一個(gè)字符型的指針數(shù)組,它的每一個(gè)元素指向命令行輸入的參數(shù)字符數(shù)。在本例中argc的值為5,argv[0]指向字符串“ex”,argv[l]指向參數(shù)字符串“abcd”,argv[2]指向字符串“efg”,argv[3]指向參數(shù)字符串“h3”,argv[4]指向參數(shù)字符串“k44”。在main()函數(shù)中,for循環(huán)執(zhí)行了兩次,當(dāng)i=1時(shí),len=O+strlen(argv[1]),而其中argv[l]=“abcd”,故此時(shí)len的值為4;當(dāng)i=3時(shí),len=4+strlen(argv[3]),而其中argv[3]=“h3”,故此時(shí)len的值為6;當(dāng)i=5時(shí),退出循環(huán),故最后輸出的len值為6。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

53.B解析:全程變量是可以在子函數(shù)中對(duì)其值作改變,且它也可作為函數(shù)間的值傳遞。但當(dāng)函數(shù)或子函數(shù)中定義了與全程變量名稱(chēng)相同的局部變量,則全程變量將被屏蔽。

54.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長(zhǎng)度。

55.C解析:本題考查對(duì)數(shù)組的理解。C語(yǔ)言規(guī)定只能逐個(gè)引用數(shù)組元素,而不能一次引用整個(gè)數(shù)組。對(duì)于字符數(shù)組,可以將整個(gè)字符串一次輸入或輸出。所以,選項(xiàng)C)不正確。

56.C解析:計(jì)算機(jī)語(yǔ)言分為低級(jí)語(yǔ)言和高級(jí)語(yǔ)言,C語(yǔ)言屬于高級(jí)語(yǔ)言,但并非比其他語(yǔ)言高級(jí),選項(xiàng)A)錯(cuò)誤;除了機(jī)器語(yǔ)言外,其他各種語(yǔ)言都必須編譯成能被計(jì)算機(jī)識(shí)別的機(jī)器代碼才能執(zhí)行,選項(xiàng)B)錯(cuò)誤;C語(yǔ)言出現(xiàn)于1972年至1973年,并不是出現(xiàn)最晚的語(yǔ)言,選項(xiàng)D)錯(cuò)誤。

57.D解析:&是按位“與”運(yùn)算符,若參加運(yùn)算的兩個(gè)運(yùn)算量的相應(yīng)位都為1,則該位的結(jié)果值為1,否則為0?!恰叭》础边\(yùn)算符,用來(lái)對(duì)一個(gè)二進(jìn)制數(shù)按位取反,即將0變1,1變0。對(duì)于x/y&~z,先計(jì)算x/y的值,結(jié)果為1,用十六進(jìn)制表示為0001;z用十六進(jìn)制表示為0001,則~z為FFFE;最后進(jìn)行&運(yùn)算,整個(gè)表達(dá)式的值為0。

58.B解析:選項(xiàng)A)中,定義的初值個(gè)數(shù)大于數(shù)組的長(zhǎng)度;選項(xiàng)C)中,數(shù)組名后少了中括號(hào);選項(xiàng)D)中,整型數(shù)組不能賦予字符串。

59.D解析:“%”是求余運(yùn)算符,其兩側(cè)的數(shù)值只能為整型,不能用于實(shí)型數(shù)據(jù)的運(yùn)算。

60.A解析:C語(yǔ)言中[]比*優(yōu)先級(jí)高,因此line先與[5]結(jié)合,形成line[5]形式,這是數(shù)組形式,它有5個(gè)元素,然后再與line前面的“*”結(jié)合,表示此數(shù)組是一個(gè)指針數(shù)組,每個(gè)數(shù)組元素都是一個(gè)基類(lèi)型為char的指針變量。

61.A

62.A\n軟件危機(jī)是計(jì)算機(jī)軟件在它的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。主要表現(xiàn)在以下六個(gè)方面:軟件需求的增長(zhǎng)得不到滿(mǎn)足;軟件開(kāi)發(fā)成本和進(jìn)度無(wú)法控制;軟件質(zhì)量難以保證;軟件可維護(hù)性差;軟件的成本不斷提高;軟件開(kāi)發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長(zhǎng)。

溫馨提示

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

評(píng)論

0/150

提交評(píng)論