2021-2022年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第1頁
2021-2022年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第2頁
2021-2022年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第3頁
2021-2022年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第4頁
2021-2022年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021-2022年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。

A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭

2.下列條件語句中,輸出結(jié)果與其他語句不同的是()。

A.if(a!=0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

B.if(a==0)printf(“%d\n”,y);elseprintf(“%d\n”,x);

C.if(a==0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

D.if(a)printf(“%d\n”,x);elseprintf(“%d\n”,y);

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

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

4.以下程序的輸出結(jié)果是()。unionmyun{struct{intx,y,z;)u;intk:}a;main{a.u.x=4;a.u.y=5;a.u.z=6;k=0;printf(%d\n",a.u.x);}A.4B.5C.6D.0

5.以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),

A.均占4個(gè)字節(jié)B.根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語言編譯系統(tǒng)決定

6.在下面的一維數(shù)組定義中,哪一個(gè)有語法錯(cuò)誤()。A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];

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

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

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

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

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

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

#include<stdio.h>

intb=2;

intfunc(int*A)

{b+=*a;retumb;}

main()

{inta=1,t=2;

t+=func(&A);

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

}

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

9.有下列程序:main{charp[]={a,h,c},q[]="a";printf("%d%d\n".sizeof(P),sizeof(q));}程序運(yùn)行后的輸出結(jié)果是()。A.44B.33C.34D.43

10.設(shè)"char**s;",以下正確的表達(dá)式是()。

A.s="computer";B.*s="computer";C.**s="computer";D.*s='c';

11.設(shè)有以下語句,其中不是對(duì)a數(shù)組元素的正確引用的是:_____(其中0≤i<10)inta[10]={0,1,3,4,5,6,7,8,9,},*p=a;

A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))

12.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;

13.以下能正確定義一維數(shù)組的選項(xiàng)是______。

A.inta[5]={0,1,2,3,4,5};

B.chara[]={0,1,2,3,4,5};

C.chara={'A','B','C'};

D.inta[5]="0123";

14.設(shè)有6個(gè)結(jié)點(diǎn)的無向圖,該圖至少應(yīng)有()條邊才能確保是一個(gè)連通圖。

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

15.

16.以下函數(shù)findmax擬實(shí)現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能。#defineMIN-2147483647intfindmax(intx[],intn){inti,max;for(i=0;i<n;i++){max=MIN;if(max<x[i])max=x[i];)returnmax;}造成錯(cuò)誤的原因是()。A.定義語句“inti,max;”中max未賦初值

B.賦值語句“max=MIN;”中,不應(yīng)給max賦MIN值

C.語句“if(max<x[i])max=x[i];”中判斷條件設(shè)置錯(cuò)誤

D.賦值語句“max-MIN;”放錯(cuò)了位置

17.

18.有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此處do-while循環(huán)的結(jié)束條件是

A.P的值不等于12345并且n的值小于3

B.P的值等于12345并且n的值大于等于3

C.P的值不等于12345或者n的值小于3

D.P的值等于12345或者n的值大于等于3

19.

20.若有定義語句:“intx=12,y=8,z;”,在其后執(zhí)行語句“z=0.9+x/y;”,則z的值為()。A.1.9B.1C.2D.2.4

二、2.填空題(20題)21.語句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語句______。

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

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

main()

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

for(p=s;p<s+2;p++)printf("%s\n",p);

}

24.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

(1)第0列元素和主對(duì)角線元素均為1

(2)其余元素為其左上方和正上方元素之和

(3)數(shù)據(jù)的個(gè)數(shù)每行遞增1

請(qǐng)將程序補(bǔ)充完整。

#defineN6

voidYangHui(intx[N][N])

{inti,j;

x[0][0]=1;

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

{x[i][0]=【】=1;

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

x[i][j]=【】;

}

}

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

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

voidswap(int*a,int*b)

{

int*tp;

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

}

main()

{

intx=3,y=5,*p=&x,*q=&y;

swap(p,q);

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

}

27.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于______的聯(lián)系。

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

29.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。

30.軟件測(cè)試按功能劃分的方法劃分,通常分為【】測(cè)試方法和黑盒測(cè)試方法。

31.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。

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

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

#include<stdio.h>

main()

{inti;

for(i=′a′;i<′f′;i++,i++)printf("%c",i-′a′+′A′);

printf("\n");

}

34.數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,所以,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為【】。

35.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對(duì)象的______性來實(shí)現(xiàn)的。

36.在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為【】。

37.軟磁盤最外邊的磁道數(shù)是【】號(hào)磁道。

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

39.對(duì)軟件是否能達(dá)到用戶所期望的要求的測(cè)試稱為【】。

40.數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。

三、1.選擇題(20題)41.設(shè)有如下的函數(shù)funct(x)floatx;{x*=x;printf("\n%d",x);return(x);}則函數(shù)的類型()

A.與參數(shù)x的類型相同B.voidC.intD.無法確定

42.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是

A.因變量類型與格式描述符的類型不匹配輸出無定值

B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值

C.a,97,12k=12

D.a,97,k=12

43.在軟件測(cè)試設(shè)計(jì)中,軟件測(cè)試的主要目的是

A.實(shí)驗(yàn)性運(yùn)行軟件B.證明軟件正確C.找出軟件中全部錯(cuò)誤D.盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤

44.以下程序的輸出結(jié)果是()main(){intn[3][3],i,j;for(i=0;i<3;i++)for(j=0;i<3;++)n[i][j]=i+j;for(i=0;i<2;i++)for(j=0,j<2;j++)n[i+1][j+1]+=[i][j];printf("%d\n",n[1][j]);}

A.14B.0C.6D.值不確定

45.執(zhí)行以下程序段后,m的值為______。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));

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

46.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.可行性分析報(bào)告B.軟件需求規(guī)格說明書C.概要設(shè)計(jì)說明書D.集成測(cè)試計(jì)劃

47.下列能正確定義一維數(shù)組的選項(xiàng)是()。

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

48.有以下程序:#include<stdio.h>main(){FILE*fp;inti,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++)fprintf(fp,"%d",i);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);{執(zhí)行后的輸出結(jié)果是()。

A.12B.1230C.123D.00

49.有以下程序:intf(intb[][4]){inti,j,s=0;for(j=0;i<4;i++){i=j;if(i>2)i=3-j;s+=b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4,},{0,2,4,6},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}執(zhí)行后的輸出結(jié)果是()。

A.12B.11C.18D.16

50.對(duì)下述程序,正確的判斷是()。main(){inta,b;scanf("%d",&a);scanf("%d",&b);if(a>b)a+=b;b++;elseb+=a;a++;printf("%d,%d",a,b);}

A.有語法錯(cuò)誤,不能通過編譯

B.若輸入數(shù)據(jù)2和5,則輸出3和7

C.若輸入數(shù)據(jù)5和2,則輸出7和3

D.若輸入數(shù)據(jù)5和5,則輸出6和10

51.以下程序的輸出結(jié)果是intx=3;main(){inti;for(i=1;i<x;i++)incre();}incre(){staticintx=1;x*=x+1;printf(“%d”,x);}

A.33B.22C.26D.25

52.若w、x、y、z、m均為int型變量,則執(zhí)行下列的語句后m的值是()。w=2,x=3,y=4,z=5;m=(w<x)?w:x;m=(m<z)?m:z;m=(m<y)?m:y;

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

53.下列程序段的輸出結(jié)果是______。int**pp,*p;inta=10,b=20;p=&a;pp=&p;p=&b;printf("%d,%d\n",*p,**pp);

A.10,20B.10,10C.20,20D.20,10

54.已定義以下函數(shù);intfun(int*p){return*p;}fun函數(shù)返回值是()。

A.不確定的值B.一個(gè)整數(shù)C.形參p中存放的值D.形參p的地址值

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

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

56.以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}

A.1B.10C.6D.死循環(huán),不能確定次數(shù)

57.如果需要打開一個(gè)已經(jīng)存在的非空文件"Demo"進(jìn)行修改,下面選項(xiàng)中正確的是

A.fp=fopen("Demo","r");

B.fp=fopen("Demo","ab+");

C.fp=fopen("Demo","w+");

D.fp=fopen("Demo","r+");

58.請(qǐng)選出可以作為C語言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符號(hào)

A.voiddefineWORD

B.a3_b3_1231F

C.for—abccase

D.2aD0sizeof

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

A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大

B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小

C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小

D.上述三種說法都不對(duì)

60.待排序的關(guān)鍵碼序列為15,20,9,30,67,65,45,90,要按關(guān)鍵碼值遞增的順序排序,采取簡(jiǎn)單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個(gè)位置。

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

四、選擇題(20題)61.在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()。

A)%B)/

C)<D)!

62.已知inti=1;執(zhí)行語句while(i++<4);后,變量i的值為()。

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

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

A.有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)

B.只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)

C.循環(huán)鏈表是非線性結(jié)構(gòu)

D.雙向鏈表是非線性結(jié)構(gòu)

64.有以下程序:

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

A.12

B.15

C.16

D.20

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

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

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

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

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

A.gets函數(shù)用于從終端讀人字符串

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

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

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

68.在計(jì)算機(jī)中,算法是指()

A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法

69.請(qǐng)選出以下語句的輸出結(jié)果Printf("%d\n",strlen("\t\"\065\xff\n"));

A.5B.14C.8D.輸出項(xiàng)不合法,無正常輸出

70.

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

則由關(guān)系R和S得到關(guān)系T的操作是()。

A.自然連接B.交C.投影D.并

72.以下選項(xiàng)中可用作C程序合法實(shí)數(shù)的是()。A..1eOB.3.0e0.2C.E9D.9.12E

73.設(shè)變量已正確定義,則下列能正確計(jì)算f=n!的程序段是()。

A.f=0;for(i=1;i<=n;i++)f*=i;

B.f=1;for(i=1;i<n;i++)f*=i;

C.f=1;for(i=n;i>1;i++)f*=i;

D.f=1;for(i=n;i>=2;i--)f*=i;

74.

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

f(inta)

{intb=0;staticintc=3;

b++;c++;

return(a+b+c);

}

main()

{inta=2,i;

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

printf("%4d",f(a));

A.789B.678C.567D.876

76.選出下列標(biāo)識(shí)符中不是合法的標(biāo)識(shí)符的是()。

A.hot_doB.cat1C._priD.2ab

77.

有如下程序:

main

{inta=2,b=-1.c=2;

if(a<0)if(b<0)c=0;

elsec++;

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

}

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

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

78.以下不能定義為用戶標(biāo)識(shí)符的是()

A.MainB._0C._intD.sizeof

79.有以下程序:

main()

{char*p[]={"3697","2584"};

inti,j;longnum=0;

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

{j=0;

while(p[i][j]!=’\0’)

{if((p[i][j]-’0’)%2==0)num=10*num+p[i][j]-’0’;

j+=2;

}

}

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

}

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

A.35B.37

C.39D.28

80.為了避免嵌套的條件分支語句if-else的二義性,C語言規(guī)定:C程序中的else總是與()組成配對(duì)關(guān)系。

A.縮排位置相同的ifB.在其之前未配對(duì)的ifC.在其之前未配對(duì)的最近的ifD.同一行上的if

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將tt所指字符串中的小寫字母全部改為對(duì)應(yīng)的大寫字母,其他字符不變。

例如,若輸入“Ab,cD”,則輸出“AB,CD”。

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

注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)proc(),它的功能是:根據(jù)公式求p的值,結(jié)果由函數(shù)值帶回。m與n為兩個(gè)正數(shù)且要求m>;n。p=m!/(n!(m-n)!),例如,m=20,n=10時(shí),運(yùn)行結(jié)果為184756.000000。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:

參考答案

1.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。

2.CA、B、D選項(xiàng)的含義均為:a的值如果為0,輸出y的值,否則輸出x的值。而C選項(xiàng)的含義是:a的值為0時(shí)輸出x的值,不為0時(shí)輸出y的值,與其他選項(xiàng)正好相反。故本題答案為C選項(xiàng)。

3.A隊(duì)列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。

【知識(shí)拓展】“隊(duì)列”和“棧”都是一種特殊的線性表。之所以稱之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來后到”,先進(jìn)先出,后進(jìn)后出。

4.D因?yàn)閍是結(jié)構(gòu)體變量,最后一次輸入的值為結(jié)構(gòu)體中的值,即a中的任何一個(gè)值都為0。

5.D解析:在C語言的標(biāo)準(zhǔn)中,short占2個(gè)字節(jié)、long占4個(gè)字節(jié),但int的大小和編譯系統(tǒng)相關(guān)。例如在Turbo\u3000C\u30002.0中,int占2個(gè)字節(jié),但在VisualC++6.0(VC6可以用做C語言編譯器)中占4個(gè)字節(jié)。故本題應(yīng)該選擇D。

6.C

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

8.B解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在執(zhí)行函數(shù)func時(shí),由于全局定義了一個(gè)變量b,所以在函數(shù)體中執(zhí)行時(shí)b=2+1=3,最終t=2+3=5。

9.C語句charp[]={a,b,c);定義了一個(gè)一維字符數(shù)組p[],并用3個(gè)字符a,b,c進(jìn)行了初始化;而語句q[]="abe"表示定義了一個(gè)一維字符數(shù)組,并用一個(gè)字符串常量"abc"進(jìn)行了初始化。在C語言中,系統(tǒng)在每個(gè)字符串常量的最后自動(dòng)加入一個(gè)字符\0作為字符串的結(jié)束符。所以函數(shù)sizeof(q)=4,而sizeof(p)=3,因而選項(xiàng)C為正確答案。

10.B

11.D解析:觀察程序可知,a實(shí)際上就是數(shù)組a的首地址,所以“*(a+i)”表示的就是數(shù)組a中的第i個(gè)元素的值,進(jìn)而,我們可以知道*(*(a+i))必然不是對(duì)a數(shù)組元素的正確引用。

12.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對(duì)指針進(jìn)行賦值時(shí)沒有錯(cuò)誤。a=/*p+m賦值,在c語言中"/*"表示的注釋,所以答案選擇A。

13.B解析:選項(xiàng)A)定義的是長度為5的數(shù)組元素,但初值有6個(gè)元素,所以錯(cuò)誤;選項(xiàng)C)不符合數(shù)組定義形式,數(shù)組名后應(yīng)加上“[];選項(xiàng)D)的類型說明符錯(cuò)誤,應(yīng)改為char;選項(xiàng)B)中的0,1,2,3,4,5分別表示對(duì)應(yīng)字符的ASCII碼,所以正確。

14.A:在一個(gè)無向圖G中,若從頂點(diǎn)Vi到頂點(diǎn)Vj有路徑相連,則稱Vi和Vj是連通的。連通圖是指任意兩個(gè)結(jié)點(diǎn)之間都有一個(gè)路徑相連。6個(gè)節(jié)點(diǎn)的無向圖,至少要5個(gè)邊才能確保是任意兩個(gè)節(jié)點(diǎn)之間都有路徑相連。下圖是一種可能的連接方式:故本題選A。

15.C

16.D“max=MIN;”語句應(yīng)放在for循環(huán)之前,否則每次循環(huán)時(shí)都重新賦值,值沒有變化。

17.D

18.D解析:本題考查的知識(shí)點(diǎn)是do-while循環(huán)結(jié)構(gòu)循環(huán)執(zhí)行條件的判斷.使用do-while語句必須注意以下幾點(diǎn):

先執(zhí)行語句,后判斷表達(dá)式。所以,無論一開始表達(dá)式的值為“真”還是“假”,循環(huán)體中的語句至少執(zhí)行一次,這一點(diǎn)與while不同,

如果do-while語句循環(huán)體部分是由多個(gè)語句組成,則必須用花括號(hào)括起來,使其形成復(fù)合語句。

C語言中的do—while語句是在表達(dá)式“真”時(shí)重復(fù)執(zhí)行循環(huán)體。

在本題中,循環(huán)執(zhí)行判斷條件為while后面括號(hào)里的表達(dá)式即p!=12345&&n<3(意思為p不等于12345且n小于3)是否為“真”,由此可得循環(huán)結(jié)束的條件為:p大于12345或者p小于12345又或者n大于等于3。選項(xiàng)A的意思是:p的值不等于12345并且n的小于3和while后面括號(hào)里的表達(dá)式等價(jià)是循環(huán)執(zhí)行的條件而不是循環(huán)結(jié)束的條件,所以選項(xiàng)A不正確;選項(xiàng)B的意思是:p的值等于12345并且n的值大于3,不是循環(huán)結(jié)束的條件一個(gè)子集,所以選項(xiàng)B不正確;選項(xiàng)C的意思是:p的值不等于12345或者n的值小于3前一半是結(jié)束條件的子集,后一部分不是結(jié)束條件,所以選項(xiàng)C不正確;選項(xiàng)D描述的意思是:p的值等于12345或者你的大于等于3是結(jié)束條件的子集,所以選項(xiàng)D滿足題意。所以4個(gè)選項(xiàng)中D正確。

19.B

20.B此題考查除法運(yùn)算,根據(jù)先乘除后加減,有括號(hào)先算括號(hào)的原則,先計(jì)算x/y,即l2/8=1,所以z=0.9+1=1.9。但是Z是整型的,轉(zhuǎn)化一下取整除部分,結(jié)果Z=1

21.x+=1x+=1解析:本題考查“++”,“--”運(yùn)算符?!?+”、“--”只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來的值,使用完后再使其增1或減1。

22.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似屬性與操作的一組對(duì)象。

23.98768769876\r\n876解析:指針是一種數(shù)據(jù)類型,這種數(shù)據(jù)類型的變量用來存放內(nèi)存中分配的存儲(chǔ)單元的首地址。指針的定義:

類型說明符*指針變量名;

24.x[i][i]x[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]解析:在程序中用兩重循環(huán)。在第一層循環(huán)中將每行的第0列賦值為1,對(duì)角線上的元素賦值為1顯然在第一個(gè)空中應(yīng)該填入對(duì)角線上的元素即x[i][i],在第二重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對(duì)角線的元素外其他元素為其對(duì)應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個(gè)空中應(yīng)該填入x[i-1][j-1]+x[i-1][j]。

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

26.3535解析:在主函數(shù)中通過定義和賦初值使p和q分別指向了x和y,執(zhí)行函數(shù)調(diào)用“swap(p,q)”,把p和q中的地址值傳給了形參指針.變量a和b,a和b分別指向了實(shí)參x和y。在函數(shù)swap()中交換了指針變量a和b的值,并沒有交換a和b指向的實(shí)參的值,所以函數(shù)調(diào)用返回后x和y依舊是原來的值。

27.1對(duì)多(或1:N)1對(duì)多(或1:N)

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

29.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。其中的每一個(gè)加工對(duì)應(yīng)一個(gè)處理模塊。

30.白盒白盒解析:軟件測(cè)試的方法分為白盒測(cè)試方法和黑盒測(cè)試方法。

31.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。

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

33.ACEACE解析:在本題中,for循環(huán)體每執(zhí)行完一次,變量i的值自加兩次。i的初值為\'a\',執(zhí)行一次循環(huán)后變?yōu)閈'c\',之后再變成\'e\',當(dāng)其變?yōu)閈'g\'時(shí),循環(huán)條件若不滿足,循環(huán)終止,故本題共輸出3個(gè)字符。表達(dá)式'i-\'a\'+\ue008\'A\'\ue009'即表示輸出i對(duì)應(yīng)的大寫字母,結(jié)果為ACE。

34.物理獨(dú)立性物理獨(dú)立性解析:邏輯獨(dú)立性是指,由于數(shù)據(jù)的局部邏輯結(jié)構(gòu)與總體邏輯結(jié)構(gòu)之間也由系統(tǒng)提供映像,使得當(dāng)總體邏輯結(jié)構(gòu)改變時(shí),其局部邏輯結(jié)構(gòu)叮以不變,從而根據(jù)局部邏輯結(jié)構(gòu)編寫的應(yīng)用程序也可以不必修改。物理獨(dú)立性是指,由于數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與邏輯結(jié)構(gòu)之間山系統(tǒng)提供映像,使得當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,所以,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改。

35.封裝封裝

36.63或26-163或26-1解析:在滿二叉樹中,每層結(jié)點(diǎn)都是滿的,即每層結(jié)點(diǎn)都具有最大結(jié)點(diǎn)數(shù)。深度為k的滿二叉樹,一共有2k-1個(gè)結(jié)點(diǎn),其中包括度為2的結(jié)點(diǎn)和葉子結(jié)點(diǎn)。因此,深度為7的滿二叉樹,一共有27-1個(gè)結(jié)點(diǎn),即127個(gè)結(jié)點(diǎn)。根據(jù)二叉樹的另一條性質(zhì),對(duì)任意一棵二叉樹,若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n0,而其度數(shù)為2的結(jié)點(diǎn)數(shù)為n2,則n0=n2+1。設(shè)深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為x,則改樹中葉子結(jié)點(diǎn)的個(gè)數(shù)為x+1。則應(yīng)滿足x+(x+1)=127,解該方程得到,x的值為63。結(jié)果上述分析可知,在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為63。

37.0

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

39.有效性測(cè)試有效性測(cè)試

40.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。

41.C

42.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語句輸出的結(jié)果為a,97;第二個(gè)輸出語句輸出的結(jié)果為k=12。

43.D解析:使用人工或自動(dòng)手段來運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。

44.C

45.A

46.BA項(xiàng)錯(cuò)誤,可行性分析階段產(chǎn)生可行性分析報(bào)告。C項(xiàng)錯(cuò)誤,概要設(shè)計(jì)說明書是總體設(shè)計(jì)階段產(chǎn)生的文檔。D項(xiàng)錯(cuò)誤,集成測(cè)試計(jì)劃是在概要設(shè)計(jì)階段編寫的文檔。B項(xiàng)正確,需求規(guī)格說明書是后續(xù)工作如設(shè)計(jì)、編碼等需要的重要參考文檔。

47.A解析:根據(jù)函數(shù)intf1(intx,inty){returnx>y?x:y;}和intf2(intx,inty){returnx)>?y:x;}的定義可知,如果x>y成立,則函數(shù)f1返回x的值,函數(shù)f2返回y的值。所以f1(a,b)=4,f1(c,d)=5,f2(a,b)=3,f2(c,d)=2,故e=f2(4,5),f=f1(3,2)=3,g=4+3+5+2-4-3=7。

48.B解析:fprintf、fscanf函數(shù)與printf、scanf函數(shù)作用相仿,都足格式化讀寫函數(shù),其區(qū)別在于:fprintf和fscanf函數(shù)的讀寫對(duì)象不是終端而是磁盤文件。這兩個(gè)函數(shù)的一般調(diào)用方式為:

fprintf(文件指針,格式字符串,輸出表列);

fscanf(文件指針,格式字符串,輸入表列);

程序首先將123寫入d1.dat文件中,再從該文件中將數(shù)據(jù)讀給變量k和n。由于文件d1.dat中的數(shù)據(jù)是123,按格式“%d%d”讀數(shù)據(jù)時(shí)將123讀給k,n沒有得到讀入的數(shù)據(jù),保持初始值0。

49.D解析:在主函數(shù)中首先定義了一個(gè)4行4列的二維數(shù)組a,并用該數(shù)組的數(shù)組名作為實(shí)參調(diào)用函數(shù)f()。函數(shù)f()中的for循環(huán)作用,是將數(shù)組前3行中的對(duì)角線上的元素,即b[0][0]、b[1][1]、b[2][2]和第一行的第四列元素即b[0][3]累加到變量s中,s=a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。然后將s的值返回在主函數(shù)中輸出。

50.A解析:本題中的else語句和if語句之間有兩條語句,并且未用大括號(hào)括起來,故編譯通不過。所以應(yīng)該選擇A。

51.C解析:本題首先定義一個(gè)全局變量x并賦初值為3,主函數(shù)中使用這個(gè)全局變量控制循環(huán)次數(shù),循環(huán)執(zhí)行了2次,調(diào)用兩次incre()函數(shù)。第一次調(diào)用incre(),定義一個(gè)靜態(tài)變量x并賦初值1,然后執(zhí)行“x*=x+1”,使x的值變?yōu)?;第二次調(diào)用incre()函數(shù)時(shí),靜態(tài)變量將保留上一次退出時(shí)的值即2,執(zhí)行語句“x*=x+1”后,x的值變成6,輸出x的值為6。

52.A解析:條件表達(dá)式“a?b:c”的含義是:當(dāng)a為真時(shí),其值等于表達(dá)式b的值;當(dāng)a為假時(shí),其值等于表達(dá)式c的值。

表達(dá)式運(yùn)算過程:第1個(gè)表達(dá)式:w=2<x=3為真,所以返回w的值,即m=w=2;第2個(gè)表達(dá)式:m=2<z=5為真,所以返回m的值,即m=2;第3個(gè)表達(dá)式:w=2<y=4為真,所以返回m的值,即m=2。

53.C解析:指針變量p先是指向變量a,后指向變量b,但二級(jí)指針變量始終指向指針變量p。

54.B解析:題目中fun()函數(shù)的返回表達(dá)式是*p,所以選項(xiàng)C、D不為所選,而應(yīng)該是形參p所指內(nèi)容的值,因?yàn)閜為int型指針,所以該值是一個(gè)整數(shù)。故應(yīng)該選擇B。

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

56.D解析:break語句只能在循環(huán)體和switch語句體內(nèi)使用,當(dāng)break出現(xiàn)在switch語句體內(nèi)時(shí),其作用只是跳出該switch語句體。當(dāng)break出現(xiàn)在循環(huán)體中,但不在switch語句體內(nèi)時(shí),則在執(zhí)行break后,跳出本層循環(huán)體.而continue語句的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判定。本程序中,變量i的初始值為0,判斷while后面括號(hào)內(nèi)表達(dá)式的值為真,執(zhí)行循環(huán)體內(nèi)的if語句,判斷if后面括號(hào)內(nèi)表達(dá)式的值為真,執(zhí)行“continue;”語句.因continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判斷,所以i的值未發(fā)生變化,循環(huán)條件仍然為真,if語句也仍然成立,因此循環(huán)將無止境地進(jìn)行下去。所以,4個(gè)選項(xiàng)中D為所選。

57.D解析:此題考查文件打開方式對(duì)文件操作的影響。由于打開文件進(jìn)行修改,可見選項(xiàng)A)是錯(cuò)誤的,因?yàn)榇朔N方式打開時(shí),只能讀,不能寫,當(dāng)然無法修改;選項(xiàng)B)是以追加方式'ab+'打開文件讀寫,以這種方式打開時(shí),新寫入的數(shù)據(jù)只能追加在文件原有內(nèi)容之后,但可以對(duì)以前的數(shù)據(jù)讀出。換言之,'ab+'或'a+'方式打文件后,對(duì)于寫操作,文件指針只能定位在文件的原有內(nèi)容之后,但對(duì)于讀操作,文件指針可以定位在全文件范圍內(nèi),可見,按此種方式打開文件不能實(shí)現(xiàn)文件內(nèi)容的修改;選項(xiàng)C)以'w+'方式打開文件,此時(shí),原文件中已存在的內(nèi)容都被清除,但新寫入文件的數(shù)據(jù)可以被再次讀出或再次寫入,故也不能實(shí)現(xiàn)對(duì)文件的修改。只有以'r+'方式打開文件時(shí),才允許將文件原來數(shù)據(jù)讀出,也允許在某些位置上再寫入,從而實(shí)現(xiàn)對(duì)文件的修改。

58.B解析:本題考核的知識(shí)點(diǎn)是用戶標(biāo)識(shí)符的定義。在C語言中,合法的標(biāo)識(shí)符可以由字母、數(shù)字和下劃線組成,其中關(guān)鍵字不能作為用戶的標(biāo)識(shí)符,且開頭的第一個(gè)字符必須為字母或下劃線。選項(xiàng)A中void為關(guān)鍵字,故選項(xiàng)A不正確:選項(xiàng)C中for和case為關(guān)鍵字,故選項(xiàng)C不正確:選項(xiàng)D中sizeof為關(guān)鍵字,故選項(xiàng)D不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

59.D解析:時(shí)間復(fù)雜度是指一個(gè)算法執(zhí)行時(shí)間的相對(duì)度量;空間復(fù)雜度是指算法在運(yùn)行過程中臨時(shí)占用所需存儲(chǔ)空間大小的度量。人們都希望選擇一個(gè)既省存儲(chǔ)空間、又省執(zhí)行時(shí)間的算法。然而,有時(shí)為了加快算法的運(yùn)行速度,不得不增加空間開銷;有時(shí)為了能有效地存儲(chǔ)算法和數(shù)據(jù),又不得不犧牲運(yùn)行時(shí)間。時(shí)間和空間的效率往往是一對(duì)矛盾,很難做到兩全。但是,這不適用于所有的情況,也就是說時(shí)間復(fù)雜度和空間復(fù)雜度之間雖然經(jīng)常矛盾,但是二者不存在必然的聯(lián)系。因此,選項(xiàng)A、B、C的說法都是錯(cuò)誤的。故本題的正確答案是D。

60.A解析:選擇排序的基本思想是掃描整個(gè)線性表,從中選出最小的元素,將它交換到表的最前面,然后對(duì)剩下的子表采用同樣的方法,直到子表為空。所以第一趟排序后,將選出最小的元素9放在第一個(gè)位置,元素15則放在第二個(gè)位置。

61.A%為求余運(yùn)算符,運(yùn)算對(duì)象必須為整型數(shù)。

62.C循環(huán)語句;i=1,執(zhí)行i++<4;滿足條件,執(zhí)行循環(huán)體,然后i++<4……,當(dāng)i=3時(shí),先執(zhí)行i<4,成立,然后i++,循環(huán),i=4,判斷i<4不成立,i++,變成5.

63.B解析:如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足以下兩個(gè)條件:(l)有且只有一個(gè)根結(jié)點(diǎn);(2)每個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu)。如果一個(gè)數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu),則稱之為非線性結(jié)構(gòu),故A項(xiàng)錯(cuò)誤。有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu),如二叉樹,B項(xiàng)說法正確。循環(huán)鏈表和雙向鏈表都屬于線性鏈表。故C、D項(xiàng)錯(cuò)誤。

64.A本題的考查點(diǎn)是帶參數(shù)的宏定義。本題的程序中就定義了一個(gè)帶參數(shù)的宏,對(duì)F(a++,b++)進(jìn)行展開后,宏的返回值為12,注意a++,b++都是先使用變量值,再自增。

65.C函數(shù)f的功能是利用冒泡排序方法,將二維字符數(shù)組的前n行進(jìn)行遞增排序。

注意,本題目排序時(shí)整個(gè)字符串都交換。數(shù)組P排序后的結(jié)果為

66.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)用的返回值。

67.B本題考查字符處理函數(shù)和文件操作函數(shù)。屬于基礎(chǔ)知識(shí),其中B選項(xiàng)9etchar函數(shù)是用于從終端讀人一個(gè)字符。

68.B在計(jì)算機(jī)中,算法被定義為對(duì)一個(gè)問題求解步驟的一種描述,是求解問題的方法,它是指令的有限序列,其中每條指令表示一個(gè)或者多個(gè)操作。算法具有有窮性、確定性、可行性、輸入和輸出五大特點(diǎn)。

在本題中,選項(xiàng)A、C、D的說法明顯偏離了算法的定義,因此正確答案選B。

69.A解析:本題考查用strlen函數(shù)計(jì)算字符串長度的方法。該字符串中包含的字符是:\'\\t\'(跳格符)、\'\\'\'(雙引號(hào))、\'\\065\'(ASCII值為八進(jìn)制065,也即+進(jìn)制為51的字符)、\'\\xff\'(ASCII值為+六進(jìn)制ff,也即+進(jìn)制為255的字符)、\'\\n\'(換行符)。

70.A

71.A解析:結(jié)構(gòu)化程序的概念首先是從以往編程過程中無限制地使用轉(zhuǎn)移語句而提出的。轉(zhuǎn)移語句可以使程序的控制流程強(qiáng)制性地轉(zhuǎn)向程序的任一處,在傳統(tǒng)流程圖中,就是用上節(jié)我們提到的“很隨意”的流程線來描述這種轉(zhuǎn)移功能。如果一個(gè)程序中多處出現(xiàn)這種轉(zhuǎn)移情況,將會(huì)導(dǎo)致程序流程無序可尋,程序結(jié)構(gòu)雜亂無章,這樣的程序是令人難以理解和接受的,并且容易出錯(cuò)。尤其是在實(shí)際軟件產(chǎn)品的開發(fā)中,更多的追求軟件的可讀性和可修改性,象這種結(jié)構(gòu)和風(fēng)格的程序是不允許出現(xiàn)的。

72.Ae前e后有數(shù)字,e后數(shù)值為整數(shù),所以B)、c)、D)錯(cuò)誤。

73.D解析:要正確計(jì)算函數(shù)f=n!,由n!的數(shù)學(xué)定義可知n!=n*(n-1)*(n-2)*……*1。在選項(xiàng)A)中,由于f的初值為0,在for循環(huán)語句中,f依次乘以1,2,3,……,n。最后計(jì)算f=n!=O,所以選項(xiàng)A)不正確。在選項(xiàng)B)中,f的初值為1,在for循環(huán)語句中,f依次乘以1,2,3,……,(n-1)。最后計(jì)算得到f=(n-1)!,所以選項(xiàng)B)不正確。在選項(xiàng)C)中,f的初值為1,在for循環(huán)語句中,f依次乘以n,n+1,n+2,……,所以選項(xiàng)C)不正確。在選項(xiàng)D)中,f的初值為1,在for循環(huán)語句中,f依次乘以n,n-1,n-2,……,2。最后計(jì)算f=n!,所以選項(xiàng)D)正確。

74.C

75.Ai=0,f(a)=2+1+4=7,i=1,f(a)=2+1+5=8,i=3,f(a)=2+1+5=9;(c為靜態(tài)變量);

76.D

77.C

\nelse與離它最近的if構(gòu)成if…else語句,而當(dāng)a為2時(shí),第一個(gè)if語句不成立,因此什么也不做,即c的值仍然為2,故選擇C選項(xiàng)。

\n

78.D解析:C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第一個(gè)字符必須是字母或下劃線,標(biāo)識(shí)符名不能與關(guān)鍵字重名。選項(xiàng)A)中Main與主函數(shù)名main不同,所以選項(xiàng)D)是非法的標(biāo)識(shí)符。

79.Di=0,i<2,j=0,p[i][j]=3,不滿足if判斷條件,j+2=2,p[i][j]=9,不滿足條件,j+2=4,不滿足while循環(huán)條件,i+1=1,j=0,p[1][0]=2,滿足if判斷條件,num=10*num+p[i][j]-‘0’=2,j+2=2,p[1][2]=8,滿足條件,num=10*2+p[i][j]-‘0’=28

80.C81.

(1)if((tt[i]>=’a’)&&(tt[i]<=‘z’))

(2)tt[i]一=32;

【考點(diǎn)分析】

本題考查:if語句條件表達(dá)式;小寫字母轉(zhuǎn)大寫字母的方法。

【解題思路】

(1)分析本題可知,要判斷字符是否為小寫字母,即判斷其是否在a—z之間,所以這里需要進(jìn)行連續(xù)的比較,用&&。(2)從ASCIl碼表中可以看出,小寫字母的ASCIl碼值比對(duì)應(yīng)大寫字母的ASCIl值大32。將字符串中的小寫字母改為大寫字母的方法是:從字符串第一個(gè)字符開始,根據(jù)ASCIl碼值判斷該字母是不是小寫字母,若是,則ASCIl碼值減32即可。

82.

【解析】由題目中所給公式,首先求出整數(shù)m的階乘,然后求出m的階乘除以n的階乘,最后再求出整個(gè)表達(dá)式的值。將整個(gè)表達(dá)式的值返回到主函數(shù)當(dāng)中。

2021-2022年江西省萍鄉(xiāng)市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。

A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭

2.下列條件語句中,輸出結(jié)果與其他語句不同的是()。

A.if(a!=0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

B.if(a==0)printf(“%d\n”,y);elseprintf(“%d\n”,x);

C.if(a==0)printf(“%d\n”,x);elseprintf(“%d\n”,y);

D.if(a)printf(“%d\n”,x);elseprintf(“%d\n”,y);

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

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

4.以下程序的輸出結(jié)果是()。unionmyun{struct{intx,y,z;)u;intk:}a;main{a.u.x=4;a.u.y=5;a.u.z=6;k=0;printf(%d\n",a.u.x);}A.4B.5C.6D.0

5.以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),

A.均占4個(gè)字節(jié)B.根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語言編譯系統(tǒng)決定

6.在下面的一維數(shù)組定義中,哪一個(gè)有語法錯(cuò)誤()。A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];

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

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

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

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

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

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

#include<stdio.h>

intb=2;

intfunc(int*A)

{b+=*a;retumb;}

main()

{inta=1,t=2;

t+=func(&A);

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

}

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

9.有下列程序:main{charp[]={a,h,c},q[]="a";printf("%d%d\n".sizeof(P),sizeof(q));}程序運(yùn)行后的輸出結(jié)果是()。A.44B.33C.34D.43

10.設(shè)"char**s;",以下正確的表達(dá)式是()。

A.s="computer";B.*s="computer";C.**s="computer";D.*s='c';

11.設(shè)有以下語句,其中不是對(duì)a數(shù)組元素的正確引用的是:_____(其中0≤i<10)inta[10]={0,1,3,4,5,6,7,8,9,},*p=a;

A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))

12.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;

13.以下能正確定義一維數(shù)組的選項(xiàng)是______。

A.inta[5]={0,1,2,3,4,5};

B.chara[]={0,1,2,3,4,5};

C.chara={'A','B','C'};

D.inta[5]="0123";

14.設(shè)有6個(gè)結(jié)點(diǎn)的無向圖,該圖至少應(yīng)有()條邊才能確保是一個(gè)連通圖。

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

15.

16.以下函數(shù)findmax擬實(shí)現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能。#defineMIN-2147483647intfindmax(intx[],intn){inti,max;for(i=0;i<n;i++){max=MIN;if(max<x[i])max=x[i];)returnmax;}造成錯(cuò)誤的原因是()。A.定義語句“inti,max;”中max未賦初值

B.賦值語句“max=MIN;”中,不應(yīng)給max賦MIN值

C.語句“if(max<x[i])max=x[i];”中判斷條件設(shè)置錯(cuò)誤

D.賦值語句“max-MIN;”放錯(cuò)了位置

17.

18.有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此處do-while循環(huán)的結(jié)束條件是

A.P的值不等于12345并且n的值小于3

B.P的值等于12345并且n的值大于等于3

C.P的值不等于12345或者n的值小于3

D.P的值等于12345或者n的值大于等于3

19.

20.若有定義語句:“intx=12,y=8,z;”,在其后執(zhí)行語句“z=0.9+x/y;”,則z的值為()。A.1.9B.1C.2D.2.4

二、2.填空題(20題)21.語句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語句______。

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

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

main()

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

for(p=s;p<s+2;p++)printf("%s\n",p);

}

24.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

(1)第0列元素和主對(duì)角線元素均為1

(2)其余元素為其左上方和正上方元素之和

(3)數(shù)據(jù)的個(gè)數(shù)每行遞增1

請(qǐng)將程序補(bǔ)充完整。

#defineN6

voidYangHui(intx[N][N])

{inti,j;

x[0][0]=1;

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

{x[i][0]=【】=1;

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

x[i][j]=【】;

}

}

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

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

voidswap(int*a,int*b)

{

int*tp;

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

}

main()

{

intx=3,y=5,*p=&x,*q=&y;

swap(p,q);

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

}

27.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于______的聯(lián)系。

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

29.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。

30.軟件測(cè)試按功能劃分的方法劃分,通常分為【】測(cè)試方法和黑盒測(cè)試方法。

31.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。

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

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

#include<stdio.h>

main()

{inti;

for(i=′a′;i<′f′;i++,i++)printf("%c",i-′a′+′A′);

printf("\n");

}

34.數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,所以,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為【】。

35.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對(duì)象的______性來實(shí)現(xiàn)的。

36.在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為【】。

37.軟磁盤最外邊的磁道數(shù)是【】號(hào)磁道。

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

39.對(duì)軟件是否能達(dá)到用戶所期望的要求的測(cè)試稱為【】。

40.數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。

三、1.選擇題(20題)41.設(shè)有如下的函數(shù)funct(x)floatx;{x*=x;printf("\n%d",x);return(x);}則函數(shù)的類型()

A.與參數(shù)x的類型相同B.voidC.intD.無法確定

42.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是

A.因變量類型與格式描述符的類型不匹配輸出無定值

B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值

C.a,97,12k=12

D.a,97,k=12

43.在軟件測(cè)試設(shè)計(jì)中,軟件測(cè)試的主要目的是

A.實(shí)驗(yàn)性運(yùn)行軟件B.證明軟件正確C.找出軟件中全部錯(cuò)誤D.盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤

44.以下程序的輸出結(jié)果是()main(){intn[3][3],i,j;for(i=0;i<3;i++)for(j=0;i<3;++)n[i][j]=i+j;for(i=0;i<2;i++)for(j=0,j<2;j++)n[i+1][j+1]+=[i][j];printf("%d\n",n[1][j]);}

A.14B.0C.6D.值不確定

45.執(zhí)行以下程序段后,m的值為______。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));

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

46.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

A.可行性分析報(bào)告B.軟件需求規(guī)格說明書C.概要設(shè)計(jì)說明書D.集成測(cè)試計(jì)劃

47.下列能正確定義一維數(shù)組的選項(xiàng)是()。

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

48.有以下程序:#include<stdio.h>main(){FILE*fp;inti,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++)fprintf(fp,"%d",i);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);{執(zhí)行后的輸出結(jié)果是()。

A.12B.1230C.123D.00

49.有以下程序:intf(intb[][4]){inti,j,s=0;for(j=0;i<4;i++){i=j;if(i>2)i=3-j;s+=b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4,},{0,2,4,6},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}執(zhí)行后的輸出結(jié)果是()。

A.12B.11C.18D.16

50.對(duì)下述程序,正確的判斷是()。main(){inta,b;scanf("%d",&a);scanf("%d",&b);if(a>b)a+=b;b++;elseb+=a;a++;printf("%d,%d",a,b);}

A.有語法錯(cuò)誤,不能通過編譯

B.若輸入數(shù)據(jù)2和5,則輸出3和7

C.若輸入數(shù)據(jù)5和2,則輸出7和3

D.若輸入數(shù)據(jù)5和5,則輸出6和10

51.以下程序的輸出結(jié)果是intx=3;main(){inti;for(i=1;i<x;i++)incre();}incre(){staticintx=1;x*=x+1;printf(“%d”,x);}

A.33B.22C.26D.25

52.若w、x、y、z、m均為int型變量,則執(zhí)行下列的語句后m的值是()。w=2,x=3,y=4,z=5;m=(w<x)?w:x;m=(m<z)?m:z;m=(m<y)?m:y;

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

53.下列程序段的輸出結(jié)果是______。int**pp,*p;inta=10,b=20;p=&a;pp=&p;p=&b;printf("%d,%d\n",*p,**pp);

A.10,20B.10,10C.20,20D.20,10

54.已定義以下函數(shù);intfun(int*p){return*p;}fun函數(shù)返回值是()。

A.不確定的值B.一個(gè)整數(shù)C.形參p中存放的值D.形參p的地址值

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

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

56.以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}

A.1B.10C.6D.死循環(huán),不能確定次數(shù)

57.如果需要打開一個(gè)已經(jīng)存在的非空文件"Demo"進(jìn)行修改,下面選項(xiàng)中正確的是

A.fp=fopen("Demo","r");

B.fp=fopen("Demo","ab+");

C.fp=fopen("Demo","w+");

D.fp=fopen("Demo","r+");

58.請(qǐng)選出可以作為C語言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符號(hào)

A.voiddefineWORD

B.a3_b3_1231F

C.for—abccase

D.2aD0sizeof

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

A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大

B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小

C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小

D.上述三種說法都不對(duì)

60.待排序的關(guān)鍵碼序列為15,20,9,30,67,65,45,90,要按關(guān)鍵碼值遞增的順序排序,采取簡(jiǎn)單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個(gè)位置。

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

四、選擇題(20題)61.在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()。

A)%B)/

C)<D)!

62.已知inti=1;執(zhí)行語句while(i++<4);后,變量i的值為()。

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

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

A.有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)

B.只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)

C.循環(huán)鏈表是非線性結(jié)構(gòu)

D.雙向鏈表是非線性結(jié)構(gòu)

64.有以下程序:

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

A.12

B.15

C.16

D.20

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

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

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

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

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

A.gets函數(shù)用于從終端讀人字符串

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

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

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

68.在計(jì)算機(jī)中,算法是指()

A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法

69.請(qǐng)選出以下語句的輸出結(jié)果Printf("%d\n",strlen("\t\"\065\xff\n"));

A.5B.14C.8D.輸出項(xiàng)不合法,無正常輸出

70.

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

則由關(guān)系R和S得到關(guān)系T的操作是()。

A.自然連接B.交C.投影D.并

72.以下選項(xiàng)中可用作C程序合法實(shí)數(shù)的是()。A..1eOB.3.0e0.2C.E9D.9.12E

73.設(shè)變量已正確定義,則下列能正確計(jì)算f=n!的程序段是()。

A.f=0;for(i=1;i<=n;i++)f*=i;

B.f=1;for(i=1;i<n;i++)f*=i;

C.f=1;for(i=n;i>1;i++)f*=i;

D.f=1;for(i=n;i>=2;i--)f*=i;

74.

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

f(inta)

{intb=0;staticintc=3;

b++;c++;

return(a+b+c);

}

main()

{inta=2,i;

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

printf("%4d",f(a));

A.789B.678C.567D.876

76.選出下列標(biāo)識(shí)符中不是合法的標(biāo)識(shí)符的是()。

A.hot_doB.cat1C._priD.2ab

77.

有如下程序:

main

{inta=2,b=-1.c=2;

if(a<0)if(b<0)c=0;

elsec++;

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

}

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

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

78.以下不能定義為用戶標(biāo)識(shí)符的是()

A.MainB._0C._intD.sizeof

79.有以下程序:

main()

{char*p[]={"3697","2584"};

inti,j;longnum=0;

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

{j=0;

while(p[i][j]!=’\0’)

{if((p[i][j]-’0’)%2==0)num=10*num+p[i][j]-’0’;

j+=2;

}

}

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

}

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

A.35B.37

C.39D.28

80.為了避免嵌套的條件分支語句if-else的二義性,C語言規(guī)定:C程序中的else總是與()組成配對(duì)關(guān)系。

A.縮排位置相同的ifB.在其之前未配對(duì)的ifC.在其之前未配對(duì)的最近的ifD.同一行上的if

五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將tt所指字符串中的小寫字母全部改為對(duì)應(yīng)的大寫字母,其他字符不變。

例如,若輸入“Ab,cD”,則輸出“AB,CD”。

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

注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)proc(),它的功能是:根據(jù)公式求p的值,結(jié)果由函數(shù)值帶回。m與n為兩個(gè)正數(shù)且要求m>;n。p=m!/(n!(m-n)!),例如,m=20,n=10時(shí),運(yùn)行結(jié)果為184756.000000。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:

參考答案

1.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。

2.CA、B、D選項(xiàng)的含義均為:a的值如果為0,輸出y的值,否則輸出x的值。而C選項(xiàng)的含義是:a的值為0時(shí)輸出x的值,不為0時(shí)輸出y的值,與其他選項(xiàng)正好相反。故本題答案為C選項(xiàng)。

3.A隊(duì)列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。

【知識(shí)拓展】“隊(duì)列”和“?!倍际且环N特殊的線性表。之所以稱之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來后到”,先進(jìn)先出,后進(jìn)后出。

4.D因?yàn)閍是結(jié)構(gòu)體變量,最后一次輸入的值為結(jié)構(gòu)體中的值,即a中的任何一個(gè)值都為0。

5.D解析:在C語言的標(biāo)準(zhǔn)中,short占2個(gè)字節(jié)、long占4個(gè)字節(jié),但int的大小和編譯系統(tǒng)相關(guān)。例如在Turbo\u3000C\u30002.0中,int占2個(gè)字節(jié),但在VisualC++6.0(VC6可以用做C語言編譯

溫馨提示

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