2022-2023年貴州省六盤水市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第1頁
2022-2023年貴州省六盤水市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第2頁
2022-2023年貴州省六盤水市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第3頁
2022-2023年貴州省六盤水市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第4頁
2022-2023年貴州省六盤水市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

2022-2023年貴州省六盤水市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下能夠正確描述“k是大于0的偶數(shù)”的表達(dá)式是()。

A.(k>0)&&(k%2!=1)

B.(k>0)&&(k%2=0)

C.(k>0)||!(k%2)

D.(k>0)||(k%2==0)

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

A.一個(gè)C程序中可以包含多個(gè)不同名的函數(shù)

B.一個(gè)C程序只能有一個(gè)主函數(shù)

C.C程序在書寫時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過

D.C程序的主函數(shù)必須用main作為函數(shù)名

3.設(shè)有定義:intk=1,m=2;noatf=7;則下列選項(xiàng)中錯(cuò)誤的表達(dá)式是()。

A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m

4.若有定義“doublea;”,則正確的輸入語句是()。A.A.seaM("%1f",&a);B.scanf("%f",&a);

C.scanf("%1f",&a)

D.scanf("%1e",&a);

5.用單鏈表方式存儲(chǔ)的線性表,存儲(chǔ)每個(gè)結(jié)點(diǎn)需要兩個(gè)域,一個(gè)數(shù)據(jù)域,另一個(gè)是()。

A.當(dāng)前結(jié)點(diǎn)的所在地址B.后繼結(jié)點(diǎn)的所在地址C.空指針域D.空閑域

6.以下程序的輸出結(jié)果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1];a[3][0]);}

A.650B.1470C.5430D.輸出值不定

7.若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過return語句返回一個(gè)函數(shù)值,下列選項(xiàng)中錯(cuò)誤的程序是()。

A.main(){…x=fun(2,10);…}floatfun(inta,intB){…}

B.floatfun(inta,intB){…}main(){…x=fun(i,j);…}

C.floatfun(int,int);main(){…x=fun(2,10);…}floatfun(inta,intB){…}

D.main()…{floatfun(inti,intj);…x=fun(i,j);…}floatfun(inta,intB){…}

8.二叉樹中第5層上的結(jié)點(diǎn)個(gè)數(shù)最多為________

A.8B.15C.16D.32

9.有以下程序:#include<stdio.h>#include<strin9.h>main(){printf{"%d\n",strlen("%d\n",strlen("ATS\n012\|"));}程序運(yùn)行后的輸出結(jié)果是()。A.3B.8C.4D.9

10.結(jié)構(gòu)化程序所規(guī)定的三種最基本控制結(jié)構(gòu)是A.A.輸入、處理、輸出

B.樹形、網(wǎng)形、環(huán)形

C.順序、選擇、循環(huán)

D.主程序、子程序、函數(shù)

11.

12.某二叉樹的先序序列和后序序列正好相同,則該二叉樹可能是______的二叉樹。

A.高度大于1的左單支B.高度大于1的右單支C.最多只有一個(gè)結(jié)點(diǎn)D.既有左孩子又有右孩子

13.二維數(shù)組M的元素是4個(gè)字符(每個(gè)字符占一個(gè)存儲(chǔ)單元)組成的串,行下標(biāo)i的范圍從0到4,列下標(biāo)j的范圍從0到5,M按行存儲(chǔ)時(shí)元素M[3][5]的起始地址與M按列存儲(chǔ)時(shí)元素()的起始地址相同。

A.M[2][4]B.M[3][4]C.M[3][5]D.M[4][4]

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

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

15.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。

A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試

16.在關(guān)系數(shù)據(jù)庫中,用來表示實(shí)體間聯(lián)系的是()。

A.網(wǎng)狀結(jié)構(gòu)B.樹狀結(jié)構(gòu)C.屬性D.二維表

17.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。

A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:

18.#define能作簡單的替代,用宏來替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語句為()。

A.#definef(x)5*x*x+5*x+5

B.#definef5*X*x+5*x+5

C.#definef(a)(5*a*a+5*a+5)

D.#define(5*x*x+5*x+5)f(x)

19.下列說法不正確的是()。

A.調(diào)用函數(shù)時(shí),實(shí)參可以是表達(dá)式

B.調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元

C.調(diào)用函數(shù)時(shí),將實(shí)參的值復(fù)制給形參,使實(shí)參變量和形參變量在數(shù)值上相等

D.調(diào)用函數(shù)時(shí),實(shí)參與形參的類型必須一致

20.該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語句正確的是()A.intn,*p=NULL;

B.*p=&n;.

C.scanf("%d",&p)

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

二、2.填空題(20題)21.當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為【】。

22.函數(shù)delete(s,i,n)是作用是從字符串s中刪除從第i個(gè)字符開始的n個(gè)字符,請(qǐng)?zhí)羁铡?/p>

voiddelete(chars[],inti,intn)

{intj,k,length=0;

while(s[length])

【】;

-i;

j=i;

}

if(【】)

{k=i+n;

if(i+n<=length)

while(k<length)

s[j++]=s[k++];

s[j]\'\0';

}

23.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。

24.以下函數(shù)用來求出數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元中。請(qǐng)?zhí)羁铡?/p>

#include<conio.h>

#include<stdio.h>

intfun(int*s,intt,int*k)

{inti;

*k=0;

【】

if(s[*k]<s[i])*k=i;

return【】;}

main()

{inta[10]={876,675,896,101,301,401,980,431,451,777},k;

fun(a,10,&k);

printf("%d,%d\n",k,a[k]);}

25.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))改變時(shí),不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的_______。

以下程序的輸出結(jié)果是#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){inta=10,b=40,c=20;prt(&a,&b,&c);prr(&a,&b,&c);}

26.棧的3種基本運(yùn)算是:入棧、退棧和______。

27.為了列出當(dāng)前盤當(dāng)前目錄中所有第三個(gè)字符為C的文件名的有關(guān)信息,應(yīng)該使用命令【】。

28.以下函數(shù)fun用于求兩個(gè)整數(shù)a和b的最大公約數(shù)。

fun(a,B)

inta,b;

{inti,j,m,n;

if(a>B)

{m=a;a=b;【】;}

i=a;j=b;

while((n=【】)!=0)

{j=i;i=【】;}

return(i);

}

29.【】是從二維表列的方向進(jìn)行的運(yùn)算。

30.結(jié)構(gòu)化分析方法是面向______進(jìn)行分析的方法。

31.以下程序中函數(shù)huiwen的功能是檢查一個(gè)字符串是否是回文,當(dāng)字符串是回文時(shí),函數(shù)返回字符串“yes!”,否則函數(shù)返回字符串“no!”,并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adsda。請(qǐng)?zhí)羁铡?/p>

#include<stdio,h>

#include<string,h>

char*huiwen(char*str)

{char*p1,*p2;inti,t=0;

p1=str;p2=【】;

for(i=0;i<=strlen(str)/2;i++)

if(*pl++!=*p2--){t=1;break

if(【】)return("yes!");

elsereturn("no!");

}

main(){charstr[50];

printf("Iaput:");scanf("%s",str);

printf("%s\n",【】);

32.軟件定義時(shí)期主要包括______和需求分析兩個(gè)階段。

33.mystrlen函數(shù)的功能是計(jì)算str所指字符串的長度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>

intmystrlen(char*str)

{inti;

for(i=0;【】!='\0';i++);

return(i);}

34.設(shè)Y是int型變量,請(qǐng)寫出判斷Y為奇數(shù)的關(guān)系表達(dá)【】。

35.模塊測試時(shí),要為每個(gè)被測試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊。其中【】的作用是模擬被測試模塊的下層模塊。

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

main()

{

intx=0210;

printf("%X\n",x);

}

37.類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對(duì)象是類的【】。

38.若想通過以下輸入語句給a賦值1,給b賦值2.則輸入數(shù)據(jù)的形式應(yīng)該是【】。

inta,b;

scanf("a=%d,b=%d",&a,&b);

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

40.若有如下程序:

#include"stdio.h"

main()

{chars[30];

Strcpy(&S[0],"adc");

Strcpy(&S[1],"def");

strcpy(&S[2],"gh");;

printf("%S\n",s);

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

三、1.選擇題(20題)41.若有如下程序:main(){intx[]={14,32,65,69,78,59},*t;t=x+5;printf("%d\n",*-t);}則程序執(zhí)行后的輸出結(jié)果是()。

A.78B.65C.32D.14

42.對(duì)長度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為()。

A.125B.n/2C.nD.n+1

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

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

44.有定義語句:intx,y;若要通過scanf("%d,%do,&x,&y);語句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,錯(cuò)誤的是

A.1112<回車>B.11,12<回車>C.11,12<回車>D.11,<回車>12<回車>

45.以下程序的輸出結(jié)果是()。main(){intx=11,y=11;printf("%d,%d\n",X--,--y);}

A.11,11B.10,10C.10,11D.11,10

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

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

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

#include<stdio.h>

main()

{inta=2,b=3,p;

p=f(a,B);

pdntf("%d",p);

}

intf(a,B)

{intc;

if(a>B)c=1;

elseif(a==B)c=0;

elSec=-1;

return(C);

}

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

48.若有定義“doublea;”,則正確的輸入語句是()。

A.scanf("%1f,A);

B.scanf("%f,&A);

C.scanf("%1f,&A)

D.scanf("%1e",&A);

49.在C語言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是()。

A.auto和register

B.extern和register

C.auto和static

D.static和register

50.以下不合法的用戶標(biāo)識(shí)符是______。A.j2KEYB.DoubleC.4dD._8_

51.下面程序的輸出結(jié)果是______。voidprty(int*x){printf("%d\n",++*x);}main(){inta=25;prty(&a);}

A.23B.24C.25D.26

52.模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的

A.抽象和信息隱蔽B.局部化和封裝化C.內(nèi)聚性和耦合性D.激活機(jī)制和控制方法

53.C語言允許函數(shù)類型缺省定義,此時(shí)函數(shù)值隱含的類型是()。

A.floatB.intC.longD.double

54.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是

A.線性鏈表B.棧C.循環(huán)鏈表D.順序表

55.

A.(a+b)*h/2B.(1/2)*(a+b)*hC.(a+b)*h*1/2D.h/2*(a+b)

56.已知i、j、k為血型變量,若要從鍵盤輸入2、3、4<CR>,使i、j、k的值分別為2、3、4,下列正確的輸入語句是()。

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

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

C.scan("%do/od%d",&i,及j,&k);

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

57.在軟件生產(chǎn)過程中,需求信息的給出是______。A.A.程序員B.項(xiàng)目管理者C.軟件分析設(shè)計(jì)人員D.軟件用戶

58.有以下程序

#include<string.h>

main()

{charp[20]={′a′,′b′,′c′,′d′},q[]="abc",r[]="abcde";

strcat(p,r);strcpy(p+strlen(q),q);

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

}

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

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

59.設(shè)有定義:intA,*pA=&A;,以下scanf語句中能正確為變量A讀入數(shù)據(jù)的是______。

A.scanf("%d",pA);

B.scanf("%d",A);

C.scanf("%d",apA);

D.scanf("%d",*pA);

60.為了使模塊盡可能獨(dú)立,要求()。

A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)

B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱

C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱

D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)

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

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

A.852B.963C.741D.875421

62.以下選項(xiàng)中表示一個(gè)合法的常量是(說明:符號(hào)口表示空格)()。

A.9口9口9B.0XabC.123E0.2D.2.7e

63.

64.下面的函數(shù)調(diào)用語句中func函數(shù)的實(shí)參個(gè)數(shù)是()。func((f2v1,v2),(v3,v4,v5),(v6,max(v7,v8)))

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

65.執(zhí)行下述程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/s(k+m);printf("%d",a);}A.1B.4C.9D.0

66.

67.C源程序中不能表示的數(shù)制是

A.十進(jìn)制B.八進(jìn)制

C.二進(jìn)制D.十六進(jìn)制

68.設(shè)有以下說明語句:

則下面敘述中正確的是()。

A.PER是結(jié)構(gòu)體變量名

B.PER是結(jié)構(gòu)體類型名

C.typedefstruct是結(jié)構(gòu)體類型

D.struct是結(jié)構(gòu)體類型名

69.有以下程序

structs

{intx,y;}data[2]={10,100,20,200};

main()

{structs*p=data;

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

}

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

A.10B.11C.20D.21

70.有以下程序:執(zhí)行時(shí)輸入:0<;回車>;后,則輸出結(jié)果是()。A.5,B.0,0,0,0,0,C.0,1,2,3,4,D.0,1.

71.軟件的()設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。

A.概要B.抽象C.邏輯D.規(guī)劃

72.若變量a、i已正確定義,且i已正確賦值,合法的語句是()。A.A.a==1B.++iC.a=a++=5D.a=int(i)

73.有以下程序:

當(dāng)執(zhí)行程序時(shí)從鍵盤上輸入HelloBeijing<;回車>;,則程序運(yùn)行后的輸出結(jié)果是()。

A.hellobajiIlg

B.HelloBeijing

C.HELLOBEIJING

D.hELLOBeijing

74.軟件生命周期可分為定義階段、開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于()。

A.定義階段B.開發(fā)階段C.維護(hù)階段D.上述三個(gè)階段

75.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()。

A.4個(gè)字節(jié)

B.5個(gè)字節(jié)

C.6個(gè)字節(jié)

D.7個(gè)字節(jié)

A.EFGHIJABCD

B.bcdefghij

C.abdefCghij

D.不確定的值

76.

77.有如下程序段:

執(zhí)行該程序段后,X的值為()。

A.trueB.falseC.0D.1

78.

79.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain{intb[6]={2,4,6,8,10,12);int*p=b,**q=&p;printf("%d,",*(p++));printf("%d,",**q);}A.4,4B.2,2C.4,5D.2,4

80.若有說明:inta[3][4]={0};,則下面正確的敘述是

A.只初始化了第一個(gè)元素,即a[0][0]可得到初值0

B.此初始化語句不正確

C.?dāng)?shù)組a中各元素都可得到初值,但其值不一定為0

D.?dāng)?shù)組a中每個(gè)元素均可得到初值0

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)整型參數(shù)m,計(jì)算如下公式的值:y=1/(100100)+1/(200200)+1/(300300)+…+1/(mm)例如,若m=4000,則應(yīng)輸出0.000162。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫一個(gè)函數(shù)fun(),該函數(shù)的功能是將大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù)存入所指的數(shù)組中。例如,若輸入17、5,則應(yīng)輸出19、23、29、31、37。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:

參考答案

1.A判斷k大于0的表達(dá)式為“k>0”,判斷k是偶數(shù)的表達(dá)式為“k%2==0”或“k%2!=1”。兩個(gè)表達(dá)式必須都成立才能確定k是大于0的偶數(shù),則對(duì)應(yīng)的表達(dá)式為“(k>0)&&(k%2==0)”或“(k>0)&&(k%2!=1)”。故本題答案為A選項(xiàng)。

2.C【答案】C

【知識(shí)點(diǎn)】C程序的函數(shù)

【解析】C程序必須有且只有一個(gè)主函數(shù)main()。一個(gè)C程序可以包含多個(gè)不重名的子函數(shù)。C程序在書寫時(shí)沒有嚴(yán)格的縮進(jìn)要求,語句前的縮進(jìn)隨意。

3.C解析:在C語言中,求余運(yùn)算符“%”兩邊的運(yùn)算對(duì)象都應(yīng)為整型數(shù)據(jù),所以需要對(duì)變量f進(jìn)行強(qiáng)制類型轉(zhuǎn)換,正確的寫法為k%(int)f。在C語言中,邏輯運(yùn)算符與賦值運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符之間從高到低的運(yùn)算優(yōu)先次序是:!(邏輯“非”)、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、&&(邏輯“與”)、‖(邏輯“或”)、賦值運(yùn)算符。根據(jù)運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,對(duì)于選項(xiàng)A),先計(jì)算k>=k的值(為真,即1),再用1對(duì)k進(jìn)行賦值。對(duì)于選取項(xiàng)B),先計(jì)算k什的值,再對(duì)其取負(fù)數(shù)。對(duì)于選項(xiàng)D),先計(jì)算k>=f的值(為假,即0),再用0與m進(jìn)行比較,故最終結(jié)果為0。

4.D本題考查seanf函數(shù)的調(diào)用形式:scanf(格式字符串,輸入項(xiàng)地址表)。題中定義變量a為雙精度型變量,雙精度變量的格式符為“l(fā)e”;變量的地址用取地址符“&”加變量名表示,所以選項(xiàng)D正確。

5.B

6.A解析:對(duì)未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。

7.A在調(diào)用函數(shù)時(shí),應(yīng)對(duì)其進(jìn)行說明。A選項(xiàng)中,調(diào)用時(shí)沒有對(duì)函數(shù)進(jìn)行說明。B、C選項(xiàng)中,被調(diào)用函數(shù)在主調(diào)函數(shù)之前定義,不用說明。D選項(xiàng)中,在主函數(shù)中對(duì)被調(diào)用函數(shù)的返回值類型進(jìn)行了說明。故本題答案為A選項(xiàng)。

8.C

9.B本題考查strlen函數(shù)和轉(zhuǎn)移字符,strlen函數(shù)的功能是求字符串的長度,在本題中有“\”,C語言中“\”是轉(zhuǎn)義字符,在計(jì)算長度時(shí)會(huì)將轉(zhuǎn)義符以及后面的第一個(gè)字符作為1個(gè)長度進(jìn)行計(jì)算,所以答

10.C解析:結(jié)構(gòu)化程序設(shè)計(jì)方法采用順序、選擇和循環(huán)三種基本程序控制結(jié)構(gòu)編寫程序,從而使程序具有好的結(jié)構(gòu)。

11.B

12.C

13.B

14.A解析:本題考查帶參數(shù)的宏定義,參數(shù)只是簡單的替換而不是求出其值后再替換形式參數(shù)。本題中用a++替換X,用b++替換Y,再求(a++)*(b++)的值,即3*4的值,其結(jié)果為12。

15.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個(gè)模塊的功能、建立與已確定的軟件需求的對(duì)應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評(píng)估模塊劃分的質(zhì)量等方面。詳細(xì)設(shè)計(jì)的任務(wù)是:在使用程序設(shè)計(jì)語言編制程序以前,對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá)。需求分析是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進(jìn)度需求等。編程調(diào)試的任務(wù)是診斷和改正程序中潛在的錯(cuò)誤。綜上所述。軟件功能分解只能發(fā)生在總體設(shè)計(jì)階段。

16.D單一的數(shù)據(jù)結(jié)構(gòu)——關(guān)系,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示。數(shù)據(jù)的邏輯結(jié)構(gòu)——二維表,從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。但是關(guān)系模型的這種簡單的數(shù)據(jù)結(jié)構(gòu)能夠表達(dá)豐富的語義,描述出現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種關(guān)系。

17.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對(duì)象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。

18.C解析:帶參數(shù)宏的格式為:#define標(biāo)識(shí)符(形參表)形參表達(dá)式。其功能是:在預(yù)處理程序中將程序中出現(xiàn)的所有帶實(shí)參的宏名,展開成由實(shí)參組成的表達(dá)式。

19.B

\n本題考查函數(shù)調(diào)用的基本概念。調(diào)用函數(shù)時(shí),實(shí)參的形式可以是具體的數(shù)值,也可以是表達(dá)式。實(shí)參將數(shù)值或表達(dá)式的值傳遞給形參,因而兩者的類型必須保持一致;形參在運(yùn)算過程中會(huì)發(fā)生改變,但不一定會(huì)影響到實(shí)參值,所以可知兩者不共用內(nèi)存單元。

\n

20.A[解析]選項(xiàng)B)的正確寫法應(yīng)為p=&n;選項(xiàng)C)的正確寫法應(yīng)為scanf("%d",p);選項(xiàng)D)的正確寫法應(yīng)為printf("%d\\n",*p)。

21.上溢上溢解析:入隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)尾加入一個(gè)新元素。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將隊(duì)尾指針進(jìn)一(即rear=rear+1),并當(dāng)rear=m+1時(shí)置rear=1;然后將新元素插入隊(duì)尾指針指向的位置。當(dāng)循環(huán)隊(duì)列非空(s=1)時(shí)且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算,這種情況稱為“上溢”。

22.length++i<lengthlength++\r\ni<length解析:第一個(gè)循環(huán)極有可能是計(jì)算串的長度,在i<=length時(shí)字符才被刪除,被刪除的是第i個(gè)到第i+n或最后一個(gè)間的所有字符。刪除前,應(yīng)判斷i<=length。由于已經(jīng)進(jìn)行了-i運(yùn)算,故實(shí)際應(yīng)填入i<length。

23.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。

24.for(I=0;I<t;I++)0for(I=0;I<t;I++),0解析:本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算,此外,一開始應(yīng)使*k的值為數(shù)組中的某一下標(biāo)值,即*k=0。

25.B

26.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個(gè)新的元素;退棧是指取出棧頂元素并賦值給一個(gè)變量;讀棧頂元素是將棧頂元素賦值給一個(gè)指定的變量,不刪除棧頂元素。

27.DIR??C*.*

28.b=mj%i.nb=m\r\nj%i.\r\nn解析:函數(shù)中的變量i和j分別存放兩個(gè)形參的最小數(shù)和最大數(shù),在語句i=a和j=b執(zhí)行之前,要將a和b分別變?yōu)樽钚?shù)和最大數(shù),當(dāng)a>b時(shí),程序使用中間變量將兩者交換,所以題中第—個(gè)空中應(yīng)當(dāng)填寫“b=m”;為求兩個(gè)整數(shù)的最大公約數(shù),程序的where循環(huán)條件必須為j整除i成立,所以題中第二個(gè)空中應(yīng)當(dāng)填寫“j%i”;程序要通過i的值返回最大公約數(shù),因此在循環(huán)中要將每次整除的公釣數(shù)賦給i,以保證最后返回的是兩個(gè),整數(shù)的最大公約數(shù),所以第三個(gè)空中應(yīng)當(dāng)填寫“n”。

29.投影投影解析:在關(guān)系模型的數(shù)據(jù)語言中,一般除了運(yùn)用常規(guī)的集合運(yùn)算,(并、交,差、笛卡爾積等)外,還定義了一些專門的關(guān)系運(yùn)算,如投影、選擇、連接等。投影是從二維表的列方向上進(jìn)行的運(yùn)算。

30.數(shù)據(jù)流數(shù)據(jù)流解析:結(jié)構(gòu)化分析方法的實(shí)質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。

31.p1+(stfien(str)-1)或str+(strlen(str)-1)t==0或!thuiwen(str)或(strlen(str)-1)+p1或(stden(str)-1)+strp1+(stfien(str)-1)或str+(strlen(str)-1)\r\nt==0或!t\r\nhuiwen(str)或(strlen(str)-1)+p1或(stden(str)-1)+str解析:回文字符串是指正向與反向拼寫都一樣。由huiwen函數(shù)可知,第三處應(yīng)該填寫調(diào)用函數(shù)huiwen(str)。在函數(shù)huiwen中,執(zhí)行P1=str;使p1指向字符串str中第一個(gè)字符的地址,則第一處應(yīng)該使p2指向字符串str中最后一個(gè)字符的地址,故填p1+(stden(str)-1)或str+(strlen(str)-1)。本題要求如果是回文,則返回'yes!',否則,返回'no!',故當(dāng)t=0時(shí),說明字符串str為回文,所以第二處應(yīng)填t==0或!t。

32.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測試、交付使用及維護(hù)等,還可以將軟件生命周期分為三個(gè)階段:①軟件定義階段:可行性研究和需求分析;②軟件開發(fā)階段:設(shè)計(jì)、實(shí)現(xiàn)和測試;③軟件運(yùn)行維護(hù)階段:交付使用和維護(hù)。

33.*(str+i)或str[i]*(str+i)或str[i]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過程中,可以用*(str+i)來訪問字符串中的第i個(gè)元素,判斷是否是結(jié)束標(biāo)志,如果不是,i=i+1,繼續(xù)取下一個(gè)元素進(jìn)行判斷,直到*(str+i)的值為'\\0'為止,也可以用下標(biāo)的方式引用字符,如*(str+i)相當(dāng)于str[i]。

34.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或不為0。本題具體做法如下:Y%2=1或Y%2!=0。

35.承接模塊承接模塊解析:進(jìn)行模塊測試時(shí),應(yīng)為每個(gè)被測試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊。其中驅(qū)動(dòng)模塊的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果;承接模塊的作用是模擬被測試模塊的下層模塊。

36.8888解析:C語言規(guī)定,以0開頭的整型常量為八進(jìn)制。另外,在primf()函數(shù)中,%X表示以十六進(jìn)制無符號(hào)形式輸出一個(gè)整數(shù),且十六進(jìn)制中的ABCDEF為大寫字母。本題的輸出應(yīng)該是八進(jìn)制210的十六進(jìn)制形式。將八進(jìn)制轉(zhuǎn)換為十六進(jìn)制,可以先將其轉(zhuǎn)換為二進(jìn)制。因?yàn)?位八進(jìn)制表示3位二進(jìn)制,4位二進(jìn)制表示1位十六進(jìn)制。(210)8=(10001000)2=(88)16,故本題輸出為880

37.實(shí)例將屬性、操作相似的對(duì)象歸為類,也就是說,類是具有共同屬性、共同方法的對(duì)象的集合。所以,類是對(duì)象的抽象,對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例。

38.a=1b=2

39.參照完整性參照完整性

40.adghadgh解析:函數(shù)strcpy是字符串復(fù)制函數(shù)。第一次將'adc'復(fù)制到以&s[0]為起始地址的存儲(chǔ)空間中,第二次將'def'復(fù)制到以&s[1]為起始地址的存儲(chǔ)空間中,“dc”將被覆蓋,變?yōu)椤癮def”,第三次將“gh”復(fù)制到以&s[2]為起始地址的存儲(chǔ)空間中,“ef”將被覆蓋,變?yōu)椤癮dgh”。

41.A解析:執(zhí)行t=x+5:使指針指向數(shù)組元素59,運(yùn)算符*和--的優(yōu)先級(jí)相同,結(jié)合性為自右向左,先計(jì)算--t,對(duì)t減1,使t指向數(shù)組元素78,再計(jì)算*t,取該地址單元的值78。

42.CC。【解析】對(duì)線性表進(jìn)行順序查找時(shí),從表中的第一個(gè)元素開始,將給定的值與表中逐個(gè)元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個(gè)元素或查找失敗,這兩種情況都需要將這個(gè)元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。

43.AA?!窘馕觥砍绦蛟O(shè)計(jì)的風(fēng)格主要強(qiáng)調(diào)程序的簡單、清晰和可理解性,以便讀者理解。程序?yàn)E用goto語句將使程序流程無規(guī)律,可讀性差;添加注釋行有利于對(duì)程序的理解.不應(yīng)減少或取消,程序的長短要依據(jù)實(shí)際的需要而定,并不是越短越好。

44.A解析:scanf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)為輸入格式字符申;第二個(gè)參數(shù)為輸入變量地址列表,在scanf()語句中非格式字符可以作為輸入時(shí)數(shù)據(jù)的間隔,輸入時(shí)必須原樣輸入,在本題中輸入格式串為%d,%d其中“,”為非格式字符,所以輸入時(shí)必須原樣輸入。

45.D解析:X--是先使用x的值再對(duì)x減1,即輸出11;--y是先對(duì)y減1再使用y的值,輸出10。格式控制中的普通字符“,”原樣輸出。所以選項(xiàng)D符合題意。

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

47.A解析:本題考查ifelse語句。在intf(a,b)中:第一個(gè)if語句,先判斷條件,發(fā)現(xiàn)a>b條件不成立,則執(zhí)行與其配對(duì)的else語句:第二個(gè)if語句,先判斷條件,發(fā)現(xiàn)a==b條件不成立,則執(zhí)行與其配對(duì)的else語句,c=-1。

48.D解析:scanf函數(shù)的調(diào)用形式是:scanf(格式字符串,輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項(xiàng)地址表”是要輸入的變量的地址。題中定義變量a為雙精度型變量,雙精度變量的格式符為“1e”;變量的地址用取地址符“&”加變量名表示,例如變量a的地址為“&a”。

49.A解析:在C語言中,動(dòng)態(tài)存儲(chǔ)區(qū)域中存放的變量在使用時(shí)才分配內(nèi)存空間,函數(shù)調(diào)用時(shí)返回的地址和自動(dòng)類局部變量等存放在動(dòng)態(tài)存儲(chǔ)區(qū)域中。auto變量和register變量都屬于自動(dòng)類局部變量,因此選項(xiàng)A正確。static說明的變量為靜態(tài)變量,靜態(tài)變量在內(nèi)存的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元,直至程序運(yùn)行結(jié)束。extern說明的變量為外部變量,屬于全局變量,全局變量在整個(gè)程序運(yùn)行期間都占用內(nèi)存空間。

50.C解析:C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第—個(gè)字符必須是字母或下劃線。大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符,用戶在定義標(biāo)識(shí)符時(shí)應(yīng)做到“見名知意”,且不允許使用關(guān)鍵字作標(biāo)識(shí)符。

51.D

52.C解析:模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性這兩個(gè)定性的度量標(biāo)準(zhǔn)。

53.B解析:在C語言中,對(duì)于自定義函數(shù)要遵循“先定義,后使用”的規(guī)則,如定義時(shí),不指定函數(shù)類型,C編譯系統(tǒng)都默認(rèn)函數(shù)的返回值是int型。

54.B解析:棧是限定在二端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。注意:隊(duì)列組織數(shù)據(jù)的原則是“先進(jìn)先出”或“后進(jìn)后出”。注意:數(shù)據(jù)結(jié)構(gòu)中,棧和隊(duì)列組織數(shù)據(jù)的原則。

55.B解析:由于1和2都是整型,選項(xiàng)B中1/2的運(yùn)算結(jié)果為0,故整個(gè)表達(dá)式的值為0,所以它的結(jié)果和題目中要求的代數(shù)式的計(jì)算結(jié)果不相符。

56.B解析:函數(shù)scan()的調(diào)用形式是:scanf(格式字符串,輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符:“輸入項(xiàng)地址表”是要輸入的變量的地址。若在格式符中插入了其他字符,則在輸入時(shí)要求按一一對(duì)應(yīng)的位置原樣輸入這些字符,其中的逗號(hào)也必須輸入。

57.D本題主要考查軟件開發(fā)過程中,各角色的任務(wù)。在軟件開發(fā)過程中,需要參與過程的角色主要有用戶、軟件分析人員、軟件設(shè)計(jì)人員、項(xiàng)目管理人員和程序員等。其中為系統(tǒng)提供需求信息的是用戶的事情。

58.B解析:strcpy()函數(shù)的功能是將字符串q復(fù)制到從p[3]位置開始的存儲(chǔ)單元,同時(shí)復(fù)制字符串結(jié)束標(biāo)志'\\0'到p[6]中。函數(shù)strlen()返回的是字符串中不包括'\\0'在內(nèi)的實(shí)際長度,故本題答案為B)

59.A解析:選項(xiàng)B中不是變量A的地址,錯(cuò)誤;選項(xiàng)C是指針pA的地址,錯(cuò)誤;選項(xiàng)D中*pA表示變量A的值,錯(cuò)誤。

60.B解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。

61.A第一次for循環(huán),y的值為9,y%3的值為3,滿足條件打印一一Y,即先減一后打印,所以打印8;第二次for循環(huán),Y的值為7,y%3的值為1,不執(zhí)行打印語句;第三次for循環(huán),y的值為6,y%3的值為0,滿足條件打印一一Y,即先減一后打印,所以打印5;第四次for循環(huán),Y的值為4,不滿足if條件,不執(zhí)行打印語句;第五次for循環(huán),Y的值為3,滿足if條件,打印輸出2;第六次for循環(huán),Y的值為1,不滿足條件,不執(zhí)行打印語句。

62.B當(dāng)用指數(shù)形式表示浮點(diǎn)數(shù)據(jù)時(shí),E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù)。

63.B

64.A解析:本調(diào)用語句func中包含了3個(gè)實(shí)參,一個(gè)是對(duì)f2函數(shù)調(diào)用“f2(v1,v2)”的返回值;另一個(gè)是逗號(hào)表達(dá)式“(v3,v4,v5)”的值v5(逗號(hào)表達(dá)式的一般形式為:表達(dá)式1,表達(dá)式2,表達(dá)式3......表達(dá)式n,它的值為表達(dá)式n的值);還有—個(gè)實(shí)參也是逗號(hào)表達(dá)式“v6,max(v7,v8)”的值,即對(duì)max函數(shù)調(diào)用的返回值。

65.D本題j=要是考查帶參數(shù)的宏的定義,過程如下:inta=a/S(k+m)/S(k+m)=a/(k+m*k+m/k+m)=9/(3十2*3十2/3十2*3十2)=0。

66.C

67.C本題考查C語言基礎(chǔ)知識(shí),C語言中只能夠表示十進(jìn)制整數(shù)、八進(jìn)制整數(shù)和十六進(jìn)制整數(shù)。

68.B本題中,typedef聲明新的類型名PER來代替已有的類型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類型,此時(shí),也可以用PER來定義變量。

69.C結(jié)構(gòu)體;structs*p=data;使p指向data的首地址,而++p->x,先使p指向下一位即20,然后輸出其值。

70.C”anf(”%c”,&c),輸入的字符,題目中輸入了0,字符0,對(duì)應(yīng)于ASCIl碼為48,因此for循環(huán)中,i的范圍從0~5,均小于48,if條件不成立,直接執(zhí)行下一條語句,執(zhí)行語句prinff,因此得到的結(jié)果是0,1,2,3,4。故答案為C選項(xiàng)。

71.A軟件設(shè)計(jì)分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是根據(jù)用戶的需求先確定軟件系統(tǒng)的總體結(jié)構(gòu)和總的設(shè)計(jì)原則。

72.B本題主要考查C語言合法語句的定義。

在選項(xiàng)A中,a==1不是一個(gè)合法的語句,因?yàn)樗鼪]有語句結(jié)束標(biāo)識(shí)符“;”,不能說是一條語句,如果作為一個(gè)表達(dá)式,它是正確的。

在選項(xiàng)B中,由于變量i已被正確定義并有初值,“++i;”是正確的語句。

在選項(xiàng)C中,由于正確的賦值語句中,賦值符號(hào)的左

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論