2021年遼寧省盤錦市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)_第1頁
2021年遼寧省盤錦市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)_第2頁
2021年遼寧省盤錦市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)_第3頁
2021年遼寧省盤錦市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)_第4頁
2021年遼寧省盤錦市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

2021年遼寧省盤錦市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.若有說明語句:charc='\72'則變量c()。

A.包含1個字符B.包含2個字符C.包含3個字符D.說明不合法,c的值不確定

2.已知i,j,k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1,j的值為2,k的值為3,以下選項中正確的輸入語句是A.scanf("%2d%2d%2d",&i,&j,&k);

B.scanf("%d%d%d",&i,&j,&k);

C.scanf("%d,%d,%d",&i,&j,&k);

D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);

3.

4.有以下程序:#include<stdio.h>main(){charb[]=“happynewyear”,k;for(k=0;b[k];k++) printf(“%c”,b[k]-‘a(chǎn)’+‘A’);}程序運行后的輸出結(jié)果是()。

A.hAppynewyeArB.HappynewyearC.HAPPYNEWYEARD.HaPPYNEWYEaR

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

A.數(shù)據(jù)庫系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項管理

6.有下列程序: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]-t\0)%2)num=10*num+p[j][j]-0;j+=2;}}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。A.35B.37C.39D.3975

7.若有定義“inta;longb;doublex,y;”,則以下選項中正確的表達(dá)式是()。

A.a=x<>yB.a%(int)(x-y)C.(a*y)%bD.y=x+y=x

8.下列變量聲明合法的是()。A.shorta=1.4e-1;

B.doubleb=1+3e2.8;

C.longdo=0xfdaL;

D.float2aaa=1e-3;

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

B.123456789964abbcdefghijk

C.123445667899abbcdefghijk

D.abbcdefghijk123445667899

10.對于“if(表達(dá)式)語句”,以下敘述正確的是()。

A.“表達(dá)式”不能是變量

B.“表達(dá)式”的值只能是整數(shù)值

C.“表達(dá)式”可以是常量

D.“表達(dá)式”中不可以出現(xiàn)字符型變量的比較

11.在瀏覽WWW時,如果連接到一個安全的站點,應(yīng)當(dāng)以()開頭來書寫統(tǒng)一資源定位器。

A.shttp://B.http:s//C.http://D.https//

12.排序方法中,將整個無序序列分割成若干小的子序列并分別進行插入排序的方法,稱為______。

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

13.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。

A.存儲在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲空間量C.數(shù)據(jù)在計算機中的順序存儲方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示

14.有以下程序:

程序運行后的輸出結(jié)果是()。A.4284B.2870C.2668D.3981

15.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關(guān)系

16.以下程序的輸出結(jié)果是().A.A.0B.29C.31D.無定值

17.設(shè)某文件內(nèi)排序后得到100個初始?xì)w并段(初始順串),若使用多路歸并排序算法,且要求三趟歸并完成排序,問歸并路數(shù)最少為()

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

18.有如下定義:structperson{charname[9];intage;}structpersonclass[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};能輸出字母M的是()

A.printf("%c\n",class[3].name);

B.printf("%c\n",class[3].name[1]);

C.printf("%c\n",class[2].name[1]);

D.printf("%c\n",class[2].name[0]);

19.若需要利用形參直接訪問實參,則應(yīng)把形參變量說明為____參數(shù)。

A.指針B.引用C.值D.變量

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

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

二、2.填空題(20題)21.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。

22.x、y、x均為int型變量,描述"x、y和z中至少有兩個為正數(shù)"的表達(dá)式是______。

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

fun(inta)

{intb=0;staticintc=3;

b++;c++;

return(a+b+c);

}

main()

{inti,a=5;

for(i=0;i<3;i++)printf("%d%d",i,fun(a));

printf("\n");

}

24.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。

25.以下程序的輸出結(jié)果是()。main(){char*p[]={"ABC","DEF","GHI","JKL"};inti;for(i=3;i>=0;i--,i--)printf("%c",*p[i]);}

26.軟件維護活動包括以下幾類:改正性維護、適應(yīng)性維護、【】維護和預(yù)防性維護o

27.下列程序的功能是輸入一個整數(shù),判斷其是否是素數(shù),若為素數(shù)則輸出1,否則輸出0。請?zhí)羁铡?/p>

#include<stdio.h>

main()

{inti,x,y=1;

scanf("%d",&x);

for(i=2;i<=x/2;i++)

if【】{y=0;break;}

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

}

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

main()

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

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

29.下列表達(dá)式用于判斷y是否為閏年。閏年的判斷條件是:年號能被4整除但不能被100整除或年號能被400整除,請?zhí)羁誣_____。

30.在樹型結(jié)構(gòu)中,根結(jié)點沒有【】結(jié)點,其余每個結(jié)點有且僅有【】個前驅(qū)結(jié)點;葉結(jié)點沒有后繼結(jié)點,其余每個結(jié)點的【】結(jié)點數(shù)不受限制。

31.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

32.數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段,其中數(shù)據(jù)獨立性最高的階段是______。

33.設(shè)有以下定義和語句,sizeof(a)的值是【】,sizeof(b)的值是【】。

struct{intday;Charmonth;intyear;}a,*b;

b=&a;

34.表示條件;10<x<100或x<0的C語言表達(dá)式是【】。

35.棧中允許進行插入和刪除的一端叫做______。

36.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于【】。

37.有以下程序

intfa(intx){returnx*x;}

intfb(intx){retumx*x*x;}

intf(int(*f1)(),int(*f2)(),intx)

{returnf2(x)-f1(x);}

main()

{inti;i=f(fa,fb,2);printf("%d\n",i);}

程序運行后,輸出結(jié)果是【】。

38.某二叉樹中度為2的節(jié)點有18個,則該二叉樹中有()個葉子節(jié)點。

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

main()

{intx=15;

while(x>10&&x<50)

{x++;

if(x/3){x++;break;}

elsecontinue;

}

printf(“%d\n”,x);

}

40.以下程序的功能是:從低位開始取出長整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。請?zhí)羁铡?include<stdio.h>main(){longs,t,s1=10;pfintf("\n.Pleaseenters:");scanf("%1d",&s);t=s%10;while(s>0){s=s/100;t=();s1=s1*10;}printf("Theresultis:%1d\n",t);}

三、1.選擇題(20題)41.分析下面的程序main(){int*p1,*p2,*p;intx=4,y=6;p1=&x;p2=&y;if(x<y){p=p1;p1=p2;p2=p;}printf("%d,%d,",*p1,*p2);printf("%d,%d\n",x,y);}程序的輸出結(jié)果為_______。

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

42.關(guān)于結(jié)構(gòu)化程序設(shè)計原則和方法描述錯誤的是()。

A.選用的結(jié)構(gòu)只準(zhǔn)許有一個入口和一個出口

B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)

C.不允許使用GOTO語句

D.語言中所沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬

43.有以下程序

main()

{inti;

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

{if(i++%5==0)

if(++i%8==0)printf("%d",i);

}

printf("\n");

}

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

A.5B.24C.32D.40

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

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

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

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

46.在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。A.概要設(shè)計B.詳細(xì)設(shè)計C.可行性分析D.需求分析

47.有以下程序main(intargc,char*argv[]){intn,i=0;while(argv[1][i]!='\0'){n=fun();i++;}printf("%d\n",n*argc);}intfun(){staticints=0;s=-1;returns;}假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam.exe,若鍵入以下命令行cxam123<回車>則運行結(jié)果為

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

48.fwrite函數(shù)的一般調(diào)用形式是

A.fwrite(buffer,count,size,fp);

B.fwrite(fP,size,count,buffer);

C.fwrite(fp,count,size,buffer);

D.fwrite(buffer,size,count,fp);

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

50.以下選項中可作為C語言合法整數(shù)的是A.10110BB.386C.0XffaD.x2a2

51.計算機的存儲器完整的應(yīng)包括______。

A.內(nèi)存儲器與外存儲器B.磁盤、磁帶與光盤C.RAM與ROMD.軟盤與硬盤

52.下列有關(guān)數(shù)據(jù)庫的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程

B.數(shù)據(jù)的物理獨立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時,數(shù)據(jù)的存儲結(jié)構(gòu)不變

C.關(guān)系中的每一列稱為元組,一個元組就是一個字段

D.如果一個關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字

53.以下程序的輸出結(jié)果是______。#defineTIMES(X)X*Xmain(){inta=16,k=2,m=1;a/=TIMES(k+m)/TIMES(k+m);printf("d\n",a);}

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

54.以下選項中屬于C語言的數(shù)據(jù)類型是_______。

A.復(fù)數(shù)型B.邏輯型C.雙精度型D.集合型

55.有以下程序main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);}執(zhí)行后輸出結(jié)果是

A.16B.12C.28D.21

56.下列程序的輸出結(jié)果是()main(){intx=0.5;charz=‘a(chǎn)’;printf(“%d\n”,(x&1)&&(z<‘z’));}A.0B.1C.2D.3

57.多媒體計算機系統(tǒng)的兩大組成部分是()

A.多媒體功能卡和多媒體主機

B.多媒體通信羅件和多媒體開發(fā)工具

C.多媒體輸入設(shè)備和多媒體輸出設(shè)備

D.多媒體計算機硬件系統(tǒng)和多媒體計算機軟件系統(tǒng)

58.設(shè)intb=2;,則表達(dá)式(b<<2)/(b>>1)的值是______。

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

59.有以下程序fun(intx){intp;if(x==0‖x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}執(zhí)行后的輸出結(jié)果是

A.7B.3C.2D.0

60.以下描述中正確的是()。

A.由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句

B.do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式.后面不能寫分號

C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進行判斷

D.do-while循環(huán)中,根據(jù)情況可以省略while

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

#include<stdio.h>

main{inta=1,b=2,c=3,x;

x=(a^b)&c;printf("%d\n",x);}

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

62.

63.有以下程序當(dāng)執(zhí)行程序時,按下列方式輸入數(shù)據(jù)(從第l列開始,<CR>代表回車,注意;回車也是--+qz符)12<CR>34<CR>則輸出結(jié)果是()。

A.123B.12C.1234D.1234

64.

65.

66.下面不屬于需求分析階段任務(wù)的是()。

A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.制定軟件集成測試計劃D.需求規(guī)格說明書評審

67.有以下程序:

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

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

68.

69.

70.如果將主文件型指針fp指向的文件內(nèi)部指針置于文件尾,正確的語句是()。

A.feof(fp);

B.rewind(fp);

C.fseek(fp,OL,0);

D.fseek(fp,OL,2);

71.有以下程序:

voidmain()

{intk=0,n=0;

while(k<5)

{switch(k)

{default:break;

case1:n+=k;

case2:

case3:n+=k;

}

k++;

}

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

}

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

A)0B)4

C)6D)7

72.以下選項中不合法的標(biāo)識符是()。

A.&aB.FORC.pfintD.00

73.執(zhí)行以下程序時輸人1234567<CR>,則輸出結(jié)果是()。

#include<stdio.h>

main

{

inta=1,b;

scanf("%3d%2d",&a,&b);

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

}

A.12367B.12346C.12312D.12345

74.軟件開發(fā)中需求分析的主要任務(wù)是()。

A.定義和描述目標(biāo)系統(tǒng)“做什么”B.獲取需求C.給出軟件解決方案D.需求評審

75.以下不合法的字符常量是()。

A."、、"B.’\”’C.’\018’D.\xcc"

76.

77.以下敘述中錯誤的是()。

A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題

B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成

C.C語言是-種結(jié)構(gòu)化程序設(shè)計語言

D.結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法

78.

79.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。

A.EOFB.-lC.非零值D.0

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

A.算法就是程序B.設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計C.設(shè)計算法時只需要考慮結(jié)果的可靠性D.以上三種說法都不對

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:先將字符串s中的字符按順序存放到t中,然后把S中的字符按正序連接到t的后面。例如,當(dāng)s中的字符串為WXYZ時,則t中的字符串應(yīng)為WXYZWXYZ。

請改正程序中的錯誤,使它能得出正確的結(jié)果。

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

voidproc(char*s,char*t)

{

inti,s1;

s1=strlen(s);

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

//****found****

t[i]=s[s1];

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

t[s1+i]一s[i];

t[2*s1]=\O0;

}

voidmain

{

chars[100],t[100];

system("CLS");

print{("\nPleaseenterstrings:");

scanf("%s",s);

proc(s,t);

printf("Theresultis:%s\n",t);

}

六、程序設(shè)計題(1題)82.M名學(xué)生的成績已在主函數(shù)中放入一個帶頭結(jié)點的鏈表結(jié)構(gòu)中,h指向鏈表的帶頭結(jié)點。請編寫函數(shù)proc(),它的功能是:找出學(xué)生的最高分,由函數(shù)值返回。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:

參考答案

1.A解析:C語言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個“\\”開頭的字符。其中,“\\ddd”表示用ASCII碼(八進制數(shù))表示一個字符,本題中的charc='\\72'H口表示占一個字符的變量c的ASCII碼值。

2.C

3.B

4.C程序定義一個字符數(shù)組b,并使用字符串“happynewyeai”進行初始化。然后通過for循環(huán),遍歷字符數(shù)組b中的每個字符,再將b中的字符元素修改為大寫字母。程序輸出:HAPPYNEWYEAR。故本題答案為C選項。

5.A在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)這一階段。數(shù)據(jù)庫系統(tǒng)階段用數(shù)據(jù)模型來表示復(fù)雜的數(shù)據(jù),有較高的數(shù)據(jù)獨立性。數(shù)據(jù)庫系統(tǒng)為用戶提供了方便的用戶接口,用戶既可使用查詢語言或終端命令操作數(shù)據(jù)庫,也可以用程序方式來操作。數(shù)據(jù)庫管理系統(tǒng)提供了數(shù)據(jù)控制功能。

6.D執(zhí)行第一次for循環(huán)時,用表達(dá)式p[i][J]!=\o來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語句。if語句表示(p[i][j]-\o)除2的余數(shù)不為0時,即字符串所有奇數(shù),執(zhí)行后面的語句。所以退出第1次for的循環(huán)體時,輸出為397,執(zhí)行第2次循環(huán)體。對字符串“2584”進行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。

7.BC語言中沒有“<>”運算符,所以A選項錯誤。運算符“%”的左右兩個操作數(shù)必須為整型數(shù)據(jù),所以B選項正確。表達(dá)式“a*y”的結(jié)果為double型,所以C選項錯誤。不能將值賦給像“x+y”這樣的表達(dá)式,所以D選項錯誤。故本題答案為B選項。

8.A本題需了解3個知識點:①標(biāo)識符是由字母、數(shù)字或下劃線組成,并且它的第一個字符必須是字母或者下劃線;②do是C語言的一個關(guān)鍵字,不能再用做變量名和函數(shù)名;③c語言規(guī)定指數(shù)形式的實型數(shù)量e或E后面的指數(shù)必須是整數(shù)。

9.B程序定義數(shù)組a和b,其中a使用小寫字母和數(shù)字構(gòu)成的字符串完成初始化。第1個for循環(huán)將數(shù)組a中所有的非小寫字母字符(數(shù)字字符)自左向右存放到b數(shù)組中;第2個for循環(huán)將數(shù)組a中所有的非數(shù)字字符(小寫字母)自左向右存放到b的后續(xù)單元中,在所有字符后添加空字符,輸出b,此時b的值為:123456789964abbcdefghijk。本題答案為B選項。

10.CC語言中沒有規(guī)定“if(表達(dá)式)語句”中的“表達(dá)式”的形式,其可以是任意合法的表達(dá)式。故本題答案為C選項。

11.C

12.A解析:希爾排序法的基本思想是:將整個無序序列分割成若干小的子序列分別進行插入排序。

13.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的物理實現(xiàn),有時也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲結(jié)構(gòu)則涉及到如何在計算機中通過對數(shù)據(jù)的物理存儲進行組織來表達(dá)數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲中是利用物理存儲空間上的連續(xù)性來表達(dá)線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈?zhǔn)酱鎯χ惺峭ㄟ^指針域構(gòu)成的邏輯鏈條來表達(dá)數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對應(yīng)的物理實現(xiàn),即數(shù)據(jù)的存儲結(jié)構(gòu)不止一種。因此選項D正確。

14.Bfor循環(huán)中,i取值為1~100。循環(huán)體中,3個if語句必須同時滿足才會輸出x,輸出的x取值為i+3,所以x的取值只能是4到103。x必須滿足以下條件:①x%7==0(x必須是7的倍數(shù));②(x-1)%3==0(x必須是3的倍數(shù)+1);③(x-2)%2==0(x必須是2的倍數(shù))。滿足條件③的x取值為7,14,21,28,35,42,49,56,63,70,77,84,91,98;又滿足條件②的x的取值為7,28,49,70,91;又滿足條件①的x的取值為28,70。本題答案為B選項。

15.C(10)C)解析:DB即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺之一——硬件平臺(硬件)、系統(tǒng)平臺之二——軟件平臺(軟件)。

16.C

17.A

18.D

19.A

20.B

21.數(shù)據(jù)存儲數(shù)據(jù)存儲

22.((x>0)&&(y>0))||((x>0)&&(z>0)||((y>0)&&(z>0))((x>0)&&(y>0))||((x>0)&&(z>0)||((y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個為正數(shù)”,即x、y和z這3個數(shù)中必須有兩個是正數(shù),且這3個數(shù)中的哪兩個數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。

23.010111212010111212解析:本題考查的是靜態(tài)局部變量的運用。靜態(tài)局部變量的作用域與普通局部變量一樣,但它的生存期將延長到程序運行結(jié)束。本題的主函數(shù)中使用一個for循環(huán)輸出循環(huán)變量i和fun(a)的值,由于a的值一直沒被修改過,所以三次調(diào)用的都是fun(5)。第1次調(diào)用,b=0,c=3,所以返回值為5+1+4=10;第2次調(diào)用,因為c是靜態(tài)局部變量,它仍然保存著上次調(diào)用結(jié)束時的值4,而b重新被創(chuàng)建和初始化為0,所以返回值為5+1+5=11;同理,第3次調(diào)用返回的是12。所以,程序最終輸出為:010111212。

24.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。

25.JD

26.完善性完善性解析:軟件維護活動包括以下幾類:改正性維護、適應(yīng)性維護、完善性維護和預(yù)防性維護。完善性維護是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。

27.(x%i==0)(x%i==0)解析:為判數(shù)x是否是素數(shù),預(yù)置變量y的值為1(x可能是素數(shù)),然后用2至x/2的整數(shù)i測試對x的整除性,若x能被其中的某個整數(shù)整除,則x是合數(shù),置y的值為0(即x不是素數(shù)),結(jié)束循環(huán)測試;若循環(huán)中i都不能整除x,則x為素數(shù)。一般可用求余運算x%i是否等于0來判定i能否整除x,所以程序中的空格處可填(x%i==0)。

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

29.(y%4==0)&&(y%100!=0)||(y%400==0)(y%4==0)&&(y%100!=0)||(y%400==0)解析:考查邏輯表達(dá)。年號能被4整除(y%4==0)但不能被100整除(y%100!=0),兩者是與的關(guān)系,年號能被400整除即y%400==0,與前兩項是或的關(guān)系。

30.前驅(qū)一后繼前驅(qū)\r\n一\r\n后繼

31.軟件開發(fā)

32.數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術(shù)階段數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術(shù)階段解析:在數(shù)據(jù)庫系統(tǒng)管理階段,數(shù)據(jù)是結(jié)構(gòu)化的,是面向系統(tǒng)的,數(shù)據(jù)的冗余度小,從而節(jié)省了數(shù)據(jù)的存儲空間,也減少了對數(shù)據(jù)的存取時間,提高了訪問效率,避免了數(shù)據(jù)的不一致性,同時提高了數(shù)據(jù)的可擴充性和數(shù)據(jù)應(yīng)用的靈活性;數(shù)據(jù)具有獨立性,通過系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨立性:一是物理獨立性,二是邏輯獨立性;保證了數(shù)據(jù)的完整性、安全性和并發(fā)性-綜上所述,數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)管理階段。

33.52

34.(x>10&&x<100)||x<0

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

36.存儲結(jié)構(gòu)

37.44解析:在主函數(shù)中調(diào)用函數(shù)f,函數(shù)f有三個參數(shù),形參f1與f2分別是兩個指向函數(shù)的指針。在f中執(zhí)行f2(x)-f1(x),實際上是執(zhí)行了fb(2)-fa(2),故執(zhí)行i=(fa,fb,2)后i的值為23-22=4。

38.19

39.1717解析:bteak語句只能在循環(huán)體和switch語句體內(nèi)使用,當(dāng)break出現(xiàn)在循環(huán)體中的switch語句體內(nèi)時,其作用只是跳出該switch語句體。當(dāng)break出現(xiàn)在循環(huán)體中,但不在switch語句體內(nèi)時,則在執(zhí)行break后,跳出本層循環(huán)體。而continue語句的作用時結(jié)束本次循環(huán);即跳過本次循環(huán)中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)的條件判定。本題中首先定義了一個變量x并賦初值15,然后判斷循環(huán)條件“x>5&&x<50”,即“x>5&&x<50”,為真,執(zhí)行循環(huán)體。語句“x++;”執(zhí)行后,x的值變?yōu)?6,“x/3”的值為5為真,執(zhí)行其后的語句“x++;”,x的值變?yōu)?7,執(zhí)行語句“break”,退出循環(huán),輸出x的值為17。

40.s%10*s1+t

41.A解析:if語句執(zhí)行前,指針變量p1指向變量x,指針變量p2指向變量y。由于x<y成立,p1、p2分別指向變量y和變量x,因此,程序輸出結(jié)果是6,4,4,6。

42.C解析:限制使用GOTO語句是結(jié)構(gòu)化程序設(shè)計的原則和方法之一,但不是絕對不允許使用GOTO語句。其他3項為結(jié)構(gòu)化程序設(shè)計的原則。

43.C解析:當(dāng)for循環(huán)執(zhí)行到第30次時,i的值為30能被5整除,然后繼續(xù)執(zhí)行兩次if語句,i經(jīng)過兩次自加1運算,值變?yōu)?2,能被8整除,故此時第一次執(zhí)行'printf('%d',i);'語句,即輸出32。

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

45.C解析:程序流程圖是人們對解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;

表示邏輯條件。

46.D通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。也就是說:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。

軟件生命周期的主要活動階段為:

①可行性研究和計劃制定。確定待開發(fā)軟件系統(tǒng)的開發(fā)目標(biāo)和總的要求,給出它的功能、性能、可靠性以及接口等方面的可行方案,制定完成開發(fā)任務(wù)的實施計劃。

②需求分析。對待開發(fā)軟件提出的需求進行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫軟件,規(guī)格說明書及初步的用戶手冊,提交評審。

③軟件設(shè)計。系統(tǒng)設(shè)計人員和程序設(shè)計人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。

④軟件實現(xiàn)。把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計劃。

⑤軟件測試。在設(shè)計測試用例的基礎(chǔ)上,檢驗軟件的各個組成部分。編寫測試分析報告。

⑥運行和維護。將已交付的軟件投入運行,并在運行使用中不斷地維護,根據(jù)新提出的需求進行必要而且可能的擴充和刪改。

47.A解析:主函數(shù)的第一個參數(shù)argc為整型參數(shù),記下從命令行輸入的參數(shù)的個數(shù):第二個參數(shù)argv是一個字符型的指針數(shù)組,它的每一個元素指向命令行輸入的參數(shù)字符數(shù)。在本例中argc的值為2,argv[0]指向字符串“exam”,argv[1]指向參數(shù)字符串“123”。在main()函數(shù)中,while循環(huán)執(zhí)行了3次,調(diào)用了3次fun()函數(shù):第一次調(diào)用fun()函數(shù)時,定義了一個靜態(tài)變量s并賦初值0,加1后作為函數(shù)值返回,n偽值為1;第二次調(diào)用fun()函數(shù)時,靜態(tài)變量s的值將保留上一次退出時的值1,再加1為2,作為函數(shù)值返回,n的值為2;同理第三次調(diào)用返回后,n的值為3。輸出n*argc的值為6。

48.D解析:fwrite的形式是fwrite(buffer,size,count,fp),buffer表示準(zhǔn)備輸出的數(shù)據(jù)塊的起始地址,size表示每個數(shù)據(jù)塊的字節(jié)數(shù),count用來指定每寫一次或輸出的數(shù)據(jù)塊,fp為文件指針。

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

50.C解析:本題考核的知識點是整數(shù)及常數(shù)的表示方法。在C語言中,整數(shù)常量可以用十進制、八進制和十六進制來表示,選項A為二進制表示,故選項A不正確;選項B是八進制表示法,但在八進制數(shù)中,各個位數(shù)只能為數(shù)字。到7中的一個,而在選項B中,有一個數(shù)字8,故選項B不正確;選項C為十六進制表示法正確:選項D中也為十六進制表示法,但十六進制數(shù)以O(shè)x開頭,故選項D不正確,所以,4個選項中選項c符合題意。

51.A解析:存儲器包括內(nèi)部存儲器和外部存儲器,而選項B、D只能統(tǒng)稱為外部存儲器,選項C屬于內(nèi)部存儲器。

52.D數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,故選項A敘述錯誤。數(shù)據(jù)的物理獨立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),故選項B敘述錯誤。關(guān)系中的行稱為元組,對應(yīng)存儲文件中的記錄,關(guān)系中的列稱為屬性,對應(yīng)存儲文件中的字段,故選項C敘述錯誤。所以本題選D。

53.B解析:宏定義的作用是進行字符的替換,應(yīng)先將賦值語句的右邊進行宏替換,即等號右邊為:k+m*k+m/k+m*k+m=2+1*2+1/2+1*2+1=2+2+0+2+1=7,然后計算a/=7,即a=a/7=16/7=2。

54.C解析:C語言的數(shù)據(jù)類型分為基本類型、構(gòu)造類型、指針類型、空類型四大類。其中,基本類型分為整型、字符型、實型三類。實型又稱浮點型,包括單精度型和雙精度型兩種類型。

55.A解析:do循環(huán)與continue語句,在循環(huán)體中有一條if語句,其后面表達(dá)式為“i%2”,當(dāng)i的值為奇數(shù)時,其值為真,執(zhí)行其后面

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論