2021-2022年遼寧省葫蘆島市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第1頁
2021-2022年遼寧省葫蘆島市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第2頁
2021-2022年遼寧省葫蘆島市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第3頁
2021-2022年遼寧省葫蘆島市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第4頁
2021-2022年遼寧省葫蘆島市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021-2022年遼寧省葫蘆島市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.以下選項中能用作數(shù)據(jù)常量的是()。

A.115LB.0118C.1.5e1.5D.o115

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

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

3.在一個C程序中

A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前

B.main函數(shù)可以在任何地方出現(xiàn)

C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后

D.main函數(shù)必須出現(xiàn)在固定位置

4.下列描述中正確的是()。

A.軟件工程只是解決軟件項目的管理問題

B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題

C.軟件工程的主要思想是強調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則

D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題

5.以下選項中,能用作數(shù)據(jù)常量的是______。A.o115B.0118C.1.5e1.5D.115L

6.以下選項中不屬于字符常量的是

A.′C′B.′′C′′C.′\xCC′D.′\072′

7.若已定義x和y是整型變量,x=2;,則表達式y(tǒng)=2.75+x/2的值是()。

A.5.5B.5C.3D.4.0

8.以下敘述中錯誤的是()。

A.對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進行整體輸入或輸出

B.數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變

C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出“下標(biāo)越界”的出錯信息

D.可以通過賦初值的方式確定數(shù)組元素的個數(shù)

9.下列程序的輸出結(jié)果是()#include<stdio.h>main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1:case2:a+=2;default:a+=3;}printf(“%d”,a);}A.19B.18C.6D.8

10.下面程序的輸出結(jié)果是______。#include<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti:for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}

A.SOB.SPC.SPOPKD.SHOB

11.

12.下面程序的輸出結(jié)果是______。main(){inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a+4;printf("%d\n",p[3]);}

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

13.軟件需求分析一般應(yīng)確定的是用戶對軟件的______。

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

14.以下敘述中錯誤的是()。

A.形參可以是常量、變量或表達式

B.實參可以是常量、變量或表達式

C.實參的類型應(yīng)與形參的類型賦值兼容

D.實參的個數(shù)應(yīng)與形參的個數(shù)一致

15.數(shù)據(jù)結(jié)構(gòu)通常是研究數(shù)據(jù)的及它們之間的聯(lián)系______。A.存儲和邏輯結(jié)構(gòu)B.存儲和抽象C.理想和抽象D.理想與邏輯

16.判斷一包含n個整數(shù)的數(shù)組a[]中是否存在i、j、k滿足a[i]+a[j]+a[k]=0的時間復(fù)雜度需要()

A.O(n^2)B.O(n^2logn)C.O(n^3)D.O(nlogn)

17.若某線性表最常用的操作是存取任一指定序號的元素和在最后進行插入和刪除運算,則利用()存儲方式最節(jié)省時間。

A.順序表B.雙鏈表C.帶頭結(jié)點的雙循環(huán)鏈表D.單循環(huán)鏈表

18.以下選項中,能用作用戶標(biāo)識符的是()。

A._0_B.8_8C.voidD.unsigned

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

A.C語言程序是由過程和函數(shù)組成的

B.C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))

C.C語言函數(shù)不可以單獨編譯

D.C語言中除了main函數(shù),其他函數(shù)不可作為單獨文件形式存在

20.對n個元素的數(shù)組進行(),其平均時間復(fù)雜度和最壞情況下都為O(nlogn)。

A.希爾排序B.快速排序C.堆排序D.選擇排序

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

#include<stdio.h>

main()

{intn=12345,d;

while(n!=0){d=n%10;printf("%d",D);n/=10;}

}

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

23.有以下程序:

voidf(inty,int*x)

{y=y+*x;*x=*x+y;}

main()

{intx=2,y=4;

f(y,&x);

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

}

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

24.若想通過以下輸入語句給a賦值1,給b賦值2.則輸入數(shù)據(jù)的形式應(yīng)該是【】。

inta,b;

scanf("a=%d,b=%d",&a,&b);

25.下列程序的運行結(jié)果是______。

main()

{inti,a[10];

a[0]=a[1]=1;

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

a[i]=a[i-2]+a[i-1];

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

{if(i%2==0)printf("\n");

printf("%d",a[i]);

}

}

26.若a是血型變量,則表達式(a=2*3,a*2),a+6的值為______。

27.某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【】個葉子結(jié)點。

28.一般來說,算法可以用順序、選擇和______三種基本控制結(jié)構(gòu)組合而成。

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

main()

{inta=1,b=3,c=5;

if(c=a+b)printf("yes\n");

elseprintf("no\n");

}

30.表示""整數(shù)x的絕對值大于5""時值為""真""的C語言表達式是【】。

31.以下程序中,函數(shù)SumColumMin的功能是:求出M行N列二維數(shù)組每列元素中的最小值,并計算它們的和值。和值通過形參傳回主函數(shù)輸出。請?zhí)羁铡?/p>

#defineM2

#defineN4

voidSumColumMin(inta[M][N],int*sum)

{inti,j,k,s=0;

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

{k=0;

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

if(a[k][i]>a[j][i])k=j;

s+=a[k][i];

}

*sum=s;

}

main()

{intx[M][N]={3,2,5,1,4,1,8,3},s;

SumColumMin(【】);

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

}

32.在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為【】。

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

#include<stdio.h>

main()

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

if(a<b)

if(b<0)c=0;

elsec++;

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

}

34.在軟件開發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計方法和結(jié)構(gòu)化程序設(shè)計方法。可行性研究階段采用的是【】。

35.以下程序運行后的輸出結(jié)果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}

36.【】是一種信息隱蔽技術(shù),目的在于將對象的使用者和對象的設(shè)計者分開。

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

main()

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

for(p=s+1;p<s+4;p++)printf("%s\n",p);}

38.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是【】。

#defineN2

#defineMN+1

#defineKM+1*M/2

main()

{

inti;

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

{…}

}

39.為了建立如圖所示的存儲結(jié)構(gòu)(即每個結(jié)點含兩個域,data是數(shù)據(jù)域,next是指向結(jié)點的指針域)。請?zhí)羁铡?/p>

structlink{chardata;【】;}node;

40.設(shè)有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請將語句補充完整。

scanf(“%d”,______);

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

三、1.選擇題(20題)41.以下選項中不屬于字符常量的是

A.'C'B.CC.'\xCC'D.'\072'

42.以下選項中合法的實型常數(shù)是

A.5E2.0B.E-3C.2.00E+00D.1.3E

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

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

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

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

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

44.下列程序的輸出結(jié)果是()。#include<stdio.h>intfun(intx){inta;if(x==0‖x==1)return3;elsea=x-fun(x-2);returna;}voidmain(){printf("%d",fun(7));}

A.2B.8C.9D.5

45.可以在C語言中用做用戶標(biāo)識符的是______。

A.voiddefineWORDB.as_b3_123IfC.for-abccasD.2cDoSIG

46.設(shè)有如下的程序段:charstr[]="HelloWorld";char*ptr;ptr=str;執(zhí)行上面的程序段后,*(ptr+10)的值為()。

A.'\0'B.'0'C.不確定的值D.'0'的地址

47.以下程序的輸出結(jié)果是_______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7});Print("%d%d%d%d\n",a[0][3],a[l][2],a[2][1],a[3][0]);}

A.650B.1470C.5430D.輸出值不定

48.以下程序的輸出結(jié)果是_______。main(){charst[20]="hello\0\t\\";printf(%d%d\n",strlen(st),sizeof(st));}

A.99B.520C.1320D.2020

49.有以下程序:main(){chars[]="\n123\\";printf(%d,%d\n",strlen(s),sizeof(s));}執(zhí)行后的輸出結(jié)果是______。

A.賦初值的字符串有錯B.6,7C.5,6D.6,6

50.以下4個選項中,不能看作一條語句的是

A.{;}B.a=0,b=0,c=0;C.if(a>0);D.if(b==0)m=1;n=2;

51.以下程序的輸出結(jié)果是______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;printf("%d%d%d",a[a],a[5],a[8]);}

A.258B.741C.852D.369

52.已有定義:chara[]="xyz",b[]={'x','y','z'};,下列敘述中正確的是()。

A.數(shù)組a和b的長度相同B.a數(shù)組長度小于b數(shù)組長度C.a數(shù)組長度大于b數(shù)組長度D.上述三種說法都不對

53.若有如下程序:main(){inta=0,t=0;while(!a!=0)t+=a++;printf("%d,%d\n",t,A);}則程序運行后的輸出結(jié)果是()

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

54.有以下程序:#include<stdio.h>main(){charc1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(%c%c\n,c5,c6);}程序運行后,若從鍵盤輸入(從第1列開始)123<回車>45678<回車>則輸出結(jié)果是()。

A.1267B.1256C.1278D.1245

55.已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。下列不能將變量c中的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是()。

A.c=(c-'A')%26+'a'

B.c=c+32

C.c=C-'A'+'a'

D.c=('A'+C)%26-'a'

56.簡單的交換排序方法是()。

A.快速排序B.選擇排序C.堆排序D.冒泡排序

57.若a、b、c1、c2、x、y均是整型變量,則正確的switch語句是______。

A.swich(a+b);{case1:y=a+b;break;case0:y=a-b;break;}case3:y=b-a,break;

B.switch(a*a+b*b){case3:case1:y=a+b;break;}

C.switcha{casec1:y=a-b;break;casec2:x=a*d;break;default:x=a+b;}

D.switch(a-b){default:y=a*b;break;case3:case4:x=a+b;break;case10:case11:y=a-b;break;}

58.有以下程序:main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);}程序運行后的輸出結(jié)果是______。

A.42B.45C.56D.60

59.C語言可執(zhí)行程序的開始執(zhí)行點是()。

A.包含文件中的第一個函數(shù)B.程序中第一個函數(shù)C.程序中的main()函數(shù)D.程序中第一條語句

60.設(shè)有如下的程序段:inta[]=(1,2,3,4,5),*t;t=a;則下列說法正確的是()

A.a和t的內(nèi)容相同B.a數(shù)組的長度和t所指的字符串長度相等C.a和t完全相同D.指針變量t指向數(shù)組a的第一個元素

四、選擇題(20題)61.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程

B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程

C.軟件的開發(fā)過程

D.軟件的運行維護過程

62.有以下程序:

63.以下程序的輸出結(jié)果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}

A.19B.17C.15D.12

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

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

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

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

65.有以下程序

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

A.軟件測試應(yīng)該由程序開發(fā)者來完成

B.程序經(jīng)調(diào)試后一般不需要測試

C.軟件維護只包括對程序代碼的維護

D.以上三種說法都不對

67.(74)用鏈表表示線性表的優(yōu)點是()

A.便于插入和刪除操作

B.數(shù)據(jù)元素的物理順序與邏輯順序相同

C.花費的存儲空間較順序存儲少

D.便于隨機存取

68.

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

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

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

A.程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)

B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)

C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量

D.以上三種說法都不對

71.以下選項中能表示合法常量的是()。

A.1,200B.1.5E2.0C.”\”D.”\007”

72.

73.有以下程序:

#include<stdiO.h>

main()

{inta=1,b=0;

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

printf("%d\n",a=2+b);‘’

}

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

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

74.在軟件設(shè)計中,不屬于過程設(shè)計工具的是()。

A.PDLB.DFD圖C.PAD圖D.N—S圖

75.

76.以下敘述中錯誤的是()。

A.c語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令

B.c程序經(jīng)過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件

C.用c語言編寫的程序稱為源程序,它以ASCIl代碼形式存放在一個文本文件中

D.c語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序

77.HTTP協(xié)議的內(nèi)容協(xié)商消息頭包括()。

i.內(nèi)容協(xié)商消息頭ii.緩存控制消息頭

iii.條件控制消息頭iv.服務(wù)器狀態(tài)消息頭

A.i和iiB.i、ii和iiiC.ii和iiiD.iii和iv

78.有以下程序:

#include<stdio.h>

main()

{FILE*fp;inti,a[6]={1,2,3,4,5,6};

fp=fopen("d2.dat","w+");

for=(i=o;i<6;,i++)fpintf(fp,"%d\n",a[i]);

rewind(fp);

for(i=0;i%6;i++)fscanf(fp,"%d",&a[5-i]);

fclose(fp);

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

}

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

A.4,5,6,1,2,3,

B.1,2,3,3,2,1,

C.1,2,3,4,5,6,

D.6,5,4,3,2,1,

79.下列敘述中錯誤的是()。

A.列表框和組合框都有List屬性

B.列表框有Selected屬性,而組合框沒有

C.列表框和組合框都有Style屬性

D.組合框有Text屬性,而列表框沒有

80.

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將str所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(但Z轉(zhuǎn)化為A,z轉(zhuǎn)化為a),其他字符不變。

請修改函數(shù)proc()中的錯誤,使它能得出正確的結(jié)果。

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

試題程序:

六、程序設(shè)計題(1題)82.有一個一維數(shù)組,內(nèi)放10個學(xué)生成績,寫一個函數(shù),求出平均分。

參考答案

1.AA選項中“115L”表示長整型數(shù)據(jù)。B選項是八進制常量的表示方法,但是在八進制中不能含有數(shù)字8,所以B選項錯誤。C選項中e后面應(yīng)該是整數(shù),而不能是小數(shù)1.5,所以C選項錯誤。D選項中八進制常量應(yīng)該是以數(shù)字“0”開始,而不是以字母“o”開始。故本題答案為A選項。

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

3.B解析:一個完整的C語言程序有且僅有一個主函數(shù)(main()函數(shù))。程序總從main()函數(shù)的第一條語句開始執(zhí)行,到main()函數(shù)的最后一條語句結(jié)束,其他函數(shù)都是在執(zhí)行main()函數(shù)時,通過函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的。C語言規(guī)定,main()函數(shù)在程序中的位置是任意的,故選項A、選項C和選項D均不正確。所以,B選項為所選。

4.C\r\n軟件工程是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護計算機軟件的有關(guān)技術(shù)及管理方法。軟件工程的主要思想是強調(diào)在軟件開發(fā)工程中需要應(yīng)用工程化的原則。軟件工程用來解決以下問題:軟件需求的增長得不到滿足、軟件開發(fā)成本和進度無法控制、軟件質(zhì)量難以保證、軟件不可維護或維護程度低、軟件得成本不斷提高、軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。軟件項目的管理、軟件產(chǎn)品的生產(chǎn)率、軟件開發(fā)中的技術(shù)都是軟件工程需要解決的部分問題。因此選項C正確。

5.D在C語言中,有整型常量、實型常量、字符常量和字符串常量等類型。整型常量和實型常量又稱數(shù)值型常量。基本整型常量只能用數(shù)字表示,不帶小數(shù)點,例如12、-1和0等,在VC6.0中可以在整型常量的后面加—個字母l(L的小寫)或L;實型常量必須用帶小數(shù)點的數(shù)表示,例如3.14159、-2.71828、0.0等;選項A中字母o不符合要求,選頂B中超出八進制的范圍,選項C中e后面的不為整數(shù),因此選頂D是正確的。

6.B解析:在C語言程序中,用單引號把一個字符或反斜線后跟一個特定的字符括起來表示一個字符常量。選項A)、C)和D)為正確的字符常量,而選項B)是用雙引號括起來的字符,表示一個字符串常量。

7.C

8.C解析:在C語言中,除字符數(shù)組外,一個數(shù)組不能通過數(shù)組名對數(shù)姐進行整體引用,因此選項A是對的。數(shù)組名中存放的是一個地址常量,它代表整個數(shù)組的首地址,因此選項B是對的。C語言程序在運行過程中,系統(tǒng)不自動檢驗數(shù)組元素的下標(biāo)是否越界,因此選項C是錯誤的。C語官規(guī)定可以通過賦初值來定義數(shù)組的大小,這時數(shù)組說明符的一對方括號中可以不指定數(shù)組的大小,因此選項D也是正確的。所以,4個選項中選項C符合題意。

9.A本題考查switch語句。當(dāng)i=1時,執(zhí)行case1,因為沒有遇到break語句,所以依次往下運行,a=a+2=2,a=a+3=5;當(dāng)i=2時,執(zhí)行case2,因為沒有遇到break語句,所以依次往下運行,a=a+2=7,a=a+3=10;當(dāng)i=3時,執(zhí)行case3,a=a+1=11,因為沒有遇到break語句,所以依次往下運行,a=a+2=13,a=a+3=16;當(dāng)i=4時,執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。

10.A解析:p[0]存放的是“BOOL\\0”的首地址:p[1]存放的是“OPK\\0”的首址等。在printf語句中輸出的*p[i]表示p[i]字符串的第—個字符。在for循環(huán)中,i的初值為3,那么輸出的第—個字符為“S”,接著兩次i--,則輸出的值為*p[1],即字符“O”,所以本題的輸出為SO。

11.D

12.B解析:指針變量p指向數(shù)組a的第5個元素,p[3]在原指向基礎(chǔ)上移3個單位,指針變量p將指向第8個元素(下標(biāo)為7的元素),值為7。

13.DD?!窘馕觥寇浖枨蠓治鲋行枰獦?gòu)造一個完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,使用戶明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶對軟件的功能需求和非功能需求。

14.A函數(shù)中,形參必須是變量,實參可以是常量、變量或表達式,選項A錯誤,選項B正確;實參的個數(shù)和類型要與形參一致,選項C、D正確。本題答案為A選項。

15.A

16.A

17.A

18.AC語言的標(biāo)識符由字母、數(shù)字、下劃線組成,且第1個字符必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識符。B選項中以數(shù)字8開頭,所以錯誤。C選項與D選項中用的是關(guān)鍵字“void”與“unsigned”,所以錯誤。故本題答案為A選項。

19.B解析:C語言中只有函數(shù)沒有過程,故選項A錯誤;C語言可以嵌套調(diào)用,故選項B正確;C語言函數(shù)可以單獨編譯成.dll文件,故選項C錯誤;C語言中除main函數(shù)以外,其他函數(shù)可作為單獨文件形式存在,故選項D也錯誤。

20.C

21.5432154321解析:在while循環(huán)中,d=n%10;語句每次求得的結(jié)果是n個位上的數(shù)值,例如12345÷10所得的余數(shù)就是個位上的5。接下來輸出得到的個位數(shù)字d,然后執(zhí)行n/=10;語句,該語句等價于n=n/10;。在C語言中,如果/運算的兩個運算分量都是整數(shù),那所得的結(jié)果也截尾取整,所以12345/10=1234,即n-=n/10;語句的作用是讓n截去個位上的數(shù)字。由此可知,隨著while循環(huán)的繼續(xù),n依次為12345、1234、123、12、1,而每次輸出n的個位數(shù)字將為5、4、3、2、1。故本題應(yīng)填543210。

22.軟件工程學(xué)軟件工程學(xué)

23.8484解析:函數(shù)f(y,*x)的作用是讓y的值加上指針x所指向變量的值,讓指針x所指向變量的值加上y的值。由于形參y是傳值的,形參x是傳地址的,故調(diào)用該函數(shù)后,作為實參的y的值將不改變,而實參x的值將改變,故最后輸出的y的值為4,而x的值為8。

24.a=1b=2

25.11<CR>23<CR>5(<CR代表換行)11<CR>23<CR>5(<CR,代表換行)解析:本題通過語句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項的和賦值給數(shù)組當(dāng)前元素,得到a的值應(yīng)為(1,1,2,3,5)。語句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個的形式輸出。

26.1212解析:本題考查逗號表達式的運算規(guī)則。逗號表達式的基本格式為:“表達式1,表達式2,…”,其整個表達式的結(jié)果取最后一個子表達式的值。本題中首先計算逗號表達式中的第1個表達式a=2*3=6,然后計算第2個表達式a*2,這時整個表達式的值為12,但要注意,因為第2個表達式并沒有給a賦值,因此a的值不變;接下來執(zhí)行最后一個表達式a+6=12,所以整個表達式最后的值為12。

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

28.循環(huán)循環(huán)解析:算法一般由順序,選擇和循環(huán)三種基本控制結(jié)構(gòu)組合而成。

29.yesyes解析:if語句的條件語句為c=a+b=1+3=4,即條件為真,執(zhí)行語句printf('yes\\n');,輸出結(jié)果為yes。

30.x>5||x<-5x<-5或x<-5||x>5x>5||x<-5,x<-5或x<-5||x>5解析:要使整數(shù)x的絕對值大于5,則x大于5或x小于5,用C語言表示即為:x>5||x<-5或者x<-5||x>5。故本題答案為;x>5||x<-5或者x<-5||x>5。

31.x&sx,&s解析:函數(shù)SumColumMin中變量k存放一列數(shù)組元素中值最小的數(shù)組元素的行標(biāo),函數(shù)通過形參sum帶回值,sum是指針變量,將s中的值賦給*sum??諡楹瘮?shù)調(diào)用,函數(shù)SumColumMin有兩個形參,二維數(shù)組和指針變量,故空中應(yīng)填x,&s。

32.數(shù)據(jù)字典數(shù)據(jù)字典解析:在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為數(shù)據(jù)字典。

33.22解析:分析程序,a=2,b=-1,c=2時,if語句的表達式a<b不成立,不再柱下判斷,直接退出if語句,執(zhí)行后面的輸出語句,程序結(jié)束。在這個程序中a、b、c的值沒做任何改變。

34.結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法解析:結(jié)構(gòu)化分析方法主要用于系統(tǒng)分析階段;結(jié)構(gòu)化設(shè)計方法主要用于系統(tǒng)設(shè)計階段;結(jié)構(gòu)化程序設(shè)計方法主要用于編碼階段。可行性研究屬于系統(tǒng)分析階段,因此,可行性研究階段采用的是結(jié)構(gòu)化分析方法。

35.1020010200解析:本題考查的是混合運算?!?a/b<1)&&(a%b<1)”的運算順序為:括號>算術(shù)運算符>關(guān)系運算符>邏輯運算符。其中a%b=10,a,b=0,所以a%b<1的值為0,a/b<1的值為1,故整個表達式的結(jié)果為0,所以輸出的a,b,c的值為10200。

36.封裝封裝解析:面向?qū)ο蠹夹g(shù)中包括以下幾個基本概念,即對象、類、方法、消息、繼承和封裝,其中封裝是一種信息隱蔽技術(shù),目的在于將對象的使用者對象的和設(shè)計者分開。

37.BCDCDDBCD\r\nCD\r\nD解析:本題考查指向字符串的指針的運算方法。指針變量p首先指向字符串中的第一個字符A,執(zhí)行p=s+1后,p指向字符串中的第二個字符B,然后輸出值“BCD”并換行,依次執(zhí)行循環(huán)語句。

38.44解析:將程序中所有的宏替換掉可得:M=2+1,K=2+1*2+1/2=4,所以for循環(huán)共循環(huán)了K-1+1次,即4-1+1共4次。

39.structlink*next

40.k*kk*k解析:本題考查的知識點是scarf()函數(shù)和printf()函數(shù)的用法。scanf()函數(shù)有兩個參數(shù),第一個參數(shù)是格式控制部分(格式控制部分是字符串,主要由“%”號和格式字符組成)第二個參數(shù)是一地址列表(地址列表是由多個地址組成,可以是變量的地址,也可以是字符串的首地址)。而第一個空格處位于scanf()函數(shù)的第二個參數(shù)處,所以,第一個空應(yīng)該填地址k。printf()函數(shù)有兩個參數(shù),第一個參數(shù)是輸出格式字符串(輸出格式字符串是由控制輸出格式的字符和非格式字符組成的,通常是字符常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時原樣輸出)第二個參數(shù)為一輸出表達式表(輸出表達式表是由若干個需要計算和輸出的表達式組成的,表達式之間用逗號分隔開)。而第;個空位于printf()函數(shù)的第二個參數(shù)處,所以應(yīng)該填*K。

41.B解析:在C語言程序中,用單引號把一個字符或反斜線后跟一個特定的字符括起來表示一個字符常量。選項A)、C)和D)為正確的字符常量,而選項B)是用雙引號括起來的字符,表示一個字符串常量。

42.C解析:在C語言中,實數(shù)有兩種表示形式:十進制數(shù)形式與指數(shù)形式。

1)一般形式的實數(shù):小數(shù)形式的實數(shù)由整數(shù)部分、小數(shù)點和小數(shù)部分組成(必須要有小數(shù)點)。

2)指數(shù)形式的小數(shù):指數(shù)形式的實數(shù)由尾數(shù)部分、e(E)和指數(shù)部分組成(字母e或E的前后必須要有數(shù)字,且其后面的指數(shù)必須為整數(shù))。選項A中,5E2.0中E后面的2.0不是整數(shù);選項B中,E前面沒有數(shù)字;選項D中,E后面沒有數(shù)字。

43.A解析:C語言規(guī)定,程序中各函數(shù)之間既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用。

44.A解析:本題考查函數(shù)的遞歸調(diào)用。

在函數(shù)遞歸調(diào)用時,fun(7):a=7-fun(5)→fun(5):a=5-fun(3)→fun3:a=3-fun(1)→fun(1):a=3,反推回去fun(3):a=3-3=0→fun(5):a=5-0=5→fun(7):a=7-5=2,最后的計算結(jié)果為2。

45.B解析:C語言規(guī)定,標(biāo)識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線。另外還需要注意的是關(guān)鍵字不能作標(biāo)識符。選項A中void,C中for都為關(guān)鍵字,D中2c以字母開頭。

46.A解析:本題涉及字符數(shù)組和指針兩個知識點:①在C語言中,字符數(shù)組在存放字符串時會自動在末尾加上'\\0',所以題中數(shù)組str有11個元素;②ptr指向數(shù)組str的首地址,ptr+10是指向str[10],*(ptt+10)是引用str[10]的值(即結(jié)束符'\\0')。

47.A解析:對未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。

48.B解析:C語言中字符串是以'\\0'字符結(jié)束的,且strlen()函數(shù)計算的是'\\0'字符前的所有字符的個數(shù)。本題中strlen(st)應(yīng)為5。數(shù)組定義以后系統(tǒng)就為其分配相應(yīng)大小的內(nèi)存空間,而不論其中有沒有內(nèi)容。sizeof()函數(shù)是計算變量或數(shù)組的所分配到的內(nèi)存空間的大小。所以本題的sizeof(st)為20。

49.C解析:本題中定義字符數(shù)組s時沒有指定數(shù)組長度,s初始化后存放的內(nèi)容為'\\n123\\\\\\0',其中\(zhòng)'\\n\'和\'\\\\\'是轉(zhuǎn)義字符,所以strlen(s)=5,sizeof(s)=6。

50.D解析:C語言的語句都用“;”結(jié)束。如果只有一個分號,稱為“空語句”。用一對花括號把若干語句括起來構(gòu)成一個語句組,稱為“復(fù)合語句”,在語法上視為一條語句。因此選項A是一條語句。選項B是逗號表達式加分號構(gòu)成的語句。選項C是一條if語句,該語句的if子句是一條空語句。選項D中“if(b==0)m=1;n=2;”是兩個表達式語句。所以,4個選項中選項D符合題意。

51.C解析:在本題運行時主要注意的是當(dāng)i=9時,a[i]=10-9=1;i=8時,a[i]=10-8=2;i=7時,a[i]=10-7=3;……依此類推,直到i=0時,a[i]=10-0=10;此時,i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。

52.A解析:字符數(shù)組a[]中用字符串常量“xyz”進行初始化,字符數(shù)組a[]的長度為字符的個數(shù),所以其值為3,并不包括字符串結(jié)束標(biāo)記'\\0';字符串?dāng)?shù)組b[]用3個字符'x'、'y'、'z'來初始化,所以其字符串的長度等于3。

53.A

54.D解析:在題目中,程序執(zhí)行到scanf()函數(shù)時,會暫停等待用戶輸入4個字符,按題意輸入123<回車>后,字符1~3被分別輸入到c1~c3中,而c4會得到一個換行符'\\n'。然后執(zhí)行第1個getchar()函數(shù),由于前面的scanf()函數(shù)讀完了緩沖區(qū)中的所有字符,所以此時程序會又暫停等待用戶輸入,按題意輸入45678<回車>后,緩沖區(qū)第1個字符'4'被讀入并賦給c5,第2個getchar()函數(shù)會讀入緩沖區(qū)第2個字符'5'。所以最后依次輸出c1、c2、c5、c6的值后,屏幕上的結(jié)果是1245。故應(yīng)該選擇D。

55.D解析:由題意可知,小寫字符a和大寫字符A的ASCII代碼相差為32,所以選項C)能將大寫字符c的ASCII代碼轉(zhuǎn)換為小寫字符c的ASCⅡ代碼;選項A)和C)左側(cè)的表達式都是大寫字符c與大寫字符A的差與'a'的ASCII代碼的和就是小寫字符c的ASCII代碼。而選項D)中應(yīng)該是加上'a',而不是減去'a'。

56.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。

57.D

58.A解析:本題考查while語句和if語句的嵌套,程序段實現(xiàn)的功能是將p[1]至p[7]中的奇數(shù)相加求和并輸出,j=13+15+17=45。

59.C解析:每個C程序有且只有一個主函數(shù)main(),且程序必須從main函數(shù)開始執(zhí)行,并在main()函數(shù)中結(jié)束。

60.D

61.A通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。

62.A#include<stdio.

溫馨提示

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

評論

0/150

提交評論