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

一、單選題(20題)1.有以下程序

#include<stdio.h>

voidfun(intx)

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

printf(”%d”,x);

}

main()

{fun(7);printf(”\n”);}

程序運(yùn)行后的輸出結(jié)果是()。A.137B.731C.73D.37

2.下列程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){inta=0,b=1,c=2;if(++a>0‖++b>0)++c;printf("%d,%d,%d",a,b,c);}

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

3.在ASC算法team日常開(kāi)發(fā)中,常常面臨一些數(shù)據(jù)結(jié)構(gòu)的抉擇,令人糾結(jié)。目前大家在策劃一個(gè)FBI項(xiàng)目(FastBinaryIndexing),其中用到的詞匯有6200條,詞匯長(zhǎng)度在10-15之間,詞匯字符是英文字母,區(qū)分大小寫(xiě)。請(qǐng)?jiān)谙旅鎺讉€(gè)數(shù)據(jù)結(jié)構(gòu)中選擇一個(gè)使檢索速度最快的()

A.二叉搜索樹(shù),比較函數(shù)開(kāi)銷(xiāo):1次運(yùn)算/每字符

B.哈希表,hash算法開(kāi)銷(xiāo):10次運(yùn)算/每字符

C.鏈表,比較函數(shù)開(kāi)銷(xiāo):1次運(yùn)算/每字符

D.TRIE樹(shù),尋找子節(jié)點(diǎn)開(kāi)銷(xiāo):1次運(yùn)算/每字符

4.下列敘述中錯(cuò)誤的是()。

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

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

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

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

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

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

6.設(shè)有定義:inta,*pa=&a;以下scanf語(yǔ)句中能正確為變量a讀入數(shù)據(jù)的是()

A.scanf(“%d”,pa);

B.scanf(“%d”,a);

C.scanf(“%d”,&pa);

D.scanf(“%d”,*pa);

7.

8.

有以下程序

#include<stdio.h>

#include<string.h>

typedefstrlIct{charname[9];charsex;floatscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",m,85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main

{STUc="Qian",f,95.0,92.0},d;

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

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

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

9.為了避免在嵌套的條件語(yǔ)句ifelse中產(chǎn)生二義性,C語(yǔ)言規(guī)定,else子句總是與()配對(duì)。

A.縮排位置相同ifB.其前面最近的ifC.其后面最近的ifD.同一行上的if

10.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。

A.可重用性差B.安全性差C.非持久性D.冗余性

11.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printS(”%d,”,k);k=fun(j,m);printf(”%d\n”,k);)執(zhí)行后的輸出結(jié)果是()。A.5,5B.5,11C.11,11D.11,5

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

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

13.一個(gè)二維數(shù)組的定義語(yǔ)句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為()。

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

14.快速排序在_____情況下最易發(fā)揮其長(zhǎng)處。

A.被排序數(shù)據(jù)中含有多個(gè)相同排序碼

B.被排序數(shù)據(jù)已基本有序

C.被排序數(shù)據(jù)完全無(wú)序

D.被排序數(shù)據(jù)中最大值和最小值相差懸殊

15.廣義表((a))的表尾是()。

A.aB.(a)C.((a))D.()

16.

17.

18.

19.下列合法的聲明語(yǔ)句是()。

A.int_abc=50;

B.doubleint=3+5e2.5;

C.longdo=1L:

D.float3_asd=3e-3;

20.已定義以下函數(shù)fun(char*p2,char*p1){while((*p2=*p1)!='0'){P1++;p2++;}}函數(shù)的功能是

A.將p1所指字符串復(fù)制到p2所指內(nèi)存空間

B.將P1所指字符串的地址賦給指針p2

C.對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較

D.檢查P1和p2兩個(gè)指針?biāo)缸址惺欠裼?\0'

二、2.填空題(20題)21.以下程序的運(yùn)行結(jié)果是【】。

#include<stdio.h>

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

case3:a++;b++;

}

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

}

22.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。

23.若有以下程序:

main()

{chara;

a='H'-'A'+'0';

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

}

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

24.已有定義:charc='';inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&Ra;后b的值為_(kāi)_____。

25.以下fun函數(shù)的功能是:累加數(shù)組元素中的值,n為數(shù)組中元素的個(gè)數(shù)。累加的和值放入x所指的存儲(chǔ)單元中。補(bǔ)足所缺語(yǔ)句。

fun(intb[],intn,int*x)

{intk,r=0;

for(k=0;k<n;k++)r=【】;

【】=r;

}

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

intm=13;

intfun(intx,inty)

{intm=3;

return(x*y-m);

}

main()

{inta=7,b=5;

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

}

27.下述函數(shù)統(tǒng)計(jì)一個(gè)字符串中的單詞個(gè)數(shù),單詞是指處在空格之間的字符序列,請(qǐng)?zhí)羁铡?/p>

intword(char*s)

{intnum=0,flag=0;

while(*s)

{if(【】=='')flag=0;

elseif(【】){flag=1;num++}

}

return【】;}

28.棧中允許進(jìn)行插入和刪除的一端叫做______。

29.關(guān)系模型的數(shù)據(jù)操縱即是建立在關(guān)系上的數(shù)據(jù)操縱,一般有______、增加、刪除和修改四種操作。

30.數(shù)據(jù)字典是各類(lèi)數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過(guò)程。

31.有以下語(yǔ)句段:

intn1=10,n2=20;

printf("【】",n1,n2);

要求按以下格式輸出n1和n2的值:

n1=10

n2=20

每個(gè)輸出行從第一列開(kāi)始,請(qǐng)?zhí)羁铡?/p>

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

main()

{

charc1,c2;

for(c1='0',c2='9';c1<c2;c1++,c2--)

printf("%c%c",c1,c2);

printf("\n");

}

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

main()

{chara[]="Language",b[]="Programe";

char*p1,*p2;

intk;

p1=a;p2=b;

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

if(*(p1+k)==*(p2+k))printf("%c,*(p1+k));

}

34.以下函數(shù)sstrcat的功能是實(shí)現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:,所指字符串為abed,t所指字符串為efgh,調(diào)用函數(shù)sstrcat后s所指字符串為abcdefgh。請(qǐng)?zhí)羁铡?/p>

#inehde<stdio.h>

#include<string.h>

voidsstuat(char*9,char*t)

{intn;

n=strlen(s);

while(*(s+n)=【】){s++;t++;}

35.設(shè)有如下程序main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf(“%d”,n1);}}程序運(yùn)行后,如果從鍵盤(pán)上輸入1298,則輸出結(jié)果為

36.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們之和。請(qǐng)?zhí)羁铡?/p>

main()

{inti,a[20],sum,count;

sum=count=0;

for(i=0;i<20;i++)scanf("%d",【】);

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

{if(a[i]>0)

{count++;

sum+=【】;

}

}

printf("sum=%d,count=%d\n",sum,count);

}

37.已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎?。以下函?shù)求出鏈表中所有鏈結(jié)點(diǎn)數(shù)據(jù)域的和值,作為函數(shù)值返回。請(qǐng)?jiān)跈M線(xiàn)處填入正確內(nèi)容。

structlink

{intdata;structlink*next;}

main()

{structlink*head;

......

sum(head);

......

}

sum(【】);

{structlink*p;ints=0;

p=head->next;

while(p){s+=p->data;p=p->next;}

return(s);}

38.以下程序的功能是:求出數(shù)組x中各相鄰兩個(gè)元素的和依次存放到a數(shù)組中,然后輸出。請(qǐng)?zhí)羁铡?/p>

main()

{intx[10],a[9],i;

for(i=0;i<10;i++)scanf("%d",&x[i]);

for([11];i<10;i++)

a[i-1]=x[i]+[12];

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

printf("");

}

39.如果一個(gè)工人可管理多個(gè)設(shè)施,而一個(gè)設(shè)施只被一個(gè)工人管理,則實(shí)體“工人”與實(shí)體“設(shè)備”之間存在______聯(lián)系。

40.以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:

y1=(x+8)2-2(x+8)+6

y2=sin2(x)-2sin(x)+6

請(qǐng)?zhí)羁铡?/p>

ginclude"math.h"

doublefun(doublex){return(x*x-2*x+6);}

main()

{doublex,y1,y2;

pfintf("Enterx:");scanf("%lf"&x);

y1=fun([10]);y2=fun([11]);

pin

三、1.選擇題(20題)41.下列方法中,屬于白盒法設(shè)計(jì)測(cè)試用例的方法的是()。

A.錯(cuò)誤推測(cè)B.因果圖C.基本路徑測(cè)試D.邊界值分析

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

A.線(xiàn)性鏈表中的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的

B.線(xiàn)性鏈表中的表頭元素一定存儲(chǔ)在其他元素的前面

C.線(xiàn)性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面

D.線(xiàn)性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的

43.以下程序的輸出結(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);}

A.-11B.01C.10D.00

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

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

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

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

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

45.設(shè)有定義語(yǔ)句:intx[6]={2,4,6,8,5,7),*p=x,i;要求依次輸出x數(shù)組6個(gè)元素中的值,不能完成此操作的語(yǔ)句是()。

A.for(i=0;i<;i++)printf("%2d",*(p++));

B.for(i=0;i<6;i++)printf("%2d",*(p+i));

C.for(i=0;i<6;i++)printf("%2d",*p++);

D.for(i=0;i<6;i++)printf("%2d",(*p)++);

46.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門(mén)學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及()。A.A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)B.計(jì)算方法C.數(shù)據(jù)映象D.邏輯存儲(chǔ)

47.以下程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=a+5,*q=NULL;*q=8(p+5);printf("%d%d\n",*p,*q);}

A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.55

48.以下不正確的轉(zhuǎn)義字符是()。

A.'\\'B.'\t'C.'\n'D.'088'

49.若w=l,x=2,y=3,z=4,則條件表達(dá)式w<x?w:y<z?y:z的值是

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

50.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4

51.設(shè)有下列的程序段:charstr[]="HelloWorld";char*ptr;ptr=str;執(zhí)行上面的程序段后,*(ptr+10)的值為()。

A.'\0'B.'0'C.不確定的值D.'0'的地址

52.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()

A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

53.下列敘述中正確的是A.C語(yǔ)言中既有邏輯類(lèi)型也有集合類(lèi)型

B.C語(yǔ)言中沒(méi)有邏輯類(lèi)型但有集合類(lèi)型

C.C語(yǔ)言中有邏輯類(lèi)型但沒(méi)有集合類(lèi)型

D.C語(yǔ)言中既沒(méi)有邏輯類(lèi)型也沒(méi)有集合類(lèi)型

54.有以下定義

#include<stdio.h>

chara[10],*b=a;

不能給a數(shù)組輸入字符串的語(yǔ)句是

A.gets(A)B.gets(a[0]);C.gets(&a[0]);D.gets(B);

55.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。

A.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元

B.形參只是形式上的存在,不占用具體存儲(chǔ)單元

C.同名的實(shí)參和形參占同一存儲(chǔ)單元

D.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元

56.待排序的關(guān)鍵碼序列為(33,18,9,25,67,82,53,95,12,70),要按關(guān)鍵碼值遞增的順序排序,采取以第一個(gè)關(guān)鍵碼為基準(zhǔn)元素的快速排序法,第一趟排序后關(guān)鍵碼33被放到第()個(gè)位置。

A.3B.5C.7D.9

57.以下程序的輸出結(jié)果是main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t=t+b[i][b[j][j]];printf(“%d\n”,t);}

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

58.在嵌套使用if語(yǔ)句時(shí),C語(yǔ)言規(guī)定else總是A.和之前與其具有相同縮進(jìn)位置的if配對(duì)

B.和之前與其最近的if配對(duì)

C.和之前與其最近的且不帶else的if配對(duì)

D.和之前的第一個(gè)if配對(duì)

59.以下正確的數(shù)組定義語(yǔ)句是()。

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

B.floatx[3][]={{l},{2},{3}};

C.longs[2][3]={{1},{1,2}{1,2,3,}};

D.doublet[][3]={0}

60.有以下程序:main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運(yùn)行后的輸出結(jié)果是(選項(xiàng)D中的第一行是空行)______。

A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No

四、選擇題(20題)61.

62.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2

B.操作數(shù)除以2

C.操作數(shù)除以4

D.操作數(shù)乘以4

63.軟件詳細(xì)設(shè)計(jì)的主要任務(wù)是確定每個(gè)模塊的()。

A.算法和使用的數(shù)據(jù)結(jié)構(gòu)B.外部接口C.功能D.編程

64.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。

A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說(shuō)明單鏈表是線(xiàn)性的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)

65.

66.有三個(gè)關(guān)系R、S和T如下:

則由關(guān)系R和s得到關(guān)系T的操作是()。

A.自然連接B.并C.交D.差

67.概要設(shè)計(jì)中要完成的事情是()。

A.系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)B.系統(tǒng)結(jié)構(gòu)和過(guò)程的設(shè)計(jì)C.過(guò)程和接口的設(shè)計(jì)D.數(shù)據(jù)結(jié)構(gòu)和過(guò)程的設(shè)計(jì)

68.

有以下程序:

main

{inti,n=0:

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

{do

{if(i%3)continue:

n++:

}while(!i);

n++:

}

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

}

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

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

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

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

70.算法的有窮性是指()。

A.算法程序的運(yùn)行時(shí)問(wèn)是有限的。

B.算法程序所處理的數(shù)據(jù)量是有限的

C.算法程序的長(zhǎng)度是有限的

D.算法只能被有限的用戶(hù)使用

71.

72.有以下程序

main()

{

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

printf("%d\n",x/y&~z);

}

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

A.3B.2

C.1D.0

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

A.線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的

B.線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)

C.線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要少于順序存儲(chǔ)結(jié)構(gòu)

D.線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間與順序存儲(chǔ)結(jié)構(gòu)沒(méi)有任何關(guān)系

74.有以下程序:

fun(inta,intb)

{a++;b++;

if(a>b)return(a);

elsereturn(b);

}

void

main()

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

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

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

}

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

A.13B.6

C.8D.12

75.閱讀以下程序:

#include<stdio.h>

main()

{intcase;floatprintF;

printf("請(qǐng)輸人2個(gè)數(shù):");

scanf("%d%fl"&case,&printF);

printf("%dofof\n",case,printF);

}

該程序在編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是()。

A.定義語(yǔ)句出錯(cuò),case是關(guān)鍵字,不能用做用戶(hù)自定義標(biāo)識(shí)符

B.定義語(yǔ)句出錯(cuò),printF不能用做用戶(hù)自定義標(biāo)識(shí)符

C.定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用

D.定義語(yǔ)句無(wú)錯(cuò),printf不能輸出case的值

76.

77.若有函數(shù)voidfun(doublea[]。int*n){…}以下敘述中正確的是()。A.調(diào)用fun函數(shù)時(shí)只有數(shù)組執(zhí)行按值傳送,其他實(shí)參和形參之間執(zhí)行按地址傳送

B.形參a和n都是指針變量

C.形參a是一個(gè)數(shù)組名,n是指針變量

D.調(diào)用fun函數(shù)時(shí)將把double型參數(shù)組元素一一對(duì)應(yīng)地傳送給形參a數(shù)組

78.數(shù)據(jù)流圖中方框表示的是()。

A.數(shù)據(jù)流B.存儲(chǔ)文件C.控制流D.源,潭

79.棧和隊(duì)列的共同特點(diǎn)是()。

A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同點(diǎn)

80.下列處理中與隊(duì)列有關(guān)的是()。

A.操作系統(tǒng)中的作業(yè)調(diào)度B.執(zhí)行程序中的過(guò)程調(diào)用C.執(zhí)行程序中的循環(huán)控制D.——-X樹(shù)的遍歷

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是計(jì)算正整數(shù)m各位上數(shù)字的平方和。例如,輸入498,則輸出應(yīng)該是161。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdlib.h>#include<stdio.h>#include<conio.h>longproc(10ngm){//****found****longsum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum);}voidmain{longn;system("CLS");printf("Pleaseenteranumber:");scanf("%1d",&n);printf("\n%ld\n",proc(n));}

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。此程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函數(shù)fun(),該函數(shù)的功能是將數(shù)組下三角元素中的值全部置成0。如a數(shù)組中的值為注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>#include<stdlib.h>#defineN5voidfun(inta[][N]){}voidmain(){ inta[N][N],i,j; system(“CLS”); printf(“****Thearray****\n”); for(i=0;i<n;i++)<p=""></n;i++)<>/*產(chǎn)生一個(gè)隨機(jī)的5×5矩陣*/ { for(j=0;j<=""p=""> { a[i][j]=rand()%10; printf(“%4d”,a[i][j]); } printf(“\n”); } fun(a); printf(“TheResult\n”); for(i=0;i<n;i++)<p=""></n;i++)<> { for(j=0;j<=""p=""> printf(“%4d”,a[i][j]); printf(“\n”); }}

參考答案

1.D解析:本程序主要考查遞歸函數(shù)。fun(7),首先將參數(shù)代入函數(shù),因?yàn)?7/2)>1,所以執(zhí)行f(3),以此類(lèi)推直到f(1.5),(1.5/2)<1,所以執(zhí)行打印函數(shù),此時(shí)x值為3,然后退出f(1.5)返回f(3),打印x值即7。所以選D。

2.C解析:本題考查if語(yǔ)句。先判斷if語(yǔ)句的條件是否成立,++a=1>0,此條件成立,又因?yàn)槭沁M(jìn)行邏輯或運(yùn)算,在已知其中一個(gè)運(yùn)算對(duì)象為真的情況下,不必判斷另外一個(gè)運(yùn)算符的真假,即不進(jìn)行++b操作,就可以直接得出整個(gè)表達(dá)式的值為邏輯1,執(zhí)行下列的++c。

3.D

4.A不能將一個(gè)整數(shù)直接賦給指針變量作為地址值,A選項(xiàng)錯(cuò)誤。函數(shù)的返回值可以是地址,即指針。函數(shù)調(diào)用中形參值的變化不會(huì)傳遞給實(shí)參。故本題答案為A選項(xiàng)。

5.CC?!窘馕觥拷Y(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。

6.A

7.C

8.Cf函數(shù)的功能是對(duì)形參a的各個(gè)成員用結(jié)構(gòu)體變量b的各個(gè)成員進(jìn)行賦值后,然后返回變量a。

9.B解析:本題考查ifelse語(yǔ)句。C語(yǔ)言規(guī)定,else總是與它前面的最近的if配對(duì)。

10.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(lài)(簡(jiǎn)稱(chēng)為數(shù)據(jù)依賴(lài))。注意:文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫(kù)系統(tǒng)三代的特點(diǎn)。

11.B子函數(shù)fun(intx,inty),將變量m和i聲明為局部靜態(tài)變量,因此第l次調(diào)用主函數(shù)后,局部靜態(tài)變量m和i的值為5和3,第l次函數(shù)調(diào)用結(jié)束時(shí),它們的值不釋放保持不變,所以第2次調(diào)用時(shí),局部靜態(tài)變量m和i的初始值分別為5和3,即在執(zhí)行“i+=m+1”時(shí),i的值為9,因此最終m的值為11。

12.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,因此最后通過(guò)函數(shù)sizeof()求得的數(shù)組a和數(shù)組b的長(zhǎng)度分別為8和10,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

13.A

14.C

15.D

16.D

17.A

18.D

19.A解析:C語(yǔ)言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線(xiàn)組成,并且它的第一個(gè)字符必須是字母或者下劃線(xiàn)。另外C語(yǔ)言規(guī)定了一些專(zhuān)用的標(biāo)識(shí)符,它們有著固定的含義,不能更改。int就是表達(dá)變量類(lèi)型的標(biāo)識(shí)符,它不能再用做變量名和函數(shù)名,所以選項(xiàng)B)不正確。do是C語(yǔ)言的一個(gè)關(guān)鍵字,也不能再用做變量名和函數(shù)名,所以選項(xiàng)C)不正確。

20.A解析:fun()函數(shù)中聲明了兩個(gè)字符串指針作為形參,在其函數(shù)體中用了一個(gè)while循環(huán),首先while括號(hào)內(nèi)表達(dá)式*p2=*p1是將p1所指的內(nèi)容賦值到P2所指的存儲(chǔ)空間中,然后再判斷是否為'\\0',表達(dá)式的值為真時(shí),執(zhí)行循環(huán)體,指針p1和指針P2分別下移一位,當(dāng)p1指向字符'\\0'時(shí),表達(dá)式的值為假,循環(huán)結(jié)束,故此函數(shù)的功能是將p1所指字符串復(fù)制到p2所指內(nèi)存空間中。

21.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語(yǔ)言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nèi)容后,如果沒(méi)有break語(yǔ)句,控制結(jié)構(gòu)會(huì)轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2分支,最后a和b的值分別為2和1。

22.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,除了要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)數(shù)據(jù)的前后件關(guān)系,對(duì)于順序存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過(guò)存儲(chǔ)空間的位置來(lái)實(shí)現(xiàn)的,而對(duì)于鏈?zhǔn)酱鎯?chǔ)來(lái)說(shuō),數(shù)據(jù)元素之間的前后件關(guān)系是通過(guò)指針來(lái)實(shí)現(xiàn)的。

23.77解析:本題考查英文字母ASCII碼值的概念。字符參與運(yùn)算的值是其對(duì)應(yīng)的ASCII碼,字符H的ASCII碼為72,A的ASCII碼為65,0的ASCII碼為48,所以a=72-65+48=55,ASCII碼值為55的字符是7。

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

25.r+b[k]或b[k]+r或r+*(b+k)或*(b+k)+r*xr+b[k]或b[k]+r或r+*(b+k)或*(b+k)+r\r\n*x

26.22解析:本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應(yīng)取外部變量的值13,因此輸出2。

27.*s++flag==0或*(s-1)==''num*s++\r\nflag==0或*(s-1)==''\r\nnum解析:在統(tǒng)計(jì)字符串單詞個(gè)數(shù)的算法中,本題的flag是為了記錄一個(gè)單詞是否結(jié)束。第18空應(yīng)填*s++;如果某個(gè)字符不是空格,則必需判斷它是否是單詞,如是,則使得flag的標(biāo)志為1,num的值加1。本題判斷方法是:先判斷s所指向的字符是否為空格,如果是則使得flag=0,否則判斷前一個(gè)字符是否是空格,如果是則說(shuō)明這個(gè)字符是一個(gè)單詞的開(kāi)始,將flag標(biāo)志為1,num的值加1,如果不是,則不必記錄。故第19空應(yīng)flag==0或*(s-1)=='';最后一個(gè)空格需填寫(xiě)的是返回的單詞的個(gè)數(shù),即num。

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

29.查詢(xún)查詢(xún)

30.數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)

31.n1=%d\nn2=%dn1=%d\\nn2=%d解析:根據(jù)輸出結(jié)果,可以確定“格式控制”為n1=%d\\nn2=%d,其中,“n1=”和“n2=”是按原樣輸出的字符,“%d”是按十進(jìn)制整數(shù)輸出,“\\n”是轉(zhuǎn)義字符,用于輸出回車(chē)換行。

32.09182736450918273645解析:題目中為for循環(huán)定義了兩個(gè)字符型循環(huán)變量c1和c2,循環(huán)開(kāi)始時(shí)分別初始化為字符‘0’和‘9’,然后每次循環(huán)結(jié)束給c1增1、c2減l,循環(huán)條件為c1<c2,即讓c1的值依次為‘0’、‘1’、‘2’…,c2的值依次為‘9’、‘8’、‘7’…,直到兩個(gè)數(shù)相遇時(shí)結(jié)束循環(huán)。又因?yàn)樵撗h(huán)的循環(huán)體每次按字符形式輸出c1和c2的值。所以最終的輸出結(jié)果為:0918273645。

33.gae

34.*t*t解析:程序中,(a+n)代表字符串s最后一個(gè)字符后的,'\\0',根據(jù)題意,'\\0'所在位置應(yīng)該賦值為字符串t的第一個(gè)字符,字符中t的其他字符根據(jù)循環(huán),依次賦值到,所指字符串的尾部,所以[14]應(yīng)填:*t。

35.89218921

36.&a[i]或a+ia[i]或*(a+i)&a[i]或a+i\r\na[i]或*(a+i)解析:主函數(shù)中一開(kāi)始定義了一個(gè)長(zhǎng)度為20的整型數(shù)組,然后通過(guò)一個(gè)循環(huán),循環(huán)20次給它的每個(gè)元素賦初值,所以在第一個(gè)空格處應(yīng)填各個(gè)元素的地址,即填&a[i]或a+i,然后再通過(guò)一個(gè)循環(huán)執(zhí)行20次,每循環(huán)一次,先判斷該循環(huán)是否大于0,如果大于0將其累加到變量sum中,所以第二個(gè)空格處應(yīng)該填入數(shù)組元素,所以應(yīng)該填a或*(a+i)。

37.structlink*headstructlink*head解析:考查用指針引用結(jié)構(gòu)體變量成員數(shù)據(jù)的方法。因?yàn)楸绢}中是用結(jié)構(gòu)體變量構(gòu)成了鏈表,所以要從鏈表頭節(jié)點(diǎn),逐個(gè)節(jié)點(diǎn)的引用結(jié)構(gòu)體的數(shù)據(jù)域,需要有指向結(jié)構(gòu)體變量的指針,依次指向各個(gè)節(jié)點(diǎn),即p=p->next,而用指針引用結(jié)構(gòu)體成員數(shù)據(jù)的方法為:p->data。

38.i=1x[i-1]i=1\r\nx[i-1]解析:對(duì)于10個(gè)數(shù),相鄰的兩個(gè)數(shù)相加取和,總共要進(jìn)行9次加法運(yùn)算,所以空11處應(yīng)填入i=1。相鄰的兩個(gè)數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空12處應(yīng)填入x[i-1]。

39.一對(duì)多(或1:N)一對(duì)多(或1:N)

40.用x+8代替函數(shù)fun(doublex)中形式參數(shù)x。用sin(x)代替函數(shù)fun(doublex)中形式參數(shù)x。

41.CC)【解析】白盒測(cè)試方法也稱(chēng)為結(jié)構(gòu)測(cè)試或邏輯測(cè)試,主要方法有邏輯覆蓋測(cè)試、基本路徑測(cè)試等。

42.D解析:性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)不連續(xù),且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致。性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來(lái)指示的。所以,選項(xiàng)D正確。

43.C解析:本題考查if語(yǔ)句。++a是先自增后使用,b--是先使用后自減。執(zhí)行++a后,a值為0,不滿(mǎn)足條件,所以a為0,b仍為1,接下去執(zhí)行else語(yǔ)句,輸出10。

44.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)是正確的。

45.D解析:本題中首先定義了一個(gè)了維數(shù)組并初始化,接著定義了一個(gè)指針變量p指向數(shù)組x。因此可以通過(guò)指針p的下移,即每次加1引用數(shù)組x中的元素,來(lái)指向數(shù)組中的每個(gè)元素,這樣循環(huán)6次即可引用數(shù)組的每個(gè)元素。選項(xiàng)A和C,*和++的優(yōu)先級(jí)相同且都具有右結(jié)合性,p++是先使用p的值再對(duì)p加1,即先輸出*p的值,再將指針下移一位。選項(xiàng)B是取*(p+i)所對(duì)應(yīng)的存儲(chǔ)單元中的數(shù)據(jù)輸出,隨著i的遞增輸出x數(shù)組的6個(gè)元素。選項(xiàng)D中表達(dá)式為(*p)++,該表達(dá)式是先取*p的值然后將其值加1,而沒(méi)有將指針下移一位,故選項(xiàng)D不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

46.A解析:數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門(mén)學(xué)科,主要研究和討論以下三個(gè)方面的問(wèn)題:①數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);②在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu);③對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。

47.A解析:本題的考查點(diǎn)是通過(guò)指針引用數(shù)組元素。程序中沒(méi)有給q分配存儲(chǔ)單元,只是給它賦了一個(gè)NULL,所以程序的運(yùn)行結(jié)果是:611NULLpointerassignment,也就是運(yùn)行后報(bào)錯(cuò)。

48.D解析:'\\\\'是反斜線(xiàn)轉(zhuǎn)義字符;'\\t'是水平跳格轉(zhuǎn)義字符;'\\n'是換行轉(zhuǎn)義字符;C語(yǔ)言中沒(méi)有規(guī)定'088'是轉(zhuǎn)義字符。

49.D解析:本題考查了條件表達(dá)式的計(jì)算方法。條件表達(dá)式的運(yùn)算順序是從右至左,所以本題先計(jì)算條件表達(dá)式y(tǒng)<z?y:z的值,為3,然后再計(jì)算條件表達(dá)式w<x?w:3的值,為1。

50.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。

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

52.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開(kāi)發(fā)的角度來(lái)看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫(kù)系統(tǒng)的功能(動(dòng)態(tài)特性)。

53.D解析:在C語(yǔ)言中沒(méi)有邏輯類(lèi)型,邏輯類(lèi)型用整型來(lái)表示,故選項(xiàng)A和選項(xiàng)C不正確,C語(yǔ)言中沒(méi)有集合類(lèi)型,故選項(xiàng)B不正確。所以,D選項(xiàng)為所選。

54.B解析:函數(shù)gets()的調(diào)用形式為gets(str_adr);str_adr是存放字符串的起始地址??梢允亲址麛?shù)組名、字符指針或字符數(shù)組元素的地址。gets函數(shù)用來(lái)從終端鍵盤(pán)讀入字符串(包括空格符),直到讀入一個(gè)換行符為止。換行符讀入后,不作為字符串的內(nèi)容。本題中定義一個(gè)長(zhǎng)度為10的字符數(shù)組,和一個(gè)指針變量b,并且通過(guò)賦值讓它指向數(shù)組a。gets函數(shù)的參數(shù)a[0]不能表示數(shù)組a的首地址。

55.D解析:在定義函數(shù)時(shí)函數(shù)名后面括弧中的變量名稱(chēng)為“形式參數(shù)”(簡(jiǎn)稱(chēng)形參),在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括弧中的參數(shù)(可以是一個(gè)表達(dá)式)稱(chēng)為“實(shí)際參數(shù)”(簡(jiǎn)稱(chēng)實(shí)參)。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。故本題應(yīng)該選擇D。

56.BB.【解析】快速排序的基本思想是:從表中選取一個(gè)元素(如本題中的33),將表中小于此元素的移到前面,大于此元素的移到后面,結(jié)果把線(xiàn)性表分割成兩部分(兩個(gè)子表),此元素插入到其分界線(xiàn)的位置處。然后分別對(duì)兩個(gè)子表再次分割……本題中33作為分割的中界線(xiàn),第一趟排序后排在比它小的18、9、25、12后面。

57.B解析:本題中定義了一個(gè)二維數(shù)組b并初始化,定義了一個(gè)變量t并賦初值1。接著通過(guò)一個(gè)二重循環(huán)將若干個(gè)元素的值加到變量t中。循環(huán)的執(zhí)行步驟是:外層循環(huán)變量i=0時(shí),內(nèi)層循環(huán)變量j=i執(zhí)行語(yǔ)句“t=t+b[i][b[j][j]]”,相當(dāng)于t=t+b[0][b[0)[0]],由于b[0][0]的值為0,得到t的值為1;依次類(lèi)推,循環(huán)共執(zhí)行了3次,最后輸出t的值為4。

58.C解析:C語(yǔ)言的語(yǔ)法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合,與書(shū)寫(xiě)格式無(wú)關(guān)。所以選項(xiàng)C)為正確答案。

59.D解析:選項(xiàng)A定義了一個(gè)1行4列的二維數(shù)組,只有4個(gè)元素,而初始化列表有5個(gè)初始值,所以不正確。定義二維數(shù)組時(shí)只能省略第二維的長(zhǎng)度,選項(xiàng)B省略的是第一維的長(zhǎng)度,所以不正確。選項(xiàng)C定義了一個(gè)2行3列的二維數(shù)組,但初始值列表中使用了3個(gè)大括號(hào),使行數(shù)超出定義范圍,所以不正確。故正確答案是選項(xiàng)D。

60.B解析:本題中ps指向符號(hào)串'Ye\\n/No',ps+4表示“/”的地址,故puts(ps+4)輸出符號(hào)串/No,執(zhí)行語(yǔ)句*(ps+4)=0后,字符數(shù)組s中的符號(hào)串為'Yes\\n\\0No',\'\\0\'是字符串的結(jié)束標(biāo)志,故puts(s)輸出Yes。

61.B

62.A左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。例如,a<<4是把a(bǔ)的各二進(jìn)位向左移動(dòng)4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。

63.A解析:從軟件開(kāi)發(fā)的工程化觀(guān)點(diǎn)來(lái)看,在使用程序設(shè)計(jì)語(yǔ)言編制程序以前,需要對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過(guò)程細(xì)節(jié),并給予清晰的表達(dá)。詳細(xì)設(shè)計(jì)的任務(wù)就是要決定各個(gè)模塊的實(shí)現(xiàn)算法,并精確表達(dá)出這些算法。本題正確答案為選項(xiàng)A。

64.A根據(jù)單位鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪(fǎng)問(wèn)整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。

65.B

66.D

溫馨提示

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