2021年河南省濮陽市全國計算機等級考試C語言程序設計預測試題(含答案)_第1頁
2021年河南省濮陽市全國計算機等級考試C語言程序設計預測試題(含答案)_第2頁
2021年河南省濮陽市全國計算機等級考試C語言程序設計預測試題(含答案)_第3頁
2021年河南省濮陽市全國計算機等級考試C語言程序設計預測試題(含答案)_第4頁
2021年河南省濮陽市全國計算機等級考試C語言程序設計預測試題(含答案)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021年河南省濮陽市全國計算機等級考試C語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.以下程序的輸出結果是()。main{charw[][10]={"ABCD","EFGH","IJKL","MNOP"),K;for(k=1;k<3;k++)printf("%s\n",w[k]);A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL

2.以下涉及字符串數(shù)組、字符指針的程序段中,沒有編譯錯誤的是()。A.char*str,name[1];str=“Hello”;

B.char*str,name[1];name=“Hello”;

C.charstrl[10]=“ex1.c”,str2[6];str2=str1;

D.charhead_line[];head_line=“\\0”;

3.如果只想得到1024個元素組成的序列中第5個最小元素之前的部分排序的序列,用()方法最快

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

4.下面程序段的運行結果是char*p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(p,"ABCD")));

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

5.有以下程序:#include<stdio.h>main(){intx=072;printf(“>%d<\n”,x+1);}程序運行后的輸出結果是()。

A.>073<B.>73<C.>142<D.>59<

6.有以下程序:#include<stdio.h>main{intx=4,y;do{y=x;if(!y)printf(“x”);elseprintf(“y”):x--;}while(x);}程序的輸出結果是()。A.xyyxB.yyyyC.yyxxD.yxyx

7.下列數(shù)據(jù)結構中,能夠按照“先進后出”原則存取數(shù)據(jù)的是()。

A.循環(huán)隊列B.棧C.隊列D.二叉樹

8.設x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

9.對初始狀態(tài)為遞增序列的數(shù)組按遞增順序排序,最省時間的是插入排序算法,最費時間的算法是()

A.堆排序B.快速排序C.插入排序D.歸并排序

10.下列程序的執(zhí)行結果是______。#include<stdio.h>unionun{inti;charc[2};};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;printf("\n%d",x.i);}

A.266B.11C.265D.138

11.設有以下語句:charstr1[]="string",str2[8],*str3,*str4=="string;則______不是對庫函數(shù)的正確調用。

A.strcpy(str1,"HELLO1");

B.strcpy(str2,"HELLO2");

C.strcpy(str3,"HELLO3");

D.strcpy(str4,"HELLO4")

12.每次從無序表中取出一個元素,把它插入到有序表中的適當位置,此種排序方法叫做()排序。

A.插入B.堆C.快速D.歸并排序

13.C語言中最簡單的數(shù)據(jù)類型包括()。

A.整型、實型、邏輯型B.整型、實型、字符型C.整型、字符型、邏輯型D.字符型、實型、邏輯型

14.有下列程序:程序執(zhí)行后的輸出結果是()。A.11B.43C.57D.53

15.有以下程序:#include<stdio.h>voidfun(char*C,intd){*c=*c+1,d=d+1;printf(%"c%,c",*c,d);}main(){charb=aa=A;fun(&b,a);printf(%"c,%c\n",b,a);)程序運行后的輸出結果是()。A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B

16.對一個有A,B,C,D隨機組成的序列進行哈夫曼編碼,據(jù)統(tǒng)計,各個元素的概率分別為:P(A)=0.4,P(B)=0.35,P(C)=0.2,P(D)=0.05,請問該編碼的平均期望編碼長度為()bits。

A.1.45B.1.74C.1.85D.1.92

17.若有如下定義,則__________是對數(shù)組元素的正確的引用。.

inta[10],*p;p=a;

A.*&a[10]B.a[11]C.*(p+11)D.*p*p*p

18.數(shù)組A中,每個元素的長度為4個字節(jié),行下標i從1到8,列下標j從1到10,從首地址SA開始連續(xù)存放在存儲器內,該數(shù)組按行存放時,元素A[8][5]的起始地址為()。

A.SA+292B.SA+296C.SA+300D.304

19.以下說法錯誤的是:()

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

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

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

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

20.

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

#include<stdio.h>

main()

{intt=1,i=5;

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

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

}

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

22.mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>

intmystrlen(char*str)

{inti;

for(i=0;【】!='\0';i++);

return(【】);

}

23.下列程序的輸出結果是______。

#include<stdio.h>

int(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=1,b=8,c=7,d=9;

t(a,b,c,d);

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

}

24.數(shù)據(jù)流圖的類型有【】和事務型。

25.函數(shù)調用語句:“fsets(buf,n,fp);”從fp指向的文件中讀入n個字符放到buf字符數(shù)組中,函數(shù)返回值為______。

26.軟件工程研究的內容主要包括:【】技術和軟件工程管理。

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

#include<stdio.h>

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)printf("\n");

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

}

}

28.有以下程序:

main()

{charstr[]="xyz",*ps=str;

while(*ps)ps++;

for(ps--;ps-str>=0;ps--)puts(ps);

}

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

29.性結構中,隊列的操作順序是先進先出,而棧的操作順序是______。

30.下列語句能循環(huán)______次。

ints=12;

while(s);

--s;

31.在計算機領域中,通常用英文單詞“Byte'’表示【】。

32.按照邏輯結構分類,結構可以分為線性結構和非線性結構,棧屬于______。

33.函數(shù)pi的功能是根據(jù)以下公式近似求得的:

pi*pi/6=1+1/(2*2)+1/(3.3)+...+1/(n*n)

請在下面的函數(shù)中天空,完成求pi的功能。

#include<math.h>

doublepi(longn)

{doubles=0.0,longi;

for(i=1;i<<=n;i++)s=s+【】;

return(sqrt(6*s));

}

34.有以下程序

main()

{intt=1,i=5;

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

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

}

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

35.在對文件進行操作的過程中,若要求指針的位置回到文件的開頭,應當調用的函數(shù)是【】。

36.以下程序的功能是調用函數(shù)fun計算:m=1-2+3-4+…+9-10,并輸出結果。請?zhí)羁铡?/p>

intfun(intn)

{

intm=0,f=1,i;

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

{

m+=i*f;

f=______;

}

returnm;

}

main()

{printf(“m=%d\n”,______)};

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

structlink{chardata;【】;}node;

38.下面程序的輸出結果是【】。

#include<stdio.h>

main()

{staticchara[]="language",b[]="program";

char*ptr1=a,*ptr2=b;

intk;

for(k=0;k<7;k++)

if(*(ptr1+k)==*(ptr2+k))

printf("%c",*(ptr1+k));}

39.以下程序的功能是根據(jù)輸入的"y"("Y")與"n"("N"),在屏幕上分別顯示出"ThisisYES."與"ThisisNO."??瞻滋幮枰钊氲膬热菔?/p>

#include<stdio.h>

voidYesNo(charch)

{switch(ch)

{case′y′:

case′Y′:printf("\nThisisYES.\n");

case′n′:

case′N′:printf("\nThisisNO.\n");}

main()

{charch;

printf("\nEnterachary,Yorn,N:");

ch=【】;

printf("ch;%c",ch);

YesNo(ch);}

40.算法執(zhí)行過程中所需要的基本運算次數(shù)稱為算法的______。

三、1.選擇題(20題)41.第

13

設有程序段

intk=10;

while(k=0)k=k-1;

則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次

42.以下程序的輸出結果是()structHAR{intx,y;structHAR*p;}h[2];main(){h[0].x=1;h[0].y=2;h[1].x=3;h[1].y=4;h[0].p=&h[1];h[1].p=h;printf("%d%d\n"h[0].p)->x,(h[1].p)->y);}

A.12B.23C.14D.32

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

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

44.關系表中的每一行記錄稱為一個()。

A.字段B.元組C.屬性D.關鍵碼

45.有以下程序main(){chara[]={'a','b','c','d','e','f','g','h','\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d\n"i,j);}程序運行后的輸出結果是

A.9,9B.8,9C.1,8D.9,8

46.完全不考慮程序的內部結構和內部特征,而只是根據(jù)程序功能導出測試用例的測試方法是()

A.黑箱測試法B.白箱測試法C.錯誤推測法D.安裝測試法

47.執(zhí)行下面程序的結果是______。main(){intx=2;printf("%d\n",(x--,x<<1,x&&5));}

A.0B.1C.2D.編譯時有語法錯誤,不能執(zhí)行

48.以下程序的輸出結果是______。#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

49.設有如下三個關系表:

下列操作中正確的是()。

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

50.在數(shù)據(jù)庫設計中,將E-R圖轉換為關系模式的過程屬于()。

A.需求分析階段B.邏輯設計階段C.概念設計階段D.物理設計階段

51.下列敘述中,不正確的是______。

A.字符型數(shù)組中可以存放字符串

B.可以對字符型數(shù)組進行整體輸入、輸出

C.可以對整型數(shù)組進行整體輸入、輸出

D.不能在賦值語句中通過賦值運算符:對字符型數(shù)組進行整體賦值

52.以下敘述不正確的是______。

A.分號是C語言的必要組成部分

B.C程序的注釋可以寫在句的后面

C.函數(shù)是C程序的基本單位

D.主函數(shù)的名字不一定用main表示

53.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。

A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:

54.有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){charstrl[100]="abcddfefdbd",c='d';ss(str1,c);printf("%s\n",strl);}程序運行后的輸出結果是

A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd

55.有以下程序main(){intc=35;printf("%d\n”,c&c);}程序運行后的輸出結果是______。

A.0B.70C.35D.1

56.下面關于完全二叉樹的敘述中,錯誤的是______。

A.除了最后一層外,每_層上的結點數(shù)均達到最大值

B.可能缺少若干個左右葉子結點

C.完全二叉樹一般不是滿二叉樹

D.具有結點的完全二叉樹的深度為[log2n]+1

57.在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關鍵碼值11,所需的關鍵碼比較次數(shù)為______。

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

58.下列敘述中正確的是______。

A.程序設計就是編制程序

B.程序測試必須由程序員自己去做

C.程序經調試改錯后還應進行再測試

D.程序經調度改錯后不必進行再測試

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

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

60.程序中對fun()函數(shù)有如下說明void*fun();此說明的含義是______。

A.fun函數(shù)無返回值

B.fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型

C.fun函數(shù)的返回值是無值型的指針類型

D.指針fun指向一個函數(shù),該函數(shù)無返回值

四、選擇題(20題)61.以下程序的輸出結果是()。

f(intb[],intm,intn)

{inti,s=0;

for(i=m;i<n;i=i+2)s=s+b[i];

returns;

}

voidmain()

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

x=f(a,3,7);

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

}A.A.10

B.18

C.8

D.15

62.

63.在面向對象方法中,具有相似屬性與操作的一組對象稱為()。

A.類B.實例C.消息D.數(shù)據(jù)

64.以下程序的運行結果是()。

A.m=4k=5i=5k=5

B.m=4k=4i=5k=5

C.m=4k=4i=4k=5

D.m=4k=5i=4k=5

65.

66.

67.

68.以下選項中,不合法的C語言用戶標識符是()。A.a-一bB.AaBeC.a_bD.一1

69.

70.將E—R圖轉換為關系模式時,實體和聯(lián)系都可以表示為()。

A.屬性B.鍵C.關系D.域

71.下列說法正確的是()。

A.在C語言中,可以使用動態(tài)內存分配技術定義元素個數(shù)可變的數(shù)組

B.在c語言中,數(shù)組元素的個數(shù)可以不確定,允許隨機變動

C.在C語言中,數(shù)組元素的數(shù)據(jù)類型可以不一致

D.在C語言中,定義一個數(shù)組后.就確定了它所容納的元素的個數(shù)

72.以下敘述中不正確的是

A.預處理命令都必須以#號開始

B.在程序中凡是以#號開始的語句行都是預處理命令行

C.宏替換不占用運行時間,只占編譯時間

D.以下定義是正確的:#definePI3.1415926;

73.

74.若有定義:“inta=4,b=5;floatx=3.4,y=2.1;”,則下列表達式的值為()。(float)(a+b)/2+(int)x%(int)y;

A.5.5B.55C.5.500000D.55.00000

75.

76.(40)將E-R圖轉換到關系模式時,實體與聯(lián)系都可以表示成()

A.屬性

B.關系

C.鍵

D.域

77.有以下程序程序運行后的輸出結果是()。

A.21B.11C.6D.120

78.有以下程序

79.若要求從鍵盤讀入含有空格字符的字符串,應使用函數(shù)

80.

五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:求兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若num1和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸出的最大公約數(shù)為27。請改正程序中的錯誤,使它能得出正確結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構!試題程序:

六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),它的功能是求出能整除x且不是偶數(shù)的整數(shù),并將這些整數(shù)按從小到大的順序放在PP所指的數(shù)組中,總個數(shù)通過形參n返回。如x中的值為30,則有4個數(shù)符合要求,它們是1、3、5、15。注意:部分源程序在文件prog1.c中。請勿改動主函數(shù)main()和其他函數(shù)中的任何內容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:

參考答案

1.D當k=1時,循環(huán)成立,輸出w[l]的數(shù)組即EFGH,接著執(zhí)行k++后k為2;當k=2時,循環(huán)成立,輸出w[2]的數(shù)組即IJKL,接著執(zhí)行k++后,k為3;當k=3時,循環(huán)不成立,退出。

2.AC語言中,字符指針變量可以直接使用字符串賦值,而字符數(shù)組不能直接使用字符串或字符數(shù)組賦值,選項B、C、D錯誤,選項A正確。故本題答案為A選項。

3.D解析:從平均時間性能而言,快速排序最佳,其所需時間最少,但快速排序在最壞情況下的時間性能不如堆排序和歸并排序。當序列中的記錄基本有序或元素個數(shù)較少時,冒泡排序和簡單選擇排序為最佳排序方法,故本題答案應該為選項D。

4.C在本題中,程序段首先定義了字符型指針變量p,并使其指向一個字符串,然后將指針變量p加3,即使其指向字符串的第四個元素。然后執(zhí)行輸出語句,通過輸出語句的輸出格式我們可以知道,最后輸出的是一個十進制數(shù)的整型數(shù)值,其輸出列表為strlen(strcpy(P,″ABCD″))。這就要求我們了解strlen函數(shù)和strcpy函數(shù)的作用。

strcpy的調用格式是:strcpy(目的地址,源地址),其功能是把源地址的字符串復制到目的地址中,這種復制將覆蓋原來的字符串。strcat函數(shù)的功能是將源地址的字符串復制到目的地址字符串的后面。

strlen的調用格式是:strlen(字符串地址),其功能是返回字符串中字符的個數(shù)。

那么程序中執(zhí)行strcpy(P,″ABCD″)后指針變量p所指向的字符串為“ABCD”,該字符串中字符的個數(shù)為4,那么執(zhí)行strlen后,程序最終輸出的結果是4。因此本題正確的答案是C。

5.D題干中x是一個整型變量,賦值為072。以0開頭的整數(shù)是八進制的表示形式。printf函數(shù)中,格式字符%d表示以十進制形式輸出“x+1”,所以需要將072轉換成十進制數(shù),即7×8+2=58,輸出“x+1”為59。故本題答案為D選項。

6.B本題考查do-while語句和if…else語句。do-while語句的功能是先執(zhí)行循環(huán)體再判斷條件,所以,先判斷if語句的條件,y=-4,!y為邏輯0,條件不成立,執(zhí)行下面的else語句,輸出y,然后將x的值減1,x=3,條件不成立,執(zhí)行下面的else語句,輸出Y,然后將X的值減1,x=2,滿足while循環(huán)條件,繼續(xù)循環(huán)。第三次循環(huán):先判斷if語句的條件,y=2,!y為邏輯0,條件不成立,執(zhí)行下面的else語句,輸出y,然后將X的值減1,x=l,滿足while循環(huán)條件,繼續(xù)循環(huán)。第四次循環(huán):先判斷if語句的條件,y=-1,!y為邏輯0,條件不成立,執(zhí)行下面的else語句,輸出Y,然后將x的值減1,x=0,不滿足while循環(huán)條件,結束循環(huán)。所以B正確。

7.BB?!窘馕觥吭跅V?,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照“先進后出”或“后進先出”的原則組織數(shù)據(jù)的。

8.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。

9.B

10.A解析:由于本題定義的是共用體,所以成員表列中的整型變量x與字符數(shù)組c共占用同一個存儲單元,且此存儲單元為2個字節(jié),通常c[0]位于低字節(jié),c[1]位于高字節(jié),所以x.i的值為266。

11.C解析:C語言中:strcpy(st1,st2);,其兩個參數(shù)均為字符指針或字符數(shù)組,選項C中的目的中指針str3沒有指向具體有效的存儲單元,故是錯誤的調用。

12.A

13.B解析:選項A)中包含一個不合法的運算符“:=”;選項C)應改為(int)18.5%3;選項D)可理解為兩個表達式:a+7=c+b和a=a+7,因為C語言規(guī)定賦值號的左邊只能是單個變量,不能是表達式或常量等,所以a+7=c+b是錯的。因此,正確答案是選項B),它相當于a=(b=c+2),可分解為兩個表達式:b=c+2和a=b。

14.D函數(shù)f是一個遞歸函數(shù)。當x>=2時,遞歸調用自身,返回值為x*f(x-l)+(x-l)*f(x-2);3x<2時,返回值為1。main函數(shù)中,調用函數(shù)f傳入4,所以y的值是f(4)。f(4)等價于4*f(3)+3*f(2);f(3)等價于3*f(2)+2*f(1);f(2)等價于2*f(1)+1*f(0);f(0)、f(1)等價于1。綜上:f(2)等于3,f(3)等于11,f(4)等于53。本題答案為D選項。

15.A本題考查了函數(shù)的調用。首先主函數(shù)定義了兩個字符型數(shù)據(jù)b和a,給b賦值為字母a.a賦值為字母A,調用fun(&.b,a)函數(shù),*C=*c十1,a的ASCIl碼值加1后為b,A的ASCIl碼值加1后為B。輸出第一組值,排除C、D選項。B選項的值此時為小b,排除B選項,所以本題答案為A。

16.C

17.D

18.B

19.A

20.C

21.00解析:本題是計算5*4*3*2*1*0的值,結果為0。

22.str[i]或str+iistr[i]或str+i\r\ni

23.7979解析:因為在調用子函數(shù)時進行的是數(shù)值傳遞,調用于函數(shù)并不能改變實參的值,所以經過調用子函數(shù),c、d的值并沒有發(fā)生變化還是原來的值。

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

25.buf的首地址buf的首地址解析:考查fgets()函數(shù)的功能,fgets()函數(shù)用來從文件中讀入字符串。調用格式為:fgets(buf,n,fp)。此處,fp是文件指針,buf是存放字符串的起始地址,n是一個int型變量。調用函數(shù)fgets()時,最多能讀入n-1個字符,系統(tǒng)自動在最后加字符串結束標志,并以buf作為函數(shù)值返回。

26.軟件開發(fā)

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

28.zyzXyzzyzXyz解析:本題考查字符型指針變量的應用。程序中字符指針變量ps指向字符串'xyz',while循環(huán)語句的作用使ps指向字符串結尾,for循環(huán)的執(zhí)行過程如下。

第一次循環(huán):ps指向字符串'z',輸出z。

第二次循環(huán):ps指向字符串'yz',輸出yz。

第三次循環(huán):ps指向字符串'xyz',輸出xyz。

29.先進后出先進后出解析:隊列和棧都是線性結構,但是不同之處在于隊列的操作順序是先進先出,而棧的操作順序是先進后出。

30.無限無限解析:分析程序“while(s)”語句后面有一個“;”不能執(zhí)行后面的語句,只是執(zhí)行空語句,所以s=12保持不變,因此,沒有條件限制的能循環(huán)無限次(即死循環(huán))。

31.字節(jié)字節(jié)

32.線性結構線性結構解析:數(shù)據(jù)的邏輯結構是指數(shù)據(jù)元素之間的邏輯關系,分為線性結構和非線性結構。常見的線性結構有線性表、棧和隊列等,常見的非線性結構有樹、二叉樹等。

33.1.0/i/i或1.0/(i*i)1.0/i/i或1.0/(i*i)解析:由題面中提供的計算pi的公式可知:在第i項其值為1/(i*i),考慮到運算結果為浮點數(shù),故必須要將1轉化為浮點數(shù)或采用1.0/(i*i)的形式。故本題應填1.0/(i*i)或其等效形式。

34.00解析:本題中的for循環(huán)共執(zhí)行了6次,每執(zhí)行一次將相應i的值相乘,最后當i=-1時停止循環(huán).該for循環(huán)執(zhí)行完后t的值為5*4*3*2*1*0=0,故最后輸出I的值為0。

35.rewindrewind解析:庫函數(shù)rewind()的作用是使文件位置指針重新返回文件的開頭,所以本題應該填rewind。

36.-f或f*-1或-1*f或f*(-1)或(*1)*f。fun(10)-f或f*-1或-1*f或f*(-1)或(*1)*f。\r\nfun(10)解析:本題考核的知識點是C程序的簡單應用。本題要求調用fun()函數(shù)計算m的值,故在主函數(shù)中的空格處應該填調用fun()函數(shù)的語句。fun()函數(shù)有一個形參n,為每次參加計算的值的個數(shù),故在主函數(shù)中的空格處應該填fun(10),回到fun()函數(shù),函數(shù)用到了一個for循環(huán),共循環(huán)n次,當循環(huán)第i次的時候,m的值等于m=1-2+……+[(-1)的i-1次方]*1所以在fun()函數(shù)的空格處應該填使f改變符號的語句,故應填*f或f*-1或-1*f或f*(-1)或(-1)*f。

37.structlink*next

38.gaga解析:考查了用字符指針處理字符串的方法。用字符指針處理字符串,首先要使指針指向這個字符串,即題中的ptr1=a和ptr2=b,然后就是通過指針的移動可以引用到字符串中的每一個字符。題中的*(ptr1+k)是使指針ptr1向后移動k個位置,然后取出指向的字符。

39.getchargetchar解析:考查了字符可以作為整型變量來對待,參與操作。題中要求根據(jù)輸入的字符調用函數(shù)YesNo來判斷輸入的字符是y(Y)還是n(N),字符的輸入可用字符輸入函數(shù)getchar。函數(shù)YesNo用來判斷一個字符是y(Y)還是n(N),主要用了一個switch多分支結構來比較輸入字符與字符\ue008'y',\ue009'Y'、,'n','N'是否相等來實現(xiàn)的。

40.時間復雜度時間復雜度解析:算法在執(zhí)行過程中所執(zhí)行的基本運算的次數(shù),也就是執(zhí)行算法所需要的計算工作量,稱為算法的時間復雜度。

41.C本題中,首先將0賦給k,表達式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語句。解答本題的關鍵是掌握while語句。

42.D解析:本題中是一個含有兩個結點的循環(huán)鏈表。

C語言中結構體的定義為:

struct結構題類型名

{

成員項表;

};

43.Dfputc函數(shù)的一般調用形式為fputc(ch,fp),其中ch是要輸出的字符,它可以是一個字符常量,也可以是一個字符變量,fp是文件指針變量。函數(shù)的作用是將字符(ch的值)輸出到fp所指向的文件中。

fputc函數(shù)也返回一個值,如果輸出成功,則返回值就是輸出的字符;如果輸出失敗,則返回一個EOF(-1)。因此,本題的正確答案選D。

44.BB)【解析】在關系表中,每一列稱為一個屬性,對應表中的一個字段;每一行稱為一個元組,對應表中的一條記錄。

45.D解析:本題中首先定義了字符數(shù)組a,由于它的長度省略,所以其長度由初值個數(shù)確定,為9。接著將sizeof()函數(shù)返回的值賦給i(SIZeof()函數(shù)的作用是返回運算對象占用的字符數(shù)),所以i值為9。然后將strlen()函數(shù)的返回值賦給j(strlen()函數(shù)的作用是返回字符串的長度,不包括字符串的結束標記'\\0'),所以j值為8,所以最后輸出的i,j的值為9,8。所以4個選項中D正確。

46.A解析:黑箱測試方法完全不考慮程序的內部結構和內部特征,而只是根據(jù)功能導出測試用例。注意:白箱測試是根據(jù)對程序內部邏輯結構的分析來選取測試用例,白箱測試也稱為邏輯覆蓋測試,故選項B)不正確;錯誤推測法只是黑箱測試所使用的一種具體的方法,故選項C)不正確;安裝測試是測試層次中的一種,它屬于高級測試,故選項D)不正確。注意:常用的黑箱測試方法及其定義,白箱測試用例的準則。

47.B解析:逗號表達式x--,x<<1,x&&5先執(zhí)行x--,x的值為1,再執(zhí)行x<<1,表達式的值為2,但x的值仍是1(不是移位賦值表達式),最后執(zhí)行x&&5,二者均不為0,邏輯與的結果是1。

48.D解析:C語言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:

#define宏名(形參表)字符串

本題的M(a+b,b+c,c+a)被字符串a+b*b+c+c+a代替。

49.C解析:本題考查數(shù)據(jù)庫的關系代數(shù)運算。R表中只有一個域名A,有兩個記錄(也叫元組),分別是m和n;S表中有兩個域名,分別是B和C,其所對應的記錄分別為1和3。注意觀察表T,它是由R的第一個記錄依次與S的所有記錄組合,然后再由R的第二個記錄與S的所有記錄組合,形成的一個新表。上述運算恰恰符合關系代數(shù)的笛卡兒積運算規(guī)則。關系代數(shù)中,笛卡兒積運算用“×”來表示。因此,上述運算可以表示為T=R×S。因此,本題的正確答案為C。

50.BB?!窘馕觥繑?shù)據(jù)庫設計階段主要包括需求分析、概念設計、邏輯設計和物理設計。其中邏輯設計的主要工作是將E-R圖轉換為關系模式。

51.C

52.D解析:C語言的程序是由主函數(shù)main()開始運行,由主函數(shù)來調用其他函數(shù),所以D是錯誤的。

53.AB選項中運算符“%”的運算對象為整數(shù)。C選項中不能將變量賦給表達式“x+n”。D選項中不能將表達式“4+1”賦給常量5。故本題答案為A選項。

54.B解析:在內存中,字符數(shù)據(jù)以ASCII碼存儲,它的存儲形式就與整數(shù)的存儲形式相類似。C語言使字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。也可以對字符數(shù)據(jù)進行算術運算,此時相當于對它們的ASCII碼進行算術運算,在本題中,s++相當于s=s+1,即讓s指向數(shù)組中的下一個元素。

55.C解析:本題考查的是對位與運算符&的理解。位與運算是將兩個運算分量看作兩個二進制數(shù),然后對兩個二進制數(shù)的相應位進行與運算,若同時為1則結果相應位為1,否則結果相應位為0。因此,當兩個運算分量相同時,它們的相應位肯定也相同,即不同為1就同為0。所以得到的結果和運算分量也相同。所以,4個選項中選項C)符合題意。

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

57.C解析:二分法查找是一種線性查找方法,其基本方法是:首先要用要查找的關鍵碼與線性表中間位置結點的關鍵碼值進行比較,這個中間結點把線性表分為兩個子表,比較相等則查找完畢,不等則根據(jù)查找結果確定下一步的查找應該在哪一個子表中進行,如此下去,直到找到滿足條件的結點:或者確定表中沒有這樣的結點。用二分法查找關鍵碼值11的順序如下所示,其中[]內為本次栓索的子表,()內為該子表的中間結果。從圖中可以看出,經四次查找后,確定表中沒有這樣的結點。因此本題正確答案為選項C(4)。

第一次:[3,6,8,10,12,(15),16,18,21,25,30]

第二次:[3,6,(8),10,12],15,16,18,21,25,30

第三次:[3,6,8,[(10),(12)],15,16,18,21,25,30]

第四次:[3,6,8,10,[(12)],(15),16,18,21,25,30]查找失敗。

58.C解析:軟件測試包括需求分析、結構功能模塊設計、編制程序等階段。程序的測試可以由專門的測試人員來完成。程序經調試改錯后還應進行再測試。

59.A解析:在C語言中,數(shù)組元素是從0開始的。指針變量p指向數(shù)組的首地址,(p+2)就會指向數(shù)組中的第3個元素。題目中要求輸出的是元素的值。

60.C解析:C語言中函數(shù)的定義分為有參函數(shù)的定義和無參函數(shù)的定義。無參函數(shù)的定義形式為:

類型標識符函數(shù)名()

{說明部分

語句

}

有參函數(shù)的定義有兩種形式:

類型標識符函數(shù)名(形式參數(shù)列表)

形式參數(shù)說明

{說明部分

語句

}

類型標識符函數(shù)名(類型名形參1,類型名形參2,…)

{說明部分

語句

}

其中函數(shù)名為用戶定義的C語言的合法標識符,其前面的類型標識符用來說明函數(shù)值的類型,可以是C允許的任何類型,如int、char、float、double和指針類型等。當函數(shù)值為整型時類型標識符可以省略,如果函數(shù)沒有返回值,類型標識符可以是void型。當函數(shù)的形參多于一個時,各個形參之間用逗號分隔。

61.A函數(shù)的功能是對數(shù)組某一區(qū)域內的元素隔個求和;a[3]=4,所以從4開始進行隔個求和,a[7]=8,即對4到8的元素隔個求和,4+6=10。

62.D

63.A面向對象方法中將屬性、操作相似的對象歸為類,也就是說,類是具有共同

溫馨提示

  • 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

提交評論