2021年黑龍江省雞西市全國計算機等級考試C語言程序設計測試卷(含答案)_第1頁
2021年黑龍江省雞西市全國計算機等級考試C語言程序設計測試卷(含答案)_第2頁
2021年黑龍江省雞西市全國計算機等級考試C語言程序設計測試卷(含答案)_第3頁
2021年黑龍江省雞西市全國計算機等級考試C語言程序設計測試卷(含答案)_第4頁
2021年黑龍江省雞西市全國計算機等級考試C語言程序設計測試卷(含答案)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021年黑龍江省雞西市全國計算機等級考試C語言程序設計測試卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.設有條件表達式:(EXP)?i++;j--,則以下表達式中(EXP)完全等價的是()。

A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)

2.下面程序的運行結果是()。

A.gaeB.gaC.LanguageD.有語法錯

3.下面程序的運行結果是()。#include<stdio.h>main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}

A.-1B.1C.8D.0

4.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關系

5.有以下程序:#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;

6.若有定義“inta;longb;doublex,y;”,則以下選項中正確的表達式是()。

A.a=x<>yB.a%(int)(x-y)C.(a*y)%bD.y=x+y=x

7.若有以下定義;chara;intb;floatc;doubled;則表達式“a*b+d-c”值的類型為()

A.floatB.intC.charD.double

8.以下不能定義為用戶標識符的是()。

A.scanfB.VoidC.3comD.int

9.設二叉樹的中序序列為BCDA,前序序列為ABCD,則后序序列為()。

A.CBDAB.DCBAC.BCDAD.ACDB

10.用單鏈表方式存儲的線性表,存儲每個結點需要兩個域,一個數(shù)據(jù)域,另一個是()。

A.當前結點的所在地址B.后繼結點的所在地址C.空指針域D.空閑域

11.有以下函數(shù):intfun(char*x,char*y)intn=0;while((*x==*y)&&*x!=‘\0’)∣x++;y++;n++;∣returnn;函數(shù)的功能是()。A.將y所指字符串賦給x所指存儲空間

B.查找和y所指字符串中是否有‘\0’

C.統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)

D.統(tǒng)計x和y所指字符串中相同的字符個數(shù)

12.若有說明chars1[30]="Thecity",s2[]="isbeautiful";,則在使用函數(shù)strcat(s1,s2)后,結果是()。

A.s1的內容更新為Thecityisbeautiful\0

B.s1的內容更新為isbeaut\0

C.s1的內容更新為Thecity\0isbeautiful\0

D.s1的內容更新為Thecityisbeautiful\0

13.

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

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

15.

16.若在線性表中采用折半查找法查找元素,該線性表應該()A.元素按值有序B.構采用順序存儲結C.元素按值有序且采用順序存儲結構D.元素按值有序且采用鏈式存儲結構

17.下列二叉排序樹中查找效率最高的是()

A.平衡二叉樹B.二叉查找樹C.沒有左子樹的二叉排序樹D.沒有右子樹的二叉排序樹

18.下列敘述中正確的是A.為了建立一個關系,首先要構造數(shù)據(jù)的邏輯關系

B.表示關系的二維表中各元組的每一個分量還可以分成若干數(shù)據(jù)項

C.一個關系的屬性名表稱為關系模式

D.一個關系可以包括多個二維表

19.設順序表的長度為n,則順序查找的平均比較次數(shù)為()

A.nB.n/2C.(n+1)/2D.(n-1)/2

20.下面合法的C語言字符常量是()。

A.'\t'B."A"C.65D.A

二、2.填空題(20題)21.在一個容量為25的循環(huán)隊列中,若頭指針front=16,尾指針rear=9,則該循環(huán)隊列中共有【】個元素。

22.若輸入2、2,則下列程序的運行結果為【】。

main()

{inti,j,(*p)[4],

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

p=a;

scanf("%d%d",&i,&j);

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

}

23.設有如下程序:

main()

{intn1,n2;

scanf("%d",&n2);

while(n2!=0)

{n1=n2%10;

n2=n2/10;

printf("%d",n1);

}

}

程序運行后,如果從鍵盤上輸入1298,貝愉出結果為【】。

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

25.表達式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為______。

26.近年來形成了軟件開發(fā)的多種模式,大致有3種類型:基于瀑布模型的結構化生命周期方法、基于動態(tài)定義需求的【】方法和基于結構的面向對象的軟件開發(fā)方法。

27.若已知a=10,b=20,則表達式!a<b的值為【】。

28.數(shù)據(jù)結構分為邏輯結構與存儲結構,線性鏈表屬于【】。

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

#include<stdio.h>

voidswap(int*a,int*b)

{int*t;

t=a;a=b;b=t;

}

main()

{inti=3,j=5,*p=&i,*q=&j;

swap(p,q);printf("%d%d\N,*p,*q))

}

30.fun函數(shù)的功能是:首先對a所指的N行N列的矩陣,找出各行中的最大數(shù),再求這N個最大值中的最小的那個數(shù)作為函數(shù)值返回。請?zhí)羁誣_____。

#include<stdio.h>

#defineN100

intfun(int(*a)[N])

{

introw,col,max,min;

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

for(max=a[row][0],col=1;col<N;col++)

if()max=a[row][col];

if(row==0)min=max;

elseif()min=max;

returnmin;

}

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

charb[]="ABCD";

main()

{char*p=b;

for(;*p;p++)

printf("%s",p);

printf("\n");

}

32.若按功能劃分,軟件測試的方法通常分為白盒測試方法和【】測試方法。

33.以下說明語句中,【】是結構體類型名。

typedefstruct

{intn;

charch[8];

}PER;

34.以下和程序中,主函數(shù)調用了lineMax函數(shù),實現(xiàn)在N行M列的二維數(shù)組中,找出每一行上的最大值,請?zhí)羁铡?/p>

#defineN3

#defineM4

voidlineMax(intx[N][M])

{inti,j,p;

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

{p=0;

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

if(x[i][p]<x[i][j]【】;

printf("Themaxvalueinlineis%d\n",【】);

}

{

main()

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

【】;

}

35.設y是int型,請寫出y為奇數(shù)的關系表達式【】。

36.現(xiàn)有兩個C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:

#include<stdio.h>

#include"myfun.c"

main()

{fun();printf("\n");}

myfun.c文件如下:

voidfun()

{chars[80],c;intn=0;

while((c=getchar())!=′\n′)s[n++]=c;

n--;

while(n>=0)printf("%c",s[n--]);

}

當編譯連接通過后,運行程序T18時,輸入Thank!,則輸出結果是【】。

37.數(shù)據(jù)模型包括數(shù)據(jù)結構、()和數(shù)據(jù)條件。

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

voidprint(intn,intaa[])

{inti;

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

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

if(!(i%5))

printf("\n");

}

printf("\n");

}

39.以下函數(shù)fun的功能是返回str所指字符串中以形參c中字符開頭的后續(xù)字符串的首地址,例如;str所指字符串為:Hello!,c中的字符為e,則函數(shù)返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL。請?zhí)羁铡?/p>

char*fun(char*str,charc)

{intn=0;char*p=str;

if(p!=NULL)

while(p[n]!=c&&p[n]!='\O')n++;

if(p[n]='\0')returnNULL;

return(【】);

}

40.若給fun函數(shù)的形參s傳送字符串“∪∪6354'abc"(其中∪表示空格字符),則函數(shù)的返回值是【】。

longfun(chars[])

{longn;intsign;

for(;isspace(*s);s++);

sign=(*s=='-')?-1:1;

if(*s=='+'||*s=='-')s++;

for(n=0;isdigit(*s);s++)

n=10*n+(*s-'0');

returnsign*n;

}

三、1.選擇題(20題)41.下列程序執(zhí)行后的輸出結果是:main(){chararr[2][4];strcpy(arr'"you");strcpy(arr[1],"me");arr[0][3]='&';printf("%s\n",arr);}程序的輸出結果是()。

A.you&meB.meC.youD.err

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

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

43.若a、b、c、d都是血型變量且都已經正確賦初值,則下列不正確的賦值語句是()。

A.a+d;B.a++;C.a=b=c=d=100;D.a=(b=3)+(d=5);

44.在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負責數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復等功能的是

A.數(shù)據(jù)定義語言B.數(shù)據(jù)轉換語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言

45.下面哪一個是正確的賦值語句?

A.a++;B.a==b;C.a+=b;D.a=1,b=1;

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

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

47.以下函數(shù)返回a所指數(shù)組中最小的值所在的下標值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)If(a[i]<a[p])______,return(p);}在橫線處應填入的是______。

A.i=pB.a[p]=a[i]C.p=jD.p=i

48.設有下列二叉樹:

對此二叉樹中序遍歷的結果為______。

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

49.以下對結構體類型變量的定義中,不正確的是()

A.typedefstructaa{intn;floatm;}AA;AAtdl;

B.#defineAAstructaaAA{intn;floatm;}tdl;

C.struct{intn;floatm;}aa;structaatdl;

D.struct{intn;floatm,}tdl;

50.若定義staticinta[2][2]={1,2,3,4},則a數(shù)組的各數(shù)組元素分別為______。

A.a[0][0]=1、a[0][1]=2、at[1][0]=3、a[1][1]=4

B.a[0][0]=1、a[0][1]=3、a[1][0]=2、a[1][1]=4

C.a[0][0]=4、a[0][1]=3、a[1][0]=2、s[1][1]=1

D.a[0][0]=4、a[0][1]=2、a[1][0]=3、a[1][1]=1

51.算法的時間復雜度是指()。

A.算法的長度tB.執(zhí)行算法所需要的時間C.算法中的指令條數(shù)D.算法執(zhí)行過程中所需要的基本運算次數(shù)

52.變量a已被定義為整型,下列表達式有錯的是

A.a='A'+20B.a-='a'C.a=c+dD.a='c'+'d'

53.sizeof(double)是()

A.一種函數(shù)調用B.一個雙精度型表達式C.一個整型表達式D.一個不合法的表達式

54.數(shù)據(jù)庫管理系統(tǒng)中用來定義模式、內模式和外模式的語言為()。

A.CB.BasicC.DDLD.DML

55.在C語言中,不正確的int類型的常數(shù)是______。

A.32768B.0C.37D.0xAF

56.有以下程序main(){inta=3,b=4,c=5,d=2;if(a>B)if(b>C)printf("%d",d+++1);elseprintf("%d",++d+1);printf("%d\n",D);}程序運行后的輸出結果是

A.2B.3C.43D.44

57.若fp是指向某文件的指針,且已讀到文件末尾,則庫函數(shù)feof(fp)的返回值是______。

A.EOFB.-1C.非零值D.NULL

58.有以下程序段

main()

{inta=5,*b,**c;

c=&b;b=&a;

……

}

程序在執(zhí)行了c=&b;b=&a;語句后,表達式:**c的值是()

A.變量a的地址

B.變量b中的值

C.變量a中的值

D.變量b的地址

59.若變量c為char類型,能正確判斷出c為小寫字母的表達式是______。

A.'a'<=c<='z'

B.(c>='a')||(c<='z')

C.('a'<=c)and('z'>=c)

D.(c>='a')&&(c<='z')

60.定義int*swap()指的是______。

A.一個返回整型值的函數(shù)swap()

B.一個返回指向整型值指針的函數(shù)swap()

C.一個指向函數(shù)swap()的指針,函數(shù)返回一個整型值

D.以上說法均錯

四、選擇題(20題)61.有以下程序

inta=2;

intf(int*a)

{

return(*a)++;

}

main()

{

ints=0;

{

inta=5;

s+=f(&a);

}

s+=f(&a);

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

}

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

A.10B.9

C.7D.8

62.有以下程序:

若從鍵盤輸入:ijkxyz<回車>,則輸出結果是()。

A.ijkk

B.ijkxyz

C.xyzxyz

D.jj

63.已知inta=1,b=-1;則語句printf("%d\n",(a--,++b));的輸出結果是

A.-1B.0C.1D.語句錯誤

64.若有以下程序

#include<stdio.h>

voidf(intn);

main()

{

voidf(intn);

f(5);

}

voidf(intn)

{

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

}

則以下敘述中不正確的是

A.若只在主函數(shù)中對函數(shù)f進行說明,則只能在主函數(shù)中正確調用函數(shù)f

B.若在主函數(shù)前對函數(shù)f進行說明,則在主函數(shù)和其后的其他函數(shù)中都可以正確調用函數(shù)f

C.對于以上程序,編譯時系統(tǒng)會提示出錯信息:對f函數(shù)重復說明

D.函數(shù)f無返回值,所以,可用void將其類型定義為無返回值型

65.以下程序的輸出結果是()。main{inta[3][3]=“l(fā),2),{3,4),{5,6)},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(”%d\n”,s);}A.18B.19C.20D.21

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

A.C程序中注釋部分只能放在程序最后

B.花括號“{“和”}”可以作為函數(shù)體的定界符,也可以作為復合語句的定界符

C.構成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名

D.分號不是語句的一部分,是C語句之間的分隔符

67.

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

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

69.

70.

71.

72.

73.

74.

75.

76.

下列程序的輸出結果是()。

#include<stdio.h>

main()

{inta=2,b=3,P;

p=f(a,b);

printf(”%d”,p);

}

intf(a,b)

{intc;

if(a>b)c=1;

elseif(a==b)c=0;

elsec=-l;

return(c);

}

A.-lB.0C.1D.2

77.若有定義“floata=25,b,*p=&b;”,則下列對賦值語句“*p=a;”和“p=&a;”的正確解釋為()。

A.兩個語句都是將變量a的值賦予變量P

B.*p=a是使P指向變量a,而p=&a是將變量的值賦予變量指針P

C.*p=a是將變量a的值賦予變量b,而&a是使P指向變量a

D.兩個語句都是使P指向變量a

78.有以下程序段:

當執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0

79.

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

A.C語句必須以分號結束

B.復合語句在語法上被看作一條語句

C.空語句出現(xiàn)在任何位置都不會影響程序運行

D.賦值表達式末尾加分號就構成賦值語句

五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:用選擇法對數(shù)組中的n個元素按從大到小的順序進行排序。請修改程序中的錯誤,使它能得出正確的結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:

六、程序設計題(1題)82.編寫函數(shù)fun(),其功能是:求出1~1000中能被7或11整除,但不能同時被7和ll整除的所有整數(shù),并將其放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內容,僅在函數(shù)fun()的花括號中填入所編寫的若干語句。試題程序:

參考答案

1.B解析:條件表達式的形式為:“表達式1?表達式2:表達式3”。其含義為:當“表達式1”的值為非零時,求出“表達式2”的值,此時“表達式2”的值就是整個條件表達式的值;當“表達式1”的值為零時,求出“表達式3”的值,此時“表達式3”的值就是整個條件表達式的值。對于本題來說,當表達式EXP為非0值時條件成立,即執(zhí)行語句i++;當EXP等于0時,執(zhí)行語句j--;這等同于條件表達式“(EXP!=0)?i++:i++;”。

2.A考查用指針來引用字符數(shù)組元素的方法。指針pl+k相當于指針pl向后移動了k個字符的位置,指針p2同理。

3.D解析:本題考查“++”和“--”運算符,運算符“++”是操作數(shù)加1,而“--”則是操作數(shù)減1。在do-while循環(huán)中,首先執(zhí)行y--,再執(zhí)行--y。當y=2時,執(zhí)行y--,y的值變?yōu)?,--y使y值變?yōu)?,循環(huán)結束。執(zhí)行輸出時,先輸出y的值0,然后執(zhí)行y--,使y的值變?yōu)?1。

4.C(10)C)解析:DB即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺之一——硬件平臺(硬件)、系統(tǒng)平臺之二——軟件平臺(軟件)。

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

6.BC語言中沒有“<>”運算符,所以A選項錯誤。運算符“%”的左右兩個操作數(shù)必須為整型數(shù)據(jù),所以B選項正確。表達式“a*y”的結果為double型,所以C選項錯誤。不能將值賦給像“x+y”這樣的表達式,所以D選項錯誤。故本題答案為B選項。

7.D解析:參加運算的數(shù)據(jù)類型不同,要轉換為統(tǒng)一的數(shù)據(jù)類型,double在數(shù)據(jù)類型轉換中的級別最高,其他數(shù)據(jù)類型都要轉化為double,因此表達式值的類型為double。

8.D解析:標識符是C語言中用來表示變量名、數(shù)組名、函數(shù)名、指針名、結構名、聯(lián)合名、枚舉常數(shù)名、用戶定義的數(shù)據(jù)類型名、語句標號等用途的字符序列。標識符由1~32個字符組成,第一個字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標識符不能與C關鍵字相同,并區(qū)分大小寫。選項D)錯誤,因為int是C語言中的關鍵字。

9.B二叉樹的前序序列為ABCD,由于前序遍歷首先訪問根節(jié)點,可以確定該二叉樹的根節(jié)點是A。再由中序序列為BCDA,可知以A為根節(jié)點的該二叉樹只存在左子樹,不存在右子樹,故后序序列為DCBA。本題答案為B選項。

10.B

11.C本題中由循環(huán)條件可知遇到‘\\0’或x與y所指的字符的值不等中的一個條件時就結束,所以功能是統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)。

12.D解析:該函數(shù)用來使兩個字符串連接成為一個字符串。strcat(str1,str2)將str2中的字符連接到str1的字符后面,并在最后加一個“\\0”。連接后新的字符串存放在strl中。注意:用于字符串處理的函數(shù)。

13.A

14.C

15.D

16.C

17.A

18.C解析:在格式化模型中,要事先根據(jù)應用的需要,確定數(shù)據(jù)之間的邏輯關系,即先對數(shù)據(jù)進行結構化。在關系模型中,不需要事先構造數(shù)據(jù)的邏輯關系,只要將數(shù)據(jù)按照一定的關系存入計算機,也就是建立關系。所以選項A錯誤。對于一個表示關系的二維表,其最基本的要求是表中元組的每一個分量必須是不可分的數(shù)據(jù)項,即不允許表中再有表。所以,選項B、D說法是錯誤的。一個關系的屬性名表稱為關系模式,也就是二維表的表框架,相當于記錄型。因此,選項C說法正確。

19.C

20.A

21.1818解析:設循環(huán)隊列的容量為n。若rear>front,則循環(huán)隊列中的元素個數(shù)為rear-front;若rear<front,則循環(huán)隊列中的元素個數(shù)為n+(rear-front)。題中,front=16,rear=9,即rear<front,所以,循環(huán)隊列中的元素個數(shù)為m+(rear-front)=25+(9-16)=18。

22.a[22]=11

23.89218921解析:本題的程序的功能是將輸入的整數(shù)反向輸出。

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

25.整型整型解析:上面的表達式中,通過強制類型轉換把最后參與運算的數(shù)據(jù)都轉換成了int型,所以最后得到的結果也是int類型。

26.原型化原型化

27.11解析:計算表達式!a<b,先計算!a,因a的值為10,!a的值為0,而關系表達式0<20為真,所以表達式!a<b的值為1。

28.存儲結構

29.3535解析:函數(shù)swap(int*a,int*b)的功能是實現(xiàn)*a和*b中兩個數(shù)據(jù)的交換,在主函數(shù)中調用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒有發(fā)生變化,所以輸出結果為35。

30.a[iow][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[iow][col]max<min或min>maX或max<=min或min>=maxa[iow][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[iow][col]\r\nmax<min或min>maX或max<=min或min>=max解析:本題有兩層for循環(huán),主函數(shù)中定義了整型變量iow、col、max和min,其中row用來存放外循環(huán)中的循環(huán)次數(shù),col用來存放內循環(huán)中的次數(shù),max記錄每行中的最大值;min記錄所有行中最大值中的最小值。在內循環(huán)中,首先給max賦初值為每行的第0列元素值,然后從第一列開始依次與max進行比較。如果大于max則將其值賦給max,當每一行循環(huán)結束,max記錄了每一行的最大值。所以第一個空應該填a[row][col]>max或a[row][col]=max.退出內循環(huán),在第一次退出內循環(huán)時,將min賦初值為第0行的max,然后在每次退出內循環(huán)時,將min和每行的max比較,如果大于max,則將max值賦min,所以第二個空應該填max<min或min>max,當退出外循環(huán)時,min為所有行中的最大值的最小值。

31.ABCDBCDCDD

32.黑盒軟件測試的方法有三種:動態(tài)測試、靜態(tài)測試和正確性證明。設計測試實例的方法一般有兩類:黑盒測試法和白盒測試法。在使用黑盒法設計測試實例時,測試人員將程序看成一個“黑盒”,即不關心程序內部是如何實現(xiàn)的,只是檢查程序是否符合它的“功能說明”,所以使用黑盒法設計的測試用例完全是根據(jù)程序的功能說明來設計的。

33.PERPER解析:本題中,typedef聲明新的類型名PER來代替已有的類型名,PER代表上面指定的一個結構體類型,此時,也可以用PER來定義變量。

34.p=jx[i][p]lineMax(x)

35.y%2==1y%2==1解析:由關系運算符組成的表達式稱為關系表達式。判斷2除y的余數(shù)是否為1,即可判斷y是否為奇數(shù)。

36.!knahT!knahT解析:此程序是一道次序顛倒題,即輸入'Thank!',則輸出'!knahT'。

37.數(shù)據(jù)操作數(shù)據(jù)操作解析:數(shù)據(jù)模型就是現(xiàn)實世界的反映,數(shù)據(jù)模型所描述的內容有3個部分,它們是數(shù)據(jù)結構、數(shù)據(jù)操作與數(shù)據(jù)約束。

38.54

39.&P(n)或p+n&P(n)或p+n解析:因為n被初始化為0、p被初始化指向str所指字符串的首地址,所以while循環(huán)的功能是從str所指字符串的第1個字符開始比較,若等于c或等于字符串結束符'\\0'就跳出循環(huán)。故循環(huán)結束后,若p[n]為'\\0',則證明str所指字符串不包含c中的字符,應該返回NULL,否則應該返回p[n]的地址值。返回NULL在第2條if語句中已經實現(xiàn),所以我們應該填入的表達式為p[n]的地址值,即&p[n]或p+n。

40.63546354解析:函數(shù)fun的第一個for循環(huán)跳過字符串的前導空白符,接著判斷第一個非空白符是否是負號,若是,則置變量sign為-1;否則,置變量sign為1。接著的if語句在第一個非空白字符是負號或正號時,跳過該字符。以后的for循環(huán)將后面的數(shù)字符當作十進制數(shù)的各位數(shù)字轉換為一個長整數(shù)n,當遇字符a時,結束循環(huán)。最后,函數(shù)返回sign與n的乘積。所以若調用函數(shù)時提供的實參是“∪∪6354abc”,則函數(shù)的返回值是6354。

41.A解析:本題定義了一個二維字符數(shù)組arr[2][4],該二維數(shù)組可以看成一個含有兩個元素arr[0]、arr[1]的一維字符數(shù)組,分別看成是含有4個元素,也可以看成是以arr為首地址的一個一維字符數(shù)組。函數(shù)strcpy(arr,“you”)是把字符串“you”復制到arr指向的空間,strcpy(arr[1],“me”)同理,在以arr[0]為首地址的字符數(shù)組中有“you”,在以air[1]為首地址的字符數(shù)組中有“me”。arr[0][3]=‘&’;是給arr[0]為首地址的字符數(shù)組的第4個元素賦值為‘&’。因此輸出為you&me。

42.B解析:關系數(shù)據(jù)庫邏輯設計的主要工作是將\ue008E-R\ue009圖轉換成指定RDBMS中的關系模式。首先,從E-R圖到關系模式的轉換是比較直接的,實體與聯(lián)系都可以表示成關系,E-R圖中屬性也可以轉換成關系的屬性,實體集也可以轉換成關系。

43.A解析:C語言規(guī)定,賦值號的右邊可以是一個賦值表達式,因此選項C)、選項D)正確;在選項B)中,a++是一個自加1的表達式,a被重新賦值,因此它是一個合法的賦值表達式;在選項A)中,a+d是一個算術表達式,雖然最后有一個分號,但這個表達式中沒有賦值操作,因此它不是一條賦值語句。

44.D解析:在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,數(shù)據(jù)控制語言負責數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復等功能。

45.B解析:C語言中賦值語句是由賦值表達式加“;”構成的。賦值表達式的形式為:變量=表達式;。選項A中a++相當于a+1,是賦值語句;選項C和選項D也是賦值語句。只有選項B不是,因為選項B中“==”符號是等于的意思,并不是賦值運算符。

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

47.D解析:該程序先判斷a[i]<a[p],如果條件為真,則a[i]比當前設定的最小值小(p保留的當前最小元素的下標),那么將i賦給p,即將比較過的最小元素下標保留在p中,作為下面判斷的標準。

48.B解析:所謂中序遍歷是指在訪問根結點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹;并且在遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。

49.C解析:定義結構體類型的變量有幾種的方法如下:

①定義結構體類型的同時,定義結構體類型的變量,如下面的定義中在定義結構體類型aa的同時定義了該類型的變量tdl。上述B)項中將宏名AA用宏體structaa替換進去后,與該定義形式一樣,因此是正確的。這一定義形式中,結構體類型名明是可以省略的,因此,D)項也是正確的。

structaa

{...

}tdl;

②先定義結構體類型,然后再定義結構體類型的變量,形式如下:

structaa

{

};

structaatdl;

這種定義形式也可演變?yōu)?,先用類型定義語句typedef將該結構體類型定義成一個類型名AA,然后直接用該類型名AA去定義一個變量(這時不再需要使用關鍵字struct了)。這就是A)項的形式。

50.A

51.D解析:算法的時間復雜度,是指執(zhí)行算法所需要的工作量,可以用算法在執(zhí)行過程中所需基本運算的執(zhí)行次數(shù)來度量算法的工作量。

52.C

53.C

54.C解析:選項A),B)顯然不合題意。數(shù)據(jù)定義語言(DataDefinitionLanguage,簡稱DDL)負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構建;數(shù)據(jù)操縱語言(DataManipulationLanguage,簡稱DML)負責數(shù)據(jù)的操縱,包括增、刪、改等操作。

55.A解析:C語言中int類型的常數(shù)的范圍是:-32768~32767。C整常數(shù)可用三種形式表示:十進制整數(shù),八進制整數(shù),十六進制整數(shù)。選項A超出范圍,不正確。

56.A解析:本題考核的知識點是if-else語句的程序分析。我們首先看程序中if-else的匹配,由于C語言中規(guī)定else總是與最近的if搭配,因此程序中else與第二個訂搭配,即該if-else語句為第一個if語句的執(zhí)行部分,接著判斷第一個if后面括號里的表達式的值“a>b”為假('3>4'為假),因此不執(zhí)行后面if-else語句,程序將執(zhí)行下面的輸出語句輸出d,而d一直未被改變故為原來的值2,所以,4個選項中選項A符合題意。

57.C

58.C*c表示c間接指向的對象的地址,而**c是c間接指向的對象的值。在c=&b中,已經把b的地址存放在c里了,*c就指向了b的地址,b里存放的就是a的地址,那么**c應該是變量a的值,而且也可以用排除法排除選項A、B,由b=&a可知,這兩個選項是同一個意思,變量b中的值就是變量a的地址,所以可以排除。故本題答案為C。

59.D解析:字符型數(shù)據(jù)在計算機內部是以ASCII碼存儲的,英文大寫字母和小寫字母在ASCII碼表中都是連續(xù)的,大寫字母A到Z是從65到90,小寫字母a到z是97到122,所以只要變量c大于a并且小于z就能保證其為小寫字母。

60.B解析:一個函數(shù)可以帶回—個整型值、字符值、實型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號和*號,由于()優(yōu)先級高于*。故它是一個返回整型指針的函數(shù)。

61.C在一個函數(shù)的內部定義的變量是內部變量,它只在本函數(shù)范圍內有效,也就是說,只有在本函數(shù)內才能使用它們,在此函數(shù)以外是不能使用這些變量的。本題中的inta=5;只在{inta=5;s+=f(&a);}內有效。

在函數(shù)之外定義的變量稱為外部變量,外部變量是全局變量。全局變量可以為本文件中其他函數(shù)所共用

溫馨提示

  • 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

提交評論