2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)
2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)
2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)
2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)
2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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)介

2022年吉林省長(zhǎng)春市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下面程序的輸出結(jié)果是()。

#include<stdio.h>

main()

{inta[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};

inti,j,n;

n=9;

i=n/5;

j=n-i*5-1;

printf("a[%d][%d]=%d\n",i,j,a[i][j]);

}

執(zhí)行后輸出結(jié)果是()。A.A.a[1][3]=6

B.a[1][3]=-3

C.a[1][3]=2

D.不確定

2.計(jì)算機(jī)算法必須具備輸入、輸出和()等5個(gè)特性。

A.可行性、可移植性和可擴(kuò)充性B.可行性、確定性和有窮性C.確定性、有窮性和穩(wěn)定性D.易讀性、穩(wěn)定性和安全性

3.若有定義和語(yǔ)句:inta,b;scanf("%d,%d",&a,&b);以下選項(xiàng)中的輸人數(shù)據(jù),不能把值3賦給變量a、5賦給變量b的是()。A.3,5,B.3,5,4C.3,5D.3,5

4.有以下語(yǔ)句:intb;charc[10];,則正確的輸入語(yǔ)句是______。

A.scanf("%d%s",&b,&c);

B.scanf("%d%s",&b,c);

C.scanf("%d%s",b,c);

D.scanf("%d%s",b,&c);

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

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

6.

A.A.2A3N4E5OB.1H213U4EC.1A2N3U4OD.1A2N3E4O

7.有以下程序:main{inti,j;for(j=10;j<11;j++){for(i=9;i<j;i++)if(!(j%i))break;if(i==j-1)printf("%d",j);}}輸出結(jié)果是()。A.11B.10C.9D.1011

8.

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

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

10.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un));}

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

11.算法的空間復(fù)雜度是指()。

A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間

B.算法所處理的數(shù)據(jù)量

C.算法程序中的語(yǔ)句或指令條數(shù)

D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)

12.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。

A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||113.以下敘述中正確的是_____。A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作

B.用C程序?qū)崿F(xiàn)的算法可以沒(méi)有輸出但必須要輸入

C.用C程序?qū)崿F(xiàn)的算法可以沒(méi)有輸入但必須要有輸出

D.用C程序?qū)崿F(xiàn)的算法可以既沒(méi)有輸入也沒(méi)有輸出

14.設(shè)有說(shuō)明:charw;intx;f1oaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為()。

A.floatB.charC.intD.double

15.以下選項(xiàng)中,非法的字符常量是______。

A.'\t'B.'\17'C.\nD.'\xaa'

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

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

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

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

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

17.有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。

A.24B.28C.32D.36

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

A.C語(yǔ)言編譯系統(tǒng)對(duì)標(biāo)識(shí)符的長(zhǎng)度沒(méi)有規(guī)定

B.C語(yǔ)言標(biāo)識(shí)符的規(guī)定長(zhǎng)度因系統(tǒng)而異

C.C語(yǔ)言規(guī)定標(biāo)識(shí)符長(zhǎng)度最多允許16個(gè)字符,超長(zhǎng)報(bào)錯(cuò)

D.C語(yǔ)言規(guī)定以下劃線開(kāi)頭的標(biāo)識(shí)符長(zhǎng)度必須大于1

19.在如下結(jié)構(gòu)定義中,不正確的是()。A.

B.

C.

D.

20.設(shè)有如下定義和語(yǔ)句:FILE*fp;intdata[10],i,n;fp=fopen(“abc.txt”,“r”);文本文件abc.txt中的數(shù)據(jù)為58192765190,其中第1個(gè)數(shù)據(jù)代表的是它后面數(shù)據(jù)的個(gè)數(shù)。若文件已正確打開(kāi),則以下程序段中能將文件的最后5個(gè)數(shù)據(jù)依次正確讀入數(shù)組data[0]~data[4]中的是()。

A.fscanf(fp,“%d”,&n);for(i=0;i<n;i++)fscanf(fp,“%d”,&data[i]);

B.i=0;while(!feof(fp)){fscanf(fp,“%d”,&data[i]);i++;}

C.for(i=0;!feof(fp);i++)fscanf(fp,“%d”,&data[i]);

D.i=0;fscanf(fp,“%d”,&n);i++;while(!feof(fp)){fscanf(fp,“%d”,&data[i]);i++;}

二、2.填空題(20題)21.有以下程序:

#include<stdio.h>

main()

{intn=0,m=1,x=2;

if(!n)x-=1;

if(m)x-=2;

if(x)x-=3;

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

}

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

22.若變量n中的值為24,則print函數(shù)共輸出【】行,最后一行有【】個(gè)數(shù)。

voidprint(intn,intaa[])

{inti;

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

{printf("%6d",aa[i]);

if(!(i%5))

printf("\n");

}

printf("\n");

}

23.定義inta=5,b;,則執(zhí)行表達(dá)式b=++a*--a之后,變量b的值為【】。

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

25.有以下程序:

main()

{intt=1,i=5;

for(;i>=0;i--)t*=i;

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

}

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

26.以下程序輸出的最后一個(gè)值是【】

intff(intn)

{staticintf=1;

f=f*n;

returnf;

}

main()

{inti;

for(i=1;i<=5;i++)printf("%d\n",ff(i));

}

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

main()

{unsignedshorta=65536;intb;

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

}

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

#include<stdio.h>

main()

{chars[20];

scanf("%s",s);

printf("%s",s);

}

運(yùn)行程序,輸入HOWAREYOU。

29.在面向?qū)ο蟪绦蛟O(shè)計(jì)中,從外面看只能看到對(duì)象有外部特征,而不知道也無(wú)須知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法,這稱為對(duì)象的______。

30.某二叉樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。

31.在C語(yǔ)言中,while和do…while循環(huán)的主要區(qū)別是______的循環(huán)至少被執(zhí)行一次。

32.棧中允許進(jìn)行插入和刪除的一端叫做______。

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

#definePOWER(x)((x)*(x))

main()

{inti=1;

printf("%d,%d",POWER(i++),i);

}

34.在程序設(shè)計(jì)階段應(yīng)該采取______和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,繼而用某種程序設(shè)計(jì)語(yǔ)言寫成程序。

35.以下函數(shù)用來(lái)在w數(shù)組中插入x,w數(shù)組中的數(shù)已按由小到大的順序存放,n為數(shù)組中存放的數(shù)的個(gè)數(shù)。插入后數(shù)組中的個(gè)數(shù)仍然有序。請(qǐng)?zhí)羁眨怪暾?/p>

voidfun(char*w,charx,int*n)

{inti,p;

p=0;

w[*n]=x;

whiel(x>w[p])【】;

for(i=*n;i>p;i--)w[i]=【】;

w[p]=x;

++*n;

}

36.若有以下定義語(yǔ)句,則不移動(dòng)指針p,并且通過(guò)指針p引用值為98的數(shù)組元素的表達(dá)式是【】。

intw[10]={23,54,10,33,47,98,72,80,61},*p=w;

37.[]的任務(wù)是診斷和改正程序中的錯(cuò)誤。

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

intf(inta[],intn)

{if(n>1)returna[0]+f(&a[1],n-1);

elsereturna[0];

]

main()

{intaa[3]={1,2,3),s;

s=f(&aa[0],3);printf("%d\n",s);

}

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

ABCDE

FCHI

JKL

MN

O

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

#include<stdio.h>

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);

【】;

}

【】;

}

elseprintf("nistoolarge!\n");

prinff("\n");

}

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

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

A.(!a==1)&&(!b==0)

B.(a>b)&&!c||1

C.a&&b

D.a||(b+b)&&(c-a)

42.某二叉樹(shù)共有60個(gè)葉子結(jié)點(diǎn)與50個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中的總結(jié)點(diǎn)數(shù)為()。

A.148B.169C.182D.198

43.結(jié)構(gòu)化程序設(shè)計(jì)的主要特點(diǎn)是______。

A.模塊化B.每個(gè)控制結(jié)構(gòu)具有封裝性C.每個(gè)控制結(jié)構(gòu)具有獨(dú)立性D.每個(gè)控制結(jié)構(gòu)只有一個(gè)入口和一個(gè)出口

44.有如下程序:#include<stdio.h>msin(){chars[]="ABCD",*P;for(p=s+1;p<s+4;p++)Printf("%s\n",p);}該程序的輸出結(jié)果是()。

A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD

45.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+c-k值的類型為:

A.intB.doubleC.floatD.char

46.下列程序的輸出結(jié)果是()。intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,e=5,d=2,e,f,g;e=f2(f1(a,b),f1(e,d));f=f1(f2(a,b),f2(e,d));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}

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

47.不合法的main函數(shù)命令行參數(shù)表示形式是______。

A.main(inta,char*c[])

B.main(intarc,char**arv)

C.main(intargc,char*argv)

D.main(intargv,char*argc[])

48.以下敘述中錯(cuò)誤的是A.gets函數(shù)用于從終端讀入字符串

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

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

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

49.設(shè)函數(shù)fun的定義形式為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);

50.有以下定義

#include<stdio.h>

chara[10],*b=a;

不能給a數(shù)組輸入字符串的語(yǔ)句是

A.gets(A)B.gets(a[0]);C.gets(&a[0]);D.gets(B);

51.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]:a[j];a[j]=t;}}main(){intc[10]={1,2,3,4,5,6,7,8,9,0},ifun(c+4

A.1,2,3,4,5,6,7,8,9,0,

B.0,9,8,7,6,5,1,2,3,4,

C.0,9,8,7,6,5,4,3,2,1,

D.1,2,3,4,9,8,7,6,5,0,

52.以下語(yǔ)句或語(yǔ)句組中,能正確進(jìn)行字符串賦值的是______。A.char*sp;*sp="right!";

B.chars[10];s="right!";

C.chars[10];*s="right!";

D.char*sp="right!";

53.從工程管理角度,軟件設(shè)計(jì)一般分為兩步完成,它們是()。

A.概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)B.數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì)C.軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)D.過(guò)程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)

54.fgets(str,n,fp)函數(shù)從文件中讀入一個(gè)字符串,以下錯(cuò)誤的敘述是()。

A.字符串讀入后會(huì)自動(dòng)加入'\0'

B.fp是指向該文件的文件型指針

C.fgets函數(shù)將從文件中最多讀入n個(gè)字符

D.fgets函數(shù)將從文件中最多讀入n-1個(gè)字符

55.下面關(guān)于完全二叉樹(shù)的敘述中,錯(cuò)誤的是______。

A.除了最后一層外,每_層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值

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

C.完全二叉樹(shù)一般不是滿二叉樹(shù)

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

56.若有以下定義和語(yǔ)句:inta=010,b=0×10,c=10;printf("%d,%d,%d\a",a,b,C);則輸出結(jié)果是()。

A.8,10,10B.10,10,10C.8,8,10D.8,16,10

57.以下關(guān)于字符串的敘述中正確的是()。

A.C語(yǔ)言中有字符串類型的常量和變量

B.兩個(gè)字符串中的字符個(gè)數(shù)相同時(shí)才能進(jìn)行串符串大小的比較

C.可以用關(guān)系運(yùn)算符對(duì)字符串的大小進(jìn)行比較

D.空串一定比空格打頭的字符串小

58.一個(gè)算法應(yīng)該具有“確定性”等五個(gè)特性,下面對(duì)另外四個(gè)特性的描述中錯(cuò)誤的是()。

A.有零個(gè)或多個(gè)輸入B.有零個(gè)或多個(gè)輸出C.有窮性D.可行性

59.下列關(guān)于線性鏈表的描述中正確的是()。

A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

60.下列寫法正確的是()。

A.main()

B.main(){inti=3,j;{inti=3;j=5}

C.main()

D.main(){;}

四、選擇題(20題)61.

62.下列說(shuō)法中不正確的是

A.C語(yǔ)言規(guī)定,不能在一個(gè)函數(shù)的內(nèi)部再定義函數(shù)

B.在沒(méi)有聲明函數(shù)返回值類型的情況下,默認(rèn)的函數(shù)返回值類型為int型

C.函數(shù)的類型可以是整型、實(shí)型、字符型,但不能是指針型

D.函數(shù)可以沒(méi)有形參,但函數(shù)名后的一對(duì)圓括號(hào)不能省略

63.

A.intB.floatC.doubleD.不確定

64.有以下程序:

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

A.58B.56C.45D.24

65.有以下程序:

當(dāng)運(yùn)行時(shí)輸入:a<回車>后,以下敘述正確的是()。

A.變量c1被賦予字符a,c2被賦予回車符

B.程序?qū)⒌却脩糨斎氲?個(gè)字符

C.變量c1被賦予字符a,c2中仍是原有字符2

D.變量c1被賦予字符a,c2中將無(wú)確定值

66.兩個(gè)或兩個(gè)以上模塊之間聯(lián)系的緊密程度稱為()。

A.耦合性B.內(nèi)聚性C.復(fù)雜性D.數(shù)據(jù)傳輸特性

67.

68.有定義語(yǔ)句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語(yǔ)句是()。

A.gets(&s[0]);

B.scanf("%s",s+1);

C.gets(s);

D.scanf("%s",s[1]);

A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

69.

設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語(yǔ)句:

if(a<b)

if(c==d)y=0;

elsey=1;

該語(yǔ)句所表示的含義是()。

A.y=0,a<b且c=dy=1,a≥b

B.y=0,a<b且c=dy=1,a≥b且c≠d

C.y=0,a<b且c=dy=1,a<b且c≠d

D.y=0,a<b且c=dy=1,c≠d

70.

71.有以下程序:

#defineN20

fun(inta[],intn,intm)

{inti;

for(i=m;i>n;i--)a[i+1]=a[i];

returnm;

}

voidmain()

{inti,a[N]={1,2,3,4,5,6,7,8,9,10};

fun(a,0,N/2);

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

}

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

A.10234B.12344C.12334D.12234

72.寫出下列程序段的輸出結(jié)果()。

main()

{intx=5;inty=10;

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

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

A.5B.6C.6D.5

10101111

73.下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是A.它們的運(yùn)算對(duì)象可以是任何變量和常量

B.它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量

C.它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型變量和float型變量

D.它們的運(yùn)算對(duì)象可以是char型變量、int型變量和float型變量

74.軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如圖所示。該圖是()。A.N—S圖B.PAD圖C.程序流程圖D.E—R圖

75.以下選項(xiàng)中,不合法的C語(yǔ)言用戶標(biāo)識(shí)符是()。A.a-一bB.AaBeC.a_bD.一1

76.下面敘述中,正確的是

A.C語(yǔ)言編譯時(shí)不檢查語(yǔ)法B.C語(yǔ)言的子程序有過(guò)程和函數(shù)兩種

C.C語(yǔ)言的函數(shù)可以嵌套定義D.C語(yǔ)言的函數(shù)可以嵌套調(diào)用

77.有以下程序inta=3;main(){ints=0;{inta=5;s+=a++;}s+=a++;printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是______。

A.8B.10C.7D.11

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

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

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

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

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

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

inta=5;

floatx=3.14;

a*=x*(‘E’-‘A’);

printf(“%f\n”,(float)a);

A.62.000000B.62.800000C.63.000000D.62

80.設(shè)inti=2,j=1,k=3,則表達(dá)式i&&(i+j)&k|i+j的值是_______。

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

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將m(1≤m≤10)個(gè)字符串反著連接起來(lái),組成一個(gè)新串,放入pt所指字符串中,例如,把“ab、cd、ef9”3個(gè)字符串反著串連起來(lái),結(jié)果是efgcdab。

請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(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)編寫函數(shù)proc(),它的功能是:把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中。注意:分?jǐn)?shù)低的學(xué)生可能不止一個(gè)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:

參考答案

1.Bn=9,i=n/5=1;j=9-1*5-1=3,輸出為a[1][3]=-3

2.B

3.C在輸入3和5之間除逗號(hào)外不能有其他字符。

4.B解析:b是整型數(shù),在輸人語(yǔ)句中要加取地址符,而c是數(shù)組名,本身就是數(shù)組的首地址,因此不用加取地址符。

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

6.A本題主要考查結(jié)構(gòu)體數(shù)組。x[i]num是結(jié)構(gòu)體x[i]中的num成員,x[1].name[2]是結(jié)構(gòu)體x[i1中1"lame成員的第3個(gè)元素。第一次循環(huán),i-1,輸出x[1].num,x[1].name[2]的值,即2A;第二次循環(huán),i=2,輸出x[2].num,x[2].name[2]的值,即3N;第三次循環(huán),i=3,輸出x[3】.num,x[3].name[2]的值,即4E;第四次循環(huán),i=4,輸出x[4].num,x[4].name[2]的值,即50。

7.B本題考多循環(huán)的使用,當(dāng)j=10,i=9時(shí),循環(huán)成立,第一個(gè)if條件為假,第二個(gè)if條件i==j-1成立,則輸出j的值為10,接者執(zhí)行i++后,i為10;當(dāng)i為10,for循環(huán)不成立,退出內(nèi)層循環(huán),此時(shí)執(zhí)行j++后,j為11,循環(huán)不成立,退出循環(huán)。

8.C

9.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)。

10.B解析:本題主要考查結(jié)構(gòu)體和聯(lián)合內(nèi)存使用的區(qū)別:結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個(gè)成員相互獨(dú)立;聯(lián)合所占用的內(nèi)存空間為最長(zhǎng)的成員所占用的空間。

11.A算法的空間復(fù)雜度是指算法在執(zhí)行過(guò)程中所需要的內(nèi)存空間。所以選擇A項(xiàng)。

12.D本題考查邏輯運(yùn)算符的使用。當(dāng)“&&”的兩個(gè)運(yùn)算對(duì)象都是邏輯1時(shí),表達(dá)式返回值才是1;“||”的兩個(gè)運(yùn)算對(duì)象至少有一個(gè)是邏輯1時(shí),表達(dá)式返回值也是1,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。

13.C解析:算法的特性中包括“有零個(gè)或多個(gè)輸入”及“有一個(gè)或多個(gè)輸出”這兩個(gè)特性。一個(gè)算法得到的結(jié)果就是算法的輸出,沒(méi)有輸出的算法是沒(méi)有意義的,所以一千算法必須至少有一個(gè)輸出。

14.D

15.C解析:C語(yǔ)言中字符常量是以單引號(hào)括起來(lái)的單個(gè)字符,或?yàn)橐浴癨\”與三位八進(jìn)制數(shù)值或兩位十六進(jìn)制數(shù)值代替單個(gè)字符。

16.A

17.B解析:本題考查的是外部變量的應(yīng)用。因?yàn)槌绦虻某跏糹nta=4;語(yǔ)句定義了外部變量a,在以后的執(zhí)行過(guò)程中,當(dāng)i=0時(shí),調(diào)用f(0)函數(shù),執(zhí)行的語(yǔ)句是else{inta=7;t+=a++;},此處程序中又定義了變量a,所以原來(lái)定義的外部變量在此不起作用,得到t=7,返回值語(yǔ)句returnt+a++;處,外部變量a起作用,返回值為7+5=12:當(dāng)i=1時(shí),調(diào)用f(1)函數(shù),執(zhí)行的是語(yǔ)句else{inta=6:t+=a++;},此處程序中又定義了變量a,所以原來(lái)定義的外部變量在此不起作用,得到t=6,返回值語(yǔ)句

18.B對(duì)于標(biāo)識(shí)符的長(zhǎng)度(即一個(gè)標(biāo)識(shí)符允許的字符個(gè)數(shù)),C語(yǔ)言編譯系統(tǒng)是有規(guī)定的,即標(biāo)識(shí)符的前若干個(gè)字符有效,超過(guò)的字符將不被識(shí)別。不同的C語(yǔ)言編譯系統(tǒng)所規(guī)定的標(biāo)識(shí)符有效長(zhǎng)度是不同的。故本題答案為B選項(xiàng)。

19.B

20.A由題意可知,文件abc.txt中存放了6個(gè)整數(shù)。其中第1個(gè)表示后續(xù)數(shù)據(jù)的個(gè)數(shù)。要將最后5個(gè)數(shù)據(jù)讀入數(shù)組data中,需要讀取數(shù)據(jù)的個(gè)數(shù)為5,所以首先調(diào)用fscanf函數(shù),將5讀入整型變量n中;接著通過(guò)for循環(huán),i分別取值0~n-1,調(diào)用fscanf函數(shù)將n個(gè)整數(shù)讀入data[0]~data[n-1]中。故本題答案為A選項(xiàng)。

21.-4-4解析:因?yàn)閚=0,所以!n為真,執(zhí)行x-=1;得到x=x=2-1=1;m=1為真,執(zhí)行x-=2;得到x=x-2=1-2=-1;x=-1為真,執(zhí)行x-=3;得到x=x-3=-1-3=-4。

22.54

23.2525解析:#NAME?

24.交換排序交換排序解析:所謂排序是指將一個(gè)無(wú)序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡(jiǎn)單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。

25.00解析:for循環(huán)執(zhí)行完成后t=5×4×3×2×1×0=0。

26.120120解析:靜態(tài)變量的類型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):

①靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。

②對(duì)靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值—次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。

③如在定義局部變量時(shí)不賦初值的話,則對(duì)靜態(tài)局部變量來(lái)說(shuō),編譯時(shí)自動(dòng)賦初值0(對(duì)數(shù)值型變量)或空字符(對(duì)字符變量)。(注意:C語(yǔ)言中的非靜態(tài)變量在定義時(shí),系統(tǒng)并不會(huì)自動(dòng)給它賦初值)

④雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)是不能引用它的。

本題中函數(shù)的功能是:與for語(yǔ)句一起求一個(gè)整數(shù)的階乘。

27.00解析:對(duì)于一個(gè)unsignedshort來(lái)說(shuō),它能取的最大值是65535。這里給a賦值65536,已經(jīng)超出了它的取值范圍,這樣它的高位將被截掉,只把低位賦給它(全零)。所以a的值實(shí)際為0。

28.HOWHOW解析:在scanf()函數(shù)中,使用空格作為分隔符,如果輸入含有空格的字符中,則不能使用scanf()數(shù),所以本題中輸入空格就返回了'\\0\\,s數(shù)組也就確定了,后面的輸入就不再讀入數(shù)組s中。

29.封裝性封裝性解析:對(duì)象具有下列5個(gè)基本特點(diǎn):①標(biāo)識(shí)惟一性;②分類性:③多態(tài)性;④封裝性;⑤模塊獨(dú)立性好。其中,封裝性是指從外面看只能看到對(duì)象的外部特征,對(duì)象的內(nèi)部特征即處理能力的實(shí)行和內(nèi)部狀態(tài),對(duì)外是不可見(jiàn)的,對(duì)象的內(nèi)部狀態(tài)只能由其自身改變。

30.1919解析:根據(jù)二叉樹(shù)的性質(zhì):在任意一棵二叉樹(shù)中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。

31.do…whiledo…while解析:考查while和do…while循環(huán)的主要區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當(dāng)while后面的表達(dá)式的值為非零時(shí),才可能執(zhí)行循環(huán)體;在do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達(dá)式的值,因此無(wú)論表達(dá)式的值是否為零,循環(huán)體至少要被執(zhí)行一次。

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

33.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。

34.自頂向下自頂向下解析:在程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié),逐步使問(wèn)題具體化,對(duì)復(fù)雜的問(wèn)題,應(yīng)該設(shè)計(jì)一些子目標(biāo)作為過(guò)渡,上述方法概括為:自頂向下,逐步細(xì)化。

35.++pw[i-1]

36.*(p+5)

37.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。它與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于一定的調(diào)試工具去找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,調(diào)試主要在開(kāi)發(fā)階段。

38.66解析:經(jīng)過(guò)分析將遞歸函數(shù)寫成其數(shù)學(xué)表達(dá)式如下:

f(&a,n)=a[0]+f(&a[1],n-1)n>1

f(&a,n)=a[0]n=1

本題中定義了一個(gè)長(zhǎng)度為3的數(shù)組aa并初始化。接著調(diào)用遞歸函數(shù)f(),由上面的數(shù)學(xué)表達(dá)式以計(jì)算其返回值s=1+2+3=6,所以空白處應(yīng)該填6。

39.ch++或ch=ch+1或++chprintf("\n")或prinff("\015")ch++或ch=ch+1或++ch,\r\nprintf('\\n')或prinff('\\015')解析:程序中使用了兩層for循環(huán),外循環(huán)的作用是控制行數(shù),內(nèi)循環(huán)的作用是控制每行的列數(shù),在內(nèi)循環(huán)中首先輸出當(dāng)前字符(從\'A\'開(kāi)始),[6]中應(yīng)填ch++,使ch中的字符變?yōu)橐敵龅南乱粋€(gè)字符。每輸出一行就需換一次行,所以[7]處應(yīng)填pfintf('\\n')。

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

41.A解析:根據(jù)運(yùn)算符的優(yōu)先級(jí):邏輯非>算術(shù)運(yùn)算>關(guān)系運(yùn)算>邏輯與>邏輯或>賦值運(yùn)算,可以計(jì)算得到為A。其中C選項(xiàng)因?yàn)閍、b均不為0,所以結(jié)果為1。

42.B解析:本題考查二叉樹(shù)的性質(zhì)。葉子結(jié)點(diǎn)即度為0的結(jié)點(diǎn),它總是比度為2的結(jié)點(diǎn)多一個(gè),所以,具有60個(gè)葉子結(jié)點(diǎn)的二叉樹(shù)有59個(gè)度為2的結(jié)點(diǎn)??偨Y(jié)點(diǎn)數(shù)等于個(gè)葉子結(jié)點(diǎn)加上59個(gè)度為2的結(jié)點(diǎn)再加上50個(gè)度為1的結(jié)點(diǎn)的和,一共為169個(gè)結(jié)點(diǎn)。

43.D解析:按照結(jié)構(gòu)化設(shè)計(jì)方法設(shè)計(jì)的程序具有以下特點(diǎn):(1)程序易于理解、使用和維護(hù),程序員采用結(jié)構(gòu)化編程方法,便于控制、降低程序的復(fù)雜性,因此容易編寫程序,便于驗(yàn)證程序的正確性。結(jié)構(gòu)化程序清晰易讀,可理解性好,程序員能夠進(jìn)行逐步求精、程序證明和測(cè)試,以確保程序的正確性。程序容易閱讀并被人理解,便于用戶使用和維護(hù)。(2)提高了編程工作的效率,降低了軟件開(kāi)發(fā)成本。由于結(jié)構(gòu)化編程方法能夠把錯(cuò)誤控制到最低限度,因此能夠減少調(diào)試和查錯(cuò)時(shí)間。結(jié)構(gòu)化是由一些為數(shù)不多的基本結(jié)構(gòu)模塊組成,這些模塊甚至可以由機(jī)器自動(dòng)生成,從而極大地減輕了編程工作量。(3)結(jié)構(gòu)化程序設(shè)計(jì)選用的每個(gè)控制結(jié)構(gòu)只允許有一個(gè)入口和一個(gè)出口。

44.D解析:本題考查指向字符串指針的運(yùn)算方法。執(zhí)行p=s+1后,指針變量p就指向字符串中的第二個(gè)字符“B”,然后輸出字符串“BCD”并換行;下面繼續(xù)執(zhí)行循環(huán)語(yǔ)句,指針變量p指向下一個(gè)字符“C”,輸出字符串“CD”,最后一次循環(huán),p指向字符“D”,輸出字符串“D”。

45.B解析:雙目運(yùn)算中兩邊運(yùn)算量類型轉(zhuǎn)換規(guī)律:

運(yùn)算數(shù)1運(yùn)算數(shù)2轉(zhuǎn)換結(jié)果類型

短整型長(zhǎng)整型短整型->長(zhǎng)整型

整型長(zhǎng)整型整型->長(zhǎng)整型

字符型整型字符型->整型

有符號(hào)整型無(wú)符號(hào)整型有符號(hào)整型->無(wú)符號(hào)整型

整型浮點(diǎn)型整型->浮點(diǎn)型

在a/b的時(shí)候,a、b的類型不一致,根據(jù)類型轉(zhuǎn)換規(guī)則,把整型轉(zhuǎn)換成double類型,之后的加、減類似。轉(zhuǎn)化規(guī)則為char,short->int->unsigned->long->double←float。

46.A解析:根據(jù)函數(shù)intf1(intx,inty){returnx>y?x:y;)和intf2(intx,inty){returnx>y?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)=4,f=f1(3,2)=3,g=4+3+5+2-4-3=7。

47.C解析:main()函數(shù)可以帶有參數(shù),并且參數(shù)只能有兩個(gè),第一個(gè)參數(shù)類型為整型,用來(lái)記下命令行的參數(shù)個(gè)數(shù);第二個(gè)參數(shù)為一個(gè)字符型指針數(shù)組,或字符型二級(jí)指針變量(指向一個(gè)數(shù)組,數(shù)組元素又是一個(gè)一級(jí)字符指針),其各個(gè)元素用來(lái)記下從命令行各參數(shù)字符中的首地址。故本題只有C選項(xiàng)不符合要求。

48.B其中B選項(xiàng)的getchar函數(shù)用于從終端讀入字符。故本題答案為B選項(xiàng)。

49.D解析:題目中定義的函數(shù)fun()有兩個(gè)參數(shù),一個(gè)是字符型變量ch,另一個(gè)是浮點(diǎn)型變景x,函數(shù)類型是void即無(wú)返回值。選項(xiàng)A調(diào)用fun的第1個(gè)參數(shù)是字符串常量與字符變量不匹配,所以不正確。選項(xiàng)B是有返回值函數(shù)的調(diào)用形式,不正確。選項(xiàng)C的第1個(gè)參數(shù)是錯(cuò)誤的字符常量,字符常量是用單引號(hào)括起來(lái)的—個(gè)字符(是轉(zhuǎn)義字符可能有多個(gè)字符),故也不正確。選項(xiàng)D使用兩個(gè)整型常量調(diào)用fun這在C語(yǔ)言中是允許的。因?yàn)檎偷阶址涂梢宰詣?dòng)轉(zhuǎn)換,整型到浮點(diǎn)型也可以自動(dòng)轉(zhuǎn)換。故應(yīng)該選擇D。

50.B解析:函數(shù)gets()的調(diào)用形式為gets(str_adr);str_adr是存放字符串的起始地址??梢允亲址麛?shù)組名、字符指針或字符數(shù)組元素的地址。gets函數(shù)用來(lái)從終端鍵盤讀入字符串(包括空格符),直到讀入一個(gè)換行符為止。換行符讀入后,不作為字符串的內(nèi)容。本題中定義一個(gè)長(zhǎng)度為10的字符數(shù)組,和一個(gè)指針變量b,并且通過(guò)賦值讓它指向數(shù)組a。gets函數(shù)的參數(shù)a[0]不能表示數(shù)組a的首地址。

51.D解析:在本題中,主函數(shù)在調(diào)用fun()函數(shù)進(jìn)行排序時(shí),傳遞的參數(shù)是c+4和6,fun()函數(shù)實(shí)現(xiàn)的功能是將數(shù)組c的第5個(gè)元素開(kāi)始的6個(gè)元素依次進(jìn)行從大到小的順序排列。排序之后,數(shù)組c的內(nèi)容變?yōu)閧1,2,3,4,9,8,7,6,5,0}。

52.D解析:本題考查了考生對(duì)字符串常量的理解。字符串常量是一段以雙引號(hào)括起來(lái)的字符序列,它既可以出現(xiàn)在對(duì)字符數(shù)組的初始化中,也可以出現(xiàn)在表達(dá)式中。當(dāng)它用于對(duì)字符數(shù)組的初始化時(shí),應(yīng)注意系統(tǒng)自動(dòng)為其添加的結(jié)束標(biāo)志'\\0'。而當(dāng)它出現(xiàn)在表達(dá)式中時(shí),應(yīng)該將其看作一個(gè)constchar*類型的指針常量。在選項(xiàng)A中,首先定義了一個(gè)字符指針sp,然后將一個(gè)字符串賦給甲所指的地址,這是錯(cuò)誤的。因?yàn)閟p是一個(gè)未經(jīng)初始化的野指針,不知其指向哪兒,往一個(gè)不確定的地址中寫數(shù)據(jù)很容易讓程序出錯(cuò)。選項(xiàng)B首先定義了一個(gè)字符數(shù)組,然后將一個(gè)字符串賦給數(shù)組名,這是錯(cuò)誤的。因?yàn)閿?shù)組名是一個(gè)指針常量,不可以被改變。選項(xiàng)C首先定義了一個(gè)字符數(shù)組,然后將一個(gè)字符串賦給數(shù)組的第一個(gè)元素,這也是錯(cuò)誤的。因?yàn)樽址诒磉_(dá)式中相當(dāng)于一個(gè)常字符指針,將一個(gè)指針值賦給一個(gè)字符型變量是行不通的。選項(xiàng)D是定義一個(gè)字符指針sp,同時(shí)使其指向一個(gè)字符串常量,即將一個(gè)常字符型指針賦給sp。這是可行的。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

53.A解析:從工程管理的角度看,軟件設(shè)計(jì)可分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩大步驟。概要設(shè)計(jì)是根據(jù)需求確定軟件和數(shù)據(jù)的總體框架;詳細(xì)設(shè)計(jì)是將其進(jìn)一步精化成軟件的算法或表示和數(shù)據(jù)結(jié)構(gòu)。而在技術(shù)上,概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)又由若干活動(dòng)組成,包括總體結(jié)構(gòu)設(shè)計(jì)/數(shù)據(jù)設(shè)計(jì)和過(guò)程設(shè)計(jì)。因此,本題的正確答案是A。

54.C解析:字符串輸入函數(shù)fgets()的調(diào)用形式為:fgets(s,n,fp)。s可以是一個(gè)字符數(shù)組名,或是指向字符串的指針;n為要讀取的最多的字符個(gè)數(shù):fp是指向該文件的文件型指針。字符串輸入函數(shù)的功能是:從fp所指向的文件中讀取長(zhǎng)度不超過(guò)n-1個(gè)字符的字符串,并將該字符串存放到字符數(shù)組s中。

55.B解析:滿二叉樹(shù)指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹(shù)。完全二叉樹(shù)指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹(shù)。

56.D解析:以數(shù)字“0”開(kāi)頭的是八進(jìn)制整型常量,以“0x”或“0X”開(kāi)頭的是十六進(jìn)制整型常量?!?d”代表用十進(jìn)制整型格式輸出。題中的“010”、“0x10”轉(zhuǎn)換成十進(jìn)制數(shù)后分別是8和16。

57.D解析:C語(yǔ)言中只有字符串常量而沒(méi)有字符串變量,故選項(xiàng)A不正確:字符串比較大小是以第1個(gè)不相同字符的大小為標(biāo)準(zhǔn)的,跟長(zhǎng)度沒(méi)有關(guān)系,故選項(xiàng)B不正確:字符串比較大小除了使用庫(kù)函數(shù)stremp()以外,就只能靠自己寫代碼來(lái)實(shí)現(xiàn)了,而不能通過(guò)關(guān)系運(yùn)算符來(lái)比較大小,因?yàn)樽址诒磉_(dá)式中相當(dāng)于coostchar*,即常字符指針,代表的是字符串的首地址,關(guān)系運(yùn)算符會(huì)將兩個(gè)字符串的首地址值比較大小,這是毫無(wú)意義的。所以選項(xiàng)C也不正確??沾拈L(zhǎng)度為0,而以空格打頭的字符串的長(zhǎng)度至少為1,故選項(xiàng)D正確,本題應(yīng)該選擇D。

58.B解析:算法是對(duì)特定問(wèn)題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個(gè)或多個(gè)操作。算法具有五個(gè)重要特性:

①有窮性:一個(gè)算法必須總是在執(zhí)行有限步之后結(jié)束,且每一步都可在有限時(shí)間內(nèi)完成。

②確定性:算法中每一步驟都必須有明確的定義,不允許有模棱兩可的解釋,也不允許有多義性,對(duì)于相同的輸入只能得出相同的輸出。

③可行性:算法中描述的操作可以通過(guò)已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次來(lái)實(shí)現(xiàn)。

④輸入:一個(gè)算法有零個(gè)或多個(gè)的輸入。

⑤輸出:一個(gè)算法有一個(gè)或多個(gè)輸出,這些輸出是同輸入有著某些特定關(guān)系的量。

59.A解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的結(jié)點(diǎn)空間是動(dòng)態(tài)生成的,它們?cè)趦?nèi)存中的地址可能是連續(xù)的,也可能是不連續(xù)的。

60.D解析:本題考查語(yǔ)句的基本構(gòu)成。選項(xiàng)A)中j=5后面少了一個(gè)分號(hào);選項(xiàng)B)中少了“}”;選項(xiàng)C)不是一個(gè)完整的函數(shù)定義格式,一個(gè)完整的函數(shù)定義格式還包括一對(duì)花括號(hào):選項(xiàng)D)正確,是一個(gè)空語(yǔ)句。

61.D

62.C本題主要考查函數(shù)定義的基本知識(shí)。函數(shù)是C語(yǔ)言的基本組成部分,用來(lái)完成子程序的功能。一個(gè)完整的C程序包括一個(gè)main()函數(shù)(主函數(shù))和若干個(gè)其他函數(shù),C程序從main()函數(shù)開(kāi)始執(zhí)行。

在C語(yǔ)言中,函數(shù)定義是平行的,函數(shù)不能嵌套定義,即一個(gè)函數(shù)不能在另一個(gè)函數(shù)內(nèi)部定義,函數(shù)之間沒(méi)有從屬關(guān)系。函數(shù)定義表達(dá)的一般形式為:

<函數(shù)返回值類型>函數(shù)名(<類型名><形式參數(shù)1>,<類型名><形式參數(shù)2>,……)

{

函數(shù)體變量定義部分;

函數(shù)體語(yǔ)句部分;

}

其中,<函數(shù)返回值類型>部分可以省略,默認(rèn)為整型。函數(shù)返回值類型可以為各種整型、字符型、實(shí)型,還可以是指針類型。這里需要注意,在定義沒(méi)有形參的函數(shù)時(shí),函數(shù)的括號(hào)不能沒(méi)有,如果沒(méi)有,就不是函數(shù)了,很有可能被當(dāng)成變量處理。

63.C根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。

64.Da[2]%2即14%2=0,此時(shí)跳出while循環(huán),因此j=11+13=24。

65.A本題考查的是輸入輸出函數(shù)。函數(shù)get.char的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符,且只能接受一個(gè)字符(回車符也算是一個(gè)字符)。故本題中變量cl被賦予字符a,c2被賦予回車符。

66.A解析:耦合性是模塊間互相連接的緊密程度的度量,取決于各個(gè)模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過(guò)接口。

[知識(shí)拓展]模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的一個(gè)重要標(biāo)準(zhǔn),衡量軟件的模塊獨(dú)立性有兩個(gè)定性的度量標(biāo)準(zhǔn)。其中內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度最,內(nèi)聚性是從功能角度來(lái)度量模塊內(nèi)的聯(lián)系;耦合性是模塊間互相連接的緊密程度的度量,耦合性從整體的角度來(lái)度量模塊

溫馨提示

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