2021年廣東省汕頭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁(yè)
2021年廣東省汕頭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁(yè)
2021年廣東省汕頭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁(yè)
2021年廣東省汕頭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁(yè)
2021年廣東省汕頭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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ì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下面說(shuō)法正確的是()。A.A.一個(gè)C程序可以有多個(gè)主函數(shù)

B.一個(gè)C語(yǔ)言的函數(shù)中只允許有一對(duì)花括號(hào)

C.C程序的書(shū)寫(xiě)格式是自由的,一個(gè)語(yǔ)句可以寫(xiě)在一行上,也可以寫(xiě)在多行內(nèi)

D.在對(duì)C程序進(jìn)行編譯時(shí),可以發(fā)現(xiàn)注釋行中的拼寫(xiě)錯(cuò)誤

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

#include<stdio.h>

voiddelch(char*s)

{inti,j;

char*a;

a=s;

for(i=0,j=0;a[i]!=′\n′;i++)

if(a[i]>=′0′&&a[i]<=′9′)

{s[j]=a[i];j++;}

s[j]=′\0′;}

main()

{char*item="a34bc";

delch(item);

printf("\n%s",item);}

A.abcB.34C.a34D.a34bc

3.有以下程序:#include〈stdio.h〉voidfun(int*s){staticintj=0;do{s[j]=s[j]+s[j+1];}while(++j<2);}main(){inti.a(chǎn)[10]={1,2,3,4,5};for(i=1;i<3;i++)fun(a);for(i=0;i<5;i++)pfintf(“%d”,a[i]);printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。A.12345B.23445C.34756D.35745

4.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。

A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序的易讀性

5.有種數(shù)據(jù)結(jié)構(gòu)叫跳躍列表(SkipList),它是一種基于并聯(lián)的鏈表的隨機(jī)化數(shù)據(jù)結(jié)構(gòu),其效率可比擬于二叉查找樹(shù)(對(duì)于大于數(shù)操作需要O(logn)平均時(shí)間)。它是按層建造的。底層是一個(gè)普通的有序鏈表。每個(gè)更高層都充當(dāng)下面列表的“快速跑道”,這里在層i中的元素按概率l/p出現(xiàn)在層i+1中。平均起來(lái),每個(gè)元素都在p/(p-1)個(gè)列表中出現(xiàn),而最高層的元素(通常是在跳躍列表前段的一個(gè)特殊的頭元素)在O(logpn)個(gè)列表中出現(xiàn)。調(diào)節(jié)p的大小可以在內(nèi)存消耗和時(shí)間消耗上進(jìn)行折中。試分析在該數(shù)據(jù)結(jié)構(gòu)中查找一個(gè)元素的平均時(shí)間復(fù)雜度。

A.O(logn)B.O(n)C.O(n*logn)D.以上都不正確

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

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

7.以下函數(shù)調(diào)用語(yǔ)句中含有實(shí)參個(gè)數(shù)為().func((exp1,exp2),(exp3,exp4,exp5));

A.1個(gè)B.2個(gè)C.4個(gè)D.5個(gè)

8.程序運(yùn)行后的輸出結(jié)果是()。A.10B.30C.0D.64

9.數(shù)組A中,每個(gè)元素的長(zhǎng)度為3個(gè)字節(jié),行下標(biāo)i從1到8,列下標(biāo)j從1到10,從首地址SA開(kāi)始連續(xù)存放的存儲(chǔ)器內(nèi),該數(shù)組按行存放,元素A[5][8]的起始地址為()。

A.SA+141B.SA+180C.SA+222D.SA+225

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

main()

{inta,b,d=25;

a=d/10%9;

b=a&&(-1);

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

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

11.

12.字符串"alibaba"的二進(jìn)制哈夫曼編碼有多少位()

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

13.設(shè)ch是char型變量,值為'A',則表達(dá)式ch=(ch>='A'&&ch<='Z')?ch+32:ch的值是()。

A.ZB.aC.zD.A

14.有以下程序:#include<stdio.h>main(){inta=10,b=11;if(++a==b++) printf(“T”);else printf(“F”);printf(“a=%d,b=%d\n”,a,b);}程序運(yùn)行后的輸出結(jié)果是()。

A.Fa=11,b=11B.Fa=10,b=12C.Ta=10,b=11D.Ta=11,b=12

15.以下敘述中正確的是

A.語(yǔ)句inta[8]={0};是合法的

B.語(yǔ)句inta[]={0};是不合法的,遺漏了數(shù)組的大小

C.語(yǔ)句chara[2]={"A","BII};是合法的,定義了一個(gè)包含兩個(gè)字符的數(shù)組

D.語(yǔ)句chara[3];a="AB";是合法的,因?yàn)閿?shù)組有三個(gè)字符空間的容量,可以保存兩個(gè)字符

16.下列選項(xiàng)中,當(dāng)X為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。

A.x%2==0B.x/2C.x%2!=0D.x%2==1

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

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

18.下面關(guān)于圖的存儲(chǔ)的敘述中,哪一個(gè)是正確的。________

A.用相鄰矩陣法存儲(chǔ)圖,占用的存儲(chǔ)空間數(shù)只與圖中結(jié)點(diǎn)個(gè)數(shù)有關(guān),而與邊數(shù)無(wú)關(guān)

B.用相鄰矩陣法存儲(chǔ)圖,占用的存儲(chǔ)空間數(shù)只與圖中邊數(shù)有關(guān),而與結(jié)點(diǎn)個(gè)數(shù)無(wú)關(guān)

C.用鄰接表法存儲(chǔ)圖,占用的存儲(chǔ)空間數(shù)只與圖中結(jié)點(diǎn)個(gè)數(shù)有關(guān),而與邊數(shù)無(wú)關(guān)

D.用鄰接表法存儲(chǔ)圖,占用的存儲(chǔ)空間數(shù)只與圖中邊數(shù)有關(guān),而與結(jié)點(diǎn)個(gè)數(shù)無(wú)關(guān)

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

)。A.函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參

B.函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語(yǔ)句存在

C.若函數(shù)有返回值,必須通過(guò)r;mm語(yǔ)句返回

D.C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成

20.設(shè)有定義:charc[]=“Cc”;FILE*fp;且fp指向以“w”的方式成功打開(kāi)的文件,若要將c中的兩個(gè)字符寫(xiě)入文件,且每個(gè)字符占一行,則下面的選項(xiàng)中正確的是()。

A.fprintf(fp,“%c\n%c\n”,c[0],c[1]);

B.fprintf(fp,“%c\r\n%c\r\n”,c[0],c[1]);

C.fprintf(fp,“%c%c”,c[0],c[1]);

D.fprintf(fp,“%s\n”,c);

二、2.填空題(20題)21.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線(xiàn)性鏈表屬于【】。

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

main()

{

intx=0210;

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

}

23.數(shù)據(jù)庫(kù)恢復(fù)是將數(shù)據(jù)庫(kù)從______狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。

24.執(zhí)行下列語(yǔ)句段后,x的值是______。

int*p,x;

x=100;

p=&x;

x=*p+50;

25.數(shù)據(jù)庫(kù)系統(tǒng)階段的數(shù)據(jù)具有較高獨(dú)立性,數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和【】?jī)蓚€(gè)含義。

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

#include<stdio.h>

main()

{unionEXAMPLE

{struct

{intx;inty;}in;

inta;

intb;

}e;

e.a=1;e.b=2;

e.in.x=e.a*e.b;

e.in.y=e.a+e.b;

printf("%d,%d\n",e.in.x,e.in.y);

}

27.閱讀下面程序,則執(zhí)行后的輸出結(jié)果是【】。

#include"stdio.h"

main()

{intx,y,z;

x=1;y=2;z=3;

if(x>y)if(x>z)printf("%d",x);

elseprintf("%d",y);

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

28.在Windows環(huán)境下,可以將窗口最小化為【】。

29.若有以下程序段:

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

則執(zhí)行后,c3中的值是【】。

30.假設(shè)線(xiàn)性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為【】。

31.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“真”的C語(yǔ)言表達(dá)式是【】。

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

inta=5;

fun(intB)

{staticinta=10;

a+=b++;

printf("%d",A);

}

main()

{intc=20;

fun(C),

a+=C++;

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

}

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

#include<stdio.h>

main()

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

intx=0;

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

{x=sb(s,x);

printf("%d",x);}

printf("\n");}

sb(s1,y)

int*s1,y;

{staticinti1=3;

y=s1[i1];

i1--;

return(y);}

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

longfun5(intn)

(longs;

if((n==l)‖(n==2))

s=2;

else

s=n+fun5(n-1);

return(s);

}

main()

{longx;

x=fun5(4);

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

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

#include<stdio.h>

main()

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

a*=16+(b++)-(++c);

Printf("%d",a);

}

36.設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為【】。

37.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語(yǔ)句,變量b中的值是【】。

c=(a-=(b-5));

c=(a%11)+(b=3);

38.已有定義:double*p;,請(qǐng)寫(xiě)出完整的語(yǔ)句,利用malloc函數(shù)使p指向一個(gè)雙精度型的動(dòng)態(tài)存儲(chǔ)單元______。

39.以下函數(shù)用以求x的y次方。補(bǔ)足所缺語(yǔ)句。

Doublefun(doublex,inty)

{inti;doublez=1;

for(i=1;i【】;i++)

z=【】;

returnz;

}

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

#include<stdio.h>

main()

{intx=1,y=1,a=1,b=1;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:

a++;b++;break;

}

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

}

三、1.選擇題(20題)41.現(xiàn)有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};inti=0,j=5;printf("%d\n",*(&a[0][0]+2*i+j-2));}則程序的輸出結(jié)果為

A.21B.78C.23D.28

42.有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是______。

A.34B.42C.43D.33

43.C語(yǔ)言中規(guī)定,程序中各函數(shù)之間()

A.既允許直接遞歸調(diào)用,也允許間接遞歸調(diào)用

B.不允許直接遞歸調(diào)用,也不允許間接遞歸調(diào)用

C.允許直接遞歸調(diào)用,不允許間接遞歸調(diào)用

D.不允許直接遞歸調(diào)用,允許間接遞歸調(diào)用

44.請(qǐng)讀程序:#include<stdio.h>inta[]={2,4,6,8,};main(){inti;int*p=a;for(i=0;i<4;i++)a[i]=*p++;priatf("%d\n",a[2]);}上面程序的輸出結(jié)果是()。

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

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

#include"stdio.h"

main()

{inti,a=0,b=0;

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

{if(i%2==0)

{a++;

continue;}

b++;}

printf("a=%d,b=%d",a,b);}

A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5

46.設(shè)有如下關(guān)系表:

A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S

47.下面程序段的運(yùn)行結(jié)果是charstr[]="ABC",*p=str;printf("%d\n",*(p+3));

A.67B.0C.字符'C'的地址D.字符'C'

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

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

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

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

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

49.算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是_____。A.有窮性B.簡(jiǎn)潔性C.可行性D.確定性

50.以下不正確的定義語(yǔ)句是

A.doublex[5]={2.0,4.0,6.0,8.0,10.0};

B.inty[5]={0,1,3,5,7,9};

C.charc1[]={'1','2','3','4','5'};

D.charc2[]={'\x10','\xa','\x8'};

51.下列程序的輸出結(jié)果是()。main(){chara[7]"aO\OaO\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}

A.22B.76C.72D.62

52.若有以下定義和語(yǔ)句;inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;

A.p+=2,*(p++)B.p+=2,*++pC.p+=3,*p++D.p+=2,++*p

53.下述關(guān)于C語(yǔ)言文件的操作的結(jié)論中,正確的是______。

A.對(duì)文件操作必須先關(guān)閉文件

B.對(duì)文件操作必須先打開(kāi)文件

C.對(duì)文件操作順序無(wú)要求

D.對(duì)文件操作前必須先測(cè)文件是否存在,然后再打開(kāi)文件

54.在軟件設(shè)計(jì)中,不屬于過(guò)程設(shè)計(jì)工具的是()。

A.PDL(過(guò)程設(shè)計(jì)語(yǔ)言)B.PAD圖C.N-S圖D.DFD圖

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

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

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

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

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

56.下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是A.源程序要文檔化B.數(shù)據(jù)說(shuō)明的次序要規(guī)范化C.避免濫用goto語(yǔ)句D.模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚

57.若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對(duì)a數(shù)組元素不正確的引用是______。

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

58.下列是用戶(hù)自定義標(biāo)識(shí)符的是

A._w1B.3_xyC.intD.LINE-3

59.有以下程序

intf(intn)

{if(n==1)return1;

elsereturnf(n-1)+1;}

main()

{inti,j=0;

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

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

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

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

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

A.EOFB.-1C.1D.NULL

四、選擇題(20題)61.

62.對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是

A.程序應(yīng)簡(jiǎn)單、清晰、可讀性好B.符號(hào)名的命名只需符合語(yǔ)法

C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無(wú)

63.

有如下程序:

#include<stdio.h>

main

{FILE*fp1;

fp1=fopen("f1.txt","w");

fprintf(fp1,"abe");

fclose(fp1);

}

若文本文件f1.txt中原有內(nèi)容為:good。則運(yùn)行以上程序后文件f1.txt中的內(nèi)容為()。

A.goodabcB.abcdC.abcD.abcgood

64.下列敘述中正確的是()。A.A.只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句B.cotinue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行

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

D.從多層循環(huán)嵌套中退出時(shí),只能使用got0語(yǔ)句

65.

66.在面向?qū)ο蠓椒ㄖ校粚儆凇皩?duì)象”基本特點(diǎn)的是A.一致性B.分類(lèi)性C.多態(tài)性D.標(biāo)識(shí)唯一性

67.若有說(shuō)明“chars1[30]="abc",s2[]="defghi";",則在使用函數(shù)stoat(s1,s2)后,結(jié)果是()。

A.s1的內(nèi)容更新為abcdefghi

B.s1的內(nèi)容更新為defghi\0

C.s1的內(nèi)容更新勾defghiabc\0

D.s1的內(nèi)容更新為abcdefghi\0

68.

s1和s2已正確定義并分別指向兩個(gè)字符串。若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語(yǔ)句s;則以下選項(xiàng)中正確的是()。

A.if(s1>s2)S;

B.if(strcmp(s1,s2))S;

C.if(strcmp(s2,sl)>O)S;

D.if(stremp(s1,s2)>O)S;

69.有以下計(jì)算公式

70.

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

A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系

B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)

C.一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式

D.一個(gè)關(guān)系可以包括多個(gè)二維表

72.若已定義inta=25,b=14,c=19;以下三目運(yùn)算符(?:)所構(gòu)成的語(yǔ)句執(zhí)行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);程序輸出的結(jié)果是

A.***a=25,b=13,c=19B.***a=26,b=14,c=19

C.###a=25,b=13,c=19D.###a=26,b=14,c=19

73.針對(duì)簡(jiǎn)單程序設(shè)計(jì),以下敘述的實(shí)施步驟順序正確的是()。

A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔

B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔

C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試

D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔

74.設(shè)fun函數(shù)的定義形式為voidfun(charch,floatx){…}則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。

A.fun("abc",3.0);

B.t=fun(D.16.5);

C.fun(65,2.8);

D.fun(32,32);

75.

76.有以下程序(注:字符a的ASCIl碼值為97)}程序運(yùn)行后的輸出結(jié)果是()。

A.789B.abcC.7890D.979899

77.34.有以下程序

#include<stdio.h>

unionpw

{inti;

charch[2];

}a;

main()

{a.ch[0]=13;a.ch[1]=0;

printf("%d\n",a.i);

}

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

A.13B.14

C.0D.20

78.下面描述中錯(cuò)誤的是()。

A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)

B.軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過(guò)程

C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一

D.PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具

79.

80.

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

六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組stu中,請(qǐng)編寫(xiě)函數(shù)proc,其功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#defineMl6typedefstruct{charnum[l0];intS;}STREC:voidproc(STRECa[]){inti,j;STRECt;for(i=1;i<M;i++)/*用冒泡法來(lái)按從高到低排序*/for(j=0;j<M-1;j++)。if(a[j].s<a[j+1].s)//*按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前*/{t=a[j];a[j]=a[j+1];a[j+1]=t;)}voidmain{STRECstu[M]={{"GA005",85),{"GA003",76},{"GA002",69},{"GA004",85),{"GA001",91),{"GA007",72),{"GA008",64),{"GA006",87),{"GA015",85),{"GA013",91),{"GA012",64),{¨GA014",91),{"GA011",66),{"GA017",64},{"GA018",64),{"GA016",72}};inti;proc(stu);printf("Thedataaftersorted:\n");for(i=0;i<M;i++){if(i%4==0)//每行輸出4個(gè)學(xué)生記錄printf("n");printf("%s%4d",stu[i],num,stu[i].s);}printf("\n");}

參考答案

1.C解析:本題涉及C語(yǔ)言基本的3個(gè)知識(shí)點(diǎn):①C語(yǔ)言規(guī)定一個(gè)程序只允許有一個(gè)主函數(shù),一個(gè)函數(shù)內(nèi)可以允許有多個(gè)花括號(hào);②C程序的注釋部分僅僅是方便程序員閱讀,提高程序的可讀性和可移植性,它并不參與程序的編譯,所以編譯器也就不會(huì)發(fā)現(xiàn)注釋中的錯(cuò)誤。

2.B解析:考查用指針引用字符串元素的方法。指針a通過(guò)數(shù)組元素下標(biāo)來(lái)從頭逐個(gè)地引用字符串item中的字符,判斷不是0~9之間的數(shù)字時(shí),就去掉這個(gè)字符,所以程序結(jié)束后,字符串item中就只剩下和兩個(gè)字符了。

3.D本題考查靜態(tài)變量,靜態(tài)變量有儲(chǔ)存已經(jīng)操作過(guò)的值,所以fun(a)s[O]=3,s[1]=5,s[2]=7,所以答案選擇D。

4.D解析:程序不僅是編寫(xiě)完就結(jié)束了,為了測(cè)試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,即程序的易讀性,“清晰第一,效率第二”。

5.A

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

7.B

8.D[解析]本題目中靜態(tài)局部變量x,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。所以第一次循環(huán)s的值為2.第二次循環(huán)中,返回的x的值為4.所以s的值為8.第三次循環(huán),返回的x的值為8.所以s的值為64.

9.C

10.B解析:算術(shù)運(yùn)行符“/”、“%”的優(yōu)先級(jí)處于同一級(jí),并且兩者的結(jié)合性都是從左到右。所以算術(shù)表達(dá)式運(yùn)算過(guò)程為:a=25/10%9=2%9=2:當(dāng)邏輯運(yùn)算符“&&”兩邊的值都是非零時(shí),邏輯表達(dá)式的值才為真(即為1)。所以b=2&&(-1)=1。

11.A

12.C

13.B

14.D自增運(yùn)算符是將運(yùn)算對(duì)象的值增1,它有前綴形式“++a”和后綴形式“b++”。其中“++a”表示首先將a的值自增1,然后表達(dá)式“++a”的值就是自增后a的值;而“b++”表示首先將b的值作為表達(dá)式的值,然后再將b的值自增1。本題中,a的初值為10,b的初值為11,則表達(dá)式“++a==b++”,等價(jià)于“11==11”,條件為真,所以輸出“T”。if語(yǔ)句執(zhí)行完后,a的值為11,b的值為12,輸出“a=11,b=12”。故本題答案為D選項(xiàng)。

15.AB選項(xiàng)中,如給全部元素賦值,則在數(shù)組說(shuō)明中,可以不給出數(shù)組元素的個(gè)數(shù);C選項(xiàng)中,chara[2]={"","B"};不合法,應(yīng)為chara[2]={′A′,′B′};;D選項(xiàng)中,字符數(shù)組只能在定義的時(shí)候可以用字符串常量來(lái)初始化,但不能夠先定義字符數(shù)組,然后再用字符串常量進(jìn)行賦值。因此A選項(xiàng)正確。

16.A算術(shù)運(yùn)算符的優(yōu)先級(jí)高于關(guān)系運(yùn)算符的優(yōu)先級(jí)。所以當(dāng)x為大于1的奇數(shù)時(shí),A選項(xiàng)的值為假,即0。B選項(xiàng)的值為不定值,但絕對(duì)不是0。C選項(xiàng)的值為真,即1。0選項(xiàng)的值為真,即1。故本題答案為A選項(xiàng)。

17.A解析:作為一個(gè)算法,一般應(yīng)該具有下列4個(gè)特征:(1)可行性,即考慮到實(shí)際的條件能夠達(dá)到一個(gè)滿(mǎn)意的結(jié)果;(2)確定性,算法中的每一個(gè)步驟都必須是有明確定義的,(3)有窮性,一個(gè)算法必須在有限的時(shí)間內(nèi)做完;(4)擁有足夠的情報(bào)。

18.A

19.A函數(shù)參數(shù)傳遞是個(gè)不可逆的過(guò)程,形參不會(huì)把值傳回實(shí)參,所以A)選項(xiàng)(24)[答案]A)[解析]c的值為a乘以b的值,為3。所以答案選擇A)。

20.A要寫(xiě)入字符數(shù)據(jù),需要使用格式字符%c,選項(xiàng)D錯(cuò)誤;換行符需要使用‘\\n’,而不是‘\\r\\n’,選項(xiàng)B錯(cuò)誤;選項(xiàng)C中未使用換行符,不滿(mǎn)足題意。故本題答案為A選項(xiàng)。

21.存儲(chǔ)結(jié)構(gòu)

22.8888解析:C語(yǔ)言規(guī)定,以0開(kāi)頭的整型常量為八進(jìn)制。另外,在primf()函數(shù)中,%X表示以十六進(jìn)制無(wú)符號(hào)形式輸出一個(gè)整數(shù),且十六進(jìn)制中的ABCDEF為大寫(xiě)字母。本題的輸出應(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

23.錯(cuò)誤。錯(cuò)誤。解析:數(shù)據(jù)庫(kù)恢復(fù)是將數(shù)據(jù)庫(kù)中的數(shù)據(jù)從錯(cuò)誤狀態(tài)中恢復(fù)到某種邏輯一致的狀態(tài)。如果數(shù)據(jù)庫(kù)中包含成功事務(wù)提交的結(jié)果,則稱(chēng)數(shù)據(jù)庫(kù)處于一致性狀態(tài)。

24.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內(nèi)容,即100,所以x=100+50=150。

25.邏輯獨(dú)立性邏輯獨(dú)立性解析:數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴(lài)性,即數(shù)據(jù)庫(kù)中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴(lài)于應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性?xún)蓚€(gè)含義。注意:在人工管理階段,文件系統(tǒng)階段和數(shù)據(jù)庫(kù)管理階段中數(shù)據(jù)獨(dú)立性的特點(diǎn)。

26.484,8解析:C語(yǔ)言規(guī)定,共用體中各個(gè)成員變量在內(nèi)存中占用同一段內(nèi)存單元,即e.in.x、e.a、e.b占用同一段內(nèi)存單元。執(zhí)行語(yǔ)句e.b=2;后,e.in.x=e.a=e.b=2;執(zhí)行語(yǔ)句e.in.x=e.a*e.b;時(shí),e.a的值為2,e.b的值為2,所以運(yùn)算得出e.in.x的值為4;執(zhí)行語(yǔ)句e.in.y=e.a+e.b時(shí),由于e.in.x和e.a、e.b占用的是同一段內(nèi)存單元,所以此時(shí)的e.a、e.b的值為4,因此運(yùn)算得出e.in.y的值為4+4=8。程序最后的輸出結(jié)果為4,8。

27.33解析:C語(yǔ)言的語(yǔ)法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合。因?yàn)閤不大于y,所以執(zhí)行printf('%d\\n',z);語(yǔ)句。

28.圖標(biāo)或按鈕圖標(biāo)或按鈕

29.00解析:在賦值運(yùn)算中。如果表達(dá)式中變量和常量的數(shù)據(jù)類(lèi)型不一致就會(huì)自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換。系統(tǒng)會(huì)計(jì)算1.0/c2,由于1.0是實(shí)型,所以均先轉(zhuǎn)化為雙精度型0.500000,再和c1轉(zhuǎn)化后的雙精度數(shù)相乘得0.500000。但其要賦值給整型變量c3,故要進(jìn)行強(qiáng)制轉(zhuǎn)換,c3的值為0。

30.n(n-1)/2

31.x>5||x<-5或abs(x)>5x>5||x<-5或abs(x)>5解析:要使整數(shù)x的絕對(duì)值大于5,則x大于5或x小于-5,用C語(yǔ)言表示即為:x>5||x<-5或者abs(x)>5。

32.30253025解析:本題考核的知識(shí)點(diǎn)是變量的存儲(chǔ)屬性和算術(shù)運(yùn)算的應(yīng)用。本題涉及了自動(dòng)變量、靜態(tài)變量和外部變量。外部變量是定義在所有函數(shù)之外的變量,本題中inta=5定義了一個(gè)外部變量a,它是一個(gè)全局變量,即作用域是從定義的位置開(kāi)始到本文件的結(jié)束;靜態(tài)變量的存儲(chǔ)空間在程序的整個(gè)運(yùn)行期間是固定的(static),本題函數(shù)fun()中staticinta=10定義個(gè)一個(gè)靜態(tài)變量a,此靜態(tài)變量a是個(gè)靜態(tài)的局部變量,即它的值只能在本函數(shù)中使用;自動(dòng)變量是C程序中使用最多的一種變量,它的建立和撤消都是由系統(tǒng)在程序執(zhí)行過(guò)程中自動(dòng)進(jìn)行的,auto是自動(dòng)變量的存儲(chǔ)類(lèi)別標(biāo)識(shí)符,如果省略auto,系統(tǒng)隱含認(rèn)為此變量為auto,本題中main()中intc=20定義了一個(gè)自動(dòng)變量c,此自動(dòng)變量c是個(gè)靜態(tài)的局部變量.算術(shù)運(yùn)算中a+=b++相當(dāng)于a=a+b,b=b+1.所以,在第一個(gè)ptine('%d',a)中a=a+b=10+20=30,第二個(gè)printf('%d',a)中a=a+c=5+20=25,即輸出3025。

33.43214321解析:靜態(tài)存儲(chǔ)類(lèi)的局部變量其生存期為整個(gè)程序的運(yùn)行期間,作用域卻只是定義它的函數(shù)或局部范圍。注意:局部變量和全局變量的作用域。

34.99解析:考查ifelse語(yǔ)句,n==4不滿(mǎn)足條件,所以fun5(4)=4+fun5(3),n==3也不滿(mǎn)足條件,fun5(3)=3+fun5(2),n==2滿(mǎn)足條件fun5(2)=2,故x=4+3+2=9。

35.2828解析:a*=16+(b++)-(++c)等價(jià)于a=a*(16+(b++)-(++c)),b++的值為3,++c的值為5,這里要注意前綴++和后綴++的用法。

36.33解析:本題考查的是C語(yǔ)言逗號(hào)表達(dá)式的相關(guān)知識(shí)。程序在計(jì)算逗號(hào)表達(dá)式時(shí),從左到右計(jì)算由逗號(hào)分隔各表達(dá)式的值,整個(gè)逗號(hào)表達(dá)式的值等于其中最后一個(gè)表達(dá)式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計(jì)算為3。

37.33解析:這里:b-5=4,a-=4之后a的值為6,并把它賦給c。此時(shí)b的值并未被改變。在第2個(gè)表達(dá)式中,也只有賦值表達(dá)式b=3改變了b的值。所以?xún)尚姓Z(yǔ)句執(zhí)行完畢,b的值應(yīng)該為3。

38.p=(double*)malloc(sizeof(double)):或p=(double*)malloc(8);p=(double*)malloc(sizeof(double)):或p=(double*)malloc(8);解析:malloc()函數(shù)只有一個(gè)參數(shù),該參數(shù)指定了需要分配多少字節(jié)的內(nèi)存。然后將分配好的內(nèi)存塊的首地址作為void*(未知類(lèi)型指針)返回.故標(biāo)準(zhǔn)的調(diào)用形式應(yīng)該寫(xiě)成:

p(double*)malloc(sizeof(double));

39.<y+1z*x

40.a=2b=3a=2,b=3解析:分析程序,程序從x=1語(yǔ)句開(kāi)始執(zhí)行,之后執(zhí)行第一個(gè)switch語(yǔ)句,switch(x)=switch(1),所以執(zhí)行case1,case1語(yǔ)句中包含一個(gè)復(fù)合switch語(yǔ)句:這時(shí)執(zhí)行第二個(gè)switch語(yǔ)句,此時(shí)y=1,所以switch(y)=switch(1),因此執(zhí)行case1,將b加1,得到b=2,遇到break語(yǔ)句,退出第二個(gè)switch語(yǔ)句,則整個(gè)case1的復(fù)合語(yǔ)句執(zhí)行完畢,由于在這個(gè)case1的后面沒(méi)有break語(yǔ)句使其退出第一個(gè)switch語(yǔ)句,所以接著執(zhí)行下列的case2后面的語(yǔ)句,即將a,b各加1,得到a=2,b=3。

41.A解析:通過(guò)地址來(lái)引用二維數(shù)組,若有以下定義:inta[3][4],i,j;且當(dāng)0≤i≤3,0≤j<4則可以有以下幾種方式來(lái)引用數(shù)組中的第i行,第j列的元素:\ue008a[i][j]\ue009,\ue008*(a[i]+j),\ue009*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。表達(dá)式&a[0][0]+2*i+j-2相當(dāng)于是地址&a[0][0]加上多少偏移量。

42.D解析:逗號(hào)表達(dá)式(++x,y++)的值應(yīng)該是y++的值,由于y++是先引用后自增,所以y++的值是3。

43.A解析:本題考查函數(shù)調(diào)用的基本概念。在函數(shù)調(diào)用時(shí),只要符合函數(shù)的使用,程序中的各個(gè)函數(shù)間既可以直接調(diào)用其他函數(shù),也可以遞歸調(diào)用其自身。

44.A解析:本題考查通過(guò)指針引用數(shù)組元素。程序通過(guò)a[i]=*p++;語(yǔ)句,循環(huán)地將2賦給a[0],4賦給a[1],6賦給a[2],8賦給a[3],所以輸出結(jié)果為6。

45.B解析:continue語(yǔ)句的作用是跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)條件的判定。當(dāng)能被2整除時(shí),a就會(huì)增1,之后執(zhí)行continue語(yǔ)句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進(jìn)行i++,判斷循環(huán)條件。

46.B解析:仔細(xì)觀察3個(gè)表可以看到,R,S,T具有相同的關(guān)系模式,且T包含了R和S的所有元組,故T=R∪S。

47.B解析:考查指向字符串的指針變量。在該題中,指針變量p指向的應(yīng)該是該字符串中的首地址,p+3指向的是字符串結(jié)束標(biāo)志'\\0'的地址,因而。(p+3)的值為0。

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

49.B解析:一個(gè)算法應(yīng)當(dāng)具有以下5個(gè)特性:有窮性;確定性;可行性;有零個(gè)或多個(gè)輸入;由一個(gè)或多個(gè)輸出.簡(jiǎn)潔性不屬于這5個(gè)特性,所以本題應(yīng)該選擇B。

50.B解析:在一維數(shù)組中要注意的是作為下標(biāo)表達(dá)式的常量表達(dá)式的值必須是大于等于0,選項(xiàng)B)中定義有5個(gè)元素,但賦值時(shí)有6個(gè)元素,所以是錯(cuò)誤的。

51.C解析:函數(shù)sizeof(a)的功能:求出字符串a(chǎn)中的字符占用存儲(chǔ)空間的大小,由于字符數(shù)組a有長(zhǎng)度為7,所以i=7;函數(shù)strlen(a)的功能:求出字符串a(chǎn)的長(zhǎng)度。而每個(gè)字符串都以'\\0'為字符串的結(jié)束標(biāo)記,所以j的值等于2。

52.A解析:引用一個(gè)數(shù)組元素,可以用:(1)下標(biāo)法,如a[i]形式;(2)指針?lè)?,?(a+i)或*(p+i)。數(shù)組的下標(biāo)從0開(kāi)始,值為3的數(shù)組元素是a[2]。B、C的內(nèi)容為a[3],D將a[2]前自加,結(jié)果為4。

53.B解析:在C中對(duì)文件操作必須先打開(kāi)文件,待文件操作完畢后要關(guān)閉文件。對(duì)文件以讀的方式進(jìn)行打開(kāi)操作時(shí),同時(shí)會(huì)執(zhí)行文件的檢查文件是否存在,不存在將會(huì)返回空的文件指針,如果對(duì)文件以寫(xiě)的方式打開(kāi)時(shí),文件不存在,將會(huì)自動(dòng)創(chuàng)建文件,因此在C中打開(kāi)文件前不必對(duì)其檢查文件是否存在,故答案為B。

54.D解析:PDL一種設(shè)計(jì)性語(yǔ)言,用于書(shū)寫(xiě)軟件設(shè)計(jì)規(guī)約。它是軟件設(shè)計(jì)中廣泛使用的語(yǔ)言之一。N-S圖是無(wú)線(xiàn)的流程圖,是算法描述工具;PAD圖是問(wèn)題分析圖,它用二維樹(shù)狀結(jié)構(gòu)的圖表示程序的控制流,將這種圖轉(zhuǎn)換為程序代碼比較容易。此3類(lèi)均是過(guò)程設(shè)計(jì)工具,數(shù)據(jù)流圖(DataFunctionDiagram):又名數(shù)據(jù)功能圖表,簡(jiǎn)稱(chēng)DFD,是采用圖形方式來(lái)表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過(guò)程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。

55.B解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎ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。

56.D解析:編程風(fēng)格是在不影響性能的前提下,有效地編排和組織程序,以提高可讀性和可維護(hù)性。更直接地說(shuō),風(fēng)格就是意味著要按照規(guī)則進(jìn)行編程。這些規(guī)則包括:(1)程序文檔化。就是程序文檔包含恰當(dāng)?shù)臉?biāo)識(shí)符、適當(dāng)?shù)淖⒔夂统绦虻囊曈X(jué)組織等。(2)數(shù)據(jù)說(shuō)明。出于閱讀理解和維護(hù)的需要,最好使模塊前的說(shuō)明語(yǔ)句次序規(guī)范化。此外,為方便查找,在每個(gè)說(shuō)明語(yǔ)句的說(shuō)明符后,數(shù)據(jù)名應(yīng)按照字典順序排列。(3)功能模塊化。即把源程序代碼按照功能劃分為低耦合、高內(nèi)聚的模塊。(4)注意goto語(yǔ)句的使用。合理使用goto語(yǔ)句可以提高代碼的運(yùn)行效率,但goto語(yǔ)句的使用會(huì)破壞程序的結(jié)構(gòu)特性。因此,除非確實(shí)需要,否則最好不使用goto語(yǔ)句。因此,本題的正確答案是D。

57.D解析:通常,引用一個(gè)數(shù)組元素可以用下標(biāo)法,如a[P-a]形式,或指針?lè)?,?(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開(kāi)始的。

58.A本題主要考查標(biāo)識(shí)符的定義。對(duì)標(biāo)識(shí)符的定義是考試中??嫉膬?nèi)容之一。標(biāo)識(shí)符主要由數(shù)字、下畫(huà)線(xiàn)和字母組成,其中數(shù)字不能放在首位,另外,用戶(hù)自定義標(biāo)識(shí)符時(shí),不能將標(biāo)識(shí)符定義為C語(yǔ)言中已定義的關(guān)鍵字,如int、while等。

根據(jù)上面對(duì)標(biāo)識(shí)符的分析,我們不難看出本題的正確答案是A。在選項(xiàng)B中,3_xy以數(shù)字開(kāi)頭,不符合標(biāo)識(shí)符定義的規(guī)定;在選項(xiàng)C中,int是C語(yǔ)言系統(tǒng)中已經(jīng)定義了的關(guān)鍵字;在選項(xiàng)D中,LINE-3使用的數(shù)字、下畫(huà)線(xiàn)和字母以外的字符,因此不正確。

59.B解析:在main函數(shù)中,對(duì)f(1)和f(2)的值進(jìn)行了累加。

f(1)=1

f(2)=f(1)+1=2

最后,j的值為1+2=3

60.C解析:EOF是指向文本文件的結(jié)束標(biāo)志,NULL是打開(kāi)文件錯(cuò)誤時(shí)的返回值。feof(fp)用來(lái)判斷文件是否在文件末尾,文本文件和二進(jìn)制文件均可以使用此函數(shù),如果遇到文件結(jié)束就返回1,否則返回0。

61.B

62.A具有良好的程序設(shè)計(jì)風(fēng)格是一個(gè)程序員必不可少的素質(zhì)。我們?cè)诰帉?xiě)程序時(shí)要養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣,對(duì)程序的要求不僅能夠在計(jì)算機(jī)上正確運(yùn)行,而且要便于閱讀和被別人理解,便于程序的調(diào)試和維護(hù)。好的程序設(shè)計(jì)風(fēng)格有助于提高程序的正確性、可讀性、可維護(hù)性和可用性。要使程序具有良好的風(fēng)格,必須做到以下幾點(diǎn):

(1)合理的標(biāo)識(shí)符的命名。由于一個(gè)程序中必然有很多標(biāo)識(shí)符,特別是在一個(gè)大型復(fù)雜的程序中,標(biāo)識(shí)符可能成千上萬(wàn),對(duì)標(biāo)識(shí)符作用的正確理解是讀懂程序的前提,如果程序員隨意命名標(biāo)識(shí)符,程序的可讀性會(huì)很差。因此,在命名標(biāo)識(shí)符時(shí)要注意其可理解性。

(2)在程序中添加一定的注釋。注釋是程序員與日后的程序讀者之間詢(xún)通的重要工具,它用自然語(yǔ)言或偽碼描述。它說(shuō)明了程序的功能,特別是在維護(hù)階段,對(duì)理解程序提供了明確指導(dǎo)。因此,一定的注釋是程序必不可少的組成部分。

(3)程序的編輯風(fēng)格。為了使程序的結(jié)構(gòu)一目了然,可以在程序中利用空格、空行、縮進(jìn)等技巧使程序?qū)哟吻逦?,便于?duì)程序的理解。

(4)語(yǔ)句的結(jié)構(gòu)。在結(jié)構(gòu)化程序設(shè)計(jì)中,單個(gè)語(yǔ)句結(jié)構(gòu)是編碼階段的任務(wù),語(yǔ)句結(jié)構(gòu)追求簡(jiǎn)單直接,不能為了追求效率而使代碼復(fù)雜化。

總之,程序應(yīng)簡(jiǎn)單、清晰、可讀性和可理解性好。

63.C

\n當(dāng)用“w”打開(kāi)時(shí),已存在一個(gè)以該文件名命名的文件,則在打開(kāi)時(shí)將該文件刪除,再重新建立一個(gè)新文件,因此當(dāng)輸入時(shí)原來(lái)的內(nèi)容已被覆蓋,所以只有后輸入的內(nèi)容,故選擇C選項(xiàng)。

\n

64.A本題考查循環(huán)跳出的知識(shí)點(diǎn):①break語(yǔ)句可以出現(xiàn)在switch循環(huán)體內(nèi)及語(yǔ)句體內(nèi),它的作用是跳出循環(huán)體,不能用于其他的語(yǔ)句;②continue語(yǔ)句的作用是結(jié)束本次循環(huán),即跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,而接著判定循環(huán)條件是否成立,確定下一次循環(huán)是否繼續(xù)執(zhí)行,執(zhí)行contiune語(yǔ)句不會(huì)使

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論