2022-2023年內蒙古自治區(qū)烏海市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第1頁
2022-2023年內蒙古自治區(qū)烏海市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第2頁
2022-2023年內蒙古自治區(qū)烏海市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第3頁
2022-2023年內蒙古自治區(qū)烏海市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第4頁
2022-2023年內蒙古自治區(qū)烏海市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2022-2023年內蒙古自治區(qū)烏海市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.在有向圖G的拓撲序列中,若頂點Vi在頂點Vj之前,則下列情形不可能出現(xiàn)的是()。

A.G中有弧

B.G中有一條從Vi到Vj的路徑

C.G中沒有弧

D.G中有一條從Vj到Vi的路徑

2.下面程序的輸出結果是______。#definea121constb=12;enumc{a1,a2};main(){printf("%d,%d,%d",sizeof(a),sizeof(b),sizeof(enumc));}

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

3.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是()。A.switch(x)

B.switch((int)x);{case1.0:printf("*\n");{case1:printf("*\n");case2.0:printf("**\n");}case2:printf("**\n");}

C.switch(a+B)

D.switch(a+B){case1;printf("*\n");{case1:printf("*\n");case2+1:printf("**\n");}casec:printf("**\n");)

4.

5.設已包含頭文件<string.h>,下列程序段的運行結果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));

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

6.設整型數(shù)i=5,則printf("%d",i+++++i);的輸出為______。

A.10B.11C.12D.語法錯誤

7.軟件需求分析一般應確定的是用戶對軟件的______。

A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求

8.為了避免在嵌套的條件語句ifelse中產(chǎn)生二義性,C語言規(guī)定,else子句總是與()配對。

A.縮排位置相同ifB.其前面最近的ifC.其后面最近的ifD.同一行上的if

9.設有向無環(huán)圖G中的有向邊集合E={<1,2>,<2,3>,<3,4>,<1,4>},則下列屬于該有向圖G的一種拓撲排序序列的是()。

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

10.標準庫函數(shù)fgets(s,n,file)的功能是()。

A.從文件file中讀取長度為n的字符串存入字符數(shù)s由

B.從文件file中讀取長度不超過n-1個字符的字符放到字符數(shù)組S中

C.從文件file中讀到n個字符串存入字符數(shù)組s中

D.從文件file中讀取長度為n-1個字符的字符串存字符數(shù)組S中

11.樹最適合用來表示()。

A.有序數(shù)據(jù)元素B.無序數(shù)據(jù)元素C.元素之間具有分層次關系的數(shù)據(jù)D.元素間無聯(lián)系的數(shù)據(jù)

12.

13.計算機算法指的是()。

A.計算方法B.排序方法C.解決問題的有限運算序列D.調度方法

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

A.耦合度

B.內聚度

C.復雜度

D.數(shù)據(jù)傳輸特性

15.下列4項說法中,不正確的是______。

A.數(shù)據(jù)庫減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫避免了一切數(shù)據(jù)的重復D.數(shù)據(jù)庫具有較高的數(shù)據(jù)獨立性

16.以下關于簡單程序設計的步驟和順序的說法中正確的是()。

A.確定算法后,整理并寫出文檔,最后進行編碼和上機調試

B.首先確定數(shù)據(jù)結構,然后確定算法,再編碼,并上機調試,最后整理文檔

C.先編碼和上機調試,在編碼過程中確定算法和數(shù)據(jù)結構,最后整理文檔

D.先寫好文檔,再根據(jù)文檔進行編碼和上機調試,最后確定算法和數(shù)據(jù)結構

17.以下選項中,值為1的表達式是()。

A.1-‘0’B.1-‘\0’C.‘1’-0D.‘\0’-‘0’

18.在數(shù)據(jù)結構中,從邏輯上可以把數(shù)據(jù)結構分為()。A.動態(tài)結構和靜態(tài)結構B.緊湊結構和非緊湊結構C.線性結構和非線性結構D.內部結構和外部結構

19.下而程序的輸出結果是()。

A)32

B)26

C)24

D)4

20.

二、2.填空題(20題)21.函數(shù)fun的功能是計算xn。

doublefun(doublex,intn)

{inti;doubley=1;

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

returny;

}

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

22.Jackson方法是一種面向【】的結構化方法。

23.數(shù)據(jù)結構分為邏輯結構與()。

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

25.數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。

26.函數(shù)compare的功能是比較兩個字符串是否相等,若相等則函數(shù)返回值0,否則返回值1,請?zhí)羁铡?/p>

compare(chars[],chart[])

{inti=0;

while(s[i]==t[i]||【】)i++;

return(【】?1:0);

}

27.若從鍵盤輸入58,則以下程序的輸出結果是【】。

main()

{inta;

scanf(“%d”,&A);

if(a>50)printf(“%d”,A);

if(a>40)printf(“%d”,A);

if(a>30)printf(“%d”,A);

}

28.下列程序的輸出結果是【】。

main()

{

inta[]={2,4,6},*ptr=&a[0],x=8,y,z;

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

z=(*(ptr+y)<x)?*(ptr+y):x;

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

}

29.匯編程序和編譯程序翻譯的目標程序需經(jīng)【】連接成可執(zhí)行的程序。

30.軟件維護活動包括以下幾類:改正性維護、適應性維護、【】維護和預防性維護。

31.當循環(huán)隊列非空且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進行入隊運算。這種情況稱為【】。

32.下列程序的運行結果是______。

main()

{inta=1,b=10;

do

{b-=a;a++;}while(b--<0);

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

}

33.下面的程序通過函數(shù)average計算數(shù)組中各元素的平均值,請?zhí)羁铡?/p>

floatavetage(int*pa,intn)

{inti;

floatavg=0.0;

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

avg=avg+【】;avg=【】;

returnavg;

}

main()

{inti,a[5]={2,4,6,8,10,};

floatmean;

prinf("%mean=%f\n",mean);

}

34.下列程序段的運行結果是______。

charstr[]="ABCD",*p=str;

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

35.語句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦值語句______。

36.軟件危機出現(xiàn)于60年代末,為了解決軟件危機,人們提出了【】的原理來設計軟件,這就是軟件工程誕生的基礎。

37.以下程序運行后的輸出結果是______。

inta=5;

fun(intB)

{staticinta=10;

a+=b++;

printf("%d",A);

}

main()

{intc=20;

fun(C),

a+=C++;

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

}

38.在面向對象方法中,信息隱蔽是通過對象的______性來實現(xiàn)的。

39.以下程序的運行結果是【】。

#include<stdio.h>

main()

{FILE*fp;inta[10]={1,2,3,0,0},i;

fp=fopen("d2.dat","wb");

fwtite(a,sizeof(int),5,fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a,sizeof(int),10,fp);

fclose(fp);

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

}

40.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。

三、1.選擇題(20題)41.以下定義語句中正確的是

A.chara='A'b='B';

B.floata=b=10.0;

C.inta=10,*b=&a;

D.float*a,b=&a;

42.若變量a是int類型,并執(zhí)行了語句:a='A'+1.6;,則正確的敘述是

A.a的值是字符CB.a的值是浮點型C.不允許字符型和浮點型相加D.a的值是字符‘A’的ASCII值加上1

43.執(zhí)行下面的程序段intx=40;charz='B';intB;B=((x&0xff)&&(z>'a'));后,B的值為()

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

44.設有下列二叉樹:

對此二叉樹后序遍歷的結果為

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

45.有以下程序:main(){inty=1,x=2,z=3;printf("%d,%d\n",(++x,y++),z+2);}執(zhí)行后的輸出結果是()。

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

46.c語言規(guī)定,在一個源程序中,main函數(shù)的位置()。

A.必須在最開始B.必須在系統(tǒng)調用的庫函數(shù)的后面C.可以任意D.必須在最后

47.下列程序的輸出結果是______。main(){inti;for(i=1;i+1;i++){if(i>4){printf("%d",i++);break;}}printf("%d",i++);}

A.55B.56C.程序錯誤,沒有輸出D.循環(huán)條件永遠為真,死循環(huán)

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

A.break語句只能用于switch語句體中

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

C.break語句只能用在循環(huán)體內和switch語句體內

D.在循環(huán)體內使用break語句和continue語句的作用相同

49.下列程序的運行結果為()。#include<stdio.h>voidabc(char*str){inta,b,i,j;for(i=j=0;str[i]!='\0';i++)if(str[i]!='a'str[j++]=str[i];str[j]='\0';}voidmain(){charstr[]="abcdef";abc(str);printf("str[]=%s",str);}

A.str[]=bcdefB.str[]=abcdefC.str[]=aD.str[]=ab

50.有一函數(shù)以下程序段中不能根據(jù)x值正確計算出y值的是

A.if(x>0)y=1;elseif(x==0)y=0;elsey=-1;

B.y=0;if(x>0)y=1;elseif(x<0)y=-l;

C.y=0;if(x>=0);if(x>0)y=1;elsey=-1;

D.if(x>=0)if(x>0)y=1;elsey=0;elsey=-l;

51.有以下程序main(){inta=1,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a-=3;}printf("%d\n",b);}程序運行后的輸出結果是______。

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

52.若有下列定義(設int類型變量占2個字節(jié)):

inti=8;

則下列語句:

printf("i=%08d",i);

輸出的結果是()。A.A.i=8B.i=00000008C.i=08D.8

53.下述關于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是______。

A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余

B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余

C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致

D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

54.以下錯誤的定義語句是A.intx[][3]={{0},{1},{1,2,3}};

B.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

D.intx[][3]={1,2,3,4};

55.C語言提供的合法關鍵字是______。

A.swicthB.chanC.CaseD.default

56.下列程序的運行結果是()。#include<stdio.h>main(){inta=2,b=3,c=4;if(a<B)if(b<0)c=0;elsec+=1;printf("%d\n",C);}

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

57.以下選項中不合法的標識符是

A.printB.FORC.&aD._00

58.十六進制數(shù)FF.1轉換成十進制數(shù)是()

A.255.0625B.255.125C.127.0625D.127.125

59.軟磁盤最外邊的磁道數(shù)是()

A.0B.1C.39D.79

60.有以下程序:main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);}執(zhí)行后的輸出結果是______。

A.16B.12C.28D.21

四、選擇題(20題)61.

62.

則以下選項中錯誤的表達式是()。

A.

B.

C.

D.

63.由兩個棧共享一個存儲空間的好處是______。A.A.減少存取時間,降低下溢發(fā)生的概率

B.節(jié)省存儲空間,降低上溢發(fā)生的概率

C.減少存取時間,降低上溢發(fā)生的概率

D.節(jié)省存儲空間,降低下溢發(fā)生的概率

64.下列對于軟件測試的描述正確的是()。

A.軟件測試的主要目的是發(fā)現(xiàn)程序中的錯誤

B.軟件測試的目的是證明程序是否正確

C.軟件測試的目的是使程序運行結果正確

D.軟件測試是證明軟件中沒有錯誤

65.

66.

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

A.數(shù)據(jù)的邏輯結構與存儲結構是一一對應的

B.算法的時間復雜度與空間復雜度一定相關

C.算法的效率只與問題的規(guī)模有關,而與數(shù)據(jù)的存儲結構無關

D.算法的時間復雜度是指執(zhí)行算法所需要的計算工作量

68.

69.

70.以下選項中正確的定義語句是()。

A.doublea;b;B.doublea=b=7;C.doublea=7,b=7;D.double,a,b;

71.有以下程序段:

以下選項中表達式的值為11的是()。

A.

B.

C.

D.

72.(47)在結構化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是()

A.詳細設計

B.需求分析

C.總體設計

D.編程調試

73.

74.若有定義:doublex;,則表達式IX=0,x+10,x+十的值是()。

A.11.0B.10.0C.0.0D.1.0

75.有以下程序:

#include<stdio.h>

main()

{FILE*fp;charstr[10];

fp=fopen("myfile,dat","");

{puts("abe",ip);fclose(fp);

fp=fopen("myfile.dat","a*");

fprintf(fp,"%d",28);

rewind(fp);

fscanf(fp,"%S",str);puts(str);

fclose(fp);

}

程序運行后的輸出結果是()。

A.abcB.28cC.abc28D.內類型不一致而出錯

76.在Internet中,域名服務器的主要功能是實現(xiàn)()的轉換。

A.IP地址到域名(主機名字)B.域名到IP地址C.主機IP地址和路由器IP地址之間D.路由器IP地址之問

77.若調用fputc函數(shù)輸出字符成功,則其返回值是()。

A.EOFB.1C.0D.輸出的字符

78.對于一個正常運行的C程序,以下敘述中正確的是()。A.程序的執(zhí)行總是從main函數(shù)開始

B.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結束

C.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結束

D.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結束

79.有以下程序:

程序的運行結果是()。

A.1212B.117C.1111D.127

80.有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結果是______。A.21,43B.43,21C.43,00D.21,00

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是計算正整數(shù)m各位上數(shù)字的平方和。例如,輸入498,則輸出應該是161。請修改程序中的錯誤,使它能得到正確結果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:#include<stdlib.h>#include<stdio.h>#include<conio.h>longproc(10ngm){//****found****longsum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum);}voidmain{longn;system("CLS");printf("Pleaseenteranumber:");scanf("%1d",&n);printf("\n%ld\n",proc(n));}六、程序設計題(1題)82.編寫函數(shù)fun,其功能是:將s所指字符串中除了下標為奇數(shù),同時ASCH碼值也為奇數(shù)自q字符之外。其余所有字符全部刪除,串中剩余字符所形成的一個新串放在所指的數(shù)組中。例如,若s所指字符串的內容為“ABCDEFGl2345”,其中字符A的ASCIl碼值為奇數(shù),但所在元素的下標為偶數(shù),因此需要刪除;而字符l的ASCIl碼值為奇數(shù),所在數(shù)組中的下標也為奇數(shù),因此不應當刪除,其他依此類推。最后t所指數(shù)組中的內容應為“135”。注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。試題程序:

參考答案

1.D若G中有一條從Vj到Vi的路徑,則圖的拓撲序列中頂點Vj在頂點Vi之前。設G(V,E)是一個具有n個頂點的有向圖,V中頂點的序列v1,v2,…,vn稱為一個拓撲序列,當且僅當該頂點滿足下列條件:若在有向圖G中,從頂點vi在vj有一條路徑,則在拓撲序列中頂點vi必須排在頂點vj之前。

2.B解析:sizeof函數(shù)是取變量所占的存儲空間的字節(jié)數(shù),標識a代表常量121;constb=12;,其中數(shù)據(jù)類型可以缺省,默認為整型;enumc{a1,a2};定義了—個枚舉類型enumc,a1,a2為枚舉元素,在C編譯時,對枚舉元素按常量處理,它們的值按定義順序依次為0,1。因此它們的字節(jié)數(shù)均為2,2,2。

3.C

4.B

5.A解析:頭文件<string.h>是字符串處理函數(shù)對應的頭文件,要想調用C語言的庫函數(shù)時,都要在程序中嵌入該函數(shù)對應的頭文件,否則無法使用庫函數(shù)。

strcpy(s1,s2)把s2中的字符串復制到s1中,所以結果就為s2的長度。

6.D解析:C語言中有基本的算術運算符(+、-、*、/)還包括自增自減運算符(++、-),在C語言解析表達式時,它總是進行貪婪咀嚼,這佯,該表達式就被解析為i+++++i,顯然該表達式不合C語言語法。

7.DD。【解析】軟件需求分析中需要構造一個完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,使用戶明確自己的任務。因此,需求分析應確定用戶對軟件的功能需求和非功能需求。

8.B解析:本題考查ifelse語句。C語言規(guī)定,else總是與它前面的最近的if配對。

9.A

10.B本題考查fgets函數(shù)的使用調用形式:fgets(s,n,fp)。fgets函數(shù)參數(shù)說明:“S”可以是一個字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個數(shù);“fp”是指向該文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長度不超過n-1個字符的字符串,并將該字符串放到字符數(shù)組S中,讀入字符串后會自動在字符串末尾加入"\0"結束符,表示字符串結束。

11.C

12.C

13.C

14.A解析:本題考核模塊獨立性的評價。評價模塊獨立性的主要標準有兩個;一是模塊之間的耦合,它表明兩個模塊之間互相獨立的程度,也可以說是兩個或兩個以上模塊之間關聯(lián)的緊密程度(所以,本題的正確答案為選項A);二是模塊內部之間的關系是否緊密,稱為內聚。一般來說,要求模塊之間的耦合盡可能地弱,即模塊盡可能獨立,而要求模塊的內聚程度盡量地高。

15.C解析:數(shù)據(jù)庫系統(tǒng)具有以下4個特點:數(shù)據(jù)的集成性、數(shù)據(jù)的高共享性與低冗余性、數(shù)據(jù)的獨立性、數(shù)據(jù)統(tǒng)一管理與控制。

16.B\n選項C和D可直接排除,程序是數(shù)據(jù)結構和算法的組合體,所以是先選擇數(shù)據(jù)結構,然后繼而選擇相對應的算法,編碼并上機調試,最后整理文檔。

\n

17.B字符‘\\0’為空值,其ASCII值為0,所以B選項的值為1。字符‘0’的ASCII值為48,所以A、C、D選項的值均不為1。故本題答案為B選項。

18.C數(shù)據(jù)結構與算法:數(shù)據(jù)結構的基本概念[評析]邏輯結構反映數(shù)據(jù)元素之間的邏輯關系,線性結構表示數(shù)據(jù)元素之間一對一的關系,非線性結構表示數(shù)據(jù)元素之間一對多或多對一的關系。線性結構和非線性結構是根據(jù)數(shù)據(jù)元素之間關系的不同特性加以分類的,即是從邏輯上加以分類的。

19.C本題考查的是聯(lián)合所占的存儲空間。sizeof(t)=sizeof(douhle)*3=8*3=24。聯(lián)合體所占的存儲空間取決于所占空間最大的成員所占的空間。

20.D

21.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應該調用函數(shù)fun(a,4),b4應該調用函數(shù)fun(b,4),(a+b)3應該調用函數(shù)fun(a+b,3),所以題目中的數(shù)學表達式,寫成C程序中的語句為m=fun(a,4)+fun(b,4)-fun(a+b,3)。

22.數(shù)據(jù)結構數(shù)據(jù)結構解析:Jackson方法是—‘種面向數(shù)據(jù)結構的結構化方法。

23.存儲結構存儲結構解析:數(shù)據(jù)結構是指相互之間存在一種或多種特定關系的數(shù)據(jù)元素的集合,即數(shù)據(jù)的組織形式。它分為數(shù)據(jù)的邏輯結構和數(shù)據(jù)的存儲結構。

24.關系關系解析:關系模型用;維表表示,則每個;維表代表一種關系。

25.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)

26.s[i]!='\0'||t[i]!='\0's[i]=='\0'&&t[i]=='\0's[i]!='\\0'||t[i]!='\\0'\r\ns[i]=='\\0'&&t[i]=='\\0'

27.585858585858解析:在程序中,執(zhí)行scanf()語句后,a被賦值為58。接著執(zhí)行第一個if語句,因為,a=58>50,執(zhí)行第一個if語句后面的輸出語句,輸出58;接著執(zhí)行第二個if語句,因為,a=58>40,執(zhí)行第二個if語句后面的輸出語句,輸出58;接著執(zhí)行第三個if語句,因為,a=58>30,執(zhí)行第三個if語句后面的輸出語句,輸出58,所以最后的輸出為585858。

28.66解析:條件運算符的優(yōu)先級高于賦值運算符,因此本題先計算關系表達式(*ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當y=0時,*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=2,所以z=2;當y-1時,*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=4,所以z=4;當y=2時,*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=6,所以z=6;循環(huán)結束。因此輸出z的結果為6。

29.裝配程序裝配程序

30.完善性軟件維護活動包括以下幾類:改正性維護,適應性維護、完善性維護和預防性維護,完善性維護是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。

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

32.282,8解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達式的值,若為真,則重復執(zhí)行循環(huán)體語句,否則退出循環(huán)。這里程序初始時a=1,b=10,經(jīng)過操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結果為:a=2,b=8。

33.pa[i]avg/n

34.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時是以“%d”格式輸出的,即輸出其相應ASCII碼值68。

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

36.軟件工程學軟件工程學

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

38.封裝封裝

39.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個元素輸出到文件fp中兩次,共10個字節(jié),再調用fread函數(shù)從文件fp中讀取這10個字節(jié)的數(shù)據(jù)到數(shù)組a中,此時數(shù)組a的內容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結果為'1,2,3,0,0,1,2,3,0,0,'。

40.關系模型關系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標準接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關系模型。

41.C解析:選項A中定義兩個變量a和b,并賦初值,C語言中可以同時定義多個變量,但變量之間必須用“,”隔開,顯然,選項A中少了一個逗號“,”,故選項A不正確;選項B中定義變量時用了連續(xù)的賦值語句,這在定義變量是不正確的,故選項B不正確,選項D定義一個指針,然后定義了一個變量并讓這個變量的初值為該指針變量,顯然這這時的指針變量還沒初始化就被賦值給變量,是不對的,故選項D不正確,所以,4個選項中選項C符合題意。

42.D解析:本題考核的知識點是不同變量的類型的混合運算。在C語言中規(guī)定允許不同類型的量進行運算,但在運算時需轉換成高級的類型進行運算。在表達式中有字符型和實型參加運算時,統(tǒng)一轉換為實型再運算,當運算結果存入變量時再轉換為該變量的類型。所以,4個選項中D為所選。

43.A

44.D解析:二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷,其遍歷順序應該為:后序遍歷左子樹->,后序遍歷右子樹->,訪問根結點。按照定義,后序遍歷序列是DEBFCA,故答案為D。

45.D解析:本題考查逗號表達式。逗號表達武的求解步驟是先求解表達式1,然后依次求解表達式2,直到表達式N的值。整個逗號表達式的值就足最后一個表達式N的值。(++x,y++)這個表達式的返回值是y++,先使用y的債,然后將y加1,所以輸出第一個值為1。第二個輸出的值為z+2=3+2=5。

46.C解析:不論main函數(shù)在整個過程中的位置如何,一個C程序總是從main函數(shù)開始執(zhí)行的。

47.B解析:本程序中有個for循環(huán),但注意到for循環(huán)的條件是“i+1”,也就是只要i+1的值為真(非零值均為真),就執(zhí)行循環(huán)。當i=1的時候,i+1的值為真,判斷if條件不成立,執(zhí)行i++,輸出i的值為5。

48.C解析:只能在循環(huán)體內和switch語句體內使用break語句。當break出現(xiàn)在循環(huán)體的switch語句體內時,其作用只是跳出該switch語句體,并不能中止循環(huán)體的執(zhí)行。若想強行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語句中設置break語句,滿足某種條件,則跳出本層循環(huán)體。

49.A解析:本題考查函數(shù)調用時的參數(shù)傳遞。通過函數(shù)abc的執(zhí)行,將字符串中的字母a去掉,保留剩下的。由于是通過指針調用,所以改變字符串的結果。

50.C解析:本題考查的知識點是if語句的嵌套使用.首先檢查訂與else的配對,然后再分析各分支實現(xiàn)的功能.選項A描述的意思是:在x>=O情況下,則y為1,否則;在x=O時,y為0,剩下的x<0時,y為-1,滿足本題中函數(shù)的要求;選項B描述的意思時:初始化y的值為0,在x>0時,給y重新賦值為1,否則,在x<0時,給y重新賦值為-1,滿足本題中函數(shù)的要求;選項C描述的意思是:在x>0情況下,如果x>0,則y為1,否則即“c==0”時,y為-1:剩下的x<0時,y為0.可見答案C實現(xiàn)的結果不是給定的表達式。選項D中描述的意思是:在x>=0的情況下,如果x>=0,就給y賦值為1,否則就給y賦值為0,在不是x>=0的其他情況下,就給y賦值為-1,滿足本題中函數(shù)的要求.所以4個選項中C為所選。

51.B解析:本題是考查手工模擬執(zhí)行程序的能力。a初值是1,循環(huán)開始時b值為1,由于a>=8為假,不執(zhí)行break,但a%2==1為真,執(zhí)行a+=5,a值變?yōu)?,再執(zhí)行continue跳過不執(zhí)行a-=3語句,而立即開始下一次循環(huán)。這時b值為2,由于a值為6,a>=8仍為假,不執(zhí)行break,但a%2==1為假,不執(zhí)行復合語句“{a+=5;continue;}”而執(zhí)行a-=3,a值變?yōu)?。再開始下一次循環(huán),這時b值為3。由于a值為3,a>=8仍為假,不執(zhí)行break,但a%2==1為真,執(zhí)行a+=5,a值變?yōu)?,再執(zhí)行continue跳過不執(zhí)行a-=3語句,而立即開始下一次循環(huán)。這時b值為4。由于a值為8,a>=8為真,執(zhí)行break,停止for循環(huán)。此時輸出的b值應為4。

52.B解析:本題考查printf函數(shù)的格式?!?08”格式符中的“0”表示在指定數(shù)據(jù)輸出寬度的同時,在數(shù)據(jù)前面的多余空格處加“0”;“8”表示指定數(shù)據(jù)的輸出寬度為8位。

53.A解析:由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個應用所共享,特別是在網(wǎng)絡發(fā)達的今天,數(shù)據(jù)庫與網(wǎng)絡的結合擴大了數(shù)據(jù)關系的應用范圍。數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數(shù)據(jù)的不一致性。這里所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應保持相同的值,而數(shù)據(jù)的不一致性指的是同一個數(shù)據(jù)在系統(tǒng)的不同拷貝處有不同的值。

54.C解析:本題考查的是二維數(shù)組的定義和初始化方法。C語言中,在定義并初始化二維數(shù)組時,可以省略數(shù)組第一維的長度,但是不能省略第二維的長度。故選項C)錯誤。

55.D

56.C解析:本題考查ifelse語句。第一個if語句,先判斷條件,發(fā)現(xiàn)a<b條件成立,執(zhí)行下列的語句;第二個if語句,先判斷條件,發(fā)現(xiàn)b<0條件不成立,則執(zhí)行與其配對的else語句,c+=1,得c=5。

57.C解析:考查C語言標識符。C語言合法標識符的命名規(guī)則是:標識符只能由字母、數(shù)字和下劃線組成,并且第一個字符必須為字母或下劃線。因為選項C)中的標識符的第一個字符為'&',所以C)為本題的正確答案。

58.A

59.A

60.A解析:continue語句的作用是結束本次循環(huán),程序中while循環(huán)語句的功能是計算1~7之間奇數(shù)之和,即s=1+3+5+7=16。

61.C

62.C選項c)中int(f)不正確,因為強制類型轉換表示為:(類型名)(表達式),正確表示為(int)f.

63.B棧是一種只允許在棧頂進行插入和刪除操作的線性表,使兩個棧共享同一存儲空間的是雙向棧,即將兩個棧的棧頂設在向量空間的兩端,讓兩個棧各自向中間空間延伸。當其中一個棧的元素較多,超過向量空間的一半時,只要另一個棧的元素不多,那么,前者就可以占用后者的部分存儲空間。只有當整個向量空間被兩個棧占滿(即兩個棧底相遇)時,才會發(fā)生上溢。使用這種棧的

溫馨提示

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

評論

0/150

提交評論