2021年安徽省黃山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第1頁(yè)
2021年安徽省黃山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第2頁(yè)
2021年安徽省黃山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第3頁(yè)
2021年安徽省黃山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第4頁(yè)
2021年安徽省黃山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩51頁(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)介

2021年安徽省黃山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.在C++中,一個(gè)函數(shù)帶有參數(shù)說(shuō)明時(shí),則參數(shù)的默認(rèn)值應(yīng)該在()中給出。A.函數(shù)定義B.函數(shù)聲明C.函數(shù)定義或聲明D.函數(shù)調(diào)用

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

intf1(intx,inty){returnx>y?x:y;}

intf2(intx,inty){returnx>y?y:x;}

main()

{inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,B),f1(c,D));

f=f1(f2(a,B),f2(c,D));

g=a+b+C+d-e-f;

phntf("%d,%d,%d\n",e,f,g);

}

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

3.

4.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。

A.順序結(jié)構(gòu)B.GOT0跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)

5.命令“DIRA:*.*/W”的功能是()

A.寬行顯示A盤當(dāng)前目錄的所有文件

B.寬行顯示A盤所有目錄的所有文件

C.寬行顯示A盤的所有目錄

D.顯示A盤中的文件名,每滿一屏后停頓一下

6.若有說(shuō)明語(yǔ)句:charc='\72'則變量c()。

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

7.若變量已正確定義,要求程序段完成5!的計(jì)算,不能完成此操作的程序段是______。

A.for(i=1,p=1;i<=5;i++)p*=i;

B.for(i=1;i<=5;i++){p=1;p*=i;}

C.i=1;p=1;while(i<=5){p*=i;i++;}

D.i=1;p=1;do{p*=i;i++;}while(i<=5);

8.有以下程序

#include<stdio.h>

main()

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

if(x>y)

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

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

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

}

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

A.A.331

B.41

C.2

D.1

9.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

10.以下說(shuō)法錯(cuò)誤的是:()

A.全局變量就是在函數(shù)外定義的變量,因此又叫做外部變量

B.一個(gè)函數(shù)中既可以使用本函數(shù)中的局部變量,也可以使用全局變量

C.局部變量的定義和全局變量的定義的含義不同

D.如果在同一個(gè)源文件中,全局變量和局部變量同名,則在局部變量的作用范圍內(nèi),全局變量通常不起作用

11.以下是if語(yǔ)句的基本形式:

if(表達(dá)式.語(yǔ)句

其中“表達(dá)式”()。

A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式

12.下列程序的輸出的結(jié)果是()。main{doubled=3.2;intx,Y;x=1.2;v=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.07

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

B.intN=10;intx[N];

C.int:x[0.10];

D.intx[];.

14.設(shè)有定義:intx[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯(cuò)誤的是()。

A.x[0]可看做是由3個(gè)整型元素組成的一維數(shù)組

B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量

C.數(shù)組X包含6個(gè)元素

D.可以用語(yǔ)句x[o]=0;為數(shù)組所有元素賦初值0

15.軟件調(diào)試的目的是A.發(fā)現(xiàn)錯(cuò)誤B.改正錯(cuò)誤C.改善軟件的性能D.驗(yàn)證軟件的正確性

16.設(shè)x和y均為bool量,則x&&y為真的條件是()。

A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)

17.若有定義“intx=10;”,則表達(dá)式“x-=x+x”的值為()。

A.0B.-20C.-10D.10

18.對(duì)線性表進(jìn)行折半查找最方便的存儲(chǔ)結(jié)構(gòu)是()。

A.順序表B.有序順序表C.鏈表D.有序鏈表

19.一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是()。

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

20.有以下程序:

若運(yùn)行時(shí)輸入:246<;回車>;,則輸出結(jié)果為()。

A.204B.200C.240D.246

二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是【】。

main()

{charm;

m='B'+32;printf("%c\n",m);

22.一張3.5英寸軟盤大約能存儲(chǔ)140萬(wàn)個(gè)ASCⅡ字符,若存放漢字大約能存放【】個(gè)。

23.以下程序把從終端讀入的20個(gè)整數(shù)以二進(jìn)制方式寫到一個(gè)名為d.dat的新文件中,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

FILE*fp;

main()

{inti,j;

if((fp=fopen(【】,"wb"))==NULL)exit(0);

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

{scanf("%d",&j);fwrite(&j,sizeof(int),1,【】);}

fclose(fp);

}

24.下列語(yǔ)句的輸出結(jié)果是______。

chars[20]="aaaa",*sp=s;

puts(strcat(sp,"AAAAA"));

25.函數(shù)fun的功能是計(jì)算xn。

doublefun(doublex,intn)

{inti;doubley=1;

for(i=1;i<=n;i++)y=y*x;

returny;

}

主函數(shù)中已正確定義m、a、b變量并賦值,并調(diào)用fun函數(shù)計(jì)算:m=a4+b4-(a+b)3。實(shí)現(xiàn)這一計(jì)算的函數(shù)調(diào)用語(yǔ)句為【】。

26.以下程序的運(yùn)行結(jié)果是#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf(:Y=%d\t",Y)main(){inta=1,b=2,c=3,d=4,t;t:MAX(a+b,c+d);PRINT(t);}

27.若有定義:inta=4,b=5,c=6;然后順序執(zhí)行下列語(yǔ)句后,變量b中的值是()。c=(a-=(b-5));c=(a%3)+(b=1);

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

#include<string.h>

typedefstructstudent{

charname[10];

longsno;

floatscore;

}STU;

main()

{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90},

c={"Anhua",2003,95},d,*p-&d;

d=a;

if{strcmp(a.nalne,)>0)d=b;

if(strcmp(,)>0)d=c;

printf("%ld%s\n",d.sno,p>name};

}

29.在面向?qū)ο蠓椒ㄖ?,?duì)象之間進(jìn)行通信的構(gòu)造稱為()。

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

#defineDOUBLE(x,y)x/y

main()

{intx=4,y=2,t;

t=DOUBLE(x+y,x-y);

printf("%d",t);

}

31.對(duì)于長(zhǎng)度為n的順序存儲(chǔ)的線性表,當(dāng)隨機(jī)插入和刪除—個(gè)元素時(shí),需平均移動(dòng)元素的個(gè)數(shù)為【】。

32.數(shù)據(jù)流圖的類型有【】和事務(wù)型。

33.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。

34.若有以下定義:

chara;intb;

floatc;doubled;

則表達(dá)式a*b+d-c值的類型為【】。

35.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。

36.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>

my_cmp(char*s,char*t)

{while(*s==*t)

{if(*s=='\0')return0;

++s;++t;

}return【】;

}

37.以下程序的功能是:從低位開始取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。請(qǐng)?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);}

38.下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計(jì)有多少個(gè)單詞,單詞間用空格分隔。補(bǔ)充所缺語(yǔ)句。

#include<stdio.h>

main()

{charss[80],c1,c2='';

inti=0,num=0;

gets(s);

while(s[i]!='\0')

{c1=s[i];

if(i==0)c2='';

elsec2=s[i-1];

if(【】)num++;

i++;

}

printf("Thereare%dwords,\n",num);

}

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

main()

{ints,i;

for(s=0,i=1;i<3;i++,s+=i;

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

}

40.以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫字母A開始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:

ABCDE

FGHI

JKL

MN

O

請(qǐng)?zhí)羁胀瓿稍摮绦颉?/p>

main()

{inti,j,n;charch='A';

scanf("%d",&n);

if(n<11)

{for(i=1;i<=n;i++)

{for(j=1;j<n-i+1;j++)

{printf("%2c",ch);

[10];

}

[11];

}

三、1.選擇題(20題)41.以下選項(xiàng)中可作為C語(yǔ)言合法常量的是

A.-80B.-080C.-8e1.0D.-80.0e

42.有以下程序

voidf(int*q)

{inti=0;

for(;i<5;i++)(*q)++;

}

main()

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

f(a);

for(i=0;i<5;i++)printf("%d,",a[i]);

}

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

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

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

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

44.下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是______。A.A.除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值

B.可能缺少若干個(gè)左右葉子結(jié)點(diǎn)

C.完全二叉樹一般不是滿二叉樹

D.具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1

45.下列函數(shù)值的類型是()。fun(doublex){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

46.第

13

設(shè)有程序段

intk=10;

while(k=0)k=k-1;

則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無(wú)限循環(huán)C.循環(huán)體語(yǔ)句一次也不執(zhí)行D.循環(huán)體語(yǔ)句執(zhí)行一次

47.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是______。

A.數(shù)據(jù)庫(kù)是一個(gè)DBF文件B.數(shù)據(jù)庫(kù)是一個(gè)關(guān)系C.數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫(kù)是一組文件

48.設(shè)有定義:inta=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是()。

A.(!a==1)&&(!b==0)B.(a<B)&&!c||1C.a&&bD.a||(b+B)&&(c-A)

49.下列不屬于軟件調(diào)試技術(shù)的是______。A.強(qiáng)行排錯(cuò)法B.集成測(cè)試法C.回溯法D.原因排除法

50.設(shè)有以下語(yǔ)句:chara=3,b=6,c;c=ab<<2;則c的二進(jìn)制值是()。

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

51.以下函數(shù)值的類型是_______。fun(floatx){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

52.下面程序的運(yùn)行結(jié)果是()。y=5;x=14;y=((x=3*y,x+6),x-1);printf("x=%d,y=%d”,x,y);

A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27

53.若要用fopen函數(shù)打開一個(gè)文本文件,該文件要既能讀也能寫,則文件使用方式的字符串為()。

A.r+B.a+C.rb+D.'wb+"

54.有以下程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c:k;執(zhí)行該程序段后,k的值是______。A.3B.2C.1D.0

55.以下程序段中與語(yǔ)句k=a>b?(b>c?1:0):0;功能等價(jià)的是______。

A.if(a>B)&&(b>C))k=1;elsek=0;

B.if((a>B)||(b>C))k=1;elsek=0;

C.if(a<=B)k=0;elseif(b<=C)k=1;

D.if(a>B)k=1;elseif(b>C)k=1;elsek=0;

56.若說(shuō)明int*p,n;則通過語(yǔ)句scanf能夠正確讀入數(shù)據(jù)的程序段是

A.p=&n;scanf("%d",&p);

B.p=&n;scanf("%d",*p);

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

D.p=&n;scanf("%d",p);

57.電子郵件是()

A.網(wǎng)絡(luò)信息檢索服務(wù)

B.通過Web網(wǎng)頁(yè)發(fā)布的公告信息

C.通過網(wǎng)絡(luò)實(shí)時(shí)交互的信息傳遞方式

D.一種利用網(wǎng)絡(luò)交換信息的非交互式服務(wù)

58.下列關(guān)于隊(duì)列的敘述中正確的是______。A.在隊(duì)列中只能插入數(shù)據(jù)B.在隊(duì)列中只能刪除數(shù)據(jù)C.隊(duì)列是先進(jìn)先出的線性表D.隊(duì)列是先進(jìn)后出的線性表

59.有如下程序段:inta=14,b=15,x,charc='A';x=(a&&B)&&(c<'B');執(zhí)行該程序段后,x的值為()

A.1B.0C.FALSED.TRUE

60.下列程序的運(yùn)行結(jié)果是()。main(){inta=-5,b=1,c=1;intx=0,Y=2,z=0;if(c>0)x=x+y;if(a<=0){if(b>0)if(c<=0)y=x-y;}elseif(c>0)Y=x-y;elsez=y;printf("%d,%d,%d\n",x,y,z);}

A.2,2,0B.2,2,2C.0,2,0D.2,0,2

四、選擇題(20題)61.一間宿舍可住多名學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()。A.一對(duì)一B.一對(duì)多C.多對(duì)一D.多對(duì)多

62.以下敘述中正確的是()。A.A.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch’語(yǔ)句體內(nèi)

B.continue語(yǔ)句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同

D.break語(yǔ)句只能用于switch語(yǔ)句體中

63.

有下列程序:

fun(intX,inty){return(x+y);}

main

{inta=1,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

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

}

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

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

64.以下敘述中正確的是()。

A.預(yù)處理命令行必須位于C源程序的起始位置

B.在C語(yǔ)言中,預(yù)處理命令行都以“#”開頭

C.每個(gè)C程序必須在開頭包含預(yù)處理命令行:#include

D.C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能

65.

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

#include<stdio.h>

#defineS(X)X*X

voidmain

{inta=9,k=3,m=2;

a/=S(k+m)/S(k+m):

printf("%d",a);

}

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

66.

67.

68.

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

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

70.當(dāng)變量c的值不為2、4、6時(shí),值也為”真”的表達(dá)式是()。

A.(c>=2&&c<=6)&&(c%21=1)

B.(c==2)ll(e==4)II(C==6)

C.(C>=2&&c<=6)&&!(c%2)-

D.(c>=2&&c<=6)Il(c!=3)I|(C!=5)

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

structabc

{

inta,b,c;

}

main()

{

structabcs[2]={{1,2,3},{4,5,6}};

intt;

t=s[0].a+s[1].b;

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

}

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

72.設(shè)fun函數(shù)的定義形式為

voidfun(charch,floatx){…}

則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。A.A.fun("abc",3.0);B.t=fun('D'.16.5);

C.fun('65',2.8);

D.fun(32,32);

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

A.抽象

B.模塊化

C.自底向上

D.信息隱蔽

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

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

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

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

75.有以下程序:

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

A.9.One*World

B.9.One*Dream!

C.10.One*Dream!

D.10.One*World

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

由關(guān)系R和s通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。

A.并B.自然連接C.笛卡爾積D.交

77.

78.若變量a,b已正確定義,且b已正確賦值,則合法的語(yǔ)句是()。

A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);

79.設(shè)“intx=2,y=1;”,則表達(dá)式(!x||Y--)的值是()。

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

80.

五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng)為0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的和sum。n的值通過形參傳人。例如,當(dāng)n=20時(shí),程序的輸出結(jié)果應(yīng)為42762.000000。

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

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

doubleproc(intn)

{

doublesum,s0,s1,s2,s;

intk;

sum=1.0;

if(n<=2)

sum=0.0;

s0=0.0;

s1=0.0;

s2=1.0;

//****found****

for(k=4;k<n;k++)

}

{

s=s0+s1+s2;

sum+=S:

s0=s1;

s1=s2;

//****found****

s2=s;

returnsum;

}

voidmain

{

intn;

system("CLS");

printf("InputN=");

scanf("%d",&nJ;

printf("%f\n",proc(n));

}六、程序設(shè)計(jì)題(1題)82.編寫fun()函數(shù),它的功能是:利用以下所示的簡(jiǎn)單迭代方法求方程cos(y)-y=0的一個(gè)實(shí)根。

yn+1=cos(yn)

迭代步驟如下:

(1)取y1初值為0.0;

(2)y0=y1,把y1的值賦給y0;

(3)y1=cos(y0),求出一個(gè)新的y1;

(4)若y0=y1的絕對(duì)值小于0.000001,則執(zhí)行步驟

(5),否則執(zhí)行步驟(2);

(5)所求y1就是方程COS(y)-y=0的一個(gè)實(shí)根,作為函數(shù)值返回。

程序?qū)⑤敵鼋Y(jié)果Result=0.739085。

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

部分源程序給出如下。

試題程序:

參考答案

1.CC程序中函數(shù)可以在說(shuō)明或定義時(shí)給一個(gè)或多個(gè)參數(shù)指定默認(rèn)值,但是不能在函數(shù)說(shuō)明定義時(shí)同時(shí)指定默認(rèn)參數(shù),默認(rèn)參數(shù)值應(yīng)該在函數(shù)名第一次出現(xiàn)時(shí)指定。

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

3.C

4.B1966年Boehm和Jacopini證明了程序設(shè)計(jì)語(yǔ)言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。

5.A

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

7.B解析:選項(xiàng)B中每次執(zhí)行循環(huán)體都要執(zhí)行p=1,無(wú)法保存上次的運(yùn)算結(jié)果,執(zhí)行完while循環(huán)后p=5。

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

9.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。

10.A

11.D解析:本題主要考查關(guān)于if語(yǔ)句的說(shuō)明,if后面圓括號(hào)中的表達(dá)式,可是任意合法的C語(yǔ)言表達(dá)式(如:邏輯表達(dá)式、關(guān)系表達(dá)式、算術(shù)表達(dá)式、賦值表達(dá)式等),也可以是任意類型的數(shù)據(jù)(如:整型、實(shí)型、字符型、指針型等。)

12.C根據(jù)賦值運(yùn)算的類型轉(zhuǎn)換規(guī)則,先將double型的常量l.2轉(zhuǎn)換為int型,因?yàn)閤的類型是int,則X的值為1;執(zhí)行語(yǔ)句y=(K+3.8)/5.0時(shí),即先將整型變量X的值1轉(zhuǎn)換為double型1.0,然后3.8相加得4.8,進(jìn)行除法運(yùn)算4.8/5.0結(jié)果為0.即變量y的值為0,d*Y的值也為0,故選C選項(xiàng)。

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

14.Dx[0]是不能賦值的。

15.B本題考查軟件工程調(diào)試。調(diào)試與測(cè)試是兩個(gè)不同的過程,有著根本的區(qū)別:調(diào)試是一個(gè)隨機(jī)的、不可重復(fù)的過程,它用于隔離和確認(rèn)問題發(fā)生的原因,然后修改軟件來(lái)糾正問題;測(cè)試是一個(gè)有計(jì)劃的,可以重復(fù)的過程,它的目的是為了發(fā)現(xiàn)軟件中的問題。因此,軟件調(diào)試的目的是為了改正軟什中的錯(cuò)誤。本題的正確答案是選項(xiàng)\u3000B。

16.A

17.C算術(shù)運(yùn)算符“+”的優(yōu)先級(jí)高于,且“-=”的結(jié)合方向?yàn)樽杂蚁蜃蟆K员磉_(dá)式“x-=x+x”可以表示成“x=x-(x+x)=10-(10+10)=-10”。故本題答案為C選項(xiàng)。

18.B

19.B

20.A本題中輸入的3個(gè)數(shù)據(jù)2,4,6分別賦值給了x[0[0],x[1][0],x[2][0]。x[o][1]仍為初始時(shí)的0,所以打印輸出時(shí)的結(jié)果為A選項(xiàng)。

21.bb解析:在ASCII碼表中,至少有3個(gè)值考生得記?。海?,的ASCII碼為48;‘A’的ASCII碼為65;‘a(chǎn)’的ASCII碼為97。因?yàn)橛涀∵@3個(gè)后,其他字母和數(shù)字的ASCII碼就可以很容易推出來(lái)了。本題中,“B”的ASCII碼為‘A’+1=66,所以,字符類型m的ASCII為66+32=98=97+1=‘a(chǎn)’+1,所以最后輸出的結(jié)果為字符‘b’。

22.70萬(wàn)70萬(wàn)

23."bi.dat"fp'bi.dat'\r\nfp解析:要向文件bi.dat中寫數(shù)據(jù),所以要打開文件bi.dat。fp是指向文件bi.dat的指針,是將數(shù)據(jù)寫入fp指向的文件中去。

24.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動(dòng)覆蓋字符數(shù)組sp末尾的\'\\0\'。

25.m=fun(a4)+fun(b4)-fun(a+b3);m=fun(a,4)+fun(b,4)-fun(a+b,3);解析:函數(shù)fun(x,n)的作用是求xn,因此a4應(yīng)該調(diào)用函數(shù)fun(a,4),b4應(yīng)該調(diào)用函數(shù)fun(b,4),(a+b)3應(yīng)該調(diào)用函數(shù)fun(a+b,3),所以題目中的數(shù)學(xué)表達(dá)式,寫成C程序中的語(yǔ)句為m=fun(a,4)+fun(b,4)-fun(a+b,3)。

26.C

27.11解析:本題考查的是基本賦值運(yùn)算符和賦值表達(dá)式。a-=(b-5)等價(jià)于a=a-(b-5)=4,c=a=4;a%3=1,c=(a%3)+(b=1)=2,其中b的值被b=1確定為1。

28.2002Shangxian2002Shangxian解析:本題考核的知識(shí)點(diǎn)是結(jié)構(gòu)體類型的定義、賦初值以及字符串的比較。本題中首先定義一個(gè)結(jié)構(gòu)體類型STU,鎮(zhèn)結(jié)構(gòu)體由一個(gè)長(zhǎng)度為10的字符型數(shù)組、一個(gè)long型變量和一個(gè)float型變量組成。接著在主函數(shù)中用STU定義了4個(gè)結(jié)構(gòu)體變量a、b、c、d,并且給a、b、c賦初值,然后定義?一個(gè)結(jié)構(gòu)體指針p,并讓它指向變量d。然后讓將變量a的值賦給變量d,接著通過兩個(gè)if語(yǔ)句比較結(jié)構(gòu)體變量a、b、c的成員name大小。第一個(gè)訂語(yǔ)句將結(jié)構(gòu)體變量和結(jié)構(gòu)體變量中較小的那個(gè)賦值給結(jié)構(gòu)體變量d,第二個(gè)if語(yǔ)句將結(jié)構(gòu)體變量和結(jié)構(gòu)體變量較大的那個(gè)賦給結(jié)構(gòu)體變量d。比較通過函數(shù)strcmp實(shí)現(xiàn)。strcmp()函數(shù)有兩個(gè)參數(shù),分別為被比較的兩個(gè)字符串。如果第一個(gè)字符串大于第二個(gè)字符串返回值大于0,若第一個(gè)小于第二個(gè)返回值小于0,相等時(shí)返回值為0。字符串比較大小的標(biāo)準(zhǔn)是從第一個(gè)字符開始依次向右比較,遇到某一個(gè)字符大,該字符所在的字符串就是較大的字符串,如果遇到某一個(gè)字符小,該字符所在的字符串就是較小的字符串。程序中第一個(gè)if語(yǔ)句strcmp(,)>0為真,故將b的值賦給d;第二個(gè)if語(yǔ)句strcmp()>0為假,故不執(zhí)行后面的語(yǔ)句,最后d的值為b的值,因此輸出d.sn0和p->name的值為2002Shangxian

29.消息消息解析:對(duì)象之間進(jìn)行通信的構(gòu)造叫做消息,它請(qǐng)求對(duì)象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。

30.2

31.n/2n/2解析:刪除—個(gè)元素,平均移動(dòng)的元素個(gè)數(shù)為(n-1+n-2+…+0)/n=(n-1)/2;插入一個(gè)元素,平均移動(dòng)元素個(gè)數(shù)為(n+n-1+n-2+…+1)/n=(n+1)/2:所以總體平均移動(dòng)元素個(gè)數(shù)為n/2。

32.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。

33.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。

34.double或雙精度型double或雙精度型解析:C語(yǔ)言中,如果運(yùn)算符兩邊的數(shù)據(jù)類型不同,將進(jìn)行類型轉(zhuǎn)換,根據(jù)轉(zhuǎn)換規(guī)則,短整型轉(zhuǎn)為長(zhǎng)整型;整型轉(zhuǎn)換為實(shí)型。注意:數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)換。

35.交換排序交換排序解析:常見的排序方法有插入排序(包括簡(jiǎn)單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡(jiǎn)單選擇排序和堆排序等)。注意:常見的排序方法及其作用機(jī)制和區(qū)別。

36.*s-*t*s-*t解析:兩字符串大小比較必須從它們的首字符開始,在對(duì)應(yīng)字符相等情況下循環(huán),直至不相等結(jié)束。相等時(shí),若字符串已到了字符串的結(jié)束標(biāo)記符,則兩字符串相同,函數(shù)返回0值;如還有后繼字符,則準(zhǔn)備比較下一對(duì)字符。對(duì)應(yīng)字符不相同,循環(huán)結(jié)束。循環(huán)結(jié)束時(shí),就以兩個(gè)當(dāng)前字符的差返回。所以在空框處應(yīng)填入*s-*t,保證在e>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。

37.s%10*s1+t

38.c1!==''&&c2==''

39.55解析:此程序中,for循環(huán)語(yǔ)句后面直接跟了一個(gè)“;”,表明循環(huán)體為空。輸出語(yǔ)句不在for循環(huán)體內(nèi),所以在循環(huán)執(zhí)行完畢后才輸出s的值。s、i的初值分別為0和1,判斷循環(huán)條件,表達(dá)式“1<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為2和1,繼續(xù)判斷循環(huán)條件,表達(dá)式“2<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為3,再次判斷循環(huán)條件,表達(dá)式“3<3”不成立,循環(huán)結(jié)束。

40.C語(yǔ)言允許字符數(shù)據(jù)與整數(shù)進(jìn)行直接的算術(shù)運(yùn)算,故輸出大寫字母A開始的連續(xù)字符,可通過白加運(yùn)算ch++完成。三角形字符陣列第i行的字符個(gè)數(shù)為n-i+1,在每行結(jié)尾以回車字符‘\\n’換行。\r\n\r\n

41.A解析:C語(yǔ)言的常量分為整型常量、實(shí)型常量和字符型常量。本題中包含整型常量和實(shí)型常量。選項(xiàng)B)以0打頭,應(yīng)該屬于八進(jìn)制整數(shù),而八進(jìn)制整數(shù)只能用數(shù)字0~7表示,所以選項(xiàng)B)不合法;選項(xiàng)C)和D)從形式上看屬于實(shí)型常量,但對(duì)于指數(shù)形式的實(shí)型常量,e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù),所以選項(xiàng)C)和D)都不合法;選項(xiàng)A)屬于實(shí)型常量中正確的十進(jìn)制小數(shù)形式。

42.B解析:調(diào)用函數(shù)f()時(shí),將數(shù)組a的地址傳遞給了指針q,此時(shí)q指向的就是數(shù)組a的第一個(gè)元素a[0]。在5次循環(huán)過程中,q始終指向a[0],因此a[0]的值增加了5。最后的輸出結(jié)果為'6,2,3,4,5'。

43.A解析:F(a++,b++)的宏展開為:F(a++,b++)=(a++)*(b++)=a*b=3×4=12,因此printf函數(shù)的輸出結(jié)果是12。

44.B解析:這里考察完全二叉樹與滿二叉樹的定義及二叉樹的性質(zhì)。滿二叉樹指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹。完全二叉樹指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹。因此選項(xiàng)A是正確的,而選項(xiàng)B是錯(cuò)誤的。由定義可知,滿二叉樹肯定是完全二叉樹,而完全二叉樹一般不是滿二叉樹,因此選項(xiàng)C是正確的敘述。選項(xiàng)D即二叉樹性質(zhì)(5),也是正確的。

45.A解析:本題考查默認(rèn)函數(shù)的函數(shù)值的類型。在函數(shù)調(diào)用時(shí),盡管y的類型是float,x的類型是double,但是因?yàn)楹瘮?shù)定義時(shí)省去類型說(shuō)明,系統(tǒng)默認(rèn)函數(shù)值的類型為int型,所以計(jì)算后的y的類型是int型。

46.C本題中,首先將0賦給k,表達(dá)式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語(yǔ)句。解答本題的關(guān)鍵是掌握while語(yǔ)句。

47.C解析:數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序所共享。數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有“集成”、“共事”之特點(diǎn)。

48.A解析:本題考查邏輯運(yùn)算。根據(jù)運(yùn)算符的優(yōu)先級(jí)順序,選項(xiàng)A的值為“(!2==1)&&(!3==0)=0&&(!3==0)=0”,選項(xiàng)B的值為“(2>3)&&!4||1=0&&!4||1=0&&0||1=0||1=1”。選項(xiàng)C的值為“2&&3=1”。選項(xiàng)D的值為“2||(6)&&(2)=2||1=1”。所以只有選項(xiàng)A的值為0。注意:在進(jìn)行邏輯與運(yùn)算時(shí),若“&&”的左邊運(yùn)算結(jié)果已經(jīng)為0,則“&&”右邊的表達(dá)式將不再進(jìn)行計(jì)算,結(jié)果總為0;在進(jìn)行邏輯或運(yùn)算時(shí),若“||”的左邊運(yùn)算結(jié)果已經(jīng)為1,則“||”右邊的表達(dá)式也將不再進(jìn)行計(jì)算,結(jié)果總為1。

49.B解析:我們嚴(yán)格區(qū)分調(diào)試與測(cè)試,調(diào)試是已知有錯(cuò)誤而來(lái)找錯(cuò)誤,是被動(dòng)的;測(cè)試有很多種,比如未發(fā)現(xiàn)錯(cuò)誤但不能保證程序沒錯(cuò)而來(lái)找BUG,還比如我們運(yùn)行測(cè)試程序是否符合用戶的要求,是主動(dòng)的。所以答案是選項(xiàng)B。A、C、D都是具體的程序調(diào)試方法,而B是宏觀的程序測(cè)試方法。測(cè)試有單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試。比如我們?cè)谶M(jìn)行單元測(cè)試時(shí),發(fā)現(xiàn)程序有錯(cuò)誤,我們?cè)倏梢愿鶕?jù)A、C、D的方法來(lái)找錯(cuò)誤。

50.A解析:“<<”是C語(yǔ)言中規(guī)定的左移運(yùn)算符,例如,a=a<<2,是將a的二進(jìn)制數(shù)左移兩位,左移一位相當(dāng)于該數(shù)乘以2,左移兩位相當(dāng)于該數(shù)乘以2的2次方;“^”是異或運(yùn)算符,所以,c的二進(jìn)制值應(yīng)為00011011。

51.A解析:函數(shù)定義時(shí)如果數(shù)據(jù)類型默認(rèn),則默認(rèn)為int。函數(shù)中如果有“retum(表達(dá)式):”語(yǔ)句,表達(dá)式的類型可能與函數(shù)的類型不一致,但它并不能改變函數(shù)的類型,實(shí)際情況是把表達(dá)式轉(zhuǎn)換為函數(shù)值的類型作為返回值,因此本題的函數(shù)值類型是int。

52.C解析:本題考查的是逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的求解步驟是先求解表達(dá)式1,然后依次求解表達(dá)式2,直到表達(dá)式N的值。整個(gè)逗號(hào)表達(dá)式的值就是最后一個(gè)表達(dá)式N的值。表達(dá)式(x=3*y,x+6)中,x=15。表達(dá)式y(tǒng)=x-1=14。

53.A解析:選項(xiàng)A表示為讀/寫打開一個(gè)文本文件,符合題意;選項(xiàng)B表示為讀/寫建立一個(gè)新的文本文件;選項(xiàng)C表示為讀/寫打開一個(gè)二進(jìn)制文件:選項(xiàng)D表示為讀/寫建立一個(gè)新的二進(jìn)制文件。故應(yīng)該選擇A。

54.B解析:本題考查的知識(shí)點(diǎn)是條件表達(dá)式.條件運(yùn)算符?:是C語(yǔ)言中唯一的三目運(yùn)算符,它的規(guī)則是先計(jì)算左邊運(yùn)算分量,如果為“真”(非0),則返回中間運(yùn)算分量的值,否則返回右邊運(yùn)算分量的值。本題中因?yàn)閍<b為“真”,所以第1個(gè)條件表達(dá)式的值為b的值2,所以k=2。然后又因?yàn)閗>c為“假’,所以第2個(gè)表達(dá)式的值為k的值2。所以本題應(yīng)該選擇B。

55.A解析:“a>b?(b>c?1:0):0”的求解順序是:先判斷a>b是否為真,如果為真,則執(zhí)行b>c?1:0,如果b>c為真,則(b>c?1:0)的值為1,從而整個(gè)表達(dá)式返回1,否則整個(gè)表達(dá)式返回0;如果a仁b,則表達(dá)式返回0。因此功能等價(jià)的語(yǔ)句應(yīng)為if((a>b)&&(b>c)k=1;elsek=0;。

56.D解析:函數(shù)scanf的地址列表應(yīng)由變量的地址組成。選項(xiàng)A中雖然&p也為地址,但它是指針變量p的地址,該地址的存儲(chǔ)單元中只能存放地址值,不能存放整型數(shù)據(jù)。選項(xiàng)B中*p相當(dāng)于變量n,所以不能正確讀入數(shù)據(jù);選項(xiàng)C不正確,因?yàn)閚為變量名;選項(xiàng)D中p為指針變量,并且值為變量n的地址,所以選項(xiàng)D能夠正確讀入數(shù)據(jù)。D為所選。

57.D解析:電子郵件是利用Internet網(wǎng)傳送信件,不是檢索服務(wù),由于信件只發(fā)給收信人,所以不是公告信息,并不是一發(fā)信就必須要收信人立即接收,而是信件存放在郵箱中,收信人在需要的時(shí)候再取出。

58.C隊(duì)列是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表,選項(xiàng)A和選項(xiàng)B錯(cuò)誤。允許插入的一端稱為隊(duì)尾,允許刪除的一端稱為隊(duì)頭。在隊(duì)列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。所以,隊(duì)列又稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表,它體現(xiàn)了“先來(lái)先服務(wù)”的原則,選項(xiàng)C正確,選項(xiàng)D錯(cuò)誤。

59.A解析:a=14,b=15,第一個(gè)&&兩側(cè)均為非零值。c='A',表達(dá)式c<'B'的值為真即1,第二個(gè)&&兩側(cè)也均為非零值。表達(dá)式(a&&b)&&(c<'B')的值為1,賦值給變量x。

60.A解析:本題考查ifelse語(yǔ)句的使用。先判斷第1個(gè)if語(yǔ)句,因?yàn)閏=1>0,所以x=x+y=0+2=2。第1個(gè)if語(yǔ)句,因?yàn)閍=-5<0,所以進(jìn)入下列的復(fù)合語(yǔ)句。經(jīng)判斷發(fā)現(xiàn),復(fù)合語(yǔ)句中第2個(gè)if語(yǔ)句的條件均不滿足,不執(zhí)行任何語(yǔ)句退出,在這個(gè)過程中y和z的值沒有發(fā)生變化。

61.B因?yàn)橐婚g宿舍可以住多名學(xué)生即多名學(xué)生住在一間宿舍中,但,名學(xué)生只能住一間宿舍,所以實(shí)體宿舍和學(xué)生之間是一對(duì)多的關(guān)系,因此本題答案為B)。

62.A本題主要考查的知識(shí)點(diǎn)是:break和IContinue語(yǔ)句。break語(yǔ)句可以用于swhitCh或循環(huán)體內(nèi),作用是跳/出switCh或循環(huán)體。Continue語(yǔ)句只能用于循環(huán)體內(nèi),作用是結(jié)束當(dāng)前循環(huán),進(jìn)入下次循環(huán)。故本題中只有選項(xiàng)A)是正確的。

63.C解析:函數(shù)fun(intx,inty)的功能是返回兩個(gè)整型數(shù)據(jù)的和。在主函數(shù)中,變量a,b,c的初始值分別為1,2,3。因此逗號(hào)表達(dá)式“a++,b++,a+b”的值等于5,表達(dá)式c++的值為3,調(diào)用子函數(shù)的表達(dá)式為“fun(5,3);”,其返回值等8。所以變量sum的值等于8。

64.B本題是對(duì)基本知識(shí)點(diǎn)的理解,預(yù)處理命令行的位置沒有規(guī)定,只是習(xí)慣寫在起始位置而已,當(dāng)需要時(shí)才用#include<stdio.h>頭文件,預(yù)處理的作用就是實(shí)現(xiàn)宏定義和條件編譯。

65.D

\n本題主要考查帶參數(shù)的宏定義,過程如下:由于定義為define(x)x*x沒有括號(hào)優(yōu)先級(jí),所以:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。

\n

66.B

67.B

68.D

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

70.D邏輯或運(yùn)算符中只要有一個(gè)運(yùn)算量為真結(jié)果就是真,當(dāng)c>=2&&C<=6條件不成立時(shí)c的值肯定不是2、3、4…56所以C!=3,與C!=5均成立。所以D選項(xiàng)的結(jié)果一定為真。

71.B結(jié)構(gòu)體成員的引用;s[0].a=1,s[1].b=5,所以結(jié)果為6

72.C由題目的已知條件函數(shù)fun的定義形式voidfun(charch,floatx){…)可知第一個(gè)形參為字符型,所以A不符合,第二個(gè)形參為精度型,所以D不符合,函數(shù)fun定義為void型(無(wú)論返回值型),故其沒有返回值,所以選項(xiàng)B錯(cuò)誤。選項(xiàng)C的第一個(gè)實(shí)參的類型為字符型,第二個(gè)實(shí)參的類型為單精度型,與函數(shù)fun的形式參數(shù)的類型相符合,所以選項(xiàng)C為正確答案。

73.C

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

75.C可以將二維數(shù)組str看成是一個(gè)特殊的

76.D關(guān)系R與s經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。

77.D

78.B在C語(yǔ)名中規(guī)定進(jìn)行強(qiáng)制類型轉(zhuǎn)換的格式是:(類型名)變量名;并且給表達(dá)式賦值。

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

80.D81.\n\t(1)錯(cuò)誤:for(k=4;k<n;k++)

\n正確:for(k=4;k<=11;k++)

\n(2)錯(cuò)誤:s2=S;

\n正確:s2=s;)

\n【解析】題目中要求計(jì)算數(shù)列前n項(xiàng)的和,包括第n項(xiàng),因此“for(k=4;k<n;k++)”中的“k<n”應(yīng)改為“k<=n”;根據(jù)C語(yǔ)言的語(yǔ)法規(guī)則,for循環(huán)體中的多條語(yǔ)句必須在大括號(hào)“{”和“}”之間,因此,要在語(yǔ)句s2=s;后加上)。\n

82.

【解析】進(jìn)入fun()函數(shù),根據(jù)題中給出的求解步驟,首先y1初值為0.0;若y0-yl的絕對(duì)值大于0.000001就循環(huán)進(jìn)行迭代,即“y0-yl;yl-cos(yO);”,直到滿足題目中的要求,返回y1,即實(shí)根。本題考查了do-while用法。

2021年安徽省黃山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.在C++中,一個(gè)函數(shù)帶有參數(shù)說(shuō)明時(shí),則參數(shù)的默認(rèn)值應(yīng)該在()中給出。A.函數(shù)定義B.函數(shù)聲明C.函數(shù)定義或聲明D.函數(shù)調(diào)用

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

intf1(intx,inty){returnx>y?x:y;}

intf2(intx,inty){returnx>y?y:x;}

main()

{inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,B),f1(c,D));

f=f1(f2(a,B),f2(c,D));

g=a+b+C+d-e-f;

phntf("%d,%d,%d\n",e,f,g);

}

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

3.

4.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。

A.順序結(jié)構(gòu)B.GOT0跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)

5.命令“DIRA:*.*/W”的功能是()

A.寬行顯示A盤當(dāng)前目錄的所有文件

B.寬行顯示A盤所有目錄的所有文件

C.寬行顯示A盤的所有目錄

D.顯示A盤中的文件名,每滿一屏后停頓一下

6.若有說(shuō)明語(yǔ)句:charc='\72'則變量c()。

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

7.若變量已正確定義,要求程序段完成5!的計(jì)算,不能完成此操作的程序段是______。

A.for(i=1,p=1;i<=5;i++)p*=i;

B.for(i=1;i<=5;i++){p=1;p*=i;}

C.i=1;p=1;while(i<=5){p*=i;i++;}

D.i=1;p=1;do{p*=i;i++;}while(i<=5);

8.有以下程序

#include<stdio.h>

main()

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

if(x>y)

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

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

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

}

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

A.A.331

B.41

C.2

D.1

9.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

10.以下說(shuō)法錯(cuò)誤的是:()

A.全局變量就是在函數(shù)外定義的變量,因此又叫做外部變量

B.一個(gè)函數(shù)中既可以使用本函數(shù)中的局部變量,也可以使用全局變量

C.局部變量的定義和全局變量的定義的含義不同

D.如果在同一個(gè)源文件中,全局變量和局部變量同名,則在局部變量的作用范圍內(nèi),全局變量通常不起作用

11.以下是if語(yǔ)句的基本形式:

if(表達(dá)式.語(yǔ)句

其中“表達(dá)式”()。

A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式

12.下列程序的輸出的結(jié)果是()。main{doubled=3.2;intx,Y;x=1.2;v=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.07

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

B.intN=10;intx[N];

C.int:x[0.10];

D.intx[];.

14.設(shè)有定義:intx[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯(cuò)誤的是()。

A.x[0]可看做是由3個(gè)整型元素組成的一維數(shù)組

B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量

C.數(shù)組X包含6個(gè)元素

D.可以用語(yǔ)句x[o]=0;為數(shù)組所有元素賦初值0

15.軟件調(diào)試的目的是A.發(fā)現(xiàn)錯(cuò)誤B.改正錯(cuò)誤C.改善軟件的性能D.驗(yàn)證軟件的正確性

16.設(shè)x和y均為bool量,則x&&y為真的條件是()。

A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)

17.若有定義“intx=10;”,則表達(dá)式“x-=x+x”的值為()。

A.0B.-20C.-10D.10

18.對(duì)線性表進(jìn)行折半查找最方便的存儲(chǔ)結(jié)構(gòu)是()。

A.順序表B.有序順序表C.鏈表D.有序鏈表

19.一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是()。

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

20.有以下程序:

若運(yùn)行時(shí)輸入:246<;回車>;,則輸出結(jié)果為()。

A.204B.200C.240D.246

二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是【】。

main()

{charm;

m='B'+32;printf("%c\n",m);

22.一張3.5英寸軟盤大約能存儲(chǔ)140萬(wàn)個(gè)ASCⅡ字符,若存放漢字大約能存放【】個(gè)。

23.以下程序把從終端讀入的20個(gè)整數(shù)以二進(jìn)制方式寫到一個(gè)名為d.dat的新文件中,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

FILE*fp;

main()

{inti,j;

if((fp=fopen(【】,"wb"))==NULL)exit(0);

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

{scanf("%d",&j);fwrite(&j,sizeof(int),1,【】);}

fclose(fp);

}

24.下列語(yǔ)句的輸出結(jié)果是______。

chars[20]="aaaa",*sp=s;

puts(strcat(sp,"AAAAA"));

25.函數(shù)fun的功能是計(jì)算xn。

doublefun(doublex,intn)

{inti;doubley=1;

for(i=1;i<=n;i++)y=y*x;

returny;

}

主函數(shù)中已正確定義m、a、b變量并賦值,并調(diào)用fun函數(shù)計(jì)算:m=a4+b4-(a+b)3。實(shí)現(xiàn)這一計(jì)算的函數(shù)調(diào)用語(yǔ)句為【】。

26.以下程序的運(yùn)行結(jié)果是#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf(:Y=%d\t",Y)main(){inta=1,b=2,c=3,d=4,t;t:MAX(a+b,c+d);PRINT(t);}

27.若有定義:inta=4,b=5,c=6;然后順序執(zhí)行下列語(yǔ)句后,變量b中的值是()。c=(a-=(b-5));c=(a%3)+(b=1);

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

#include<string.h>

typedefstructstudent{

charname[10];

longsno;

floatscore;

}STU;

main()

{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90},

c={"Anhua",2003,95},d,*p-&d;

d=a;

if{strcmp(a.nalne,)>0)d=b;

if(strcmp(,)>0)d=c;

printf("%ld%s\n",d.sno,p>name};

}

29.在面向?qū)ο蠓椒ㄖ?,?duì)象之間進(jìn)行通信的構(gòu)造稱為()。

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

#defineDOUBLE(x,y)x/y

main()

{intx=4,y=2,t;

t=DOUBLE(x+y,x-y);

printf("%d",t);

}

31.對(duì)于長(zhǎng)度為n的順序存儲(chǔ)的線性表,當(dāng)隨機(jī)插入和刪除—個(gè)元素時(shí),需平均移動(dòng)元素的個(gè)數(shù)為【】。

32.數(shù)據(jù)流圖的類型有【】和事務(wù)型。

33.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。

34.若有以下定義:

chara;intb;

floatc;doubled;

則表達(dá)式a*b+d-c值的類型為【】。

35.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。

36.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>

my_cmp(char*s,char*t)

{while(*s==*t)

{if(*s=='\0')return0;

++s;++t;

}return【】;

}

37.以下程序的功能是:從低位開始取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。請(qǐng)?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);}

38.下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計(jì)有多少個(gè)單詞,單詞間用空格分隔。補(bǔ)充所缺語(yǔ)句。

#include<stdio.h>

main()

{charss[80],c1,c2='';

inti=0,num=0;

gets(s);

while(s[i]!='\0')

{c1=s[i];

if(i==0)c2='';

elsec2=s[i-1];

if(【】)num++;

i++;

}

printf("Thereare%dwords,\n",num);

}

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

main()

{ints,i;

for(s=0,i=1;i<3;i++,s+=i;

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

}

40.以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫字母A開始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:

ABCDE

FGHI

JKL

MN

O

請(qǐng)?zhí)羁胀瓿稍摮绦颉?/p>

main()

{inti,j,n;charch='A';

scanf("%d",&n);

if(n<11)

{for(i=1;i<=n;i++)

{for(j=1;j<n-i+1;j++)

{printf("%2c",ch);

[10];

}

[11];

}

三、1.選擇題(20題)41.以下選項(xiàng)中可作為C語(yǔ)言合法常量的是

A.-80B.-080C.-8e1.0D.-80.0e

42.有以下程序

voidf(int*q)

{inti=0;

for(;i<5;i++)(*q)++;

}

main()

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

f(a);

for(i=0;i<5;i++)printf("%d,",a[i]);

}

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

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

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

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

44.下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是______。A.A.除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值

B.可能缺少若干個(gè)左右葉子結(jié)點(diǎn)

C.完全二叉樹一般不是滿二叉樹

D.具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1

45.下列函數(shù)值的類型是()。fun(doublex){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

46.第

13

設(shè)有程序段

intk=10;

while(k=0)k=k-1;

則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無(wú)限循環(huán)C.循環(huán)體語(yǔ)句一次也不執(zhí)行D.循環(huán)體語(yǔ)句執(zhí)行一次

47.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是______。

A.數(shù)據(jù)庫(kù)是一個(gè)DBF文件B.數(shù)據(jù)庫(kù)是一個(gè)關(guān)系C.數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫(kù)是一組文件

48.設(shè)有定義:inta=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是()。

A.(!a==1)&&(!b==0)B.(a<B)&&!c||1C.a&&bD.a||(b+B)&&(c-A)

49.下列不屬于軟件調(diào)試技術(shù)的是______。A.強(qiáng)行排錯(cuò)法B.集成測(cè)試法C.回溯法D.原因排除法

50.設(shè)有以下語(yǔ)句:chara=3,b=6,c;c=ab<<2;則c的二進(jìn)制值是()。

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

51.以下函數(shù)值的類型是_______。fun(floatx){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

52.下面程序的運(yùn)行結(jié)果是()。y=5;x=14;y=((x=3*y,x+6),x-1);printf("x=%d,y=%d”,x,y);

A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27

53.若要用fopen函數(shù)打開一個(gè)文本文件,該文件要既能讀也能寫,則文件使用方式的字符串為()。

A.r+B.a+C.rb+D.'wb+"

54.有以下程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c:k;執(zhí)行該程序段后,k的值是______。A.3B.2C.1D.0

55.以下程序段中與語(yǔ)句k=a>b?(b>c?1:0):0;功能等價(jià)的是______。

A.if(a>B)&&(b>C))k=1;elsek=0;

B.if((a>B)||(b>C))k=1;elsek=0;

C.if(a<=B)k=0;elseif(b<=C)k=1;

D.if(a>B)k=1;elseif(b>C)k=1;elsek=0;

56.若說(shuō)明int*p,n;則通過語(yǔ)句scanf能夠正確讀入數(shù)據(jù)的程序段是

A.p=&n;scanf("%d",&p);

B.p=&n;scanf("%d",*p);

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

D.p=&n;scanf("%d",p);

57.電子郵件是()

A.網(wǎng)絡(luò)信息檢索服務(wù)

B.通過Web網(wǎng)頁(yè)發(fā)布的公告信息

C.通過網(wǎng)絡(luò)實(shí)時(shí)交互的信息傳遞方式

D.一種利用網(wǎng)絡(luò)交換信息的非交互式服務(wù)

58.下列關(guān)于隊(duì)列的敘述中正確的是______。A.在隊(duì)列中只能插入數(shù)據(jù)B.在隊(duì)列中只能刪除數(shù)據(jù)C.隊(duì)列是先進(jìn)先出的線性表D.隊(duì)列是先進(jìn)后出的線性表

59.有如下程序段:inta=14,b=15,x,charc='A';x=(a&&B)&&(c<'B');執(zhí)行該程序段后,x的值為()

A.1B.0C.FALSED.TRUE

60.下列程序的運(yùn)行結(jié)果是()。main(){inta=-5,b=1,c=1;intx=0,Y=2,z=0;if(c>0)x=x+y;if(a<=0){if(b>0)if(c<=0)y=x-y;}elseif(c>0)Y=x-y;elsez=y;printf("%d,%d,%d\n",x,y,z);}

A.2,2,0B.2,2,2C.0,2,0D.2,0,2

四、選擇題(20題)61.一間宿舍可住多名學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()。A.一對(duì)一B.一對(duì)多C.多對(duì)一D.多對(duì)多

62.以下敘述中正確的是()。A.A.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch’語(yǔ)句體內(nèi)

B.continue語(yǔ)句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同

D.break語(yǔ)句只能用于switch語(yǔ)句體中

63.

有下列程序:

fun(intX,inty){return(x+y);}

main

{inta=1,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

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

}

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

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

64.以下敘述中正確的是()。

A.預(yù)處理命令行必須位于C源程序的起始位置

B.在C語(yǔ)言中,預(yù)處理命令行都以“#”開頭

C.每個(gè)C程序必須在開頭包含預(yù)處理命令行:#include

D.C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能

65.

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

#include<stdio.h>

#defineS(X)X*X

voidmain

{inta=9,k=3,m=2;

a/=S(k+m)/S(k+m):

printf("%d",a);

}

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

66.

67.

68.

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

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

70.當(dāng)變量c的值不為2、4、6時(shí),值也為”真”的表達(dá)式是()。

A.(c>=2&&c<=6)&&(c%21=1)

B.(c==2)ll(e==4)II(C==6)

C.(C>=2&&c<=6)&&!(c%2)-

D.(c>=2&&c<=6)Il(c!=3)I|(C!=5)

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

structabc

{

inta,b,c;

}

main()

{

structabcs[2]={{1,2,3},{4,5,6}};

intt;

t=s[0].a+s[1].b;

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

}

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

72.設(shè)fun函數(shù)的定義形式為

voidfun(charch,floatx){…}

則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。A.A.fun("abc",3.0);B.t=fun('D'.16.5);

C.fun('65',2.8);

D.fun(32,32);

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

A.抽象

B.模塊化

C.自底向上

D.信息隱蔽

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

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

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

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

75.有以下程序:

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

A.9.One*World

B.9.One*Dream!

C.10.One*Dream!

D.10.One*World

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

由關(guān)系R和s通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。

A.并B.自然連接C.笛卡爾積D.交

77.

78.若變量a,b已正確定義,且b已正確賦值,則合法的語(yǔ)句是()。

A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);

79.設(shè)“intx=2,y=1;”,則表達(dá)式(!x||Y--)的值是()。

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

80.

五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng)為0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的和sum。n的值通過形參傳人。例如,當(dāng)n=20時(shí),程序的輸出結(jié)果應(yīng)為42762.000000。

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

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

doubleproc(intn)

{

doublesum,s0,s1,s2,s;

intk;

sum=1.0;

if(n<=2)

sum=0.0;

s0=0.0;

s1=0.0;

s2=1.0;

//****found****

for(k=4;k<n;k++)

}

{

s=s0+s1+s2;

sum+=S:

s0=s1;

s1=

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論