2022-2023年四川省綿陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁(yè)
2022-2023年四川省綿陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁(yè)
2022-2023年四川省綿陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁(yè)
2022-2023年四川省綿陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁(yè)
2022-2023年四川省綿陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(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)介

2022-2023年四川省綿陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序段#include<stdio.h>main(){...while(getchar()!=\n);...}以下敘述中正確的是()。A.此while語(yǔ)句將無(wú)限循環(huán)

B.getchar()不可以出現(xiàn)在while語(yǔ)句的條件表達(dá)式中

C.當(dāng)執(zhí)行此while語(yǔ)句時(shí),只有按回車鍵程序才能繼續(xù)執(zhí)行

D.當(dāng)執(zhí)行此while語(yǔ)句時(shí),按任意鍵程序就能繼續(xù)執(zhí)行

2.數(shù)據(jù)的獨(dú)立性是指______。

A.數(shù)據(jù)庫(kù)的數(shù)據(jù)相互獨(dú)立

B.DBMS和DB相互獨(dú)立

C.用戶應(yīng)用程序與數(shù)據(jù)庫(kù)的數(shù)據(jù)相互獨(dú)立

D.用戶應(yīng)用程序與DBMS相互獨(dú)立

3.有以下程序:#include<stdio.h>main(){inti,data;scanf(“%d”,&data);for(i=0;i<8;i++){if(i<=data)continue;printf(“%d,”,i);}}程序運(yùn)行時(shí)輸入5并按〈Enter〉鍵,則程序輸出結(jié)果為()。

A.5,6,7,B.0,1,2,3,4,C.6,7,D.6,7,8,

4.字符(char)型數(shù)據(jù)在微內(nèi)存中的存儲(chǔ)形式是______。

A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼

5.遞歸式的先序遍歷一個(gè)n節(jié)點(diǎn),深度為d的二叉樹(shù),則需要??臻g的大小為()

A.O(logn)B.O(nlogn)C.O(n)D.O(d)

6.若有說(shuō)明:inta[][3]={0,0};則不正確的敘述是()。

A.數(shù)組a的每個(gè)元素的初值都是0

B.數(shù)組a的第一維大小為1

C.數(shù)組a的行數(shù)為1

D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

7.

若變量均已正確賦初值,則以下語(yǔ)句中

錯(cuò)誤的是()。

A.tl=t2;

B.t2.numl=tl.numl;

C.t2.mark=tl.Mark

D.t2.num2=tl.hum2;

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

A.getehar函數(shù)用于從磁盤文件讀入字符

B.gets匿數(shù)用于從終端讀入字符串

C.取ns函數(shù)用于把字符串輸出到文件

D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件

9.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序運(yùn)行的結(jié)果是()。A.1,2,3,4,5,6,7,8,9,0,

B.0,9,8,7,6,5,1,2,3,4,

C.0,9,8,7,6,5,4,3,2,1,

D.1,2,3,4,9,8,7,6,5,0,

10.C語(yǔ)言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄

B.數(shù)據(jù)行

C.數(shù)據(jù)塊

D.字符(字節(jié))序列

11.可用作C語(yǔ)言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof

12.十進(jìn)制數(shù)124轉(zhuǎn)換成二進(jìn)制數(shù)是()

A.111l010B.1111100C.1011111D.1111011

13.程序流程圖中有箭頭的線段表示的是()。

A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系

14.X、Y、Z被定義為int型變量,若從鍵盤給X、Y、Z輸入數(shù)據(jù),正確的輸入語(yǔ)句是______。

A.INPUTX,Y,Z;

B.scanf("%d%d%d",&X,&Y,&Z);

C.scanf("%d%d%d",X,Y,Z);

D.read("%d%d%d",&X,&Y,&Z);

15.對(duì)于順序存儲(chǔ)的線性表,訪問(wèn)結(jié)點(diǎn)和增加、刪除結(jié)點(diǎn)的時(shí)間復(fù)雜度為()。

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

16.有以下程序:

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

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

17.已知一算術(shù)表達(dá)式的中綴表達(dá)式為a-(b+c/d)*e,其后綴形式為()

A.-a+b*c/dB.-a+b*cd/eC.-+*abc/deD.abcd/+e*-

18.在具有n個(gè)結(jié)點(diǎn)的有序單鏈表中插入一個(gè)新結(jié)點(diǎn)并使鏈表仍然有序的時(shí)間復(fù)雜度是________

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

19.在有序雙向鏈表中定位刪除一個(gè)元素的平均時(shí)間復(fù)雜度為()

A.O(1)B.O(N)C.O(logN)D.O(N*logN)

20.以下程序執(zhí)行后sum的值是()。

A.15

B.14

C.不確定

D.0main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}

二、2.填空題(20題)21.在面向?qū)ο蠓椒ㄖ校尽棵枋龅氖蔷哂邢嗨茖傩耘c操作的一組對(duì)象。

22.若有以下程序:

main()

{chara;

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

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

}

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

23.關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、______和自定義完整性。

24.在程序設(shè)計(jì)階段應(yīng)該采取______和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,繼而用某種程序設(shè)計(jì)語(yǔ)言寫成程序。

25.能把計(jì)算機(jī)處理好的結(jié)果轉(zhuǎn)換成為文本、圖形、圖像或聲音等形式并輸送出來(lái)的設(shè)備稱為【】設(shè)備。

26.注釋說(shuō)明了程序的功能,它分為【】注釋和功能性注釋。

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

intm=17;

intfun(intx,inty)

{intm=3;

return(x*Y-m);

}

main()

{inta=5,b=7;

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

}

28.當(dāng)m=1,n=2,a=3,b=2,c=4時(shí),執(zhí)行d=(m=a!=B)&&(n=b>C)后,m的值為()。

29.函數(shù)rewind的作用是

30.需求分析的最終結(jié)果是產(chǎn)生【】。

31.語(yǔ)句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語(yǔ)句(不得與列舉的相同)【】。

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

typedefunionstudent

{charname[10];

longsno;

charsex;

floatscore[4];

}STU;

main()

{STUa[5];

Printf(“%d\n”,sizeof(a));

}

33.數(shù)據(jù)流的類型有______和事務(wù)型。

34.以下條件表達(dá)式可計(jì)算:1+|a|的值,請(qǐng)?zhí)羁铡?/p>

a>=0?【】:【】

35.面向?qū)ο蟮哪P椭?,最基本的概念是?duì)象和______。

36.有以下程序:

voidfun(int*a,inti,intj)

{intt;

if(i<j)

{t=a[i];a[i]=a[j];a[j]=t;

i++;j--;

fun(a,i,j);

}

}

main()

{intx[]=(2,6,1,8),i;

fun(x,0,3);

for(i=0;i<4;i++)printf("%2d",x[i]);

}

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

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

main()

{inta=2,b=4,c=6;

int*p1=&a,*p2=&b,*p;

*(p=&c)=*p1*(*p2);

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

}

38.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。

39.設(shè)有下列宏定義:#defineA2

#defineBA+3

則執(zhí)行賦值語(yǔ)句;t=B*2;t為int型變量后的值是______。

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

#include<stdio.h>

func(a,b)

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

main()

{intk=5,m=3,p;

p=func(k,m);

printf("%d",p);

p=func(k,m);

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

}

三、1.選擇題(20題)41.以下能正確定義字符串的語(yǔ)句是()。

A.charstr[]={'\064'};

B.charstr="\x43";

C.charstr=";

D.charstr[]="\0";

42.排序方法中,將整個(gè)無(wú)序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱為_(kāi)_____。

A.希爾排序B.冒泡排序C.插入排序D.選擇排序

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

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

44.判斷char型變量cl是否為大寫字母的正確表達(dá)式是

A.′A′<=cl<=′Z′

B.(cl>=A)&&(cl<=Z)

C.(′A′>=cl)||(′Z′<=cl)

D.(cl>=′A′)&&(cl<=′Z′)

45.有以下程序main(){charstr[][10]={"China",Beijing"},*p=str;printf("%s\n",p+10);}程序運(yùn)行后的輸出結(jié)果是

A.ChinaB.BeijingC.ngD.ing

46.設(shè)有:

inta=1,b=2,c=3,d=4,m=2,n=2;

執(zhí)行(m=a>b)&&(n=c>d)后,n的值是

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

47.以下錯(cuò)誤的定義語(yǔ)句是A.intx[][3]={{0},{1},{1,2,3}};

B.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

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

D.intx[][3]={1,2,3,4};

48.按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。

A.隊(duì)列B.棧C.雙向鏈表D.二叉樹(shù)

49.下列程序的運(yùn)行結(jié)果是#include"stdio.h"main(){intx=-9,y=5,z=8;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);}

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

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

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

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

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

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

51.下面程序的輸出結(jié)果為_(kāi)_____。#include<string.h>main(){charp1[7]="abc",p2[]="ABC",str[50]="xyz";strcpy(str,strcat(p1,p2));printf("%s",str);}

A.xyzabcABCB.abcABCC.xyzabcD.xyzABC

52.若執(zhí)行下列的程序時(shí),從鍵盤上輸入1和2,則輸出結(jié)果是()。#include<stdio.h>main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;S=S*S,printf("%d\n",s);}

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

53.在下列語(yǔ)句中,其含義為“q為一個(gè)指針的函數(shù),該指針指向整型數(shù)據(jù)”的定義語(yǔ)句是()。

A.int**q;B.int(*q)();C.int*q;D.int*q();

54.下列說(shuō)法中錯(cuò)誤的是A.A.只能在循環(huán)體內(nèi)使用break語(yǔ)句

B.在循環(huán)體內(nèi)使用break語(yǔ)句可以使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)

C.在while和do…while循環(huán)中,continue語(yǔ)句并沒(méi)有使整個(gè)循環(huán)終止

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

55.若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)A.getc()B.gets()C.getchar()D.scanf()

56.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):inti=8,j=9;則下列語(yǔ)句:printf("i=%%d,j=%%d\n”,i,j);輸出的結(jié)果是()。

A.i=8,j=9B.i=%d,j=%dC.i=%8,j=%9D.8,9

57.請(qǐng)選出以下程序的輸出結(jié)果

#include<stdio.h>

main()

{inta[]={1,2,3,4},i;

intx=0;

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

{sub(a,x);printf("%d",x);}

printf("\n");}

sub(s,y)

int*s,y;

{staticintt=3;

y=s[t];t--;}

A.1234B.4321C.0000D.4444

58.有以下程序:main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序運(yùn)行后的輸出結(jié)果是______。

A.12353514B.12353513C.12343514D.12343513

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

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

60.假定w、x、y、m均為int型變量,則執(zhí)行下列的語(yǔ)句后,m的值是()。w=6,x=4,y=3;m=(w<x)?w:x;m=(m<y)?m:y;

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

四、選擇題(20題)61.設(shè)“intx=2,y=1;”,則表達(dá)式(!x||Y--)的值是()。

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

62.

63.算法分析的目的是()。

A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系C.分析算法的易懂性和可靠性D.分析算法的效率以求改進(jìn)

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

其中關(guān)系T由關(guān)系R和s通過(guò)某種操作得到,該操作為()。

A.選擇B.交C.投影D.并

65.下列關(guān)于棧敘述正確的是()。A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠(yuǎn)不能被刪除D.棧底元素最先能被胍除

66.有以下程序:

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

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

67.

68.下列不可作為C語(yǔ)言賦值語(yǔ)句的是()。

A.x=3,y=5B.a(chǎn)=b=6C.i--D.y=6

69.

70.若變量x、y已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。

A.X+1=yB.++X.Y=X一一C.X=X+10=X+YD.double(X)/10

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

A.123456B.14C.1234D.12

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

A.全局變量的作用域一定比局部變量的作用域范圍大

B.靜態(tài)(static)類別變量的生存期貫穿于整個(gè)程序的運(yùn)行期間

C.全局變量的生存期是整個(gè)程序的運(yùn)行期間

D.靜態(tài)局部變量的初值是在編譯時(shí)賦予的,在程序執(zhí)行期間不再賦予初值

73.

74.

75.

76.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。

A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)

77.下列選項(xiàng)中不會(huì)引起二義性的宏定義是()。

A.#defineS(x)x*x

B.#defineS(x)(x)*(x)

C.#defineS(x)(x*x)

D.#defineS(x)((x)*(x))

78.設(shè)有定義:intm=0;。以下選項(xiàng)的四個(gè)表達(dá)式中與其他三個(gè)表達(dá)式的值不相同的是()。

A.++mB.m+=1C.m++D.m+1

79.

80.有以下程序:

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

A.12

B.15

C.16

D.20

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將m(1≤m≤10)個(gè)字符串連接起來(lái),組成一個(gè)新串,放入pt所指字符串中,例如,把2個(gè)字符串a(chǎn)bc、CD串聯(lián)起來(lái),結(jié)果是abcCD。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.三個(gè)整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。

參考答案

1.C主要是考查while和getchar函數(shù),getchar函數(shù)是輸入字符函數(shù),while是循環(huán)語(yǔ)句,所以當(dāng)輸入的字符為換行符時(shí)將執(zhí)行。

2.C解析:修改數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)時(shí),通過(guò)兩級(jí)映像,可以使得應(yīng)用程序不必修改,保證數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。

3.Cmain函數(shù)首先定義一個(gè)整型變量data,使用scanf函數(shù)輸入一個(gè)整數(shù)賦給data。接著執(zhí)行for循環(huán),i的值為0~7。當(dāng)i的值不大于data的值時(shí),使用continue語(yǔ)句跳過(guò)當(dāng)前循環(huán),進(jìn)入下一輪循環(huán)。若從鍵盤輸入5,data的值為5,i取值為0~5時(shí),都不執(zhí)行printf語(yǔ)句。當(dāng)i取值為6、7時(shí),執(zhí)行printf語(yǔ)句,輸出6,7。故本題答案為C選項(xiàng)。

4.D解析:將一個(gè)字符常量放到一個(gè)字符變量中,實(shí)際上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的ASCII碼值放到存儲(chǔ)單元中。

5.D

6.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意下列兩點(diǎn):①在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大?。划?dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小等于所得商數(shù)加1。

7.C結(jié)構(gòu)體變量中的第一成員都是數(shù)組,不能直接將變量tl的成員mark數(shù)組的地址賦給另一個(gè)變量t2的成員mark數(shù)組的地址。因?yàn)榈刂范际枪潭ㄖ?,不能被賦值。結(jié)構(gòu)體可以進(jìn)行整體的賦值。

8.A本題考查的是文件操作。題中“fopen(fn,”w”)”的作用是打開(kāi)fn所指向的文件,使用文件方式為“寫入”;

“每uts(str,fp)”的作用是將字符str的值輸出到fb所指向的文件中去。在程序中,兩次使用“寫入”的方式打開(kāi)同一個(gè)文件,在第二次打開(kāi)時(shí),文件指針指向文件頭,所以此次寫入的數(shù)據(jù)覆蓋了文件原有的數(shù)據(jù),故本題中tl.dat的內(nèi)容為end。故本題答案為A)。

9.Dfun函數(shù)的功能是對(duì)數(shù)組a[]的元素從大到小進(jìn)行排序。

10.D解析:C語(yǔ)言中的文件是流式文件。流式文件是一種無(wú)結(jié)構(gòu)文件,即整個(gè)文件是一串字符流或二進(jìn)制流。文件的存取以字符或字節(jié)為單位。

11.B

12.B

13.C解析:程序流程圖是軟件過(guò)程設(shè)計(jì)中常用的圖形描述工具之一。構(gòu)成程序流程圖的最基本符號(hào)有:→或↓,表示控制流;□表示加工步驟;

表示邏輯條件。

14.B解析:scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址。選項(xiàng)A不是C語(yǔ)言中的輸入語(yǔ)句,故選項(xiàng)A不正確;選項(xiàng)C中輸入的是變量字符串而不是地址字符串,不滿足scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址,故選項(xiàng)C不正確;選項(xiàng)D不是C語(yǔ)言中的輸入語(yǔ)句,故選項(xiàng)D不正確:所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

15.C

16.D調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,所以外層調(diào)用f(f(a,b),f(a,c));即調(diào)用f(3,6)函數(shù)返回9。

17.D

18.B

19.B

20.C解析:C語(yǔ)言中,如果對(duì)定義的變量沒(méi)有賦初值,那么在后面使用時(shí),變量的值是不確定的。所以,本程序中,沒(méi)有對(duì)sum賦初值,它的值不確定。在執(zhí)行了for循環(huán)語(yǔ)句后,sum的值也不確定的,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

21.類類解析:在面向?qū)ο蠓椒ㄖ校惷枋龅氖蔷哂邢嗨茖傩耘c操作的一組對(duì)象。

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

23.參照完整性參照完整性

24.自頂向下自頂向下解析:在程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié),逐步使問(wèn)題具體化,對(duì)復(fù)雜的問(wèn)題,應(yīng)該設(shè)計(jì)一些子目標(biāo)作為過(guò)渡,上述方法概括為:自頂向下,逐步細(xì)化。

25.輸出輸出

26.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。

27.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級(jí)和塊級(jí)的變量,全局變量是指作用域在程序級(jí)和文件級(jí)的變量。本程序首先定義了一個(gè)全局變量m=17,m=17的作用域在整個(gè)程序內(nèi)。在fun函數(shù)內(nèi)部定義了一個(gè)局部變量m=3,m=3的作用域僅在fun函數(shù)內(nèi)部,通過(guò)fun函數(shù)返回兩個(gè)形參的積再減m。在主函數(shù)中,輸出fun(a,b)/m=(5*7-3)/17=1。

28.11解析:①“sizeof'、“%”、“>”、“<<”、“*=”,運(yùn)算符的優(yōu)先級(jí)順序?yàn)椋骸?=”→“>”→“<<”→“%”→“sizeof”;②位運(yùn)算的優(yōu)先級(jí)順序?yàn)椋骸啊薄埃迹肌薄埃荆尽薄?”→“^”。(b=2)>(c=4)不成立,邏輯為假,所以n=0;(a=3)!=(b=2)成立,邏輯為真,所以m=1。

29.A

30.需求規(guī)格說(shuō)明書需求規(guī)格說(shuō)明書解析:軟件需求規(guī)格說(shuō)明書是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。需求規(guī)格說(shuō)明書包括正確性、無(wú)歧義性、完整性、可驗(yàn)證性、一致性、可理解性、可修改性和可追蹤性等。

31.x+=1;

32.8080解析:數(shù)組a是共用體變量,共用體類型變量所占的內(nèi)存長(zhǎng)度為最大成員的長(zhǎng)度,即單精度數(shù)組的長(zhǎng)度,為4×4=16,因此,數(shù)組a所占的內(nèi)存長(zhǎng)度為5×16=80,所以最后輸出的s的值為80。

33.變換型變換型

34.1+a1-a1+a\r\n1-a解析:因?yàn)轭}目中求的是1+|a|的值,即1和a的絕對(duì)值之和。所以根據(jù)數(shù)學(xué)中求絕對(duì)值的規(guī)則,當(dāng)a>=0時(shí),絕對(duì)值取本身,當(dāng)a<0時(shí),絕對(duì)值取相反數(shù),再結(jié)合條件運(yùn)算符的計(jì)算規(guī)則可得到本題的答案為a>=0。注意:逗號(hào)表達(dá)式的求值規(guī)則。

35.類類

36.81628162解析:第一次調(diào)用函數(shù)fun時(shí),x[0]=2、xL1]=6、x[2]=1、x[3]=8,執(zhí)行完函數(shù)fun后,x[0]與x[3]的值互換,即x[0]=8、x[1]=6、x[2]=1、x[3]=2;第二次調(diào)用函數(shù)fun時(shí),i=1、j=2,故將x[1]與x[2]的值互換,即得x[0]=8、x[1]=1、x[2]=6、x[3]=2。

37.88解析:本程序定義了3個(gè)指針變量p1、p2、p,并且將,、b的地址分別賦給P1、p2,則*p1=a=2,*p2=b=4,所以表達(dá)式*p1*(*p2)的值是8。在賦值語(yǔ)句的左邊是*(p=&c),即使指針p指向了變量c,因而*(p)代表了c的存儲(chǔ)單元,賦值語(yǔ)句“*(p=&c)=*p1*(*p2);”是把整數(shù)8賦給了變量c。

38.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。

39.88解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算.運(yùn)算過(guò)程為:t=B*2=A+3*2=2+3*2=8。

40.11231123解析:在主函數(shù)中第一次調(diào)用func子函數(shù)時(shí),m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因?yàn)樵谧雍瘮?shù)中將m和i定義成了static類型,所以在子函數(shù)中對(duì)m和i進(jìn)行的改變?cè)谙乱淮握{(diào)用子函數(shù)時(shí)能進(jìn)行保存,所以第二次調(diào)用子函數(shù)時(shí),m=11,i=3,則i=i+m+1=15,m=i+a+b=15+5+3=23。

41.D解析:C語(yǔ)言中,字符串是用一對(duì)雙引號(hào)括起來(lái)的字符序列,并用字符型數(shù)組來(lái)存放,故選項(xiàng)A)、C)不是字符中;選項(xiàng)B)定義的是一個(gè)字符變量str,不能用來(lái)存放字符串,所以不正確。

42.A解析:希爾排序法的基本思想是:將整個(gè)無(wú)序序列分割成若干小的子序列分別進(jìn)行插入排序。

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

44.D解析:本題考查字母大小寫的判斷。字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)部是以ASCII碼存儲(chǔ)的,英文大寫字母和小寫字母在ASCII碼表中都是連續(xù)的。大寫字母A到Z是從65到90,所以只要變量c1大于A并且小于Z就能保證其為大寫字母。

45.B解析:本題考核的知識(shí)點(diǎn)是二維數(shù)組的定義、初始化和指針的應(yīng)用。本題中首先定義了一個(gè)字符串?dāng)?shù)組并初始化,初始化后使得str[0]='China',str[1]='Beijing',然后定義一個(gè)指針變量p并讓其指向str,而在該二維數(shù)組中定義每個(gè)字符串的長(zhǎng)度為10所以p+10將指向str[1]的,因此最后輸出*(p+10)的值為Beijing。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

46.B本題考查邏輯與運(yùn)算符“&&”的使用。對(duì)于邏輯與運(yùn)算符&&來(lái)說(shuō),對(duì)象的結(jié)合方式為從左往右,只有&&左邊的值為真,才繼續(xù)右邊的運(yùn)算。題目中&&左邊的表達(dá)式為m=a>b,“>”運(yùn)算符優(yōu)先級(jí)高于“=”,故先判斷a>b,因?yàn)閍=1,b=2,所以a>b為假,于是m=0?!?&”左邊的值為假,所以不進(jìn)行右邊的運(yùn)算。n的值沒(méi)有發(fā)生改變,n=2。

47.C解析:本題考查的是二維數(shù)組的定義和初始化方法。C語(yǔ)言中,在定義并初始化二維數(shù)組時(shí),可以省略數(shù)組第一維的長(zhǎng)度,但是不能省略第二維的長(zhǎng)度。故選項(xiàng)C)錯(cuò)誤。

48.B解析:“后進(jìn)先出”表示最后被插入的元素最先能被刪除。選項(xiàng)A中,隊(duì)列是指允許在—端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表,在隊(duì)列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除,隊(duì)列又稱為“先進(jìn)先出”的線性表,它體現(xiàn)了“先來(lái)先服務(wù)”的原則:選項(xiàng)B中,棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素,棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。隊(duì)列和棧都屆于線性表,它們具有順序存儲(chǔ)的特點(diǎn),所以才有“先進(jìn)先出”和“后進(jìn)先出”的數(shù)據(jù)組織方式。雙向鏈表使用鏈?zhǔn)酱鎯?chǔ)方式,二叉樹(shù)也通常采用鏈?zhǔn)酱鎯?chǔ)方式,它們的存儲(chǔ)數(shù)據(jù)的空間可以是不連續(xù)的,各個(gè)數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致。所以選項(xiàng)C和選項(xiàng)D錯(cuò)誤。本題的正確答案為選項(xiàng)B。

49.D解析:if...else語(yǔ)句的執(zhí)行過(guò)程如下,首先計(jì)算if后面一對(duì)圓括號(hào)內(nèi)表達(dá)式的值,若表達(dá)式的值為非0,執(zhí)行if子句,然后跳過(guò)else子句,去執(zhí)行if語(yǔ)句后的下一條語(yǔ)句;若表達(dá)式的值為0,跳過(guò)if子句,去執(zhí)行else子句,接著去執(zhí)行if語(yǔ)句后的下一條語(yǔ)句。C語(yǔ)言的語(yǔ)法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書寫格式無(wú)關(guān),本題目的后一個(gè)ifelse相當(dāng)于嵌套在第一個(gè)if子句里,相當(dāng)于x<y&&y<0時(shí),z=0;當(dāng)x<y&&y>=0時(shí),z=z+1。

50.A解析:符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格中,應(yīng)該選擇只有一個(gè)入口和一個(gè)出口的模塊,故選項(xiàng)B錯(cuò)誤;首先要保證程序正確,然后才要求提高效率,故選項(xiàng)C錯(cuò)誤;嚴(yán)格控制使用goto語(yǔ)句,必要時(shí)可以使用,故選項(xiàng)D錯(cuò)誤。

51.B解析:strcpy(str1,s1):作用是將字符串s1拷貝到字符數(shù)組str1中去。strcat(字符數(shù)組1,字符數(shù)組2):把字符串2接到字符串1的后面,結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后返回字符數(shù)組1的地址。本題定義了三個(gè)字符數(shù)組p1,p2,sir,strcat(p1,p2)函數(shù)的作用是將字符串?dāng)?shù)組p2接到字符串p1的后面,結(jié)果放在字符數(shù)組p1中,再通過(guò)strcpy()函數(shù)將該字符串拷貝到str數(shù)組中,原str數(shù)組中的字符串xyz被覆蓋,因此打印輸出字符串str即可得到abcABC。

52.B解析:本題考查if語(yǔ)句。scanf函數(shù)通過(guò)鍵盤讀入a、b的值,a=1,b=2。第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a<b條件成立,則s=b=2,s=s*s=4。

53.B解析:本題考查的是指針函數(shù)。指針函數(shù)定義的基本格式為:類型說(shuō)明符(*函數(shù)名)()。其中,類型說(shuō)明符表示返回的指針值指向的數(shù)據(jù)類型。

54.A解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句,當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體時(shí),其作用是跳出該switch語(yǔ)句體。當(dāng)break出現(xiàn)在循環(huán)體中,但不在switch語(yǔ)句體中時(shí),則在執(zhí)行break后,跳出本層循環(huán)體。continue語(yǔ)句的作用是,跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)的條件判定。

55.Bscanf(\u3000)語(yǔ)句中用“空格”間隔不同的字符串,空格將被全部忽略掉,所以用scanf(\u3000)函數(shù)不能輸入空格;getehar(\u3000)函數(shù)用于輸入字符,其調(diào)用形式為:ch=getelaar(\u3000),getehar(\u3000)函數(shù)從終端讀入一個(gè)字符作為函數(shù)值,把讀入的字符賦給變量ch。在輸入時(shí),空格、回車符都將作為字符讀入,而且只有在用戶敲入Enter鍵時(shí),讀入才開(kāi)始執(zhí)行。gets(\u3000)函數(shù)的凋用形式為:gets(str_adr),其中stradr是存放輸入字符串的起始地址,可以是字符數(shù)組名、字符數(shù)組元素的地址或字符指針變量。9ets函數(shù)用來(lái)從終端鍵盤讀入字符串(包括空格符),直到讀入一個(gè)換行符為止。getc(\u3000)函數(shù)的調(diào)用形式為:ch=getc(pf)其中pf是文件指針。函數(shù)的功能是從pf指定的文件中讀入一個(gè)字符,并把它作為函數(shù)值返回。

56.B解析:本題考查printf函數(shù)的格式。在printf函數(shù)中,如果格式說(shuō)明符中有兩個(gè)%說(shuō)明,則將第1個(gè)%后面的字符原樣輸出,并不輸出其對(duì)應(yīng)的變量值。

57.C解析:考查通過(guò)指針來(lái)引用一維數(shù)組元素的方法。若指針s指向數(shù)組a,則s[t]可以引用數(shù)組a中下標(biāo)為t的元素。

58.A解析:自增運(yùn)算符“++”,放在變量之前表示在使用變量之前,先使變量的值加1;放在變量之后表示在使用變量之后,再使變量的值加1。第一條輸出語(yǔ)句,先輸出m=12,m再自加1,變成13,n先自加1再輸出,輸出n=35;第二條輸出語(yǔ)句,先輸出n=35,n再自加1,變成36,m先自加1再輸出,輸出m=14。

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

60.A解析:條件表達(dá)式“a?b:c”的含義是:當(dāng)a為真時(shí),其值等于表達(dá)式b的值,當(dāng)a為假時(shí),其值等于表達(dá)式c的值。第一個(gè)表達(dá)式:w=6<x=4為假,所以返回x的值,即m=x=4;第二個(gè)表達(dá)式:m=4<y=3為假,所以返回y的值,即m=y=3。

61.B因X為2,所以!X時(shí)表達(dá)式值為0,因Y為1,y--表達(dá)式的值為1然后自減1,y為0,所以

溫馨提示

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