2021-2022年湖南省永州市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第1頁
2021-2022年湖南省永州市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第2頁
2021-2022年湖南省永州市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第3頁
2021-2022年湖南省永州市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第4頁
2021-2022年湖南省永州市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2021-2022年湖南省永州市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.已知一算術表達式的中綴表達式為a-(b+c/d)*e,其后綴形式為()

A.-a+b*c/dB.-a+b*cd/eC.-+*abc/deD.abcd/+e*-

2.若有定義語句“inta,b;doubleX;”,則下列選項中沒有錯誤的是()。

A.switch(X%2){case0:a++;break;casel:b++;break;default:a++;b++;}

B.switch((int)x/2.O){case0:a++;break;casel:b++;break;default:a++;b++;}

C.switch((int)X%2){case0:a++;break;casel:b++;break;default:a++;b++;}

D.switch((int)(x)%2){case0.0:a++;break;casel.0:b++;break;default:a++;b++;}

3.若有定義“doublea;floatb;shortc;”,若想把1.2賦給變量a,3.4賦給變量b,5678賦給變量c,程序運行時鍵盤輸入:1.23.45678<回車>則以下正確的讀入語句是()。A.scanf("%If%If%d",&a,&b,&c);

B.scanf("%If%If%hd",&a,&b,&c);

C.scanf("%If%f%hd",&a,&b,&c);

D.scanf("%f%f%d",&a,&b,&c);

4.有以下程序:#include<stdio.h>voidmain(){char*s=“\ta\018bc”;for(;*s!=‘\0’;s++)printf(“*”);printf(“\n”);}程序運行后的輸出結(jié)果是()。

A.******B.*********C.*****D.*******

5.若有定義“inta,b,c;”以下程序段的輸出結(jié)果是()。a=11;b=3;c=0;printf(“%d\n”,c=(a/b,a%b));

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

6.某二叉樹的前序和后序序列正好相反,則該二叉樹一定是_____的二叉樹

A.空或者只有一個結(jié)點B.高度等于其結(jié)點數(shù)C.任一結(jié)點無左孩子D.任一結(jié)點無右孩子

7.

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

A.線性表是由n個元素組成的一個有限序列

B.線性表是一種線性結(jié)構

C.線性表的所有結(jié)點有且僅有一個前件和后件

D.線性表可以是空表

9.軟件開發(fā)模型包括Ⅰ.瀑布模型Ⅱ.扇形模型Ⅲ.快速原型法模型Ⅳ.螺旋模型

A.Ⅰ、Ⅱ、ⅢB.Ⅰ、Ⅱ、ⅣC.Ⅰ、Ⅲ、ⅣD.Ⅱ、Ⅲ、Ⅳ

10.某二叉樹結(jié)點的中序序列為ABCDEFG,后序序列為BDCAFGE,則其左子樹中結(jié)點數(shù)目為()

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

11.有以下程序#include<stdio.h>main(){chara[3O],b[30];scanf("%S",a);gets(b);printf("%s\n%s\\n",a,b);}程序運行時若輸入:howareyou?Iamfine<回車>則輸出結(jié)果是()。A.howareyou?Iamfine

B.howareyou?Iamfine

C.howareyou?Iamfine

D.howareyou?

12.若有定義“inta=5,b=7;”,則表達式a%-(b%2)運算后,a的值為()。

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

13.對于哈希表,如果將裝填因子α定義為表中裝入的記錄數(shù)與表的長度之比,那么向表中加入新紀錄時,()

A.α的值隨時沖突次數(shù)的增加而遞減

B.α越大發(fā)生沖突的可能性越大

C.α等于1時不會再發(fā)生沖突

D.α低于0.5時不會發(fā)生沖突

14.以下敘述中錯誤的是______。A.C程序必須由—個或—個以上的函數(shù)組成

B.函數(shù)調(diào)用可以作為—個獨立的語句存在

C.若函數(shù)有返回值,必須通過return語句返回

D.函數(shù)形參的值也可以傳回給對應的實參

15.有以下函數(shù):intfun(char*x,char*y){intn=0;}while((*x==*y)&&*x!=‘\0’){x++;y++;n++;}returnn;}函數(shù)的功能是()。

A.將y所指字符串賦給x所指存儲空間

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

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

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

16.在下述論述中,正確的是()。①只有一個結(jié)點的二叉樹的度為0;②二叉樹的度為2;③二叉樹的左右子樹可任意交換;④深度為K的順序二叉樹的結(jié)點個數(shù)小于或等于深度相同的滿二叉樹。

A.①②③B.②③④C.②④D.①④

17.采用鄰接表存儲的圖的深度優(yōu)先遍歷算法類似于二叉樹的()。

A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷

18.對n個數(shù)進行排序,哪種算法,其時間復雜度在最壞和最好都是O(nlogn)()

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

19.用不帶頭結(jié)點的單鏈表存儲隊列時,其隊頭指針指向隊頭結(jié)點,其隊尾指針指向隊尾結(jié)點,則在進行刪除操作時()。

A.僅修改隊頭指針B.僅修改隊尾指針C.隊頭、隊尾指針都要修改D.隊頭,隊尾指針都可能要修改

20.

二、2.填空題(20題)21.結(jié)構化程序設計方法的主要原則可以概括為自頂向下、逐步求精、______和限制使用goto語句。

22.用復合的賦值運算符將變量x中的值增大2的賦值表達式是【】。

23.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計其中正數(shù)的個數(shù),并計算它們之和,請?zhí)羁铡?/p>

#include<stdio,h>

main()

inti,a[20],sum,count;

sum=count=0;

for(i=0;i<20;i++)scanf("%d",【】);

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

{if(a[i]>0)

{count++;

sum+=【】;

}

prinff("sum=%d,count=%d\n",sum,count);

}

24.下面程序執(zhí)行后k的值為【】。

inta=1,b=2,c=3,d=4,k;

k=a>b?a:c>d?c:d

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

intx=0,y=0;

while(x<15)y++,x+=++y;

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

26.在宏定義#defineP13.14159中,用宏名PI代替一個______。

27.設x和y均為int型變量,且x=1,y=2,則表達式double(1+x/y)的值為【】。

28.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:

1

11

121

1331

14641

其構成規(guī)律是:

①第0列元素和主對角線元素均為1;

②其余元素為其左上方和正上方元素之和;

③數(shù)據(jù)的個數(shù)每行遞增1。

請將程序補充完整。

#defineN6

voidYangHui(intx[N][N])

{inti,j;x[0][0]=1;

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

{x[i][0]=x[i][i]=1;

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

x[i][j]=【】;

}

}

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

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

}

30.一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【】。

31.函數(shù)fun的功能是計算xn。

doublefun(doublex,intn)

{inti;doubley=1;

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

returny;

}

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

32.以下程序運行后的輸出結(jié)果是______。

main()

{

inta,b,c;

a=25;

b=025;

c=0x25;

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

}

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

main()

{inta=3,b=4,c=5,t=99;

if(b<a&&a<C)t=a;a=c;c=t;

if(a<c&&b<C)t=b;b=a;a=t;

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

}

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

#defineP(A)printf("%d,",(int)(A))

#definePRINT(A)P(A);printf("theend")

main()

{inti,a=0;

for(i=1;i<5.i++)

PRINT(a+i);

printf("\n");

}

35.常用的軟件結(jié)構設計工具是結(jié)構圖(SC),也稱程序結(jié)構圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

36.算法的復雜度主要包括時間復雜度和______復雜度。

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

38.軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設計來實現(xiàn)。

39.在進行模塊測試時,要為每個被測試的模塊另外設計兩類模塊:驅(qū)動模塊和承接模塊(樁模塊)。其中______的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并品示被測試模塊所產(chǎn)生的結(jié)果。

40.程序測試分為靜態(tài)分析和動態(tài)測試。其中【】是指不執(zhí)行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。

三、1.選擇題(20題)41.下列程序的運行結(jié)果是#include"stdio.h"main(){intx=-9,y=5,z=8;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);}

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

42.先用以下語句定義字符型變量:charc;然后要將字符a賦給變量c,則下列語句中正確的是()

A.c='a';B.c="a";C.c="97";D.c='97'

43.有以下程序main(){intx,y,z;x=y=1;z=X++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運行后的輸出結(jié)果是

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

44.下列程序的輸出結(jié)果是______。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)

45.下列標識符不是關鍵字的是()。

A.breakB.charC.SwitchD.return

46.若有函數(shù)max(a、b),為了讓函數(shù)指針變量p指向函數(shù)max,當調(diào)用該函數(shù)時,正確的賦值方法是

A.(*p)max(a,b)B.*pmax(a,b)C.p=max(a,b)D.*p=max(a,b)

47.算法的有窮性是指A.算法程序的運行時間是有限的

B.算法程序所處理的數(shù)據(jù)量是有限的

C.算法程序的長度是有限的

D.算法只能被有限的用戶使用

48.假定當前盤符下有兩個文本文件,如下文件名a1.txta2.txt內(nèi)容123#321#則下面程序段執(zhí)行后的結(jié)果為#include"stdio.h"voidfc(FILE*p){charc;while((c=fgetc(p))!='#')putchar(c);}main(){FILE*fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar('\n/);}

A.123321B.123C.321D.以上答案都不正確

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

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

50.關系模型允許定義三類數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是()。A.A.實體完整性約束B.參照完整性約束C.域完整性約束D.用戶自定義的完整性約束

51.以下程序:#include<stdio.h>#include<string.h>main(){charstr[]="abcd\n\123\xab";printf("%d",(str));}運行后的輸出結(jié)果是()。

A.10B.9C.7D.14

52.有以下程序voidfun{int*a,inti,intj){intt;if(i<j)t=a[i];a[i]=a[j];a[j]=t;fun(a,++i,--j);}main(){inta[]={1,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);}執(zhí)行后輸出結(jié)果是

A.654321B.432156C.456123D.123456

53.以下程序運行后,如果從鍵盤上輸入ABCDEF<回車>,則輸出結(jié)果為______。#include<stdio.h>#include<string.h>func(charstr[]){intnum=0;while(*(str+num)!='\0')num++;return(num);p}main(){charstr[10],*p=str;gets(p);printf("%d\n",func(P));}

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

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

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

55.下列程序的輸出結(jié)果是()main(){inti,j,m=0,n=0;for(i=0;i<2;i++)for(j=0;j<2;j++)if(j>=i)m=1;n++;printf("%d\n",n);}

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

56.下列數(shù)據(jù)模型中,具有堅實理論基礎的是()。

A.層次模型B.網(wǎng)狀模型C.關系模型D.以上3個都是

57.有如下程序:main(){intn=9;while(n>6){n--;printf("%d",n);}}該程序的輸出結(jié)果是

A.987B.876C.8765D.9876

58.下列關于E-R圖的描述中正確的是()。

A.E-R圖只能表示實體之間的聯(lián)系

B.E-R圖只能表示實體和實體之間的聯(lián)系

C.E-R圖只能表示實體和屬性

D.E-R圖能表示實體、屬性和實體之間的聯(lián)系

59.請選出以下程序的輸出結(jié)果______。#include<stdio.h>sub(x,y,z)intx,y*z;{*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}

A.5,23B.-5,-12,7C.-5,-12,-17D.5,2,-7

60.若fp已正確定義并指向某個文件,當未遇到該文件結(jié)束標志時函數(shù)feof(中)的值為

A.0B.1C.-1D.一個非0值

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

main

{inty=10;

do{y--;}while(--y);

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

)

當執(zhí)行程序時,輸出的結(jié)果是()。

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

62.

63.面向?qū)ο蠓椒ㄖ校^承是指()。

A.一組對象所具有的相似性質(zhì)B.一個對象具有另一個對象的性質(zhì)C.各對象之間的共同性質(zhì)D.類之間共享屬性和操作的機制

64.

65.學生選課成績表的關系模式是sc(S#,c#,G),其中S#為學號,c#為課號,G為成績,檢索課號為2且成績及格的學生學號的表達式為()。

66.下列語句組中,正確的是()。

67.作為信息處理熱點技術之一的“多媒體技術”中的媒體,強調(diào)的是()。

A.存儲媒體B.表現(xiàn)媒體C.傳輸媒體D.感覺媒體

68.有以下程序

69.若有定義語句:doublea,*P=&a;以下敘述中錯誤的是()。

A.定義語句中的*號是-個間址運算符

B.定義語句中的木號是-個說明符

C.定義語句中的P只能存放double類型變量的地址

D.定義語句中,P=&a把變量a的地址作為初值賦給指針變量P

70.

若希望下列的程序運行后輸出25,程序空白處的正確選項是()。

main

{inti,j=50,a[]={7,4,10,5,8};

for()

j+=a[i];

printf("%d",j-40);

}

A.i=l;i<4;++i

B.i=1;i<3;++i

C.i=4;i>2;i--

D.i=2;i<4;++i

71.下列數(shù)據(jù)模型中,具有堅實理論基礎的是()。A.層次模型B.網(wǎng)狀模型C.關系模型D.以上三個都是

72.若有定義語句:

73.以下能正確定義字符串的語句是()。

A.charstr=”\x43”;

B.charstr[]=”、0”;

C.charstr=”;

D.charstr[]={’\064’};

74.

75.設有如下定義:char*aa[2]={"abcd","ABCD"};則以下說法中正確的是()。

A.aa數(shù)組成元素的值分別是"abcd"和ABCD"

B.aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組

C.aa數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址

D.aa數(shù)組的兩個元素中各自存放了字符’a’和’A’的地址

76.三種基本結(jié)構中,能簡化大量程序代碼的是()。

A.順序結(jié)構B.分支結(jié)構C.選擇結(jié)構D.重復結(jié)構

77.

78.在E—R圖中,用來表示實體聯(lián)系的圖形是()。

A.橢圓形B.矩形C.菱形D.三角形

79.設intx=7,則~x的值是()。

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

80.有以下程序,程序中庫函數(shù)islower(ch)用以判斷ch中的字母是否為小寫字母:

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

A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:首先把b所指字符串中的字符按逆序存放,然后將str1所指字符串中的字符和Str2所指字符串中的字符,按排列的順序交叉合并到str所指數(shù)組中,過長的剩余字符接在str所指數(shù)組的尾部。例如,當str1所指字符串中的內(nèi)容為ABCDEFG,str2所指字符串中的內(nèi)容為1234時,str所指數(shù)組中的內(nèi)容應該為A483C2D1EFG;而當str1所指字符串中的內(nèi)容為1234,str2所指字符串中的內(nèi)容為ABCEDFG時,str所指數(shù)組中的內(nèi)容應該為1G2F31:4DCBA。

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

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio。h>

#include<string.h>

voidproc(char*strl,char*str2,char*str){

inti,j;charch;

i=0;j=strleu(str2)-1;

//****found****

while(i>j)

{

ch=str2[i];str2[i]=str2[j];str2[j]=ch;

i++;j--;

}

while(*str1||*str2)

{

if(*str1){*str=*str1;str++;str1++;)

if(*str2){*str=*str2;str++;str2++;)

}

//****found****

*str=0:

}

voidmain

{

chars1[100],s2[100],t[200];

system("CLS");

printf("\nEnters1string:");

scanf("%s",sl);

printf("\nEnters2string:");

scanf("%s",s2);

proc(s1,s2,t);

printf("\nTheresultis:%s\n",t);

}

六、程序設計題(1題)82.學生的記錄由學號和成績組成,M名學生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構體數(shù)組s中,請編寫函數(shù)proc(),它的功能是:函數(shù)返回指定學號的學生數(shù)據(jù),指定的序號在主函數(shù)中輸入。若沒找到指定的學號,在結(jié)構體變量中給學號置空串,給成績置-1,作為函數(shù)值返回(用于字符串比較的函數(shù)是strcmp)。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:

參考答案

1.D

2.CC語言中,switch語句中的表達式和case表達式都不能是浮點類型。所以選C。

3.Cscanf函數(shù)用于輸入數(shù)據(jù)。第1個參數(shù)表示輸入格式控制。本題變量a是double類型,使用格式控制符%If;變量b是float類型,使用%If;變量c是short類型,使用%hd,選項C正確。本題答案為C選項。

4.Amain函數(shù)中定義一個字符指針s,指向字符串“\\ta\\018bc”。for循環(huán)遍歷s指向的字符串中的字符,然后輸出根據(jù)題意可以理解為:s指向的字符串中有多少個字符,就輸出多少個s指向的字符串中字符分別是\\t(轉(zhuǎn)義字符)、a、\\01(轉(zhuǎn)義字符)、8、b、c,總共6個。其中因為8不屬于八進制中的數(shù)字,所以“\\018”不是一個轉(zhuǎn)義字符,而“\\01”是轉(zhuǎn)義字符。故本題答案為A選項。

5.AC語言中,逗號運算符可以把兩個以上(包含兩個)的表達式連接成一個表達式。逗號運算符的優(yōu)先級是所有運算符中級別最低的,逗號運算符保證左邊的子表達式運算結(jié)束后才進行右邊的子表達式的運算。也就是說,逗號運算符是一個序列點,其左邊所有子表達式運算都結(jié)束后,才對其右邊的子表達式進行運算,并以最右邊表達式的值作為整個逗號表達式的值。因此c的值為“a%b”,即“11%3=2”。故本題答案為A選項。

6.B

7.C

8.CC.【解析】線性表是一種線性結(jié)構,由n(n≥0)個元素組成,所以線性表可以是空表。但是在線性表中,第一個結(jié)點沒有前件,最后一個結(jié)點沒有后件,其他結(jié)點有且只有一個前件和后件,所以選項C.是錯誤的。

9.C解析:軟件開發(fā)模型包括瀑布模型、快速原型法模型和螺旋模型。

10.C

11.B此題主要考查scanf函數(shù)和gets函數(shù)的區(qū)別。答案為B。

12.A本題考查“%”運算符的使用。運算符“%”是整數(shù)除法的余數(shù)。本題中表達式a%=(b%2)等價于a=a%(b%2)=5%(7%2)=5%1=0。

13.B

14.D解析:在調(diào)用函數(shù)時,給形參分配存儲單元,并將實參對應的值傳遞紿形參,調(diào)用結(jié)束后,形參單元彼釋放,實參單元仍保留并維持原值。因此,在執(zhí)行—個被調(diào)用函數(shù)時,形參的值如果發(fā)生改變,并不會改變主調(diào)函數(shù)的實參的值,也就是說形參的值是不傳回紿對應的實參的。

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

16.D

17.A

18.C

19.D

20.B

21.模塊化模塊化

22.x+=2

23.&a[i]a[i]&a[i]\r\na[i]解析:scanf的格式為:scanf(格式控制,地址表列),因此,第一處應該填寫地址,由于是循環(huán)輸入,所以填&a[i]。依據(jù)題意第二處應該填寫a[i],以實現(xiàn)sum=sum+a[i]的求和。

24.44解析:本題首先判斷a>b的真假,結(jié)果是1>2為假,所以表達式“a>b?a:c>d?c:d”的值為子表達式“c>d?c:d”的值。再判斷c>d的真假,結(jié)果是3>4為假,所以最終k被賦的值為d的值,故應該填4。

25.8208,20解析:本題考查while循環(huán)和++運算符的運用。x=0符合條件x<15,則執(zhí)行y++,x+=++y后,y=1,x=0+2=2后y=2,符合條件繼續(xù)循環(huán),y=3,x=x+4=6后y=4,再循環(huán)y=5,x=x+6=6+6=12后,y=6,繼續(xù)循環(huán)y=7,x=x+8=12+8-20,此時y=8。

26.本題考查字符替換格式:#define標識符字符串。

27.11解析:本題考查兩個知識點:一是x/y的值為整型,即為0;二是數(shù)1是double類型。

28.x[i-1][j-1]+x[i-1][j]x[i-1][j-1]+x[i-1][j]解析:在程序外層i循環(huán)中先將數(shù)組的第0列元素和主對角線元素置1,內(nèi)層j循環(huán)的功能是給其余元素賦值,根據(jù)題意,空格內(nèi)應填入x[i-1][j-1)+x[i-1][j]。

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

30.可重用性繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構,從而大大減少了程序中的冗余,提高軟件的可重用性。

31.fun(a4)+fun(b4)-fun((a+b)3);fun(a,4)+fun(b,4)-fun((a+b),3);解析:函數(shù)fun的功能是計算x的n次方,a的4次方的調(diào)用函數(shù)為fun(a,4),b的4次方的調(diào)用函數(shù)為fun(b,4),(a+b)的3次方的調(diào)用函數(shù)為fun((a+b),3),計算m=a4+b4-(a+b)3的函數(shù)調(diào)用語句為:fun(a,4)+fun(b,4)-fun((a+b),3);

32.252137252137解析:本題中先定義了整型變量a、b和c,然后分別給賦值a為25,b為八進制的025,c為十六進制0x25。然后調(diào)用pruntf()函數(shù)將a、b和c分別用十進制輸出,且中間用空格隔開,八進制025轉(zhuǎn)換為十進制的值為21,十六進制的0x25轉(zhuǎn)換為十進制的值為37,故最后的輸出結(jié)果為252137。

33.45994599解析:a、b、c的初值為3、4、5,t的初值為99,if語句的條件“b<a&&b<c”為假,不執(zhí)行“t=a;”,但緊隨其后的“a=c;c=t;”與此if語句無關,仍被執(zhí)行。此時a的值為5,b的值仍是4,c的值為99。再執(zhí)行第二個if語句,由于此時“a<c&&b<c”為真,執(zhí)行“t=b;”,緊隨其后的“b=a;a=t;”與此if語句無關,也被執(zhí)行。此時a的值為4,b的值是5,c的值為99。因此輸出結(jié)果是:4599。

34.1234theend1,2,3,4,theend解析:本題考查帶參數(shù)的宏的定義。第1次循環(huán),i=1時,調(diào)用PRINT(1),P(1)輸出1;第2次循環(huán),i=2時,調(diào)用PRINT(2),P(2)輸出2:第3次循環(huán),i=3時,調(diào)用PRINT(3),P(3)輸出3:第4次循環(huán),i=4時,調(diào)用PRINT(4),P(4)輸出4,theend。

35.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關系。用帶實心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。

36.空間空間解析:算法的復雜度主要包括時間復雜度和空間復雜度。所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量。一個算法的空間復雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。

37.關系關系解析:在數(shù)據(jù)庫中,一個表就是一個關系。一個關系的邏輯結(jié)構就是一張二維表。

38.測試實例測試實例解析:進行軟件測試時,應精心設計測試實例和選擇測試數(shù)據(jù),以對系統(tǒng)進行全面測試。

39.驅(qū)動模塊驅(qū)動模塊解析:由于模塊不是一個獨立的程序;不能單獨運行,因此,在進行模塊測試時,還應為每個被測試的模塊另外設計兩類模塊:驅(qū)動模塊和承接模塊。其中驅(qū)動模塊的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果;承接模塊的作用是模擬被測試模塊的下層模塊。通常,承接模塊有多個。

40.靜態(tài)分析靜態(tài)分析解析:程序測試分為靜態(tài)分析和動態(tài)測試。其中,靜態(tài)分析是指不執(zhí)行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。

41.D解析:if...else語句的執(zhí)行過程如下,首先計算if后面一對圓括號內(nèi)表達式的值,若表達式的值為非0,執(zhí)行if子句,然后跳過else子句,去執(zhí)行if語句后的下一條語句;若表達式的值為0,跳過if子句,去執(zhí)行else子句,接著去執(zhí)行if語句后的下一條語句。C語言的語法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書寫格式無關,本題目的后一個ifelse相當于嵌套在第一個if子句里,相當于x<y&&y<0時,z=0;當x<y&&y>=0時,z=z+1。

42.A

43.C解析:整型變量x、y的初值都為1,“x++,y++,++y”是一個逗號表達式,程序執(zhí)行“z=x++,y++,++y”后,x的值為2,y的值為3,z取豆號表達式中第二個表達式的值,為1。

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

45.C解析:break、char、return、switch都是C語言中的關鍵字,switch不是。因為C語言區(qū)分字母的大小寫。

46.C解析:考查指向函數(shù)的指針變量的使用。在本題中,將函數(shù)的入口地址賦給指針后就可以用該指針調(diào)用函數(shù)了。

47.A算法的有窮性,是指算法必須能在有限的時間內(nèi)做完,即算法必須能在執(zhí)行有限個步驟之后終止。

48.A解析:本題的功能是順序的讀兩個文本文件,依次輸出。當打開文件時出現(xiàn)錯誤,fopen函數(shù)將返回NULL。

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

50.C數(shù)據(jù)約束是用來確保數(shù)據(jù)的準確性和一致性的。常見的四種數(shù)據(jù)約束如下:

(1)實體完整性約束:規(guī)定表的每一行在表中是唯一的實體。

(2)域完整性約束:是指表中的列必須滿足某種特定的數(shù)據(jù)類型約束,其中約束又包括取值范圍、精度等規(guī)定。

(3)參照完整性約束:是指兩個表的主關鍵字和外關鍵字的數(shù)據(jù)應一致,保證了表之間數(shù)據(jù)的一致性,防止了數(shù)據(jù)丟失或無意義的數(shù)據(jù)在數(shù)據(jù)庫中擴散。

(4)用戶定義的完整性約束:不同的關系數(shù)據(jù)庫系統(tǒng)根據(jù)其應用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對某個特定關系數(shù)據(jù)庫的約束條件,它反映某一具體應用必須滿足的語義要求。

在上述四種數(shù)據(jù)約束中,不屬于關系模型定義的三種數(shù)據(jù)約束的是域完整性約束。

51.C

52.A解析:本題考核的知識點是指針變量作為函數(shù)的參數(shù)和遞歸函數(shù)的簡單使用。函數(shù)fun()中有3個參數(shù),參數(shù)a為一個指針變量,接收的實參可以是數(shù)組名,參數(shù)i和j分別表示數(shù)組元素的下標,當下標i小于下標j時,a[i]和a[j]交換,然后對自身進行調(diào)用,可見這是一個遞歸函數(shù)。其實現(xiàn)的功能是把數(shù)組a,從下標為i的元素到下標為i的元素之間的所有元素反序存放。在主函數(shù)中調(diào)用fun()函數(shù),把a數(shù)組從a[0}到a[5]之間的所有元素反序存放,最后輸出從a[0]到a[5]的值,因此輸出的值為6、5、4、3,2、1,所以,A選項為所選。

53.C解析:本題通過函數(shù)gets()從鍵盤接收一個字符串,并通過調(diào)用fune()函數(shù),統(tǒng)計串中字符的個數(shù)。

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

55.C

56.C在數(shù)據(jù)庫設計中,目前常用的數(shù)據(jù)模型主要有三種,分別是層次模型、網(wǎng)狀模型和關系模型。

層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。我們通常把滿足以下兩個條件的數(shù)據(jù)模型稱為層次模型。

(1)有且僅有一個結(jié)點無雙親,這個結(jié)點稱為根結(jié)點。

(2)其他結(jié)點有且僅有一個雙親。

層次模型用樹形結(jié)構來表示各實體與實體間的聯(lián)系。實體是數(shù)據(jù)庫中數(shù)據(jù)描述的對象,可以是一個人、一種商品等。在層次模型中,每個結(jié)點表示一個記錄類型,記錄之間的聯(lián)系用結(jié)點之間的連線表示,這種聯(lián)系是父子之間一對多的聯(lián)系。記錄就是描述實體的相關數(shù)據(jù)。

如果取消層次模型中的兩個限制,即允許一個以上的結(jié)點無雙親,則每一個結(jié)點可以有多個父結(jié)點,便形成了網(wǎng)狀。我們把網(wǎng)狀表示實體之間聯(lián)系的模型稱為網(wǎng)狀模型。

關系模型用表格形式表示實體類型及其實體間的聯(lián)系。關系模型是目前最重要的一種模型,它是建立在嚴格的數(shù)學概念的基礎上的,具有最堅實的理論基礎。關系模型的基本數(shù)據(jù)結(jié)構是二維表,每一張二維表稱為一個關系。

57.B解析:該題目應該根據(jù)循環(huán)體第一次和最后一次執(zhí)行時的輸出結(jié)果來決定哪一項是正確的。第一次進入循環(huán)時,n的值是9,循環(huán)體內(nèi),先經(jīng)過n--運算,n的值變?yōu)?,所以第一次的輸出值是8,由此可以排除選項A)和D)。由循環(huán)條件n>6可以知道,最后一次循環(huán)開始時,n的值應該為7,所以最后一次執(zhí)行循環(huán)時,輸出為6,由此可以排除選項C)。

58.D解析:E-R(實體—聯(lián)系,Entity-Relationship)圖是設計概念模型的有力工具。在E-R圖中,用三種圖框分別表示實體,屬性和實體之間的聯(lián)系:

①用矩形框表示實體,框內(nèi)標明實體名;

②用橢圓狀框表示實體的屬性,框內(nèi)標明屬性名;

③用菱形框表示實體問的聯(lián)系,框內(nèi)標明聯(lián)系名;

④實體與其屬性之間以無向邊連接,菱形框與相關實體之間也用無向邊連接,并在無向邊旁標明聯(lián)系的類型。

因此,用E-R圖不僅可以簡單明了地描述實體及其相互之間的聯(lián)系,還可以方便地描述多個實體集之間的聯(lián)系和一個實體集內(nèi)部實體之間的聯(lián)系。

由此可知,選項A、B、C二個選項中的既法都是不對的。

59.B解析:sub()函數(shù)的作用是將形參y和x的差賦給了z指向的那個內(nèi)存地址,所以在sub(10,5,&a),10和5屬于值傳遞,a是屬于地址傳遞,也就是a與z指向了同一個存儲單元,在執(zhí)行函數(shù)后,a的值隨*z變化,所以此次函數(shù)被調(diào)用后,a的值為y-x=-5,同理可知,在sub(7,a,&b)后,b的值發(fā)生變化其值為-5-7=-12,在sub(a,b,&c)后,c的值發(fā)生變化,其值為-12-(-5)=-7。

60.A解析:讀取文件時,當文件中的數(shù)據(jù)全部讀完后,文件位置指針將位于文件的結(jié)尾。此時如果讀數(shù)據(jù),將會出現(xiàn)錯誤。為了保證讀寫數(shù)據(jù)的正確性,需要進行文件尾測試,文件尾測試使用函數(shù)feof(),它的功能測試fp指向的文件是否到達文件尾.若到達文件尾,返回值為非0,否則返回值為0。在本題中fP指向的某文件還沒有到了文件尾,因此返回0,所以,4個選項中選項A符合題意。

61.A

\n本題考查do-while循環(huán)。當--y是0(即y是o)時結(jié)束循環(huán),輸出--y,先將y的值減1再輸出Y的值。

62.B

63.D繼承是面向?qū)ο蟮姆椒ǖ囊粋€主要特征,是使用已有的類的定義作為基礎建立新類的定義技術。廣義的說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復定義它們,所以說繼承是指類之間共享屬性和操作的機制。

64.B

65.A表示針對屬性進行的投影運算,0r表示針對元組進行的選擇運算,’^’表示交運算,’V’表示并運算。要求檢索結(jié)果為關系模式中的學生學號s#,首先在幾種屬性中選擇學生學號'iTS#,其次要在其中選擇滿足條件的元組0r,條件是課號為2且成績及格,即為“c#=2AG,>60”,故完整表達式為叮rs#(orc#=2AG一>60(SC))。本題選A選項。

66.A字符型指

溫馨提示

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

評論

0/150

提交評論