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è),還剩66頁(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.輸入序列為(A,B,C,D),不可能得到的輸出序列是______.

A.(A,B,C,D)B.(D,C,B,A)C.(A,C,D,B)D.(C,A,B,D)

2.假設(shè)下圖中每個(gè)正方形的邊長(zhǎng)為1,則從A到Z的最短路徑條數(shù)為()A.11B.12C.13D.14

3.在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是A.程序外部功能B.程序內(nèi)部邏輯C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖

4.語(yǔ)句“printf("akbre"\'hi\'y\\\bou\n")”;的輸出結(jié)果是()。

A.akbre\'hi\'y'\\\bou

B.a\bre\'hi\\y\bou

C.re'hi'you

D.abre'hi'y\bou

5.堆是一種有用的數(shù)據(jù)結(jié)構(gòu)。下列關(guān)鍵碼序列()是一個(gè)堆。

A.94,31,53,23,16,72

B.94,53,31,72,16,23

C.16,53,23,94,31,72

D.16,31,23,94,53,72

6.

7.程序中若有如下說(shuō)明和定義語(yǔ)句charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;.....}以下選項(xiàng)中對(duì)函數(shù)Fun的正確調(diào)用語(yǔ)句是______。A.(*f1)(a);B.*f1(*s);C.fun(&a);D.ch=*f1(s);

8.下面程序的運(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

9.下列定義數(shù)組的語(yǔ)句中,正確的是()。A.#defineN10;intx[N];

B.intN=10;intx[N];

C.int:x[0.10];

D.intx[];.

10.下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是()。

A.使用順序、選擇和重復(fù)(循環(huán).三種基本控制結(jié)構(gòu)表示程序的控制邏輯

B.模塊只有一個(gè)入口,可以有多個(gè)出口

C.注重提高程序的執(zhí)行效率

D.不使用goto語(yǔ)句

11.若變量已正確定義為int型,要通過(guò)語(yǔ)句“scanf(“%d,%d,%d”,&a,&b,&c);”將a賦值為1、將b賦值為2、將c賦值為3,以下輸入形式中錯(cuò)誤的是(注:□代表一個(gè)空格符)()。

A.1,2,3<Enter>

B.□□□1,2,3<Enter>

C.1,□□□2,□□□3<Enter>

D.1□2□3<Enter>

12.

13.有以下程序

#include<stdio.h>

main()

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

if(x>y)

if(y<z)printf("%d",++z);

elseprintf("%d",++y);

printf("%d\n",x++);

}

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

A.A.331

B.41

C.2

D.1

14.請(qǐng)讀程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若運(yùn)行時(shí)從鍵盤(pán)上輸入9876543210,則上面程序的輸出結(jié)果是______。

A.a=98,b=765,c=4321

B.a=10,b=432,c=8765

C.a=98,b=765.000000,c=4321.000000

D.a=98,b=765.0,c=4321.0

15.有n個(gè)結(jié)點(diǎn)的二叉樹(shù)鏈表共有__________個(gè)空指針域。

A.n-1B.nC.n+1D.n+2

16.

17.以下選項(xiàng)中關(guān)于C語(yǔ)言算術(shù)表達(dá)式的敘述中錯(cuò)誤的是()。

A.可以通過(guò)使用圓括號(hào)來(lái)改變算術(shù)表達(dá)式中某些算術(shù)運(yùn)算符的計(jì)算優(yōu)先級(jí)

B.C語(yǔ)言采用的是人們熟悉的四則運(yùn)算規(guī)則,即先乘除后加減

C.算術(shù)表達(dá)式中,運(yùn)算符兩側(cè)類(lèi)型不同時(shí),將進(jìn)行類(lèi)型之間的轉(zhuǎn)換

D.C語(yǔ)言?xún)H提供了“+”“-”“*”“/”這4個(gè)基本算術(shù)運(yùn)算符

18.

19.有以下定義和語(yǔ)句

StructWorkers

{intnum;charname[20];charc;

struct

{intday;intmonth;intyear;}s;

};

StructWorkersW,*pe;

PW=&W;

能給W中yeaR成員賦1980的語(yǔ)句是A.*pW.yeaR=1980;

B.W.yeaR=1980;

C.pW->yeaR=1980;

D.W.s.yeaR=1980;

20.一個(gè)遞歸算法必須包括()。

A.遞歸部分B.終止條件和遞歸部分C.迭代部分D.終止條件和迭代部分

二、2.填空題(20題)21.定義長(zhǎng)度為12的數(shù)組,下面四種方法中正確的有【】。

①intx[12];②intn=12;③constintn=12;④intx[]={1,2};

intx[n];intx[n];

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

main()

{char*p[]={"BOOL","OPK","H","SP"};

inti;

for(i=3;i>0;i--,i--)printf("%c",*p[i]);

printf("\n");}

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

intx=0,y=0;

while(x<15)y++,x+=++y;

printf("%d,%d",y,x);

24.如果兩個(gè)8位二進(jìn)制數(shù)00010101與01000111相加,其結(jié)果用十進(jìn)制表示為【】。

25.以下涵數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。

#defineN4

voidrotade(inta[][N],intb[][N])

{inti,j;

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

{b[i][N-1]=【】;【】=a[N-1][i];}}

26.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱(chēng)為_(kāi)_____。

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

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

main()

{inta=10;

a=(3*5,a+4);printf("a=%d\n",a);

}

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

30.深度為5的滿(mǎn)二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_(kāi)_____。

31.在樹(shù)形結(jié)構(gòu)中,樹(shù)根結(jié)點(diǎn)沒(méi)有______。

32.下面程序的輸出是【】。

main()

{enumem{em1=3,em2=1,em3};

char*aa[]={"AA"m,"BB","CC:,"DD"};

printf("%s%s%s\n,aa[em1],aa[em2],aa[em3]);

}

33.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)稱(chēng)為算法的______。

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

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

p=a;

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

unsignedfun6(unsignednum)

{unsignedk=1;

do{k*=hum%10;

num/=10;}while(num);

return(k);}

main()

{unsignedn=26;

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

36.設(shè)順序輸入數(shù)列為:24,30,8,5,1,27,24,26,10,21,9,28,7,13,15。假定每個(gè)結(jié)點(diǎn)的查找概率相同,若用順序存儲(chǔ)方式組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】;若按二叉排序樹(shù)結(jié)構(gòu)組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】。

37.在鏈表的運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是______。

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

main()

{inti,sum;

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

sum+=i;

primf("%d",sum);

}

39.以下函數(shù)用來(lái)求出兩整數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>

voidfunc(intx,inty,【】z)

{*z=x+y;}

40.在scanf()函數(shù)調(diào)用語(yǔ)句中,可以在格式字符和%號(hào)之間加上一個(gè)星號(hào),它的作用是跳過(guò)對(duì)應(yīng)的輸入數(shù)據(jù);當(dāng)輸入以下數(shù)據(jù)時(shí),100200300400500<回車(chē)>,下面語(yǔ)句的執(zhí)行結(jié)果為【】。

main()

{inta,b,C;

scanf("%d%*d%d%d",&a,&b,&c);

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

三、1.選擇題(20題)41.在多媒體計(jì)算機(jī)系統(tǒng)中,不能存儲(chǔ)多媒體信息的是()

A.光盤(pán)B.磁盤(pán)C.磁帶D.光纜

42.下面不屬于軟件設(shè)計(jì)原則的是()。

A.抽象B.模塊化C.自底向上D.信息隱蔽

43.設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是

A.x&&y

B.x<=y

C.x||++y&&y-z

D.!(x<y&&!z||1)

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

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

45.有下列程序:main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.1B.2C.4D.死循環(huán)

46.下列程序中c的二進(jìn)制值是()。chara=2,b=4,c;c=ab>>2:

A.11B.10100C.11100D.11000

47.假定int類(lèi)型變量占用兩個(gè)字節(jié),有定義:intx[10]={0,2,4};,則數(shù)組x在內(nèi)存中占字節(jié)數(shù)是

A.3B.6C.10D.20

48.有以下程序:main(){inta=1,b=2,m=0,n=0,k;k=(n=b>A)||(m=a<B);printf("%d,%d\n",k,m);}程序運(yùn)行后的輸出結(jié)果是

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

49.下列4項(xiàng)說(shuō)法中,不正確的是______。

A.數(shù)據(jù)庫(kù)減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫(kù)避免了一切數(shù)據(jù)的重復(fù)D.數(shù)據(jù)庫(kù)具有較高的數(shù)據(jù)獨(dú)立性

50.下列關(guān)于棧的描述正確的是()。

A.在棧中只能插入元素而不能刪除元素

B.在棧中只能刪除元素而不能插入元素

C.棧是特殊的線(xiàn)性表,只能在一端插入或刪除元素

D.棧是特殊的線(xiàn)性表,只能在一端插入元素,而在另一端刪除元素

51.C語(yǔ)言的基本單位是()。

A.函數(shù)B.過(guò)程C.子程序D.子函數(shù)

52.在下列敘述中,錯(cuò)誤的是()。

A.C語(yǔ)言中,二維數(shù)組或多維數(shù)組是按行存放的

B.賦值表達(dá)式b[1][2]=a[2][3]是正確的

C.chara[1];a[0]='A'與inta[1];a[0]='A'等價(jià)

D.數(shù)組名后的方括號(hào)內(nèi)可以為常量表達(dá)式,也可以為變量

53.下列敘述中,不屬于測(cè)試的特征的是

A.測(cè)試的挑剔性B.完全測(cè)試的不可能性C.測(cè)試的可靠性D.測(cè)試的經(jīng)濟(jì)性

54.下面的程序執(zhí)行后,文件test.t中內(nèi)容是______。#include<stdio.h>voidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,"w");for(i=0;i<strlen(st);i++)fputc(st[i],myf);fclose(myf);}main(){fun("test.t","newworld");fun("test.t","hello,");}

A.hello,B.newworldhelloC.newworldD.hello,rld

55.下面關(guān)于數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu)的敘述中,正確的是()

A.內(nèi)模式可以有多個(gè),外模式和模式只有一個(gè)

B.外模式可以有多個(gè),內(nèi)模式和模式只有一個(gè)

C.內(nèi)模式只有一個(gè),模式和外模式可以有多個(gè)

D.模式只有一個(gè),外模式和內(nèi)模式可以有多個(gè)

56.有說(shuō)明char.*c[]={"European","Asian","American","African"};則下列敘述中正確的是

A.*(c+1)='A'

B.c是—個(gè)字符型指針數(shù)組,所包含4個(gè)元素的初值分別為"European","Asian"、"American"和"African"

C.c[3]表示字符串"American"的首地址

D.c是包含4個(gè)元素的字符型指針數(shù)組,每個(gè)元素都是一個(gè)字符串的首地址

57.若要“為讀/寫(xiě)建立―個(gè)新的文本文件”,在fopen函數(shù)中應(yīng)使用的文件方式是()

A.wB.wbC.w+D.wb+

58.下列敘述中,不屬于結(jié)構(gòu)化分析方法的是()。A.A.面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法

B.面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法

C.面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開(kāi)發(fā)方法

D.面向?qū)ο蟮姆治龇椒?/p>

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

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

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

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

60.模塊本身的內(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)聚

四、選擇題(20題)61.以下程序的輸出結(jié)果是()。

main

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"),K;

for(k=1;k<3;k++)printf("%s\n",w[k]);A.A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL

62.

63.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線(xiàn)性結(jié)構(gòu)的是A.循環(huán)隊(duì)列B.帶鏈隊(duì)列C.二叉樹(shù)D.帶鏈棧

64.軟件測(cè)試的目的是()。

A.評(píng)估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤C.改正程序中的錯(cuò)誤D.發(fā)現(xiàn)程序中的錯(cuò)誤

65.

66.一棵二叉樹(shù)共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為l的結(jié)點(diǎn)數(shù)為()。

A.16B.10C.6D.4

67.下列關(guān)于信息系統(tǒng)的敘述中,錯(cuò)誤的是()。

A.廣播電視是一種雙向的、點(diǎn)到多點(diǎn)的信息交互系自

B.網(wǎng)絡(luò)聊天是一種雙向的,以信息交互為主要目的系統(tǒng)

C.電話(huà)是一種雙向的、點(diǎn)對(duì)點(diǎn)的、以信息交互為主要的的系統(tǒng)

D.雷達(dá)是一種以感測(cè)和識(shí)別為主要目的的系統(tǒng)

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.若有定義:char*st=”howareyou”;,下列程序段中正確的是()。

A.

B.

C.

D.

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

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

71.

72.標(biāo)準(zhǔn)庫(kù)函數(shù)fgets(s,n,file)的功能是()。

A.從文件file中讀取長(zhǎng)度為n的字符串存入字符數(shù)s由

B.從文件file中讀取長(zhǎng)度不超過(guò)n-1個(gè)字符的字符放到字符數(shù)組S中

C.從文件file中讀到n個(gè)字符串存入字符數(shù)組s中

D.從文件file中讀取長(zhǎng)度為n-1個(gè)字符的字符串存字符數(shù)組S中

73.

74.

75.

76.

77.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中不能正確將c的值賦給變量a、b的是()。A.A.a=b=c;B.(a=c)C.(a=c)&&(b=c);D.(b=c);

78.若a為int類(lèi)型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。

A.-3B.9C.-12D.6

79.在“文件包含”預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用(雙引號(hào))括起時(shí),尋找被包含文件的方式是()。

A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄

B.先在源程序所在的目錄搜索,如沒(méi)找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索

C.僅僅搜索源程序所在目錄

D.僅僅搜索當(dāng)前目錄

80.

五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:將str所指字符串中出現(xiàn)的t1所指字符串全部替換成t2所指字符串,所形成的新的字符串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長(zhǎng)度相同。例如,當(dāng)str所指字符串中所指的內(nèi)容為abcdabcdef9,t1所指字符串中的內(nèi)容為bc,t2所指字符串中的內(nèi)容為11時(shí),結(jié)果在w所指的數(shù)組中的內(nèi)容應(yīng)為alldalldefg。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)fun(ohlr*str),該函數(shù)的功能是把字符串中的內(nèi)容逆置。

例如,字符串中原有的字符串為asdf9,則調(diào)用該函數(shù)后,串中的內(nèi)容為9fdsa。

請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所編寫(xiě)的若干語(yǔ)句。

試題程序:

#include<string.h>

#include<conio.h>

#include<stdio.h>

#defineN100

voidfun(char*str)

{

}

voidmain

{

chara[N];

FILE*out:

printf("Enterastring:");

gets(a);

printf("Theorigiralstringis:");

puts(a);

fun(a):

printf("Thestringaftermodified:");

puts(a);

strcpy(a,"Welcome!");

fun(a);

ut=fopen("outfile.dat","w");

fprintf(out,"%s".a(chǎn));

fclose(out);

}

參考答案

1.D

2.C

3.A【答案】:A

【知識(shí)點(diǎn)】:黑盒測(cè)試

【解析】:黑盒測(cè)試也稱(chēng)功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特征,只著眼于程序的外部結(jié)構(gòu),主要用來(lái)檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用。故選A。

4.C先輸出a、b表示退一格,當(dāng)執(zhí)行到:\b后,光標(biāo)往后退,接著輸出re'hi'y\(反斜杠后又加一個(gè)反斜杠的意思是要輸出一個(gè)反斜杠),此時(shí)又執(zhí)行:\b后,\就被ou覆蓋。

5.D

6.D

7.A解析:題中將函數(shù)fun的入口地址賦給了指針變量f1,這時(shí)f1和fun都指向函數(shù)的開(kāi)頭,調(diào)用*f1就是調(diào)用函數(shù)fun。

8.C解析:考查用字符指針處理字符串的方法。語(yǔ)句'p=s;'是使指針p指向字符數(shù)組s。*p則引用了p所指位置的數(shù)組元素。通過(guò)指針來(lái)引用一維數(shù)組元素。

9.A[解析]數(shù)組說(shuō)明的一般形式為:類(lèi)型說(shuō)明符數(shù)組名[常量表達(dá)式]。B)中N是變量,不能用變量定義數(shù)組長(zhǎng)度。C)選項(xiàng)中數(shù)組長(zhǎng)度是非法的一串?dāng)?shù)字。定義數(shù)組時(shí)必須為其指明長(zhǎng)度,D)選項(xiàng)中數(shù)組長(zhǎng)度為空,所以非法。\u3000\u3000

10.A解析:結(jié)構(gòu)化程序設(shè)計(jì)方法的四條原則是:①自頂向下;②逐步求精;③模塊化;④限制使用goto語(yǔ)句?!白皂斚蛳隆笔侵冈诔绦蛟O(shè)計(jì)時(shí),先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。“逐步求精”是指對(duì)復(fù)雜問(wèn)題應(yīng)設(shè)計(jì)一些子目標(biāo)作過(guò)渡,逐步細(xì)節(jié)化?!澳K化”是指一個(gè)復(fù)雜問(wèn)題由若干稍簡(jiǎn)單的問(wèn)題構(gòu)成;解決這個(gè)復(fù)雜問(wèn)題的程序,也應(yīng)由若干稍簡(jiǎn)單問(wèn)題的小程序組成。

11.D在輸入整數(shù)或?qū)崝?shù)這類(lèi)數(shù)值型數(shù)據(jù)時(shí),輸入數(shù)據(jù)之間必須用空格、回車(chē)符、制表符等間隔符隔開(kāi),間隔符個(gè)數(shù)不限。scanf的格式控制字符串也可以使用其他非空白字符,如本題中的逗號(hào),但在輸入時(shí)必須輸入這些字符,以保證匹配,所以逗號(hào)必須輸入。故本題答案為D選項(xiàng)。

12.A

13.D本題考查if-else語(yǔ)句的使用。if-else語(yǔ)句可以在條件為“真”或?yàn)椤凹佟睍r(shí)執(zhí)行指定的動(dòng)作,由if引導(dǎo)條件為“真”時(shí)執(zhí)行的操作;由else引導(dǎo)條件為“假”時(shí)執(zhí)行的操作。else語(yǔ)句要與上面最近的if語(yǔ)句進(jìn)行匹配,如果要嵌套調(diào)用if-else語(yǔ)句,需要將嵌套部分用{}括起來(lái),避免程序報(bào)錯(cuò)。題目中給出了一個(gè)if語(yǔ)句和一個(gè)if-else語(yǔ)句,if-else語(yǔ)句為第一個(gè)if語(yǔ)句的子語(yǔ)句。首先執(zhí)行外層if語(yǔ)句,執(zhí)行條件為x>y,由于x=1,y=2,故該條件為假,不執(zhí)行if的子語(yǔ)句,直接執(zhí)行語(yǔ)句printf("%d\\n",x++);,該語(yǔ)句先輸出x的值,然后進(jìn)行x++操作。x的初始值為1,輸出結(jié)果為1。

14.C解析:scanf()把用戶(hù)從鍵盤(pán)錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實(shí)型變量b,把第6、7、8、9位存入單精度實(shí)型變量c,用戶(hù)錄入的第10位被scanf()遺棄。這時(shí)變量a、b、c的值分別為:98、765.000000、4321.000000。

15.C

16.A

17.DC語(yǔ)言的算術(shù)運(yùn)算符是有優(yōu)先級(jí)的。圓括號(hào)可以改變算術(shù)表達(dá)式中某些算術(shù)運(yùn)算符的優(yōu)先級(jí),選項(xiàng)A正確;算術(shù)運(yùn)算符中,乘除運(yùn)算符的優(yōu)先級(jí)比加減運(yùn)算符的優(yōu)先級(jí)高,C語(yǔ)言采用的是四則運(yùn)算規(guī)則,選項(xiàng)B正確;算術(shù)表達(dá)式中,運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類(lèi)型不同時(shí),將進(jìn)行隱式類(lèi)型轉(zhuǎn)換,選項(xiàng)C正確;C語(yǔ)言中基本的算術(shù)運(yùn)算符除了“+”“-”“*”“/”之外,還有“%”,即求余運(yùn)算符,選項(xiàng)D錯(cuò)誤。故本題答案為D選項(xiàng)。

18.A

19.D解析:結(jié)構(gòu)體structureworkers中的成員s是結(jié)構(gòu)體類(lèi)型,給w中成員year賦值的語(yǔ)句是w.s.year=1980,故選D。

20.B

21.①③

22.SOSO解析:題中需要注意兩個(gè)問(wèn)題:一是for循環(huán)的修正表達(dá)式共執(zhí)行兩次“i-”操作;二是*p[i]是對(duì)某個(gè)字符的引用。

23.8208,20解析:本題考查while循環(huán)和++運(yùn)算符的運(yùn)用。x=0符合條件x<15,則執(zhí)行y++,x+=++y后,y=1,x=0+2=2后y=2,符合條件繼續(xù)循環(huán),y=3,x=x+4=6后y=4,再循環(huán)y=5,x=x+6=6+6=12后,y=6,繼續(xù)循環(huán)y=7,x=x+8=12+8-20,此時(shí)y=8。

24.92

25.a[0][i]b[i][o]a[0][i]\r\nb[i][o]解析:b[i][N-1]=a[0][i]實(shí)現(xiàn)把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b[i][0]=a[N-1][i]實(shí)現(xiàn)將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中。

26.扇出扇出解析:在結(jié)構(gòu)圖中,調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)稱(chēng)為扇入,一個(gè)模塊直接調(diào)用的其他模塊個(gè)數(shù)稱(chēng)為扇出。

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

28.a=14a=14解析:逗號(hào)表達(dá)式的值是以逗號(hào)分隔的最后一個(gè)表達(dá)式的值。所以題目中的語(yǔ)句a=(3*5,a+4);就等價(jià)于a=a+4;。故本題輸出結(jié)果是a=14。

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

30.1616解析:滿(mǎn)二叉樹(shù)的葉子結(jié)點(diǎn)都在最后一層,即第4層,且第4層的結(jié)點(diǎn)達(dá)到最大數(shù),即25-1=16。

31.前件前件

32.DDBBCCDDBBCC解析:C語(yǔ)言對(duì)枚舉的定義規(guī)定:在枚舉中聲明的各個(gè)枚舉元素,如果沒(méi)有明確指出某個(gè)枚舉元素的值,它的上一個(gè)元素存在并有明確值的情況下,這個(gè)枚舉元素的值為其上一個(gè)元素的值+1。在本題中,沒(méi)有明確說(shuō)明枚舉元素em3的值,則em3=em2+1=1+1=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為“DDBBCC”。

33.時(shí)間復(fù)雜度時(shí)間復(fù)雜度解析:算法在執(zhí)行過(guò)程中所執(zhí)行的基本運(yùn)算的次數(shù),也就是執(zhí)行算法所需要的計(jì)算工作量,稱(chēng)為算法的時(shí)間復(fù)雜度。

34.6060解析:程序中定義a是一個(gè)3行2列的二維數(shù)組,p是指向兩個(gè)元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。

35.1212解析:do…while循環(huán)的一個(gè)比較顯著的特點(diǎn)是:先執(zhí)行一次循環(huán)體然后再判斷循環(huán)的條件是否滿(mǎn)足,若滿(mǎn)足則接著進(jìn)入下一次循環(huán),否則就退出循環(huán)。注意:3種循環(huán)結(jié)構(gòu)的比較。

36.857/15

37.循環(huán)鏈表循環(huán)鏈表解析:在循環(huán)鏈表中,由于設(shè)置了一個(gè)頭結(jié)點(diǎn),因此在任何情況下,循環(huán)鏈表中至少有一個(gè)結(jié)點(diǎn)存在,從而使空表與非空表的運(yùn)算統(tǒng)一。

38.無(wú)定值無(wú)定值解析:for(i=l;i<7;i++)決定了循環(huán)次數(shù)為6次,每次執(zhí)行的操作是sum+=i,但由于sum沒(méi)有初始化,并不知道sum的初值是多少,所以結(jié)果無(wú)定值。

39.int*int*解析:從題中代碼可知:z應(yīng)該是一個(gè)整型指針,因此應(yīng)填int*。

40.100300400100300400解析:scanf的格式控制字符串中,“*”表示跳過(guò)對(duì)應(yīng)的輸入數(shù)據(jù),所以第二個(gè)輸入數(shù)200被跳過(guò)去了,只有100,300,400三個(gè)數(shù)被從鍵盤(pán)輸入了進(jìn)來(lái)。

41.D解析:光纜是多媒體信息的傳輸通道,不能存儲(chǔ)多媒體信息。

42.C解析:軟件設(shè)計(jì)遵循軟件工程的基本目標(biāo)和原則,建立了適用于在軟件設(shè)計(jì)中應(yīng)該遵循的基本原理和與軟件設(shè)計(jì)有關(guān)的概念。①抽象是一種思維工具,就是把事物本質(zhì)的共同特性抽出來(lái)而不考慮其他細(xì)節(jié)。②模塊是指可以單獨(dú)命名且可編址的元素。如高級(jí)語(yǔ)言中的過(guò)程、函數(shù)、子程序等。③信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過(guò)程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來(lái)說(shuō)是不能訪(fǎng)問(wèn)的。④模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。因此,本題的正確答案是C。

43.D解析:該題考查邏輯與'&&'和邏輯或'||'以及邏輯非'!'符號(hào)的用法。選項(xiàng)A)即3&&4為真;選項(xiàng)B)即3<=4為真;選項(xiàng)C)是一個(gè)邏輯或與邏輯與的混合運(yùn)算,只要執(zhí)行了邏輯或左半部分,程序?qū)⒅苯油V箞?zhí)行邏輯或右半部分程序,因?yàn)閤的值為真;此時(shí)選項(xiàng)C)變?yōu)?&&-1為真。選項(xiàng)D)不用計(jì)算,括號(hào)內(nèi)邏輯或右邊的值為1,因而括號(hào)內(nèi)的值為1,再進(jìn)行邏輯非運(yùn)算得0。

44.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)

45.A解析:在程序語(yǔ)句中,k的初始值為5,進(jìn)行第1次while循環(huán)后,k自減1為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出1,此時(shí)k的值變?yōu)?。程序執(zhí)行第2次循環(huán)時(shí),k自減1變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為1。

46.A解析:本題主要考查按位異或和右移運(yùn)算。b=4的二進(jìn)制為00000100,b>>2后為00000001,a=2的二進(jìn)制為00000010,兩者異或?yàn)?0000011。

47.D解析:x數(shù)組共有10個(gè)元素,在花括弧內(nèi)只提供3個(gè)初值,這表示只給前面的3個(gè)成員賦值,后7個(gè)元素的值為0,所以,一共有20個(gè)字節(jié)。

48.C解析:本題考查“邏輯或”運(yùn)算的特例。本題中執(zhí)行語(yǔ)句k=(n=b>a)||(m=a<b)時(shí),首先計(jì)算表達(dá)式(n=b>a)||(m=a<b)的值,因b=2,a=1,所以b>a成立,即得n=1,故表達(dá)式(n=b>a)||(m=a<b)的值為真,不再執(zhí)行表達(dá)式m=a<b,故執(zhí)行完表達(dá)式k=(n=b2>a)||(m=a<b)后,n=1、m=0、k=1。

49.C解析:數(shù)據(jù)庫(kù)系統(tǒng)具有以下4個(gè)特點(diǎn):數(shù)據(jù)的集成性、數(shù)據(jù)的高共享性與低冗余性、數(shù)據(jù)的獨(dú)立性、數(shù)據(jù)統(tǒng)一管理與控制。

50.C解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)對(duì)棧的定義及其特點(diǎn)可知:棧是限定只在表尾進(jìn)行插入或刪除操作的線(xiàn)性表,因此棧是先進(jìn)后出的線(xiàn)性表,對(duì)棧的插入與刪除操作,不需要改變棧底元素。棧是限定只在表尾進(jìn)行插入或刪除操作的線(xiàn)性表。

51.AA?!窘馕觥緾語(yǔ)言是函數(shù)式的語(yǔ)言。它的基本組成單位是函數(shù),在C語(yǔ)言中任何程序都是由一個(gè)或者多個(gè)函數(shù)組成的。

52.D解析:本題考查數(shù)組的4個(gè)知識(shí)點(diǎn):①C語(yǔ)言中,二維數(shù)組或多維數(shù)組元素排列的順序是按行存放;②不同數(shù)組的元素之間可以相互賦值;③字符型數(shù)組中存放的是字符,int型數(shù)組中存放的是字符對(duì)應(yīng)的ASCII碼值,雖然在計(jì)算機(jī)內(nèi)部字符常量都是作為蹩型量來(lái)處理的,其對(duì)應(yīng)的整數(shù)值就是ASCII碼值,但兩者并不完全等價(jià);④數(shù)組名后的方括號(hào)內(nèi)可以為常量,也可以為常量表達(dá)式,但不可以為變量。

53.C解析:軟件測(cè)試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯(cuò)誤,給出程序可靠性的鑒定。它有3個(gè)方面的重要特征,即測(cè)試的挑剔性、完全測(cè)試的不可能性及測(cè)試的經(jīng)濟(jì)性。其中沒(méi)有測(cè)試的可靠性這一說(shuō)法。注意:軟件測(cè)試與軟件調(diào)試的概念,以及相應(yīng)的方法。

54.A解析:C語(yǔ)言中文件有文本文件與二進(jìn)制文件,對(duì)文件的使用前必須先打開(kāi),打開(kāi)方式有只讀、寫(xiě)入、讀寫(xiě)等方式。

55.BB)【解析】數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)是指數(shù)據(jù)庫(kù)系統(tǒng)

\n的外模式、模式和內(nèi)模式。一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式,但只有一個(gè)模式和一個(gè)內(nèi)模式。

56.D解析:本題考查了數(shù)組的定義和初始化,c是一個(gè)字符型指針數(shù)組,每個(gè)元素都是一個(gè)指向字符串的指針。

57.D

58.D解析:常見(jiàn)的需求分析方法有結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒▋深?lèi)。其中結(jié)構(gòu)化分析方法又包括面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA-Structuredanalysis),面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD-Jacksonsystemdevelopmentmethod)和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開(kāi)發(fā)方法(DSSD-Datastructuredsystemdevelopmentmethod)。

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

60.D解析:內(nèi)聚性是一個(gè)模塊內(nèi)部各元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚是從功能角度來(lái)度量模塊內(nèi)的聯(lián)系。內(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)聚。

61.D當(dāng)k=1時(shí),循環(huán)成立,輸出w[l]的數(shù)組即EFGH,接著執(zhí)行k++后k為2;當(dāng)k=2時(shí),循環(huán)成立,輸出w[2]的數(shù)組即IJKL,接著執(zhí)行k++后,k為3;當(dāng)k=3時(shí),循環(huán)不成立,退出。

62.B

63.C根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類(lèi):線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu)。循環(huán)隊(duì)列、帶鏈隊(duì)列和帶鏈棧都是線(xiàn)性結(jié)構(gòu),而二叉樹(shù)是非線(xiàn)性結(jié)構(gòu)。

64.D軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能,也不是為了評(píng)估軟件或改正錯(cuò)誤,因此本題答案為D)。

65.C

66.A根據(jù)二叉樹(shù)的性質(zhì),n=n0+n1+n2(n表示總結(jié)點(diǎn)數(shù),n0表示葉子結(jié)點(diǎn)數(shù),nl表示度數(shù)為1的結(jié)點(diǎn)數(shù),n2表示度數(shù)為2的結(jié)點(diǎn)數(shù)),而葉子結(jié)點(diǎn)數(shù)總是比度數(shù)為2的結(jié)點(diǎn)數(shù)多1,所以n2=n1-1=5-1=4,而n=25,所以nl=n-n0-n2=25-5-4=16。

67.A廣播/電視是一種單向的、點(diǎn)對(duì)多點(diǎn)(面)的以信息傳遞為主要目的的系統(tǒng)。

68.Dcontinue語(yǔ)句的作用是結(jié)束本次循環(huán),即跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)的條件判定。

69.A本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語(yǔ)言不允許用賦值表達(dá)式對(duì)字符數(shù)組賦值,如

strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)其中,需要注意的是,字符數(shù)組l的長(zhǎng)度不應(yīng)小于字符串2的長(zhǎng)度,”字符數(shù)組1”必須寫(xiě)成數(shù)組名形式,如(strl),”字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。

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

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

71.D

72.B本題考查fgets函數(shù)的使用調(diào)用形式:fgets(s,n,fp)。fgets函數(shù)參數(shù)說(shuō)明:“S”可以是一個(gè)字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個(gè)數(shù);“fp”是指向該文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長(zhǎng)度不超過(guò)n-1個(gè)字符的字符串,并將該字符串放到字符數(shù)組S中,讀入字符串后會(huì)自動(dòng)在字符串末尾加入"\0"結(jié)束符,表示字符串結(jié)束。

73.C

74.C

75.D\r\n

76.D

77.C選項(xiàng)A是先將a的值賦給變量b,再將變量b的值賦給變量c,不合題意;B選項(xiàng)中由于c的值不為0,在將c的值賦給變量a后,表達(dá)式a=c的值為1,不再對(duì)表達(dá)式b=c計(jì)算;對(duì)于c選項(xiàng),表達(dá)式a=c的值為1,再求表達(dá)式b=c的值為1,然后進(jìn)行邏輯與運(yùn)算;D選項(xiàng)將b的值賦給c后再賦給e,故選擇C選項(xiàng)。

78.C解析:本題中首先定義一個(gè)整型變量a并給它賦初值為3,在表達(dá)式中,從右開(kāi)始執(zhí)行,即先執(zhí)行“a-=a*a;”等價(jià)于a=a-a*a即a=3-3*3=-6,此時(shí)a的值為-6,接著執(zhí)行“a+=a-;”相當(dāng)于執(zhí)行a=a+a即a=-6+(-6)=-12,此時(shí)a的值為-12。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

79.B#include"文件名",預(yù)處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒(méi)找到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄搜索。

80.B

81.(1)錯(cuò)誤:intproc(char*str,char*t1,char*t2,char*w)

正確:voidproc(char*str,char*t1.char*t2,char*w)

(2)錯(cuò)誤:while(r)

正確:while(*r)

(3)錯(cuò)誤:r++

正確:r++;

【解析】由主函數(shù)中proc()函數(shù)的調(diào)用以及proc()函數(shù)的定義,可知該函數(shù)沒(méi)有返回值,因此把proc()前的“int”改為“void”;由proc()函數(shù)可知,變量r指向的是字符串t1地址,while循環(huán)要判斷的是字符串tl是否結(jié)束,因此,“while(r)”應(yīng)改為“while(*r)”;C語(yǔ)言中,每一條語(yǔ)句都以分號(hào)結(jié)束,因此。“r++”后要加上分號(hào)。

82.\n\tcharch;

\ninti,m,n;

\ni=0:

\nm=n=strlen(str)-1;//求字符串str長(zhǎng)度

\nwhile(i<(n+1)/2)//循環(huán)逆置交換

\n{

\nch=str[i];

\nstr[i]=str[m];

\nstr[m]=ch:

\ni++;

\nm--;

\n}

\n【解析】在fun函數(shù)中,首先求行字符串的長(zhǎng)度,然后通過(guò)循環(huán)進(jìn)行字符交換。要注意的是,如果字符串長(zhǎng)度是奇數(shù),則最中間的元素在逆置前后的位置是沒(méi)有改變的。\n2021年吉林省白城市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.輸入序列為(A,B,C,D),不可能得到的輸出序列是______.

A.(A,B,C,D)B.(D,C,B,A)C.(A,C,D,B)D.(C,A,B,D)

2.假設(shè)下圖中每個(gè)正方形的邊長(zhǎng)為1,則從A到Z的最短路徑條數(shù)為()A.11B.12C.13D.14

3.在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是A.程序外部功能B.程序內(nèi)部邏輯C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖

4.語(yǔ)句“printf("akbre"\'hi\'y\\\bou\n")”;的輸出結(jié)果是()。

A.akbre\'hi\'y'\\\bou

B.a\bre\'hi\\y\bou

C.re'hi'you

D.abre'hi'y\bou

5.堆是一種有用的數(shù)據(jù)結(jié)構(gòu)。下列關(guān)鍵碼序列()是一個(gè)堆。

A.94,31,53,23,16,72

B.94,53,31,72,16,23

C.16,53,23,94,31,72

D.16,31,23,94,53,72

6.

7.程序中若有如下說(shuō)明和定義語(yǔ)句charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;.....}以下選項(xiàng)中對(duì)函數(shù)Fun的正確調(diào)用語(yǔ)句是______。A.(*f1)(a);B.*f1(*s);C.fun(&a);D.ch=*f1(s);

8.下面程序的運(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

9.下列定義數(shù)組的語(yǔ)句中,正確的是()。A.#defineN10;intx[N];

B.intN=10;intx[N];

C.int:x[0.10];

D.intx[];.

10.下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是()。

A.使用順序、選擇和重復(fù)(循環(huán).三種基本控制結(jié)構(gòu)表示程序的控制邏輯

B.模塊只有一個(gè)入口,可以有多個(gè)出口

C.注重提高程序的執(zhí)行效率

D.不使用goto語(yǔ)句

11.若變量已正確定義為int型,要通過(guò)語(yǔ)句“scanf(“%d,%d,%d”,&a,&b,&c);”將a賦值為1、將b賦值為2、將c賦值為3,以下輸入形式中錯(cuò)誤的是(注:□代表一個(gè)空格符)()。

A.1,2,3<Enter>

B.□□□1,2,3<Enter>

C.1,□□□2,□□□3<Enter>

D.1□2□3<Enter>

12.

13.有以下程序

#include<stdio.h>

main()

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

if(x>y)

if(y<z)printf("%d",++z);

elseprintf("%d",++y);

printf("%d\n",x++);

}

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

A.A.331

B.41

C.2

D.1

14.請(qǐng)讀程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若運(yùn)行時(shí)從鍵盤(pán)上輸入9876543210,則上面程序的輸出結(jié)果是______。

A.a=98,b=765,c=4321

B.a=10,b=432,c=8765

C.a=98,b=765.000000,c=4321.000000

D.a=98,b=765.0,c=4321.0

15.有n個(gè)結(jié)點(diǎn)的二叉樹(shù)鏈表共有__________個(gè)空指針域。

A.n-1B.nC.n+1D.n+2

16.

17.以下選項(xiàng)中關(guān)于C語(yǔ)言算術(shù)表達(dá)式的敘述中錯(cuò)誤的是()。

A.可以通過(guò)使用圓括號(hào)來(lái)改變算術(shù)表達(dá)式中某些算術(shù)運(yùn)算符的計(jì)算優(yōu)先級(jí)

B.C語(yǔ)言采用的是人們熟悉的四則運(yùn)算規(guī)則,即先乘除后加減

C.算術(shù)表達(dá)式中,運(yùn)算符兩側(cè)類(lèi)型不同時(shí),將進(jìn)行類(lèi)型之間的轉(zhuǎn)換

D.C語(yǔ)言?xún)H提供了“+”“-”“*”“/”這4個(gè)基本算術(shù)運(yùn)算符

18.

19.有以下定義和語(yǔ)句

StructWorkers

{intnum;charname[20];charc;

struct

{intday;intmonth;intyear;}s;

};

StructWorkersW,*pe;

PW=&W;

能給W中yeaR成員賦1980的語(yǔ)句是A.*pW.yeaR=1980;

B.W.yeaR=1980;

C.pW->yeaR=1980;

D.W.s.yeaR=1980;

20.一個(gè)遞歸算法必須包括()。

A.遞歸部分B.終止條件和遞歸部分C.迭代部分D.終止條件和迭代部分

二、2.填空題(20題)21.定義長(zhǎng)度為12的數(shù)組,下面四種方法中正確的有【】。

①intx[12];②intn=12;③constintn=12;④intx[]={1,2};

intx[n];intx[n];

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

main()

{char*p[]={"BOOL","OPK","H","SP"};

inti;

for(i=3;i>0;i--,i--)printf("%c",*p[i]);

printf("\n");}

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

intx=0,y=0;

while(x<15)y++,x+=++y;

printf("%d,%d",y,x);

24.如果兩個(gè)8位二進(jìn)制數(shù)00010101與01000111相加,其結(jié)果用十進(jìn)制表示為【】。

25.以下涵數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。

#defineN4

voidrotade(inta[][N],intb[][N])

{inti,j;

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

{b[i][N-1]=【】;【】=a[N-1][i];}}

26.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱(chēng)為_(kāi)_____。

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

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

main()

{inta=10;

a=(3*5,a+4);printf("a=%d\n",a);

}

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

30.深度為5的滿(mǎn)二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_(kāi)_____。

31.在樹(shù)形結(jié)構(gòu)中,樹(shù)根結(jié)點(diǎn)沒(méi)有______。

32.下面程序的輸出是【】。

main()

{enumem{em1=3,em2=1,em3};

char*aa[]={"AA"m,"BB","CC:,"DD"};

printf("%s%s%s\n,aa[em1],aa[em2],aa[em3]);

}

33.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)稱(chēng)為算法的______。

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

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

p=a;

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

unsignedfun6(unsignednum)

{unsignedk=1;

do{k*=hum%10;

num/=10;}while(num);

return(k);}

main()

{unsignedn=26;

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

36.設(shè)順序輸入數(shù)列為:24,30,8,5,1,27,24,26,10,21,9,28,7,13,15。假定每個(gè)結(jié)點(diǎn)的查找概率相同,若用順序存儲(chǔ)方式組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】;若按二叉排序樹(shù)結(jié)構(gòu)組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】。

37.在鏈表的運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是______。

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

main()

{inti,sum;

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

sum+=i;

primf("%d",sum);

}

39.以下函數(shù)用來(lái)求出兩整數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>

voidfunc(intx,inty,【】z)

{*z=x+y;}

40.在scanf()函數(shù)調(diào)用語(yǔ)句中,可以在格式字符和%號(hào)之間加上一個(gè)星號(hào),它的作用是跳過(guò)對(duì)應(yīng)的輸入數(shù)據(jù);當(dāng)輸入以下數(shù)據(jù)時(shí),100200300400500<回車(chē)>,下面語(yǔ)句的執(zhí)行結(jié)果為【】。

main()

{inta,b,C;

scanf("%d%*d%d%d",&a,&b,&c);

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

三、1.選擇題(20題)41.在多媒體計(jì)算機(jī)系統(tǒng)中,不能存儲(chǔ)多媒體信息的是()

A.光盤(pán)B.磁盤(pán)C.磁帶D.光纜

42.下面不屬于軟件設(shè)計(jì)原則的是()。

A.抽象B.模塊化C.自底向上D.信息隱蔽

43.設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是

A.x&&y

B.x<=y

C.x||++y&&y-z

D.!(x<y&&!z||1)

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

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

45.有下列程序:main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.1B.2C.4D.死循環(huán)

46.下列程序中c的二進(jìn)制值是()。chara=2,b=4,c;c=ab>>2:

A.11B.10100C.11100D.11000

47.假定int類(lèi)型變量占用兩個(gè)字節(jié),有定義:intx[10]={0,2,4};,則數(shù)組x在內(nèi)存中占字節(jié)數(shù)是

A.3B.6C.10D.20

48.有以下程序:main(){inta=1,b=2,m=0,n=0,k;k=(n=b>A)||(m=a<B);printf("%d,%d\n",k,m);}程序運(yùn)行后的輸出結(jié)果是

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

49.下列4項(xiàng)說(shuō)法中,不正確的是______。

A.數(shù)據(jù)庫(kù)減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫(kù)避免了一切數(shù)據(jù)的重復(fù)D.數(shù)據(jù)庫(kù)具有較高的數(shù)據(jù)獨(dú)立性

50.下列關(guān)于棧的描述正確的是()。

A.在棧中只能插入元素而不能刪除元素

B.在棧中只能刪除元素而不能插入元素

C.棧是特殊的線(xiàn)性表,只能在一端插入或刪除元素

D.棧是特殊的線(xiàn)性表,只能在一端插入元素,而在另一端刪除元素

51.C語(yǔ)言的基本單位是()。

A.函數(shù)B.過(guò)程C.子程序D.子函數(shù)

52.在下列敘述中,錯(cuò)誤的是()。

A.C語(yǔ)言中,二維數(shù)組或多維數(shù)組是按行存放的

B.賦值表達(dá)式b[1][2]=a[2][3]是正確的

C.chara[1];a[0]='A'與inta[1];a[0]='A'等價(jià)

D.數(shù)組名后的方括號(hào)內(nèi)可以為常量表達(dá)式,也可以為變量

53.下列敘述中,不屬于測(cè)試的特征的是

A.測(cè)試的挑剔性B.完全測(cè)試的不可能性C.測(cè)試的可靠性D.測(cè)試的經(jīng)濟(jì)性

54.下面的程序執(zhí)行后,文件test.t中內(nèi)容是______。#include<stdio.h>voidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,"w");for(i=0;i<strlen(st);i++)fputc(st[i],myf);fclose(myf);}main(){fun("test.t","newworld");fun("test.t","hello,");}

A.hello,B.newworldhelloC.newworldD.hello,rld

55.下面關(guān)于數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu)的敘述中,正確的是()

A.內(nèi)模式可以有多個(gè),外模式和模式只有一個(gè)

B.外模式可以有多個(gè),內(nèi)模式和模式只有一個(gè)

C.內(nèi)模式只有一個(gè),模式和外模式可以有多個(gè)

D.模式只有一個(gè),外模式和內(nèi)模式可以有多個(gè)

56.有說(shuō)明char.*c[]={"European","Asian","American","African"};則下列敘述中正確的是

A.*(c+1)='A'

B.c是—個(gè)字符型指針數(shù)組,所包含4個(gè)元素的初值分別為"European","Asian"、"American"和"African"

C.c[3]表示字符串"American"的首地址

D.c是包含4個(gè)元素的字符型指針數(shù)組,每個(gè)元素都是一個(gè)字符串的首地址

57.若要“為讀/寫(xiě)建立―個(gè)新的文本文件”,在fopen函數(shù)中應(yīng)使用的文件方式是()

A.wB.wbC.w+D.wb+

58.下列敘述中,不屬于結(jié)構(gòu)化分析方法的是()。A.A.面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法

B.面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法

C.面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開(kāi)發(fā)方法

D.面向?qū)ο蟮姆治龇椒?/p>

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

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

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

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

60.模塊本身的內(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)聚

四、選擇題(20題)61.以下程序的輸出結(jié)果是()。

main

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"),K;

for(k=1;k<3;k++)printf("%s\n",w[k]);A.A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL

62.

63.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線(xiàn)性結(jié)構(gòu)的是A.循環(huán)隊(duì)列B.帶鏈隊(duì)列C.二叉樹(shù)D.帶鏈棧

64.軟件測(cè)試的目的是()。

A.評(píng)估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤C.改正程序中的錯(cuò)誤D.發(fā)現(xiàn)程序中的錯(cuò)誤

65.

66.一棵二叉樹(shù)共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為l的結(jié)點(diǎn)數(shù)為()。

A.16B.10C.6D.4

67.下列關(guān)于信息系統(tǒng)的敘述中,錯(cuò)誤的是()。

A.廣播電視是一種雙向的、點(diǎn)到多點(diǎn)的信息交互系自

B.網(wǎng)絡(luò)聊天是一種雙向的,以信息交互為主要目的系統(tǒng)

C.電話(huà)是一種雙向的、點(diǎn)對(duì)點(diǎn)的、以信息交互為主要的的系統(tǒng)

D.雷達(dá)是一種以感測(cè)和識(shí)別為主要目的的系統(tǒng)

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.若有定義:char*st=”howareyou”;,下列程序段中正確的是()。

A.

B.

C.

D.

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

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

71.

72.標(biāo)準(zhǔn)庫(kù)函數(shù)fgets(s,n,file)的功能是()。

A.從文件file中讀取長(zhǎng)度為n的字符串存入字符數(shù)s由

B.從文件file中讀取長(zhǎng)度不超過(guò)n-1個(gè)字符的字符放到字符數(shù)組S中

C.從文件file中讀到n個(gè)字符串存入字符數(shù)組s中

D.從文件file中讀取長(zhǎng)度為n-1個(gè)字符的字符串存字符數(shù)組S中

73.

74.

75.

76.

77.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中不能正確將c的值賦給變量a、b的是()。A.A.a=b=c;B.(a=c)C.(a=c)&&(b=c);D.(b=c);

78.若a為int類(lèi)型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。

A.-3B.9C.-12D.6

79.在“文件包含”預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用(雙引號(hào))括起時(shí),尋找被包含文件的方式是()。

A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄

B.先在源程序所在的目錄搜索,如沒(méi)找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索

C.僅僅搜索源程序所在目錄

D.僅僅搜索當(dāng)前目錄

80.

五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:將str所指字符串中出現(xiàn)的t1所指字符串全部替換成t2所指字符串,所形成的新的字符串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長(zhǎng)度相同。例如,當(dāng)str所指字符串中所指的內(nèi)容為abcdabcdef9,t1所指字符串中的內(nèi)容為bc,t2所指字符串中的內(nèi)容為11時(shí),結(jié)果在w所指的數(shù)組中的內(nèi)容應(yīng)為alldalldefg。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)fun(ohlr*str),該函數(shù)的功能是把字符串中的內(nèi)容逆置。

例如,字符串中原有的字符串為asdf9,則調(diào)用該函數(shù)后,串中的內(nèi)容為9fdsa。

請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所編寫(xiě)的若干語(yǔ)句。

試題程序:

#include<string.h>

#include<conio.h>

#include<stdio.h>

#defineN100

voidfun(char*str)

{

}

voidmain

{

chara[N];

FILE*out:

printf("Enterastring:");

gets(a);

printf("Theorigiralstringis:");

puts(a);

fun(a):

printf("Thestringaftermodified:");

puts(a);

strcpy(a,"Welcome!");

fun(a);

ut=fopen("outfile.dat","w");

fprintf(out,"%s".a(chǎn));

fclose(out);

}

參考答案

1.D

2.C

3.A【答案】:A

【知識(shí)點(diǎn)】:黑盒測(cè)試

【解析】:黑盒測(cè)試也稱(chēng)功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特征,只著眼于程序的外部結(jié)構(gòu),主要用來(lái)檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用。故選A。

4.C先輸出a、b表示退一格,當(dāng)執(zhí)行到:\b后,光標(biāo)往后退,接著輸出re'hi'y\(反斜杠后又加一個(gè)反斜杠的意思是要輸出一個(gè)反斜杠),此時(shí)又執(zhí)行:\b后,\就被ou覆蓋。

5.D

6.D

7.A解析:題中將函數(shù)fun的入口地址賦給了指針變量f1,這時(shí)f1和fun都指向函數(shù)的開(kāi)頭,調(diào)用*f1就是調(diào)用函數(shù)fun。

8.C解析:考查用字符指針處理字符串的方法。語(yǔ)句'p=s;'是使指針p指向字符數(shù)組s。*p則引用了p所指位置的數(shù)組元素。通過(guò)指針來(lái)引用一維數(shù)組元素。

9.A[解析]數(shù)組說(shuō)明的一般形式為:類(lèi)型說(shuō)明符數(shù)組名[常量表達(dá)式]。B)中N是變量,不能用變量定義數(shù)組長(zhǎng)度。C)選項(xiàng)中數(shù)組長(zhǎng)度是非法的一串?dāng)?shù)字。定義數(shù)組時(shí)必須為其指明長(zhǎng)度,D)選項(xiàng)中數(shù)組長(zhǎng)度為空,所以非法。\u3000\u3000

10.A解析:結(jié)構(gòu)化程序設(shè)計(jì)方法的四條原則是:①自頂向下;②逐步求精;③模塊化;④限制使用goto語(yǔ)句?!白皂斚蛳隆笔侵冈诔绦蛟O(shè)計(jì)時(shí),先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)?!爸鸩角缶笔侵笇?duì)復(fù)雜問(wèn)題應(yīng)設(shè)計(jì)一些子目標(biāo)作過(guò)渡,逐步細(xì)節(jié)化?!澳K化”是指一個(gè)復(fù)雜問(wèn)題由若干稍簡(jiǎn)單的問(wèn)題構(gòu)成;解決這個(gè)復(fù)雜問(wèn)題的程序,也應(yīng)由若干稍簡(jiǎn)單問(wèn)題的小程序組成。

11.D在輸入整數(shù)或?qū)崝?shù)這類(lèi)數(shù)值型數(shù)據(jù)時(shí),輸入數(shù)據(jù)之間必須用空格、回車(chē)符、制表符等間隔符隔開(kāi),間隔符個(gè)數(shù)不限。scanf的格式控制字符串也可以使用其他非空白字符,如本題中的逗號(hào),但在輸入時(shí)必須輸入這些字符,以保證匹配,所以逗號(hào)必須輸入。故本題答案為D選項(xiàng)。

12.A

13.D本題考查if-else語(yǔ)句的使用。if-else語(yǔ)句可以在條件為“真”或?yàn)椤凹佟睍r(shí)執(zhí)行指定的動(dòng)作,由if引導(dǎo)條件為“真”時(shí)執(zhí)行的操作;由else引導(dǎo)條件為“假”時(shí)執(zhí)行的操作。else語(yǔ)句要與上面最近的if語(yǔ)句進(jìn)行匹配,如果要嵌套調(diào)用if-else語(yǔ)句,需要將嵌套部分用{}括起來(lái),避免程序報(bào)錯(cuò)。題目中給出了一個(gè)if語(yǔ)句和一個(gè)if-else語(yǔ)句,if-else語(yǔ)句為第一個(gè)if語(yǔ)句的子語(yǔ)句。首先執(zhí)行外層if語(yǔ)句,執(zhí)行條件為x>y,由于x=1,y=2,故該條件為假,不執(zhí)行if的子語(yǔ)句,直接執(zhí)行語(yǔ)句printf("%d\\n",x++);,該語(yǔ)句先輸出x的值,然后進(jìn)行x++操作。x的初始值為1,輸出結(jié)果為1。

14.C解析:scanf()把用戶(hù)從鍵盤(pán)錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實(shí)型變量b,把第6、7、8、9位存入單精度實(shí)型變量c,用戶(hù)錄入的第10位被scanf()遺棄。這時(shí)變量a、b、c的值分別為:98、765.000000、4321.000000。

15.C

16.A

17.DC語(yǔ)言的算術(shù)運(yùn)算符是有優(yōu)先級(jí)的。圓括號(hào)可以改變算術(shù)表達(dá)式中某些算術(shù)運(yùn)算符的優(yōu)先級(jí),選項(xiàng)A正確;算術(shù)運(yùn)算符中,乘除運(yùn)算符的優(yōu)先級(jí)比加減運(yùn)算符的優(yōu)先級(jí)高,C語(yǔ)言采用的是四則運(yùn)算規(guī)則,選項(xiàng)B正確;算術(shù)表達(dá)式中,運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類(lèi)型不同時(shí),將進(jìn)行隱式類(lèi)型轉(zhuǎn)換,選項(xiàng)C正確;C語(yǔ)言中基本的算術(shù)運(yùn)算符除了“+”“-”“*”“/”之外,還有“%”,即求余運(yùn)算符,選項(xiàng)D錯(cuò)誤。故本題答案為D選項(xiàng)。

18.A

19.D解析:結(jié)構(gòu)體structureworkers中的成員s是結(jié)構(gòu)體類(lèi)型,給w中成員year賦值的語(yǔ)句是w.s.year=1980,故選D。

20.B

21.①③

22.SOSO解析:題中需要注意兩個(gè)問(wèn)題:一是for循環(huán)的修正表達(dá)式共執(zhí)行兩次“i-”操作;二是*p[i]是對(duì)某個(gè)字符的引用。

23.8208,20解析:本題考查while循環(huán)和++運(yùn)算符的運(yùn)用。x=0符合條件x<15,則執(zhí)行y++,x+=++y后,y=1,x=0+2=2后y=2,符合條件繼續(xù)循環(huán),y=3,x=x+4=6后y=4,再循環(huán)y=5,x=x+6=6+6=12后,y=6,繼續(xù)循環(huán)y=7,x=x+8=12+8-20,此時(shí)y=8。

24.92

25.a[0][i]b[i][o]a[0][i]\r\nb[i][o]解析:b[i][N-1]=a[0][i]實(shí)現(xiàn)把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b[i][0]=a[N-1][i]實(shí)現(xiàn)將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中。

26.扇出扇出解析:在結(jié)構(gòu)圖中,調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)稱(chēng)為扇入,一個(gè)模塊直接調(diào)用的其他模塊個(gè)數(shù)稱(chēng)為扇出。

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

28.a=14a=14解析:逗號(hào)表達(dá)式的值是以逗號(hào)分隔的最后一個(gè)表達(dá)式的值。所以題目中的語(yǔ)句a=(3*5,a+4);就等價(jià)于a=a+4;。故本題輸出結(jié)果是a=14。

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

30.1616解析:滿(mǎn)二叉樹(shù)的葉子結(jié)點(diǎn)都在最后一層,即第4層,且第4層的結(jié)點(diǎn)達(dá)到最大數(shù),即25-1=16。

31.前件前件

32.DDBBCCDDBBCC解析:C語(yǔ)言對(duì)枚舉的定義規(guī)定:在枚舉中聲明的各個(gè)枚舉元素,如果沒(méi)有明確指出某個(gè)枚舉元素的值,它的上一個(gè)元素存在并有明確值的情況下,這個(gè)枚舉元素的值為其上一個(gè)元素的值+1。在本題中,沒(méi)有明確說(shuō)明枚舉元素em3的值,則em3=em2+1=1+1=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為“DDBBCC”。

33.時(shí)間復(fù)雜度時(shí)間復(fù)雜度解析:算法在執(zhí)行過(guò)程中所執(zhí)行的基本運(yùn)算的次數(shù),也就是執(zhí)行算法所需要的計(jì)算工作量,稱(chēng)為算法的時(shí)間復(fù)雜度。

34.6060解析:程序中定義a是一個(gè)3行2列的二維數(shù)組,p是指向兩個(gè)元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。

35.1212解析:do…while循環(huán)的一個(gè)比較顯著的特點(diǎn)是:先執(zhí)行一次循環(huán)體然后再判斷循環(huán)的條件是否滿(mǎn)足,若滿(mǎn)足則接著進(jìn)入下一次循環(huán),否則就退出循環(huán)。注意:3種循環(huán)結(jié)構(gòu)的比較。

36.857/15

37.循環(huán)鏈表循環(huán)鏈表解析:在循環(huán)鏈表中,由于設(shè)置了一個(gè)頭結(jié)點(diǎn),因此在任何情況下,循環(huán)鏈表中至少有一個(gè)結(jié)點(diǎn)存在,從而使空表與非空表的運(yùn)算統(tǒng)一。

38.無(wú)定值無(wú)定值解析:for(i=l;i<7;i++)決定了循環(huán)次數(shù)為6次,每次執(zhí)行的操作是sum+=i,但由于sum沒(méi)有初始化,并不知道sum的初值是多少,所以結(jié)果無(wú)定值。

39.int*int*解析:從題中代碼可知:z應(yīng)該是一個(gè)整型指針,因此應(yīng)填int*。

40.100300400100300400解析:scanf的格式控制字符串中,“*”表示跳過(guò)對(duì)應(yīng)的輸入數(shù)據(jù),所以第二個(gè)輸入數(shù)200被跳過(guò)去了,只有100,300,400三個(gè)數(shù)被從鍵盤(pán)輸入了進(jìn)來(lái)。

41.D解析:光纜是多媒體信息的傳輸通道,不能存儲(chǔ)多媒體信息。

42.C解析:軟件設(shè)計(jì)遵循軟件工程的基本目標(biāo)和原則,建立了適用于在軟件設(shè)計(jì)中應(yīng)該遵循的基本原理和與軟件設(shè)計(jì)有關(guān)的概念。①抽象是一種思維工具,就是把事物本質(zhì)的共同特性抽出來(lái)而不考慮其他細(xì)節(jié)。②模塊是指可以單獨(dú)命名且可編址的元素。如高級(jí)語(yǔ)言中的過(guò)程、函數(shù)、子程序等。③信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過(guò)程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來(lái)說(shuō)是不能訪(fǎng)問(wèn)的。④模塊獨(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)論