2021年安徽省銅陵市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第1頁(yè)
2021年安徽省銅陵市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第2頁(yè)
2021年安徽省銅陵市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第3頁(yè)
2021年安徽省銅陵市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第4頁(yè)
2021年安徽省銅陵市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第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ì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.若有定義"int(*pt)[3];",則下列說(shuō)法正確的是()。

A.定義了基類(lèi)型為int的三個(gè)指針變量

B.定義了基類(lèi)型為int的具有三個(gè)元素的指針數(shù)組pt

C.定義了一個(gè)名為*pt、具有三個(gè)元素的整型數(shù)組

D.定義了一個(gè)名為pt的指針變量,它可以指向每行有三個(gè)整數(shù)元素的二維數(shù)組

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

B.1,2,6,8,10,12,7,8,9,10,

C.1,2,3,4,10,12,14,16,9,10,

D.1,2,6,8,10,12,14,16,9,10,

3.線(xiàn)性表是具有n個(gè)()的有限序列。

A.表元素B.字符C.數(shù)據(jù)元素D.數(shù)據(jù)項(xiàng)

4.有以下程序:

main()

{intX,i;

for(i=1;i<=50;i++)

{x=i;

if(X%2=O)

if(x%3=O)

if(X%7=0)

printf("%d,i)";

}

}

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

A.28

B.27

C.42

D.41

5.若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對(duì)a數(shù)組元素不正確的引用是______。

A.a[p-a]B.*(&a[i])C.p[i]D.a[10]

6.如有inta=11;則表達(dá)式(a++*1/3)的值是()。

A.0B.3C.4D.12

7.在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測(cè)試計(jì)劃B.軟件詳細(xì)設(shè)計(jì)說(shuō)明書(shū)C.用戶(hù)手冊(cè)D.軟件需求規(guī)格說(shuō)明書(shū)

8.在具有101個(gè)元素的順序表中查找值為x的元素結(jié)點(diǎn)時(shí),平均比較元素的次數(shù)為()。

A.50B.51C.100D.101

9.以下不能定義為用戶(hù)標(biāo)識(shí)符的是()。

A.VoidB.scanfC.intD._3com_

10.下列描述中,不是線(xiàn)性表順序存儲(chǔ)結(jié)構(gòu)特征的是

A.不便于插入和刪除B.需要連續(xù)的存儲(chǔ)空間C.可隨機(jī)訪(fǎng)問(wèn)D.需另外開(kāi)辟空間來(lái)保存元素之間的關(guān)系

11.有下列程序:#include<stdio.h>voidfun(char*a,char*B){while(*a=='*')a++;while(*b=*A){b++;a++;}}main(){char*s="*****a*b****",t[80];fun(s,t);puts(t);程序的運(yùn)行結(jié)果是()。A.*****a*bB.a*bC.a*b****D.ab

12.有以下程序:

程序運(yùn)行后的輸出結(jié)果是()。A.4B.2C.3D.1

13.字符串"\\"ABCDEF\"\\”的長(zhǎng)度是()。

A.11B.10C.5D.3

14.

15.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.abcdefghijklmnopq

B.afgebcdhnopqmijklhnopqmijkl

C.efgabcdmnopqhijkl

D.mijklhnopqebcdafg

16.若有語(yǔ)句“typedefstructTT{charc;inta[4];}CIN;”,則下列敘述中正確的是()。

A.CIN是structTT類(lèi)型的變量

B.TT是struct類(lèi)型的變量

C.可以用TT定義結(jié)構(gòu)體變量

D.可以用CIN定義結(jié)構(gòu)體變量

17.在決定選取何種存儲(chǔ)結(jié)構(gòu)時(shí),一般不考慮()。

A.各結(jié)點(diǎn)的值如何B.結(jié)點(diǎn)個(gè)數(shù)的多少C.對(duì)數(shù)據(jù)有哪些運(yùn)算D.所用的編程語(yǔ)言實(shí)現(xiàn)這種結(jié)構(gòu)是否方便

18.數(shù)據(jù)的邏輯關(guān)系是指數(shù)據(jù)元素的()。

A.關(guān)聯(lián)B.結(jié)構(gòu)C.數(shù)據(jù)項(xiàng)D.存儲(chǔ)方式

19.C程序是由()構(gòu)成的。

A.主程序與子程序B.主函數(shù)與子函數(shù)C.一個(gè)主函數(shù)與若干個(gè)其他函數(shù)D.主函數(shù)與子程序

20.在三級(jí)模式之間引入兩層映像,其主要功能之一是()。

A.使數(shù)據(jù)與程序具有較高的獨(dú)立性B.使系統(tǒng)具有較高的通道能力C.保持?jǐn)?shù)據(jù)與程序的一致性D.提高存儲(chǔ)空間的利用率

二、2.填空題(20題)21.下面程序用來(lái)輸出結(jié)構(gòu)體變量a所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>

main()

{structstu

{charx[20];floaty;}a;

printf("asize:%d\n",sizeof(【】));

}

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

main()

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

for(p=s+1;p<s+4;p++)printf("%s\n",p);}

23.在算法的4個(gè)特性中,算法必須能在執(zhí)行有限個(gè)步驟之后終止指的是算法的______特性。

24.下列程序的運(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]);

}

25.以下程序的功能是建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過(guò)鍵盤(pán)輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

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

【】=a;q->next=p;【】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

26.若輸入tear、test、arj,則下列程序的運(yùn)行結(jié)果為【】。

main()

{char*strl[20],*str2[20],*str3[20];

charswap();

scanf("%s",str1);

scanf("%s",str2);

scanf("%s",str3);

if(strcmp(str1,str2)>0)swap(str1,str2);

if(strcmp(str1,str3)>0)swap(str1,str3);

if(strcmp(str2,str3)>0)swap(str2,str3);

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

}

charswap(p1,p2)

char*p1,*p2;

{char*p[20];

strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);

}

27.有下面的程序:

#include<stdio,h>

main()

{enumteam{my,your=4,his,her=his+10};

prinff("%d%d%d%d\n",my,your,his,her);

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

A)0123B)04010C)04515D)14515

28.有以下程序:

main()

{intt=1,i=5;

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

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

}

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

29.設(shè)某循環(huán)隊(duì)列的容量為50,頭指針front=5(指向隊(duì)頭元素的前一位置),尾指針rear=29(指向隊(duì)尾元素),則該循環(huán)隊(duì)列中共有【】個(gè)元素。

30.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類(lèi)型為_(kāi)_____。

31.已有定義:charc=′′;inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為【】。

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

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

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(6);}

34.以下程序段用于構(gòu)成一個(gè)簡(jiǎn)單的單向鏈表。請(qǐng)?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;

35.設(shè)有以下定義和語(yǔ)句,則*(*(P+2)+1)的值為【】。

int[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

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

37.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?/p>

main()

{intk,p,s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])【】

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

38.以下程序段中,錯(cuò)誤的行號(hào)是【】。①#include<stdio.h>②main()③{charstr[14];str[]={"IloveChina!"};④printf("%s",str);⑤}

39.軟件工程的出現(xiàn)是由于【】。

40.軟件是程序、數(shù)據(jù)和【】的集合。

三、1.選擇題(20題)41.設(shè)有以下定義和語(yǔ)句,輸出的結(jié)果是(用small模式編譯,指針變量占2個(gè)字節(jié))______。structdate{long*cat;structdate*next;doubledog;}too;printf("%d",sizeof(too));

A.20B.16C.14D.12

42.以下程序的輸出結(jié)果是unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf("%d\n",a.u.x);}

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

43.有關(guān)return語(yǔ)句說(shuō)法不正確的是()。

A.系統(tǒng)默認(rèn)的返回值類(lèi)型為整型,故當(dāng)函數(shù)的返回值為int型時(shí),在函數(shù)定義時(shí),返回值的類(lèi)型說(shuō)明可以省略

B.當(dāng)函數(shù)有返回值時(shí),凡是允許表達(dá)式出現(xiàn)的地方,都可以調(diào)用該函數(shù)

C.當(dāng)函數(shù)沒(méi)有返回值時(shí),函數(shù)的返回值類(lèi)型可以說(shuō)明為void型,它表示“無(wú)類(lèi)型”或“空類(lèi)型”

D.函數(shù)的返回值類(lèi)型必須與return語(yǔ)句中的表達(dá)式值的類(lèi)型一致,但C語(yǔ)言也允許不同;這時(shí),系統(tǒng)以函數(shù)定義時(shí)的返回值類(lèi)型說(shuō)明為準(zhǔn),并自動(dòng)地將return語(yǔ)句中表達(dá)式的值轉(zhuǎn)換為函數(shù)的返回值類(lèi)型

44.下面程序的輸出結(jié)果是()。#include<stdio.h>#include<string.h>main(){charp1[]="WHO",p2[]="who",str[50]="xyz";strcpy(str+1,strcat(p1,p2));printf("%s",str);}

A.xyzWHOwhoB.zWHOwhoC.zWHOwhoD.xWHOwho

45.有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}該程序的輸出結(jié)果是______。

A.12B.13C.14D.15

46.以下程序的輸出結(jié)果是intf(){stadcinti=0;ints=1;s+=i;i++;returns;}main(){inti,a=0;for(i=0;i<5;i++)a+=f();printf(“%d\n”,A);}

A.20B.24C.25D.15

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

48.若以下定義:structlink{intdata;strucklink*next;}a,b,c,*p,*q;且變量a和b之間已有下圖所示的鏈表結(jié)構(gòu):

指針p指向變量a,q指向變量c,則能夠把c插入到a和b之間并形成新的鏈表的語(yǔ)句組是()。

A.a.next=c;c.next=b;

B.p.next=q;q.next=p.next;

C.p->next=&c;q->next=p>next;

D.(*p).next=q;(*q).next=&b;

49.以下程序輸出正確的是_______amovep(int*p,int(*a)[3],intn){inti,j;for(i=0;i<n;i++)for(j=0;j<n;j++){*p=a[i][j];p++;}}main(){int*p,a[3][3]={{1,3,5},{2,4,6}};p=(int*)mallox(100)amovep)p,a,3);printf("%d%d\n",p[2],p[5]);free(p)}

A.56B.25C.34D.程序錯(cuò)誤

50.若變量已正確定義并賦值,下面符合C語(yǔ)言的表達(dá)式是_____。

A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b

51.不能把字符串"Hello!"賦給數(shù)組b的語(yǔ)句是______。

A.charb[10]={'H','e','l','l','o','!'};

B.charb[10]={'h','e','l','l','o','!'};

C.charb[10];strcpy(b,"Hello!");

D.charb[10]="Hello!";

52.若k是int型變量,且有下面程序片段:k=-3;if(k<=0)printf("####")elseprintf("&&&&")上面程序片段的輸出結(jié)果是()

A.####

B.&&&&

C.###&&&&

D.有語(yǔ)法錯(cuò)誤,無(wú)輸出結(jié)果

53.以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入。()#inelude<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",______);┇}

A.a+(i++)B.&a[i+1]C.a+iD.&a[i++]

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

A.程序就是軟件

B.軟件開(kāi)發(fā)不受計(jì)算機(jī)系統(tǒng)的限制

C.軟件既是邏輯實(shí)體,又是物理實(shí)體

D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合

55.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}執(zhí)行扣輸出的結(jié)果是

A.11122B.12C.12020D.120

56.面向?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)域的概念去思考

57.下列程序是將一個(gè)十進(jìn)制正整數(shù)轉(zhuǎn)化為一個(gè)八進(jìn)制數(shù),在程序的空白處應(yīng)填入的語(yǔ)句是_______。#include<stdio.h>main(){inti=9,a,b[10]={0};scanf("%d",&A);sub(a,B);for(;i>=0;i--)printf("%d",b[i]);}sub(intc,intd[]){inte,i=0;while(c!=0){e=c%8;d[i]=e;________.i++;}return;}

A.c=e/8B.c=c%8C.c=c/8D.c=e%8

58.字符串"%%\"ABCDEF\"\\"的長(zhǎng)度是()。

A.11B.10C.5D.3

59.有如下程序:longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf("%ld\n",fib(3));}該程序的輸出結(jié)果是______。

A.2B.4C.6D.8

60.設(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])

四、選擇題(20題)61.有如下程序:

main

{inta=2,b=-1.c=2;

if(a<b)if(b<0)c=0;

elsec++;

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

}

該程序的輸出結(jié)果是()。A.A.0B.1C.2D.3

62.

63.執(zhí)行下列程序時(shí)輸入:123<空格>456<空格>789<回車(chē)>輸出結(jié)果是main(){chars[100];intc,i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}

A.123,456,789B.1,456,789C.1,23,456,789D.1,23,456

64.假定已建立以下鏈表結(jié)構(gòu),且指針P和q已指向如圖所示的結(jié)點(diǎn):

則以下選項(xiàng)中可將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是()。

A.p一>next=q一>next;flee(q);

B.p=q一>next;free(q);

C.p=q;free(q);

D.(*p).next=(幸q).next;ffee(p);

65.

66.下列程序的輸出結(jié)果是()。#include<stdio.h>main{inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1;case2:a+=2;default:a+=3;}}printf("%d",a);}A.19B.1C.6D.8

67.(31)算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成()

A.循環(huán)、分支、遞歸

B.順序、循環(huán)、嵌套

C.循環(huán)、遞歸、選擇

D.順序、選擇、循環(huán)

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

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

69.若有說(shuō)明“chars1[30]="abc",s2[]="defghi";",則在使用函數(shù)stoat(s1,s2)后,結(jié)果是()。

A.s1的內(nèi)容更新為abcdefghi

B.s1的內(nèi)容更新為defghi\0

C.s1的內(nèi)容更新勾defghiabc\0

D.s1的內(nèi)容更新為abcdefghi\0

70.若有定義:doublea=22;inti=0,k=18;,則不符合c語(yǔ)言規(guī)定的賦值語(yǔ)句是()。

A.i=(a+k)<=(i+k);B.i=a%11;C.a=a++,i++;D.i=!a;

71.若有以下的定義:‘intt[3][2];”,能正確表示t數(shù)組元素地址的表達(dá)式是()。

A.&t[3][2]B.t[3]C.t[l]D.t[2][2]

72.下列選項(xiàng)中不是字符常量的是()。

A.'\v'B.'\x2a'C.'a'D."\0"

73.

74.C語(yǔ)言中,合法的字符型常數(shù)是_________。

A.‘A’B.“A”C.65D.A

75.

76.設(shè)有如下說(shuō)明:

以下說(shuō)法正確的是()。

A.NEW是一個(gè)結(jié)構(gòu)體變量

B.NEW是一個(gè)結(jié)構(gòu)體類(lèi)型

C.ST是一個(gè)結(jié)構(gòu)體類(lèi)型

D.以上說(shuō)明形式非法

77.有以下程序

#include<stdio.h>

voidfun(ints[])

{staticintj=0;

do

s[j]+=s[j+1];

while(++j<2);

}

main()

{

intk,a[10]={1,2,3,4,5};

for(k=1;k<3;k++)fun(a);

for(k=0;k<5;k++)

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

}

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

A.34756B.23445

C.35745D.12345

78.設(shè)有以下語(yǔ)句:inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,c的值為()。A.6B.7C.8D.9

79.(27)程序流程圖(PFD)中的箭頭代表的是()

A.數(shù)據(jù)流

B.控制流

C.調(diào)用關(guān)系

D.組成關(guān)系

80.若有以下說(shuō)明和語(yǔ)句:

sturctst

{intn;char*ch;};

structsta[3]={5,"abc",7,"def",9,"ghk"},*p=a;

則值為6的表達(dá)式是()。

A)p++->nB)p->n++

C)(*p).n++D)++p->n

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求S的值。設(shè)例如,當(dāng)k為20時(shí),函數(shù)的值應(yīng)為1.551759。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)—個(gè)函數(shù),用來(lái)刪除字符串中的所有空格。例如,輸入asdafaaz67,則輸出為asdafaaz67。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.D\n數(shù)組指針是指向數(shù)組的一個(gè)指針,int(*pt)[3]表示一個(gè)指向3個(gè)int元素的數(shù)組的一個(gè)指針。

\n

2.B數(shù)組名相當(dāng)于常量,表示的是數(shù)組首元素的地址。當(dāng)執(zhí)行函數(shù)f(a)的時(shí)候,因?yàn)閭鬟f的是首地址,相當(dāng)于直接對(duì)數(shù)組a進(jìn)行操作,所以從數(shù)組a的第3個(gè)元素a[2]到元素a[5],每個(gè)元素值擴(kuò)大兩倍。故本題答案為B選項(xiàng)。

3.A

4.C\n只有當(dāng)3個(gè)if條件同時(shí)成立,即能夠同時(shí)被2、3、7整除時(shí),才輸出i的值,而從0到50能夠同時(shí)被2、3、7整除的數(shù)只有42,故選擇c選鞏。

\n

5.D解析:通常,引用一個(gè)數(shù)組元素可以用下標(biāo)法,如a[P-a]形式,或指針?lè)?,?(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開(kāi)始的。

6.B

7.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)、需求評(píng)審四個(gè)方面。所以選擇D。

8.B

9.C標(biāo)識(shí)符的命名可以由字母、數(shù)字或下劃線(xiàn)組成,并且第1個(gè)字符必須為字母或下劃線(xiàn),另外用戶(hù)標(biāo)識(shí)符不能使用關(guān)鍵字。選項(xiàng)A中的Void可以定義為用戶(hù)標(biāo)識(shí)符,因?yàn)镃語(yǔ)言對(duì)大小寫(xiě)敏感,Void與關(guān)鍵字void屬于不同的標(biāo)識(shí)符;選項(xiàng)B中的scanf是庫(kù)函數(shù)名,屬于預(yù)定義標(biāo)識(shí)符,它也可以作為用戶(hù)標(biāo)識(shí)符使用,不過(guò)通常不建議這么使用;選項(xiàng)C中的int屬于關(guān)鍵字,錯(cuò)誤;選項(xiàng)D符合標(biāo)識(shí)符的命名規(guī)則,也不屬于關(guān)鍵字,可以作為標(biāo)識(shí)符使用。本題答案為C選項(xiàng)。

10.D解析:線(xiàn)性表的順序存儲(chǔ)是用一片連續(xù)的空間來(lái)存放數(shù)據(jù)元素,其特點(diǎn)是邏輯上相鄰的元素在物理位置上也相鄰。數(shù)據(jù)元素之間邏輯上的先后關(guān)系自動(dòng)隱含在物理位置的相鄰元素之中,因此,不需要另外開(kāi)辟空間來(lái)保存元素之間的關(guān)系。

11.C解析:主函數(shù)main()定義了指向字符串的指針和一個(gè)字符數(shù)組,接著調(diào)用fun(s,t)函數(shù),進(jìn)行實(shí)參向形參傳遞,函數(shù)fun()第一個(gè)while語(yǔ)句判斷*a中的值為“*”時(shí)繼續(xù)掃描,當(dāng)遇到不是“*”時(shí)結(jié)束,接著第二個(gè)while循環(huán)語(yǔ)句,將*a中從“a”開(kāi)始的后續(xù)所有字符都賦予*b,也就是t[80]中的內(nèi)容為“a*b****”,所以此題的運(yùn)行結(jié)果為選項(xiàng)C)。

12.D條件表達(dá)式形式:表達(dá)式1?表達(dá)式2:表達(dá)式3。當(dāng)表達(dá)式1的值為非零值時(shí),整個(gè)表達(dá)式的值是表達(dá)式2的值;當(dāng)表達(dá)式1的值為零值時(shí),整個(gè)表達(dá)式的值是表達(dá)式3的值。題干中的表達(dá)式是嵌套的條件表達(dá)式w﹤x?w:z﹤y?z:x,等價(jià)于w﹤x?w:(z﹤y?z:x)。由于w取值為4,x取值為3,所以w﹤x的值為零值,整個(gè)表達(dá)式的值為z﹤y?z:x,z取值為1,y取值為2,所以z﹤y的值為非零值,整個(gè)表達(dá)式的值為z的值1。本題答案為D選項(xiàng)。

13.B解析:本題涉及字符串的兩個(gè)最基本的概念。①字符串的長(zhǎng)度是指字符串中字符的個(gè)數(shù),但不包含字符串結(jié)束符;②以反斜線(xiàn)“\\”開(kāi)頭的特殊字符序列,意思是把反斜線(xiàn)后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來(lái)的含義,不包含在字符串長(zhǎng)度之內(nèi),“\\”連同后面的字符為一個(gè)長(zhǎng)度。

14.A

15.B程序首先定義二維字符數(shù)組v,使用4個(gè)字符串初始化,另外定義字符指針數(shù)組P。通過(guò)第1個(gè)for循環(huán),將v的4個(gè)字符串的首地址賦給p。第2for循環(huán)通過(guò)兩層內(nèi)嵌循環(huán)將p中元素指向的字符串首字母進(jìn)行排序交換。規(guī)則是將指向的字符串的首字母字符按照字母表中的順序排序后交換。注意,這里交換的是首字母,而不是整個(gè)字符串,所以程序輸出:afgebcdhnopqmijkl。本題答案為B選項(xiàng)。

16.DCIN為結(jié)構(gòu)體類(lèi)型名,而不是結(jié)構(gòu)體變量。故本題答案為D選項(xiàng)。

17.A

18.A

19.B

20.AA.【解析】數(shù)據(jù)庫(kù)管理系統(tǒng)在數(shù)據(jù)庫(kù)的三級(jí)模式之間提供了兩層映像,保證了數(shù)據(jù)庫(kù)中數(shù)據(jù)的較高的邏輯獨(dú)立性和物理獨(dú)立性。使系統(tǒng)具有較高的通道能力和提高存儲(chǔ)空間的利用率是操作系統(tǒng)的職能,而不是數(shù)據(jù)庫(kù)管理系統(tǒng)的職能。在數(shù)據(jù)庫(kù)系統(tǒng)中沒(méi)有“數(shù)據(jù)和程序一致性”這一概念。

21.dd解析:d被定義為一個(gè)結(jié)構(gòu)體類(lèi)型變量,求結(jié)構(gòu)體變量a所占存儲(chǔ)單元的字節(jié)數(shù)即sizeof(d)。

22.BCDCDDBCD\r\nCD\r\nD解析:本題考查指向字符串的指針的運(yùn)算方法。指針變量p首先指向字符串中的第一個(gè)字符A,執(zhí)行p=s+1后,p指向字符串中的第二個(gè)字符B,然后輸出值'BCD'并換行,依次執(zhí)行循環(huán)語(yǔ)句。

23.有窮性有窮性解析:算法的4個(gè)基本特性包括:可靠性、確定性、有窮性和擁有足夠的情報(bào),其中,算法的有窮性指的是算法必須在有限的時(shí)間內(nèi)完成,即算法必須在執(zhí)行有限個(gè)步驟之后終止。

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

25.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對(duì)結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類(lèi)型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。

26.arjteartest

27.CC解析:枚舉的語(yǔ)法規(guī)定,當(dāng)枚舉元素沒(méi)有賦值時(shí),如果前面沒(méi)有其他枚舉元素,其值為0;如果前面有其他枚舉元素,其值為前一個(gè)元素的值加1,所以his的值為5,her的值為15。

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

29.2424解析:在循環(huán)隊(duì)列中因?yàn)轭^指針指向的是隊(duì)頭元素的前一個(gè)位置,所以是從第6個(gè)位置開(kāi)始有數(shù)據(jù)元素,所以隊(duì)列中的數(shù)據(jù)元素的個(gè)數(shù)為29-5=24。

30.整型整型解析:上面的表達(dá)式中,通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換把最后參與運(yùn)算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類(lèi)型。

31.11解析:字符空格的ASCII碼不為0,所以本題中表達(dá)式\ue008!c\ue009的值為0,b=0&&1的結(jié)果顯然為0。

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

33.136136解析:本題考核的知識(shí)點(diǎn)是函數(shù)遞歸。主函數(shù)調(diào)用函數(shù)fun(6),由于6/2>0為真遞歸調(diào)用fun(3),接著遞歸調(diào)用fun(1),輸出1,返回上一層輸出3,在返回上一層輸出6。故空格處應(yīng)該填136。

34.structSTRU*

35.6060解析:本題定義了一個(gè)3行2列的二維數(shù)組a,并定義了一個(gè)指向兩個(gè)元素的一維數(shù)組指針p,讓p指向二維數(shù)組a的首行。*(*(p+2)+1)是引用a[2][1],其值是60。

36.數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)解析:數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。(1)人工管理階段。這一階段的計(jì)算機(jī)主要用于科技計(jì)算。外存只有磁帶、卡片和紙帶等,軟件只有匯編語(yǔ)言,尚無(wú)數(shù)據(jù)管理方面的軟件。數(shù)據(jù)處理方式是批處理。(2)文件系統(tǒng)階段。文件系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展的初級(jí)階段,它提供了簡(jiǎn)單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無(wú)法提供完整的、統(tǒng)一的管理和數(shù)據(jù)共享的能力。由于它的功能簡(jiǎn)單,因此它附屬于操作系統(tǒng)而不能成為獨(dú)立的軟件,目前一般將其看成僅是數(shù)據(jù)庫(kù)系統(tǒng)的雛形,而不是真正的數(shù)據(jù)庫(kù)系統(tǒng)。(3)數(shù)據(jù)庫(kù)系統(tǒng)階段。數(shù)據(jù)庫(kù)階段用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)模型,有較高的數(shù)據(jù)獨(dú)立性。數(shù)據(jù)庫(kù)系統(tǒng)為用戶(hù)提供了方便的用戶(hù)接口,用戶(hù)可使用查詢(xún)語(yǔ)言或終端命令操作數(shù)據(jù)庫(kù),也可以用程序方式(用COBOL、C一類(lèi)高級(jí)語(yǔ)言和數(shù)據(jù)庫(kù)語(yǔ)言編制的程序)操作數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理系統(tǒng)提供了數(shù)據(jù)控制功能。

37.k=p;k=p;解析:為尋找數(shù)組中最大元素的下標(biāo),需先預(yù)設(shè)1個(gè)臨時(shí)最大元素的下標(biāo),并順序逐一考查數(shù)組的元素,當(dāng)發(fā)現(xiàn)當(dāng)前元素比臨時(shí)最大元素更大時(shí),就用當(dāng)前元素的下標(biāo)更新臨時(shí)最大元素下標(biāo)。直至考查了數(shù)組的全部元素后,這臨時(shí)最大元素下標(biāo)就是數(shù)組的最大元素下標(biāo)。通常預(yù)設(shè)的最大元素下標(biāo)是數(shù)組的首元素下標(biāo),考查通常從首元素開(kāi)始順序向后繼元素考查。程序中,存儲(chǔ)臨時(shí)最大元素下標(biāo)的變量是k,變量p控制順序考查的循環(huán)控制變量。當(dāng)發(fā)現(xiàn)當(dāng)前元素s[p]比臨時(shí)最大元素s[k]更大時(shí),應(yīng)該用p更新k,所以在空框處應(yīng)填入代碼'k=p;'。

38.③數(shù)組可以在定義時(shí)整體賦初值,但不能在賦值語(yǔ)句中整體賦初值。因此,可將第三行改為charstr[14]={"IloveChina!"};

39.軟件危機(jī)的出現(xiàn)軟件危機(jī)的出現(xiàn)

40.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。

41.D解析:sizeof函數(shù)計(jì)算已知類(lèi)型所占的字節(jié)數(shù)。結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。指針變量占2個(gè)字節(jié),所以cat和*next各占2個(gè)字節(jié);double型占8個(gè)字節(jié),故too共占12個(gè)字節(jié)。

42.D解析:本題考查共用體變量起作用的范圍。共用體變量中起作用的成員是最后一次存放的成員,在存入一個(gè)新的成員后原有的成員就失去作用,在本題中,當(dāng)對(duì)a.u.y成員賦值時(shí),a.u.x的值就不存在了,當(dāng)對(duì)a.u.2賦值時(shí),a.u.y的值就不存在了。

43.D函數(shù)的返回值類(lèi)型一般與return語(yǔ)句中的表達(dá)式值的類(lèi)型一致,但C語(yǔ)言也允許不同;這時(shí),系統(tǒng)以函數(shù)定義時(shí)的返回值類(lèi)型說(shuō)明為準(zhǔn),并自動(dòng)地將return語(yǔ)句中表達(dá)式的值轉(zhuǎn)換為函數(shù)的返回值類(lèi)型。

44.D

45.D解析:調(diào)用函數(shù)func(x,y),返回x+y,即7;再調(diào)用函數(shù)func(7,z),返回7+z,即15。

46.D解析:在C語(yǔ)言中聲明為static型的變量,在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存的靜態(tài)存儲(chǔ)區(qū)中占據(jù)永久性的存儲(chǔ)單元。即使退出函數(shù)后,下次再進(jìn)入該函數(shù)時(shí),靜態(tài)局部變量仍使用原來(lái)的存儲(chǔ)單元。由于并不釋放這些存儲(chǔ)單元,因此這些存儲(chǔ)單元中的值得以保留;因而可以繼續(xù)使用存儲(chǔ)單元中原來(lái)的值。本題中函數(shù)f()中定義了一個(gè)static型變量i,故每調(diào)用一次函數(shù)f(),i的值加1,返回s的值等于i,在主函數(shù)中用了一個(gè)for循環(huán),該循環(huán)執(zhí)行了5次,每次都調(diào)用f()函數(shù),將其返回值累加到變量a中,故最后a的值為1+2+3+4+5=15。

47.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ǔ)表示形式。

48.D解析:在本題,扣指針p指向變量a,q指向變量c。要把c插入到變量a和變量b之間,就應(yīng)該首先讓變量a的指針域指向變量c,即(*p).next=q,然后讓變量c的指針域指向變量b,即(*q).next=&b。所以,4個(gè)選項(xiàng)中D為所選。

49.A解析:本題main函數(shù)中定義了指針p和二維數(shù)組a,通過(guò)函數(shù)amovep將數(shù)組的值存入指針p所指向的存儲(chǔ)單元中,a的各元素分別:a[0][0]=1,a[0][1]=3,a[0][1]=3,a[0][2]=5,a[1][2]=2,a[1][1]=4,a[1][2]=6,a[2][0]=0,a[2][1]=0,a[2][2]=0。通過(guò)malloc()函數(shù)給指針?lè)峙鋬?nèi)存空間,free()函數(shù)用于釋放指針變量所用內(nèi)存空間。在主函數(shù)中通過(guò)amovep(p,a,3)調(diào)用函數(shù)amovep,使得實(shí)參p與形參P,實(shí)參數(shù)組a與形參中指向數(shù)組的指針變量共用同一存儲(chǔ)空間。最后輸出p[2],p[5]為56。

50.B解析:選項(xiàng)A和C一望而知其錯(cuò);對(duì)于表達(dá)式a=a+7=c+b(答案D),是先執(zhí)行賦值表達(dá)式a+7=c+b,再把這個(gè)表達(dá)式的值賦給a,顯然,表達(dá)式a+7=c+b非法,因?yàn)橘x值表達(dá)式的左側(cè)不能為常量或表達(dá)式。

51.B解析:在C語(yǔ)言中,大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符,因此,“hello!”和“Hello!”是兩個(gè)不同的字符串。

52.D

53.D

54.D\r\n軟件是與計(jì)算機(jī)操作相關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù);軟件開(kāi)發(fā)要受到計(jì)算機(jī)系統(tǒng)的限制;軟件是一個(gè)邏輯實(shí)體,不是物理實(shí)體,軟件具有抽象性。因此選項(xiàng)D正確。

55.A解析:本題考核的知識(shí)點(diǎn)是for循環(huán)和switch語(yǔ)句的綜合運(yùn)用。for循環(huán)執(zhí)行了3次,第一次時(shí)i的值為0,執(zhí)行其后的switch語(yǔ)句,沒(méi)有匹配的case,執(zhí)行default語(yǔ)句后的pdntf語(yǔ)句,輸出為0;第二次循環(huán)時(shí)i的值為1,執(zhí)行其后的switch語(yǔ)句,與第一個(gè)case分支匹配,執(zhí)行其后的printf語(yǔ)句,輸出1,由于沒(méi)有遇到break語(yǔ)句,所以一直向下執(zhí)行,又輸出了兩個(gè)1,第三次循環(huán)時(shí)i值為2,執(zhí)行其后的switch語(yǔ)句,同理輸出兩個(gè)2。所以,A選項(xiàng)為所選。

56.C解析:面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過(guò)程的方法有本質(zhì)不同。它的基本原理是,使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。它強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,它鼓勵(lì)開(kāi)發(fā)者在軟件開(kāi)發(fā)的絕大部分中都用應(yīng)用領(lǐng)域的概念去思考。

57.C解析:本題主要考查了進(jìn)制轉(zhuǎn)換的除余取整法。本算法中,是先對(duì)數(shù)c除8取余作為轉(zhuǎn)換后的8進(jìn)制數(shù)的第1位,然后對(duì)c整除以8的商作同樣的操作,直到商為0為止,因此本題應(yīng)選C。

58.B

59.B解析:函數(shù)fib內(nèi)部有兩個(gè)遞歸調(diào)用,當(dāng)n=3時(shí),fib(n-1)返回2,fib(n-2)也返回2,所以fib(n-1)+fib(n-2)的值為4。

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

61.Celse與離它最近的if構(gòu)成if…else語(yǔ)句,而當(dāng)a為2時(shí),第一個(gè)if語(yǔ)句不成立,因此什么也不做,即c的值仍然為2,故選擇C選項(xiàng)。

62.D\r\n

63.D解析:根據(jù)給定的數(shù)據(jù)輸入格式:123<空格>456<空格>789<回車(chē)>,第一個(gè)scanf語(yǔ)句中,格式字符為“%c”,只能得到一個(gè)字符\'1\',第二個(gè)scanf語(yǔ)句中格式字符為“%d”,變量i得到的數(shù)值為23,第三個(gè)scanf語(yǔ)句中格式字符為“%s”,遇到空格就自動(dòng)結(jié)束,因此字符數(shù)組s得到的是'456\\0”。因而正確答案為選項(xiàng)D。

64.A本題考查刪除鏈表中的結(jié)點(diǎn)操作,其方法是將要?jiǎng)h除結(jié)點(diǎn)的上個(gè)結(jié)點(diǎn)的下個(gè)結(jié)點(diǎn)指向要?jiǎng)h除結(jié)點(diǎn)的下個(gè)結(jié)點(diǎn),然后釋放該要?jiǎng)h除結(jié)點(diǎn),所以選項(xiàng)A正確。

65.B

66.A本題考查switch語(yǔ)句。當(dāng)i一1時(shí),執(zhí)行case1,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,“a=a+2=2,a=a+3=5”;當(dā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)論