2021年黑龍江省大慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第1頁(yè)
2021年黑龍江省大慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第2頁(yè)
2021年黑龍江省大慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第3頁(yè)
2021年黑龍江省大慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第4頁(yè)
2021年黑龍江省大慶市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有如下定義#defineD2intx=5;floaty=3.83;charC='D';則下面選項(xiàng)中錯(cuò)誤的是

A.x++;B.y++;C.c++;D.D++;

2.有以下程序:#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3},i,n;fp=fopen(“d1.dat”,“w”);for(i=0;i<3;i++)fprintf(fp,“%d”,a[i]);fprintf(fp,“\n”);fclose(fp);fp=fopen(“d1.dat”,“r”);fscanf(fp,“%d”,&n);fclose(fp);printf(“%d\n”,n);}程序的運(yùn)行結(jié)果是()。

A.321B.12300C.1D.123

3.若有下列說(shuō)明和語(yǔ)句,則對(duì)結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;

A.st.iB.*p.iC.(*p).iD.p->i

4.下列排序方法中,()方法的比較次數(shù)與記錄的初始排列狀態(tài)無(wú)關(guān)。

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

5.設(shè)變量已正確定義并賦值,下列表達(dá)式中正確的是()。

A.x=y+z+5,++yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.0

6.

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

#include<stdio.h>

main

{inta[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;

p=a;

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

{if(i<2)

p[1][i]=p[1][i]-1;

else

p[1][i]=1;

}

printf("%d\n",a[o][1]+a[1][1]+a[1][2]);

}

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

7.為了提高軟件的獨(dú)立性,模塊之間最好是()。

A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合

8.有以下程序:voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=1;i>0;i--)sum(&aa[i]);print("%d\n",aa[0]);}程序運(yùn)行后的輸出結(jié)果是______。

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

9.算法是指為解決某個(gè)特定問(wèn)題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性的是A.A.有零個(gè)輸入或多個(gè)輸入B.高效性C.有窮性D.確定性

10.

11.有以下程序:#include<stdio.h>#defineSUB(x,y)(x)*(y)main(){inta=3,b=4;printf(“%d\n”,SUB(a++,b++));程序運(yùn)行后的輸出結(jié)果是()。

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

12.以下敘述中錯(cuò)誤的是______。A.C程序必須由—個(gè)或—個(gè)以上的函數(shù)組成

B.函數(shù)調(diào)用可以作為—個(gè)獨(dú)立的語(yǔ)句存在

C.若函數(shù)有返回值,必須通過(guò)return語(yǔ)句返回

D.函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參

13.有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是()。

A.chara=’\x2d’;B.chara=。\n。;C.chara=…a;D.chara=”aa”:

14.軟件生命周期中,花費(fèi)最多的階段是()。

A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)

15.以下關(guān)于C語(yǔ)言文件系統(tǒng)的敘述中正確的是()。

A.fprintf與fwrite函數(shù)功能相同

B.文件以“r”方式打開(kāi)后,可以存儲(chǔ)文本類(lèi)型的數(shù)據(jù)

C.fscanf與fread函數(shù)功能相同

D.以“w”或“wb”方式打開(kāi)的文件,不可以從中讀取數(shù)據(jù)

16.將10階對(duì)稱矩陣壓縮存儲(chǔ)到一維數(shù)組A中,則數(shù)組A的長(zhǎng)度最少為()

A.100B.40C.55D.80

17.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30

18.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是______。A.o115B.0118C.1.5e1.5D.115L

19.實(shí)體聯(lián)系模型中實(shí)體與實(shí)體之間的聯(lián)系不可能是

A.一對(duì)一B.多對(duì)多C.一對(duì)多D.對(duì)零

20.下列敘述中正確的是()。A.算法就是程序B.設(shè)計(jì)算法時(shí)只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)C.設(shè)計(jì)算法時(shí)只需要考慮結(jié)果的可靠性D.以上三種說(shuō)法都不對(duì)

二、2.填空題(20題)21.若有下列定義:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,則值為3的表達(dá)式為:______。

22.在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。

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

24.存儲(chǔ)結(jié)構(gòu)的4種基本類(lèi)型分別是順序、鏈?zhǔn)?、索引和【】?/p>

25.下面程序的功能是根據(jù)公式e=1+1/1!+1/2!+1/3!+1/4!+...計(jì)算e的近似值,精度要求為10-5。請(qǐng)?zhí)羁铡?/p>

main()

{intn;

doublee=1.0,t=1.0;

for(n=1;【】n++);

{【】e+=t;}

printf("%f\n",e);}

26.以下程序的功能是:求出數(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("");

}

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

#include<stdio.h>

voidswap(int*a,int*b)

{int*t;

t=a;a=b;b=t;

}

main()

{inti=3,j=5,*p=&i,*q=&j;

swap(p,q);printf("%d%d\N,*p,*q))

}

28.在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類(lèi)模塊:驅(qū)動(dòng)模塊和承接模塊,其中______的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。

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

main()

{inta=1,b=10;

do

{b-=a;a++;}while(b--<0);

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

}

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

#defineS(x)4*x*x+1

mah()

{inti=6,j=8;

printf("%d\n",S(i+j));

}

31.診斷和改正程序中錯(cuò)誤的工作通常稱為【】。

32.軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。

33.設(shè)a、b、c為整形數(shù),且a=2,b=3,c=4則執(zhí)行完以下語(yǔ)句后,a的值是【】。

a*=16+(b++)-(++c);

34.有下列程序;

#include<stdio.h>

main()

{charc;

while((c=getchar())!=',')putchar(++C);

}

程序運(yùn)行時(shí),如果從鍵盤(pán)輸入:A,B,<CR>,則輸出結(jié)果為_(kāi)_____。

35.strcat函數(shù)的作用是【】。

36.棧和隊(duì)列通常采用的存儲(chǔ)結(jié)構(gòu)是【】。

37.媒體在計(jì)算機(jī)領(lǐng)域中的含義,是指存儲(chǔ)信息的實(shí)體和【】。

38.若x、y和z均是int型變量,則執(zhí)行下面表達(dá)式后的x值為【】。

x=(y=4)+(z=3)

39.以下程序用來(lái)輸出結(jié)構(gòu)體變量ex所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>

structst

{charname[20];doublescore;};

main()

{structstex;

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

40.以下scanf函數(shù)調(diào)用語(yǔ)句中對(duì)結(jié)構(gòu)體變量成員的引用不正確的是{charname[20];}pup[5],*p;

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

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

42.有以下程序voidswap(char*x,char*y){chart;t=*x;*X=*y;*y=t;}main(){char*s1:"abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是

A.123,abcB.abc,123C.1bc,a23D.321,cba

43.若有程序段:intc1=1,c2=2,c3;c3=1.0/c2*cl;則執(zhí)行后,c3中的值是()

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

44.有如下程序段:#include<stdio.h>#defineMax(a,b)a>b?a:bmain(){inta=5,b=6,c=4,d;d=c+Max(a,b);printf("%d",d);}其輸出結(jié)果為_(kāi)_____。

A.10B.5C.6D.編譯錯(cuò)誤

45.有以下程序intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}程序運(yùn)行后的輸出結(jié)果是

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

46.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是______。

A.地址傳遞B.單向值傳遞C.由實(shí)參傳紿形,再由形參傳回實(shí)參D.傳遞方式由用戶指定

47.對(duì)于一個(gè)正常運(yùn)行的C程序,下列敘述中正確的是()。A.A.程序的執(zhí)行總是從main函數(shù)開(kāi)始,在main函數(shù)結(jié)束

B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在main函數(shù)結(jié)束

C.程序的執(zhí)行總是從main函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束

D.程序的執(zhí)行總是從程序中的第一個(gè)函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束

48.下列選項(xiàng)中不屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是()。

A.軟件測(cè)試B.概要設(shè)計(jì)C.軟件維護(hù)D.詳細(xì)設(shè)計(jì)

49.若某二叉樹(shù)的前序遍歷訪問(wèn)順序是abdgcefh,中序遍歷訪問(wèn)順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問(wèn)順序是()。

A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca

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

A.指令由操作數(shù)和操作碼兩部分組成

B.常用參數(shù)xxMB表示計(jì)算機(jī)的速度

C.計(jì)算機(jī)的一個(gè)字長(zhǎng)總是等于兩個(gè)字節(jié)

D.計(jì)算機(jī)語(yǔ)言是完成某一任務(wù)的指令集

51.有以下程序:main(){char*p[]={"3697","2584"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if((p[i][j]-'0')%2)num=10*num+p[i][j]-'0';j+=2;}}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。

A.35B.37C.39D.3975

52.若有以下程序段intm=0xabc,n=0xubc;m-=n;printf("%X\n",m);執(zhí)行后輸出結(jié)果是

A.0X0B.0x0C.0D.0XABC

53.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un));}

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

54.在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是()。

A.不限制goto語(yǔ)句的使用B.減少或取消注解行C.程序越短越好D.程序結(jié)構(gòu)應(yīng)有助于讀者理解

55.設(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

56.如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是()

A.e3,e1,e4,e2B.e2,e4,e3,e1C.e3,e4,e1,e2D.任意順序

57.fseek函數(shù)的正確調(diào)用形式是()。

A.fseek(文件指針,起始點(diǎn),位移量)

B.fseek(文件指針,位移量,起始點(diǎn))

C.fseek(位移量,起始點(diǎn),文件指針)

D.fseek(起始點(diǎn),位移量,文件指針)

58.設(shè)x為int型變量,執(zhí)行以下語(yǔ)句,x=10;x+=x-x;x;x的值為_(kāi)_____。

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

59.若有以下定義,則對(duì)a數(shù)組元素地址的正確引用是()。

inta[5],*p=a;A.A.p5B.*a1C.&a1D.&a[0]

60.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti=1,j=3;printf("%d,",i++);{inti=0;i+=j*2;printf("%d,%d,",i,j);}printf("%d,%d\n",i,j);}

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

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

62.

對(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中都存放字符串

63.若有定義:intX=0,*P=&x;,則語(yǔ)句printf(”%d\n”,*P.的輸出結(jié)果是()。

A.隨機(jī)值B.0C.X的地址D.P的地址

64.

65.設(shè)有以下程序段:

structMP3

{charname[20];

charcolor;

floatprice;

}std,*ptr;

ptr=&std:

若要引用結(jié)構(gòu)體變量std中的color成員,寫(xiě)法錯(cuò)誤的是()。

A.std.color

B.ptr->color

C.std->color

D.(*ptr)color

66.

67.有下列程序:intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i]:returnsum;}main(){inta[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;s=fun(a,5)+fun(b,4);printf(“%d\n”,s);}程序執(zhí)行后的輸出結(jié)果是()。A.45B.50C.60D.55

68.下列關(guān)于C語(yǔ)言文件的敘述中正確的是()。A.文件睦數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件

B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件

C.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件

D.文件由字符序列組成,其類(lèi)型只能是文本文件

69.有以下程序函數(shù)fun只對(duì)下標(biāo)為偶數(shù)的元素進(jìn)行操作.:

程序運(yùn)行后的輸出結(jié)果是()。A.A.7,2,5,4,3,6,1,

B.1,6,3,4,5,2,7,

C.7,6,5,4,3,2,1,

D.1,7,3,5,6,2,1,

70.以下能正確定義字符串的語(yǔ)句是()。

A.charstr=”\x43”;

B.charstr[]=”、0”;

C.charstr=”;

D.charstr[]={’\064’};

71.以下程序的輸出結(jié)果是______。main(){charst[20]="hello'、0\t\\";printf("%d%d\n",strlen(st),sizeof(st));}

A.99B.520C.1320D.2020

72.設(shè)x,y,z均為整型變量,現(xiàn)有如下語(yǔ)句x=y=z=1;(++x||(++y&&++z));,則執(zhí)行這個(gè)語(yǔ)句后y的值為

A.2B.1C.0D.不定值

73.

74.下面不屬于軟件設(shè)計(jì)階段任務(wù)的是()。

A.制訂軟件確認(rèn)測(cè)試計(jì)劃B.數(shù)據(jù)庫(kù)設(shè)計(jì)C.軟件總體設(shè)計(jì)D.算法設(shè)計(jì)

75.有如下程序main(){chars[][5]={"abc","de","fgh"};printf("%c",s[2][6]);}其輸出為_(kāi)_____。

A.不確定B.編譯錯(cuò)誤C.gD.輸出null字符

76.

77.

78.

79.以下程序的輸出結(jié)果是()。main(){intRum=0;while(num<=2){num++;printf(”%d\n”,num);}}A.1B.1C.1234D.1223

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:判斷一個(gè)整數(shù)m是否是素?cái)?shù),若是返回1,否則返回0。在main()函數(shù)中,若proc()返回1,則輸出″YES″;若proc()返回0,則輸出″NO″!

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫(xiě)函數(shù)fun(),該函數(shù)的功能是統(tǒng)計(jì)一行字符串中單詞的個(gè)數(shù),并將其作為函數(shù)值返回。字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫(xiě)字母組成,單詞之間由若干個(gè)空格隔開(kāi),一行的開(kāi)始沒(méi)有空格。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:1#include<string.h>2#include<stdio.h>3#defineN804intfun(char*s)5{67}8voidmain()9{10FILE*wf;11charline[N];12intnum=0;13printf("Enterastring:\n");14gets(line);15num=fun(line);16printf("Thenumberofwordsis:%d\n\n",num);17/*********found*********/18wf=fopen("out.dat","w");19fprintf(wf,"%d",fun("abigcar"));20fclose(wf);21/*********found*********/22}

參考答案

1.D解析:C語(yǔ)言中++運(yùn)算符的對(duì)象可以是整型、實(shí)型和字符型,但不可是常量,本題中D為常量。

2.D程序首先將數(shù)組a中的元素1、2、3分別寫(xiě)入了d1.dat文件中,再將d1.dat文件中的數(shù)據(jù)“123”整體寫(xiě)到變量n的空間中,所以輸出的數(shù)據(jù)為123。故本題答案為D選項(xiàng)。

3.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪問(wèn)結(jié)構(gòu)體的成員,可以通過(guò)結(jié)構(gòu)變量訪問(wèn),即st.i,也可以用等價(jià)的指針形式,即(*p).i和p->i。

4.D

5.A運(yùn)算符“%”的左右兩個(gè)操作數(shù)均應(yīng)為整數(shù),所以B選項(xiàng)與D選項(xiàng)錯(cuò)誤。C選項(xiàng)中不能將“x+z”的值賦給表達(dá)式“y*5”,所以C選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。

6.B

\n本題考查for循環(huán)及if…else語(yǔ)句嵌套,第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]=p[1][0]-1=3;第2次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4;第3次執(zhí)行for循環(huán),p[1][2]=l,最后輸出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。

\n

7.D在程序設(shè)計(jì)中,各模塊間的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,以有利于提高模塊的獨(dú)立性。耦合性與內(nèi)聚性是模塊獨(dú)立的兩個(gè)定性標(biāo)準(zhǔn),是互相關(guān)聯(lián)的。

8.D解析:C語(yǔ)言覿定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。函數(shù)調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。本題要求輸出aa[0]的值,結(jié)果應(yīng)為1。

9.B

10.B

11.B#define命令是C語(yǔ)言中的一個(gè)宏定義命令,標(biāo)識(shí)符一般使用大寫(xiě),用標(biāo)識(shí)符定義一個(gè):字符串,該標(biāo)識(shí)符被稱為宏名,被定義的字符串稱為替換文本。宏定義不進(jìn)行其他操作,僅僅只是替換標(biāo)識(shí)符。后綴自增運(yùn)算a++表示先運(yùn)算,后自加。意思是遇到a++了,先把當(dāng)前的a的值拿來(lái)參加運(yùn)算,后面再自加。SUB(a++,b++)→(a++)*(b++)=3*4。故本題答案為B選項(xiàng)。

12.D解析:在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞紿形參,調(diào)用結(jié)束后,形參單元彼釋放,實(shí)參單元仍保留并維持原值。因此,在執(zhí)行—個(gè)被調(diào)用函數(shù)時(shí),形參的值如果發(fā)生改變,并不會(huì)改變主調(diào)函數(shù)的實(shí)參的值,也就是說(shuō)形參的值是不傳回紿對(duì)應(yīng)的實(shí)參的。

13.DD選項(xiàng)中將字符串常量…aa賦給字符變量a是錯(cuò)誤的。

14.D本題考查對(duì)軟件生命周期的理解,軟件生命周期整體上可分為定義階段、開(kāi)發(fā)階段和維護(hù)階段。其中定義階段包括可行性研究與計(jì)劃制訂和需求分析;開(kāi)發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、開(kāi)發(fā)和測(cè)試;維護(hù)階段是一個(gè)單獨(dú)階段,不包含在開(kāi)發(fā)階段內(nèi),它是所花費(fèi)用最多的一個(gè)階段。

15.Dfprintf函數(shù)和fscanf函數(shù)都可以讀寫(xiě)文本文件,而fwrite和fread函數(shù)可以讀寫(xiě)二進(jìn)制文件,選項(xiàng)A、C錯(cuò)誤;文件以“r”方式打開(kāi)后,只可以讀取文本數(shù)據(jù),選項(xiàng)B錯(cuò)誤。故本題答案為D選項(xiàng)。

16.C

17.B本題考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語(yǔ)句執(zhí)行6次,第二條for語(yǔ)句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。

18.D在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類(lèi)型。整型常量和實(shí)型常量又稱數(shù)值型常量。基本整型常量只能用數(shù)字表示,不帶小數(shù)點(diǎn),例如12、-1和0等,在VC6.0中可以在整型常量的后面加—個(gè)字母l(L的小寫(xiě))或L;實(shí)型常量必須用帶小數(shù)點(diǎn)的數(shù)表示,例如3.14159、-2.71828、0.0等;選項(xiàng)A中字母o不符合要求,選頂B中超出八進(jìn)制的范圍,選項(xiàng)C中e后面的不為整數(shù),因此選頂D是正確的。

19.D解析:實(shí)體聯(lián)系模型中實(shí)體與實(shí)體之間的聯(lián)系有一對(duì)一(1:1),一對(duì)多戌多對(duì)一(1:m或m:1),多對(duì)多(m:n)其中一對(duì)一是最常用的關(guān)系。

20.D算法是指解題方案的準(zhǔn)確而完整的描述,算法不等于程序,也不等于計(jì)算方法,所以A錯(cuò)誤。設(shè)計(jì)算法時(shí)不僅要考慮對(duì)數(shù)據(jù)對(duì)象的運(yùn)算和操作,還要考慮算法的控制結(jié)構(gòu)。故答案為D選項(xiàng)。

21.p+=2*(p++)p+=2,*(p++)解析:由題可知a[2]=3,因此只要使指針p指向a[3],然后再引用指針的值就可以了。

22.中序中序解析:在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù)。中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左了樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù):并且遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷右子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然光遍歷右子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù)。

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

24.散列散列

25.t>=le-5;t=t/n;

26.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]。

27.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒(méi)有發(fā)生變化,所以輸出結(jié)果為35。

28.驅(qū)動(dòng)模塊驅(qū)動(dòng)模塊解析:由于模塊通常不是獨(dú)立的程序,自己不能運(yùn)行,而需要其他模塊調(diào)用或驅(qū)動(dòng),同時(shí)被測(cè)試模塊還要去調(diào)用其他模塊,前者稱為驅(qū)動(dòng)模塊,后者稱為承接模塊。其中驅(qū)動(dòng)模塊的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果;承接模塊的作用是代替被測(cè)模塊,調(diào)用其他模塊。

29.282,8解析:do…while語(yǔ)句的功能是:首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán)。這里程序初始時(shí)a=1,b=10,經(jīng)過(guò)操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8。

30.8181解析:本題的宏調(diào)用S(i+j)將被替換成表達(dá)式4*i+j*i+j+l等于4*6+8*6+8+1=24+48+8+1=81。所以本題輸出81。

31.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。程序調(diào)試與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于調(diào)試工具找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,而調(diào)試主要在開(kāi)發(fā)階段。

32.完善性軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再開(kāi)發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。

33.28

34.BB解析:因?yàn)閏是字符類(lèi)型變量,它只能接收一個(gè)字符,所以c=A,字符型變量在參與算術(shù)運(yùn)算的時(shí)候是用其相應(yīng)的ASCII碼參與運(yùn)算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應(yīng)的字符,所以是B。

35.連接兩個(gè)字符數(shù)組中的字符連接兩個(gè)字符數(shù)組中的字符解析:strcat函數(shù)的作用是連接兩個(gè)字符數(shù)組中的字符串。

36.鏈?zhǔn)酱鎯?chǔ)和順序存儲(chǔ)鏈?zhǔn)酱鎯?chǔ)和順序存儲(chǔ)

37.載體載體

38.77解析:x=(y=4)+(z=3)等價(jià)于y=4,z=3,x=y+z=4+3=7。

39.structst或exstructst或ex解析:結(jié)構(gòu)體類(lèi)型數(shù)據(jù),其數(shù)據(jù)成員各自占據(jù)不同的存儲(chǔ)空間,整個(gè)結(jié)構(gòu)體變量所占存儲(chǔ)單元的字節(jié)數(shù)為每一個(gè)數(shù)據(jù)成員所占的存儲(chǔ)空間的和。注意:共用體變量所占存儲(chǔ)單元字節(jié)數(shù)的計(jì)算。

40.D

41.A解析:a就是數(shù)組a的首地址,而a+x是數(shù)組中第x個(gè)元素的地址,所以在四個(gè)選項(xiàng)中,選項(xiàng)B和C只能輸入一個(gè)數(shù)據(jù),選項(xiàng)D不能給a[0]輸入數(shù)據(jù),只有A可以完成給數(shù)組所有的元素輸入數(shù)據(jù)的任務(wù)。

42.C解析:這是一個(gè)轉(zhuǎn)換程序:低字節(jié)相互轉(zhuǎn)換,高字節(jié)不變?!癮be”的ab和“123”的12相互轉(zhuǎn)化。

43.A

44.B解析:在C語(yǔ)言中,宏定義是直接替換的,所以在c+a>b?a:b這個(gè)條件表達(dá)式中,c+a>b為真,所以用a的值作為整個(gè)表達(dá)式的值,而a的值為5,所以整個(gè)表達(dá)式的值為5。

45.A解析:函數(shù)f1(x,y)的功能返回x,y中較大的一個(gè),而函數(shù)f2(x,y)的功能是返回x,y中較小的一個(gè),所以f1(a,b)=4,f1(c,d)=3,f2(c,d)=2,故e=f2(4,5),f=(3,2)=3,g=4+3+5+2-4-3=7。

46.B解析:C語(yǔ)言函數(shù)中的參數(shù)傳遞方式有傳值與傳址兩種方式,傳值方式是指將實(shí)參的值復(fù)制一份傳遞給形參,而傳址方式是指將實(shí)參的變量地址傳遞給形參,也就是實(shí)參的引用。

47.A解析:一個(gè)C語(yǔ)言源程序無(wú)論包括了多少函數(shù),總是從main函數(shù)開(kāi)始執(zhí)行,從main函數(shù)結(jié)束。

48.C解析:軟件生命周期由軟件定義、軟件開(kāi)發(fā)和軟件維護(hù)三個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分為若干個(gè)階段。軟件定義時(shí)期的基本任務(wù)是確定軟件系統(tǒng)的工程需求。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個(gè)階段。軟件開(kāi)發(fā)時(shí)期是具體設(shè)計(jì)和實(shí)現(xiàn)在前一時(shí)期定義的軟件,它通常由下面五個(gè)階段組成:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫(xiě)代碼、組裝測(cè)試和確認(rèn)測(cè)試。軟件維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。即當(dāng)軟件在使用過(guò)程中發(fā)現(xiàn)錯(cuò)誤時(shí)應(yīng)加以改正;當(dāng)環(huán)境改變時(shí)應(yīng)該修改軟件,以適應(yīng)新的環(huán)境;當(dāng)用戶有新要求時(shí)應(yīng)該及時(shí)改進(jìn)軟件,以滿足用戶的新要求。根據(jù)上述對(duì)軟件生命周期的介紹,可知選項(xiàng)C中的軟件維護(hù)不是軟件生命周期開(kāi)發(fā)階段的任務(wù)。因此,本題的正確答案是C。

49.D解析:中序遍歷的遞歸算法定義:①遍歷左子樹(shù);②訪問(wèn)根結(jié)點(diǎn);③遍歷右子樹(shù)。前序遍歷的遞歸算法定義:①訪問(wèn)根結(jié)點(diǎn);②遍歷左子樹(shù);③遍歷右子樹(shù)。后序遍歷的遞歸算法定義:①遍歷左子樹(shù);②遍歷右子樹(shù);③訪問(wèn)根結(jié)點(diǎn)。根據(jù)前序遍歷的結(jié)果可知,a是根結(jié)點(diǎn)。由中序遍歷的結(jié)果dgbaechf可知,d、g、b是左子樹(shù)的結(jié)點(diǎn),e、c、h、f是右子樹(shù)的結(jié)點(diǎn)。再由前序遍歷的結(jié)果bdg可知,b是a左邊子樹(shù)的根,由cefh可知,c是a右邊子樹(shù)的根。再由中序遍歷的結(jié)果dgb可知,d、g是b左邊子樹(shù)的結(jié)點(diǎn),b右邊子樹(shù)無(wú)結(jié)點(diǎn)。再由前序遍歷結(jié)果dg可知,d為b左子樹(shù)的根,g是以d為根的子樹(shù)的右結(jié)點(diǎn)。至此,a的左子樹(shù)已完全弄清楚了。同樣的道理,可以弄清楚以c為根的子樹(shù)的結(jié)點(diǎn)位置。所以可知后序遍歷的結(jié)果是D。

50.A

51.C解析:通過(guò)賦值表達(dá)式指針數(shù)組*p[]等價(jià)于數(shù)組p[2][4];表達(dá)式“p[i][j]-'0'”可用來(lái)表示該字符數(shù)組元素的數(shù)值,故表達(dá)式“(p[i][j]-'0')%2”為判斷該字符數(shù)組元素的數(shù)值的奇偶性,表達(dá)式“num=10*num+p[i][j]-'0'”中的數(shù)值運(yùn)算表示直接加該字符數(shù)組元素的數(shù)值。

52.C解析:C語(yǔ)言中的自反賦值運(yùn)算符?!癿-=n”相當(dāng)于“m=m-n”,兩個(gè)相等的數(shù)相減,其值為0。

53.B解析:本題主要考查結(jié)構(gòu)體和聯(lián)合內(nèi)存使用的區(qū)別:結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個(gè)成員相互獨(dú)立;聯(lián)合所占用的內(nèi)存空間為最長(zhǎng)的成員所占用的空間。

54.D解析:濫用goto語(yǔ)句將使程序流程無(wú)規(guī)律,可讀性差,因此選項(xiàng)A)不選;注解行有利于對(duì)程序的理解,不應(yīng)減少或取消,選項(xiàng)B)也不選;程序的長(zhǎng)短要依照實(shí)際情況而論,而不是越短越好,選項(xiàng)C)也不選。

55.A

56.B解析:由?!昂筮M(jìn)先出”的特點(diǎn)可知:A中e1不可能比e2先出,C中e3不可能比e4先出,且e1不可能比e2先出,D中棧是先進(jìn)后出的,所以不可能是任意順序。所以B是正確的。它執(zhí)行的順序是:e1進(jìn)?!鷈2進(jìn)棧→e2出棧→e3進(jìn)棧→e4進(jìn)棧→e4出?!鷈3出?!鷈1出棧,所以只看出棧序列應(yīng)為e2,e4,e3,e1。

57.B解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:

fseek(文件指針,位移量,起始點(diǎn))

“起始點(diǎn)”用0,1或2代替,0代表“文件開(kāi)始”,1為“當(dāng)前位置”,2為“文件末尾”。

“位移量”指以“起始點(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件長(zhǎng)度大于64k時(shí)不致出現(xiàn)問(wèn)題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字末尾加一個(gè)字母L表示long型。

58.B解析:本題x=10,表達(dá)式“x+=x-=x-x;”的求解步驟如下:先進(jìn)行x=x-x的運(yùn)算,相當(dāng)于x=x-(x-x)=x=10;再進(jìn)行x+=x的運(yùn)算,即x=x+x=200

59.D本題考查如何引用數(shù)組元素的地址。選項(xiàng)A)中,p5引用的是af51的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用錯(cuò)誤;選項(xiàng)B)中,*a1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C)中,這種引用方式錯(cuò)誤;選項(xiàng)D)中,&a[0]引用的是數(shù)組的首地址。

60.B

61.A循環(huán)輸出前兩個(gè)數(shù)據(jù),所以結(jié)果為A)。

62.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。

63.B題中定義的語(yǔ)句等價(jià)于以下語(yǔ)句。

故本題定義一個(gè)整型變量x和一個(gè)指向整型的指針P,并把變量X的地址賦值給P,即P為指向整型變量x的指針,則*P表示P所指向的整型變量x的數(shù)值。

64.B

65.A\n本題中要引用結(jié)構(gòu)體變量std中的color,要使用指針,而std.color不是一個(gè)指針類(lèi)型,所以答案選擇A。

\n

66.D

67.C在函數(shù)intfun(intx[],intn)的定義中,變量sum為一個(gè)靜態(tài)局部變量。由于在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存中的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元。函數(shù)intfun(intx[],intn)的功能是求出

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論