2021-2022年內蒙古自治區(qū)錫林郭勒盟全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第1頁
2021-2022年內蒙古自治區(qū)錫林郭勒盟全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第2頁
2021-2022年內蒙古自治區(qū)錫林郭勒盟全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第3頁
2021-2022年內蒙古自治區(qū)錫林郭勒盟全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第4頁
2021-2022年內蒙古自治區(qū)錫林郭勒盟全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021-2022年內蒙古自治區(qū)錫林郭勒盟全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時編譯器提示錯誤信息,你認為出錯的語句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;

2.結構化程序所要求的基本結構不包括()。

A.順序結構B.GOT0跳轉C.選擇(分支)結構D.重復(循環(huán))結構

3.設有表示學生選課的三張表,學生S(學號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學號,課號,成績.,則表SC的關鍵字(鍵或碼)為()

A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績

4.第

2

現(xiàn)有如下程序段

#include"stdio.h"

main()

{intk[30]={12,324,45,6,768,98,21,34,453,456};

intcount=0,i=0;

while(k[i])

{if(k[i]%2==0‖k[i]%5==0)count++;

i++;}

printf("%d,%d\n",count,i);}

則程序段的輸出結果為

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

5.有以下程序#include<stdio.h>main(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII碼值為65。程序運行后的輸出結果是A.5670B.656667C.567D.ABC

6.假定下列x和y均為int型變量,則不正確的賦值為()。

A.x+=y++B.x++=y++C.x=++yD.++x=++y

7.面向對象的設計方法與傳統(tǒng)的面向過程的方法有本質不同,它的基本原理是()。

A.模擬現(xiàn)實世界中不同事物之間的聯(lián)系

B.強調模擬現(xiàn)實世界中的算法而不強調概念

C.使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題

D.不強調模擬現(xiàn)實世界中的算法而強調概念

8.

9.若有定義語句:"inta[4][10],*P,*q[4];"且0≤i<4,則錯誤的賦值是()。

A.D=aB.q[i]=a[i]C.p=a[l]D.P=&a[2][1]

10.廣告系統(tǒng)為了做地理位置定向,將IPV4分割為627672個區(qū)間,并標識了地理位置信息,區(qū)間之間無重疊,用二分查找將IP地址映射到地理位置信息,請問在最壞的情況下,需要查找多少次?()

A.17B.18C.19D.20

11.在一個順序隊列中,隊首指針指向隊首元素的____位置。

A.前一個B.后一個C.當前D.最后一個

12.二維數組A的元素都是6個字符組成的串,行下標i的范圍從0到8,列下標j的范圈從1到10,則存放A至少需要()個字節(jié)。

A.90B.180C.240D.270

13.若有語句“void*P=malloc(80);”,則以下敘述錯誤的是()。

A.可以通過指針P直接訪問用malloc開辟的這塊內存

B.p所指內存可以通過強制類型轉換當作具有20個int型元素的一維數組來使用

C.p所指內存可以通過強制類型轉換當作具有10個double型元素的一維數組來使用

D.P所指內存可以通過強制類型轉換當作具有80個char型元素的一維數組來使用

14.在黑盒測試方法中,設計測試用例的主要根據是A.程序外部功能B.程序內部邏輯C.程序數據結構D.程序流程圖

15.任何一個無向圖的最小生成樹()。

A.只有一棵B.有一棵或多棵C.一定有多棵D.可能不存在

16.數據庫設計包括兩個方面的設計內容,它們是()

A.概念設計和邏輯設計B.模式設計和內模式設計C.內模式設計和物理設計D.結構特性設計和行為特性設計

17.下列程序的輸出結果是

#include"stdio.h"

#defineN3

#defineM3

voidfun(inta[M][N])

{printf("%d\n",*(a[1]+2));}

main()

{inta[M][N];

inti,j;

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

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

a[i][j]=i+j-(i-j);

fun(a);}

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

18.將數組a[0,1,…,m-1]作為循環(huán)隊列SQ的存儲空間,f為隊頭指示,r為隊尾指示,則執(zhí)行出隊操作的語句為()A.f=f+1B.f=(f+1)%mC.r=(r+1)%mD.f=(f+1)%(m+1)

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

A.getehar函數用于從磁盤文件讀入字符

B.gets匿數用于從終端讀入字符串

C.取ns函數用于把字符串輸出到文件

D.fwrite函數用于以二進制形式輸出數據到文件

20.下面程序段的時間復雜度為()。

A.O(n)B.O(n2)C.O(1)D.O(nlog2n)

二、2.填空題(20題)21.數據流圖的類型有【】和事務型。

22.若有說明chars1[]="Thatgirl",s2[]="isbeautiful";則使用函數strcmp(s1,s2)后,結果是______。

23.下列程序中的數組a包括10個整數元素,分別將前項和后項之和存入數組b,并按每行4個元素輸出數組b。請?zhí)羁铡?/p>

#include<stdioh>

main()

{inta[10],b[10],i;

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

scanf("%d",&a[i]);

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

for(i;0;i<9;i++)

{if(i%4==0)primf("\n");

printf("%3d",b[i];

}

}

24.以下程序的輸出結果是【】。

main()

{intx=0;

sub(&x,8,1);

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

}

sub(int*a,intn,intk)

{if(k<=n)sub(a,n/2,2*k);

*a+=k;

}

25.以下程序的輸出結果是【】。

main()

{inty=9;

for(;y>0;y--)

if(y%3==0)

{printf("%d",--y);continue;}}

26.一個模塊直接調用的其他模塊的模塊個數稱為______。

27.數據元素之間______的整體稱為邏輯結構。

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

29.以下程序的輸出結果是【】。

#defineMCNA(m)2*m

#defineMCNB(n,m)2*MCRA(n)+m

#definef(x)(x*x)

main()

{inti=2,j=3;

printf("%d\n",MCRB(j,MCRA(i)));

}

30.在面向對象方法中,【】描述的是具有相似屬性與操作的一組對象。

31.數據的邏輯結構有線性結構和______兩大類。

32.下列程序的運行結果為【】。

main()

{inta=5,b=5,y,z;

y=b-->++a?++b:a;

z=++a>b?a:y;

printf("%d,%d,%d,%d",a,b,y,z);

}

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

main{)

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

}

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

intn='c';

switch(n++)

{default:printf("error");break;

case'a':

case'A':

case'b':

case'B':printf("good");break;

case'c':case'C':printf("pass");

case'd':case'D':printf("warn");

}

35.閱讀下列程序,則程序的輸出結果為【】。

#include"stdio.h"

structty

{intdata;

charc;};

main()

{structtya={30,′x′};

fun(a);

printf("%d%c",a.data,a.c);}

fun(structtyb)

{b.data=20;

b.c=′y′;}

36.若x,y和z均是int型變量,則執(zhí)行下面表達式后的x值為【】。

x=(y=4)+(z=2)

37.如果兩個8位二進制數00010101與01000111相加,其結果用十進制表示為【】。

38.以下程序運行后的輸出結果是【】。

#include<stdio,h>

main()

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

if(c=a)printf("%d\n",c);

elseprintf("%d\n",b);}

39.有以下程序

main()

{intn=0,m+1,X=2;

if(!n)X-=l;

if(m)X-=2;

if(X)X-=3;

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

}

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

40.以下程序運行后的輸出結果是【】。

main()

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

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

elseprintf("no\n");

}

三、1.選擇題(20題)41.C語言的基本單位是()。

A.函數B.過程C.子程序D.子函數

42.當執(zhí)行下面的程序時,其輸出結果為______。unionst{inta;charb;}main(){unionsts;char*p=(char*)&s;s.a=0x3132;s.b=0x33;printf("%c",*p);}

A.1B.2C.3D.不確定

43.下列敘述中正確的是A.C語言中既有邏輯類型也有集合類型

B.C語言中沒有邏輯類型但有集合類型

C.C語言中有邏輯類型但沒有集合類型

D.C語言中既沒有邏輯類型也沒有集合類型

44.軟件開發(fā)的結構化生命周期方法將軟件生命周期劃分成()

A.定義、開發(fā)、運行維護

B.設計階段、編程階段、測試階段

C.總體設計、詳細設計、編程調試

D.需求分析、功能定義、系統(tǒng)設計

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

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

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

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

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

46.有以下程序#include<stdio.h>main(){printf("%d\n",NULL);}

A.0B.1C.-1D.NULL沒定義,出錯

47.有下列程序:

main()

{intx=0;

inty=0;

while(x<7&&++y)

{y--;

printf(:%d,%d",y,x);

}

程序的輸出結果是()。

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

48.以下變量x、y、z均為double類型且已正確賦值,不能正確表示數學式子x/(y*z)的C語言表達式是______。

A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z

49.一棵二叉樹中共有70個葉子結點與80個度為1的結點,則該二叉樹中的總結點數為()。

A.221B.219C.231D.229

50.下面程序段的輸出為#nclude"stdio.h"main(){printf("%d\n",12<<2);}

A.0B.47C.48D.24

51.C語言中用于結構化程序設計的3種基本結構是()。

A.順序結構、選擇結構、循環(huán)結構

B.if、switch、break

C.for、while、do-while

D.if、for、continue

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

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

53.下列程序的輸出結果是()。#include<stdio.h>main(){inta[2][3]={{1,2,3},{4,5,6}},(*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}

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

54.若有定義:inta[2][3];,以下選項中對a數組元素正確引用的是

A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]

55.軟磁盤最外邊的磁道數是()

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

56.設a=1,b=2,c=3,d=4,則表達式a<b?a:c<d?a:d的結果為______。

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

57.下列屬于不合法的C語言整型常量的選項是()。A.-32679

B.0Xabc

C.069

D.3.00E+02B.C.D.

58.以下對C語言中聯(lián)合類型數據的正確敘述是()。

A.定義了聯(lián)合變量后,即可引用該變量或該變量中的任意成員

B.一個聯(lián)合變量中可以同時存放其所有成員

C.聯(lián)合中的各個成員使用共同的存儲區(qū)域

D.在向聯(lián)合中的一個成員進行賦值時,聯(lián)合中其他成員的值不會改變

59.下列程序的運行結果為()。#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

60.下述對C語言字符數組的描述中錯誤的是

A.字符數組的下標從0開始

B.字符數組中的字符串可以進行整體輸入/輸出

C.可以在賦值語句中通過賦值運算符“=”對字符數組整體賦值

D.字符數組可以存放字符串

四、選擇題(20題)61.(42)希爾排序法屬于哪一種類型的排序法()

A.交換類排序法

B.插入類排序法

C.選擇類排序法

D.建堆排序法

62.

63.下列排序方法中,最壞情況下比較次數最少的是()。

A.冒泡排序B.簡單選擇排序C.直接插入排序D.堆排序

64.

65.

66.設j為Int型變量,則下面for循環(huán)語句的執(zhí)行結果是()。

for(j=10;j>3;j--)

{if(j%3)j--;

--j;--j;

printf("%d",j);

}

A.63B.74C.62D.73

67.有如下程序

#defineN2

#defineMN+1

#defineNUM2*M+1

main()

{

inti;

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

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

}

該程序中for循環(huán)執(zhí)行的次數是

A.5B.6

C.7D.8

68.以下數據結構中不屬于線性數據結構的是______。

A.隊列B.線性表C.二叉樹D.棧

69.

70.結構化程序設計主要強調的是

A.程序的規(guī)模B.程序的效率C.程序設計語言的先進性D.程序易讀性

71.

72.

73.以下選項中,不能作為合法常量的是

A.1.24e03B.1.34e0.3C.1.24e+3D.1.34e0

74.利用fseek函數可實現(xiàn)的操作是()。

A.實現(xiàn)文件的順序讀寫B(tài).改變文件的位置指針C.實現(xiàn)文件的隨機讀寫D.以上答案均正確

75.在數據管理技術發(fā)展的三個階段中,數據共享最好的是()。

A.人工管理階段B.文件系統(tǒng)階段C.數據庫系統(tǒng)階段D.三個階段相同

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

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

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

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

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

77.有以下程序

#include<stdio.h>

main()

{

intnum=0;

while(num<=2)

{

num++;

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

}

}

上面程序的輸出結果是

78.

79.設變量已正確定義并賦值,以下正確的表達式是()。

A.X=Y+z+5,++YB.int(15.8%5)C.X=Y*5=X+ZD.X=25%5.0

80.已知intx=(1,2,3,4);變量x的值是()。

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

五、程序改錯題(1題)81.下列給定程序中,函數proc()的功能是:根據形參m(2≤m≤9)的值,在m行m列的二維數組中存放如下所示的數據,由main()函數輸出。

請修改程序中的錯誤,使它能得出正確的結果。

注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。

試題程序:

六、程序設計題(1題)82.學生的記錄由學號和成績組成,M名學生的數據已在主函數中放入結構體數組stu中,請編寫函數proc(),該函數的功能是:把高于等于平均分的學生數據放在b所指的數組中,高于等于平均分的學生人數通過形參n傳回,平均分通過函數值返回。注意:部分源程序給出如下。請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填入所編寫的若干語句。試題程序:

參考答案

1.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對指針進行賦值時沒有錯誤。a=/*p+m賦值,在c語言中"/*"表示的注釋,所以答案選擇A。

2.B1966年Boehm和Jacopini證明了程序設計語言僅僅使用順序、選擇和重復三種基本控制結構就足以表達出各種其他形式結構的程序設計方法。

3.C學號是學生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關鍵字就應該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號,所以選擇C項。

4.D

5.C

6.B

7.C\n面向對象的設計方法的基本原理是:使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。它雖強調模擬現(xiàn)實世界中的概念而不強調算法,但是它鼓勵開發(fā)者在軟件開發(fā)的過程中從應用領域的概念角度去思考。

\n

8.A

9.A數組名是一個存放一個數組首地址的值,是一個地址常量。而p=a不是合法的,因為p和a的基本類型不同。

10.D

11.A

12.A

13.A題干中使用malloc函數分配了80個字節(jié)的內存單元,void指針p指向該內存單元。在C語言中,void*不能直接使用,必須利用強制類型轉換將其轉成所需的類型才能使用,選項A錯誤。int類型的元素占4個字節(jié),所以可以將p指向的內存強制類型轉換成具有20個int類型的一維數組來使用,同理,也可以強制類型轉換成10個double類型的一維數組來使用,或強制類型轉換成80個char類型的一維數組來使用,選項B、C、D正確。故本題答案為A選項。

14.A【答案】:A

【知識點】:黑盒測試

【解析】:黑盒測試也稱功能測試或數據驅動測試,它完全不考慮程序內部的邏輯結構和內部特征,只著眼于程序的外部結構,主要用來檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用。故選A。

15.B

16.A解析:模式設計和內模式設計是概念設計的兩種方法。物理設計是根據特定的計算機系統(tǒng),對數據的存儲結構和存取方法進行設計,從而實現(xiàn)從邏輯結構到物理結構的轉換。從系統(tǒng)開發(fā)的角度來看,結構特性設計和行為特性-設計是數據庫應用系統(tǒng)所具有的兩個特性。結構特性的設計,設計各級數據庫模式(靜態(tài)特性):行為特性的設計,改變實體及其特性,決定數據庫系統(tǒng)的功能(動態(tài)特性)。

17.B解析:若有以下定義:inta[3][4],i,j;且當0<=i<3,0<=j<4,則可以有以下幾種方式來引用數組中的第i行,第j列的元素:a[i][j],*(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。

18.B

19.A本題考查的是文件操作。題中“fopen(fn,”w”)”的作用是打開fn所指向的文件,使用文件方式為“寫入”;

“每uts(str,fp)”的作用是將字符str的值輸出到fb所指向的文件中去。在程序中,兩次使用“寫入”的方式打開同一個文件,在第二次打開時,文件指針指向文件頭,所以此次寫入的數據覆蓋了文件原有的數據,故本題中tl.dat的內容為end。故本題答案為A)。

20.A

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

22.-1-1解析:strcmp(s1,s2)函數的作用是:對字符數組s2和字符數組s1進行比較。如果s1<s2,則返回負數;如果s1==s2,則返回0;如果s1>s2,則返回正數。

23.b[i]=a[i]+a[i+1]b[i]=a[i]+a[i+1]解析:將數組a中元素a[i]與a[i+1]值相加后的值賦予數組b中元素b[i]小即可實現(xiàn)將一個數組的前項和后項之和存入另一數組。

24.77解析:在主函數中定義了一個變量x并賦初值0,然后執(zhí)行函數調用語句,該語句的執(zhí)行過程為sub(&x,8,1)調用sub(&a,4,2),sub(&a,4,2)調用sub(&a,2,4),sub(&a,2,4)中由于2<4,所以if后面括號里的判斷為假,遞歸結束,執(zhí)行其后的*a+=k;語句此時x=x+k=0+4=4,回退到上一層調用函數sub(&x,4,2)中,執(zhí)行后面的語句,x=x+k=4+2=6,再回推到最上一層調用函數sub(&x,8,1)執(zhí)行后面的語句,x=x+k=6+1=7,所以最后輸出7。

25.852852解析:循環(huán)前,變量y的值為9,其中,循環(huán)語句在y大于0情況下循環(huán),每次循環(huán)后y的值都減1。循環(huán)體是當y能被3整除時輸出表達式--y,輸出的是減1后的y值。這樣,第一次循環(huán)因y為9,能被3整除,輸出8,y也變成8。又經兩次循環(huán),y的值變?yōu)?,又讓y減1變成5,并輸出5;又經兩次循環(huán),y的值變成3,讓y減1變成2,輸出2;再經兩次循環(huán)后,y的值變成0,結束循環(huán),所以程序輸出852。

26.扇出扇出解析:在結構圖中,調用一個給定模塊的模塊個數稱為扇入,一個模塊直接調用的其他模塊個數稱為扇出。

27.邏輯關系邏輯關系

28.2525解析:#NAME?

29.1616解析:本題定義了兩個宏MCRA(m)和MCRB(n,m),展開宏MCRB(n,m),得到:MCRB(j,MCRA(i)=2*MCRA(j)+MCRA(i)=2×2×j+2×i=4×3+2×2=12+4=16,因此printf函數的輸出結果為16。

30.類類解析:在面向對象方法中,類描述的是具有相似屬性與操作的一組對象。

31.非線性結構非線性結構

32.7467

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

34.passwarnpasswarn解析:n++是在執(zhí)行完其所在的語句后再加1,因此,在執(zhí)行case的時候,n的值依然為'c',執(zhí)行case'c'后面的語句,先打印出“pass”;在執(zhí)行完case'c'后,未遇到break跳出switch,便接著執(zhí)行下面的語句,又打印出warn。所以此題輸出結果是passwarn。

35.30x30x解析:本題的參數傳遞屬于值傳遞,所以被調用函數內不能改變調用函數中的數據。

36.6

37.92

38.11解析:該程序要注意的是if語句的判斷條件“c=a”是賦值,而不是“c==a”。由于a=1,故條件c=a使c的值為1(真),所以輸出c的值1。

39.-4-4解析:if-else構造了一種二路分支選擇,是一種最基本的選擇結構,if(條件)S1(if分結構)elseS2(else分結構),它的工作過程是:先對條件表達式進行判斷,若為真(成立,值為非零),就執(zhí)行if分結構(S1);否則(不成立,值為0),就執(zhí)行else分結構(S2)。本題中,n=O,可以判斷(!n)為真,執(zhí)行“x=x-1=2-1=1;m=1”,可以判斷(m)為真,執(zhí)行“x=x-2=1-2=-1;”進而可以判斷(x)為真,執(zhí)行x=x-3=-1-3=-4。所以,最后輸出為-4。

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

41.AA?!窘馕觥緾語言是函數式的語言。它的基本組成單位是函數,在C語言中任何程序都是由一個或者多個函數組成的。

42.C解析:共用體類型結構的特點是使幾個不同的變量共占同一段內存,但在每一瞬時只能存放其中一種,而不是同時存放幾種,共用體變量中起作用的成員是最后一次存放的成員,在存入一個新的成員后原有的成員就失去作用。因此本題起作用的是成員b的值,所以程序打印輸出3。

43.D解析:在C語言中沒有邏輯類型,邏輯類型用整型來表示,故選項A和選項C不正確,C語言中沒有集合類型,故選項B不正確。所以,D選項為所選。

44.A解析:通常,將軟件產品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。它可以分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。

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

46.A解析:在C語言中NULL的ASCII碼值為0,而輸出函數要求以整形格式輸出,故最后的輸出數為0。所以,4個選項中選項A符合題意。

47.A解析:本題考查while循環(huán)。y的值在while循環(huán)的控制表達式中加1,在循環(huán)體內減1,所以總的y值不變,且控制條件++y永遠非零。當x加到7時不滿足循環(huán)條件,結束循環(huán)。

48.A解析:按照自左向右的運算邏輯,選項A是先做x/y,然后再乘以x,顯然與題意不符。

49.B解析:二叉樹有一個性質:在任意一棵二叉樹中,度為。的結點(即葉子結點)總是比度為2的結點多一個,由于本題中的二叉樹有70個葉子結點,因此有69個度為2的結點。

該二叉樹中總的結點數為

度為2的結點數+度為1的結點數+葉子結點數=69+80+70=219

50.C

51.A解析:本題主要考查結構化程序設計的基本結構。結構化程序設計有3種基本結構:順序結構、選擇結構、循環(huán)結構。

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

53.B解析:第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]-1=3:第2次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4:第3次執(zhí)行for循環(huán),p[1][2]=1,最后輸出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。

54.D解析:C語言中數組下標是從0開始的,所以二維數組a[2][3]的第一維下標取值為0、1;第二維的下標取值為0、1、2,因而選項A)、B)、C)都是錯誤的,選項D)表示數組元素a[0][0]。

55.A

56.D

57.C解析:C語言中,以0開頭的整型常量表示八進制數,而八進制數只能由‘O’~‘7’八個字符組成,選項C中出現(xiàn)了數字9是錯誤的。故應該選擇C。

58.C解析:聯(lián)合體的幾個特點:①聯(lián)合體所占用的內存空間為最長的成員所占用的空間;②各個成員分量全部是從低地址方向開始使用內存單元;③聯(lián)合體中的空間在某一時刻只能保存某一個成員的數據;④聯(lián)合體和結構體可以任意嵌套。

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

60.C解析:在C語言中,通過使用庫函數允許對字符數組進行整體輸入/輸出。C語言不允許通過賦值運算符對字符數組整體進行賦值,對字符串使用符號:只能在說明字符數組并進行初始化的時候進行。字符串結束標志為'\\0',計算字符串的實際長度時。不計入串長。

61.B

62.C

63.D冒泡排序、簡單插入排序與簡單選擇排序法在最壞情況下均需要比較n(n-1)/2次,而堆排序在最壞情況下需要比較的次數是nlog2n。故答案為D選項。

64.D

65.A

66.B當j=10時,for循環(huán)成立,j%3為1,if條件也為真,當執(zhí)行完j--后,j為9,再執(zhí)行“--j;--J;”后,j的值為7,因此輸出7,繼續(xù)循環(huán)執(zhí)行j--后j為6,當j=6時for循環(huán)成立,j%3為0,if條件為假,此時執(zhí)行“--j;--j;”后,j為4,輸出4,再繼續(xù)循環(huán)執(zhí)行j--后j為3,當j=3時,for循環(huán)不成立,退出循環(huán),故選擇8選項。

67.B分別將N、M的宏定義代入NUM的表達式中,可以得到NUM=2*2+1+1=6,所以當常數NUM作為for循環(huán)的終止條件時,應當循環(huán)6次。

68.C解析:線性表、棧和隊列所表達和處理的數據以線性結構為組織形式。棧是一種特殊的線性表,它只能在固定的一端進行插入和刪除操作,又稱后進先出表(LastInFirstOut);隊列是插入在一端進行,刪除在另一端進行的線性表,又稱先進先出表(FirstInFirstOut)。

69.C

70.D結構化程序設計由迪

溫馨提示

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

最新文檔

評論

0/150

提交評論