版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年遼寧省沈陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.現(xiàn)有如下定義語句int*p,s[20],i;p=s;表示數(shù)組元素s[i]的表達(dá)式不正確的是
A.*(s+i)B.*(p+i)C.*(s=s+i)D.*(p=p+i)
2.有如下形式的函數(shù):intfun(inta[4][5],int*p[10],intn){…}調(diào)用函數(shù)之前需要對(duì)函數(shù)進(jìn)行說明,即所謂的函數(shù)向前引用說明,以下對(duì)fun函數(shù)說明正確的是()。A.intfun(intb[][5],int*r[],intm);
B.intfun(inta[4][],int*p[10],intn);
C.intfun(inta[][],int*p[],intn);
D.intfun(inta[],int*p[],intn);
3.利用E-R模型進(jìn)行數(shù)據(jù)庫的概念設(shè)計(jì),可以分成3步:首先設(shè)計(jì)局部E-R模型,然后把各個(gè)局部E-R模型綜合成一個(gè)全局的模型,最后對(duì)全局E-R模型進(jìn)行(),得到最終的E-R模型。
A.簡化B.結(jié)構(gòu)化C.最小化D.優(yōu)化
4.給出發(fā)下定義:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};則正確的敘述為______。
A.數(shù)組x和數(shù)組y等價(jià)B.數(shù)組x和數(shù)組y的長度相同C.數(shù)組x的長度大于數(shù)組y的長度D.數(shù)組x的長度小于數(shù)組y的長度
5.采用開放定址法處理散列表的沖突時(shí),其平均查找長度()
A.高于二分查找B.高于鏈接法處理沖突C.低于二分查找D.低于鏈接法處理沖突
6.設(shè)二叉樹的中序序列為BCDA,前序序列為ABCD,則后序序列為()。
A.CBDAB.DCBAC.BCDAD.ACDB
7.若x=10010111,則表達(dá)式(3+(int)(x))&(~3)的運(yùn)算結(jié)果是()。
A.10011000B.10001100C.10101000D.10110000
8.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
9.設(shè)”inta=12;”,則執(zhí)行完語句”a+=a*a;”后,a的值是()。
A.12B.144C.156D.288
10.設(shè)順序表的長度為n,則順序查找的平均比較次數(shù)為()
A.nB.n/2C.(n+1)/2D.(n-1)/2
11.以下編碼方法中,()屬于熵編碼。
A.哈夫曼編碼B.小波變換編碼C.線性預(yù)測(cè)編碼D.形成編碼
12.廣義表(a,b,c,d)的表頭是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
13.在如下結(jié)構(gòu)定義中,不正確的是()。A.
B.
C.
D.
14.下列函數(shù)的類型是()。fun(doublex){floaty;y=3*x-4;returny;}
A.intB.不確定C.voidD.float
15.下列敘述中不正確的是()。
A.在C語言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參
B.在C的函數(shù)中,最好使用全局變量
C.外部變量可以在函數(shù)之間傳遞數(shù)據(jù)
D.自動(dòng)變量實(shí)質(zhì)上是一個(gè)函數(shù)內(nèi)部的局部變量
16.下列選項(xiàng)中,能正確定義數(shù)組的語句是()。
A.intnum[0..2008];
B.intnum[];
C.intN=2008;intnum[N];
D.#defineN2008;intnum[N];
17.C語言可執(zhí)行程序的開始執(zhí)行點(diǎn)是()。
A.包含文件中的第一個(gè)函數(shù)B.程序中第一個(gè)函數(shù)C.程序中的main()函數(shù)D.程序中第一條語句
18.如果樹的的結(jié)點(diǎn)A有4個(gè)兄弟,而且B為A的雙親,則B的度為()。
A.3B.4C.5D.1
19.若希望下列的程序運(yùn)行后輸出25,程序空白處的正確選項(xiàng)是()。
main()
{inti,j=50,a[]={7,4,10,5,8};
for()
j+=a[i];
primf("%d,j-40);
}
A.i=1;i<4;++iB.i=1;i<3;++iC.i=4;i>2;i--D.i=2;i<4;++i
20.在Internet中,域名服務(wù)器的主要功能是實(shí)現(xiàn)()的轉(zhuǎn)換。
A.IP地址到域名(主機(jī)名字)B.域名到IP地址C.主機(jī)IP地址和路由器IP地址之間D.路由器IP地址之問
二、2.填空題(20題)21.下面程序執(zhí)行后輸出的結(jié)果是【】。
intm=13;
intfun(intx,inty)
{intm=3;
return(x*y-m);
}
main()
{inta=7,b=5;
printf("%d\n",fun(a,b)/m);
}
22.設(shè)x、y、z均為int型變量,請(qǐng)寫出描述"x或y中至少有一個(gè)小于z"的表達(dá)式______。
23.性表的順序存儲(chǔ)中,元素之間的邏輯關(guān)系是通過【】決定的;性表的鏈接存儲(chǔ)中,元素之間的邏輯關(guān)系是通過【】決定的。
24.設(shè)有以下定義和語句,則*(*(P+2)+1)的值為【】。
int[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
25.以下程序運(yùn)行結(jié)果是【】。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:
case2:return1;}
return(fib(g-1)+fib(g-2));}
main()
{longk;
k=fib(5);
printf("k=%5ld\n",k);}
26.在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,類的實(shí)例稱為______。
27.在兩種基本測(cè)試方法中,()測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑至少執(zhí)行一次。
28.閱讀程序,填空補(bǔ)充程序。
#define【】30
main()
{【】;
num=10;
total=num*PRICE;
printf("total=%d,num=%d\n",【】);
}
29.下列程序的輸出結(jié)果是______。
main()
{inta+,b=2,C=3,t=0;
ifa<B){t=a;a=b;b=t;}
ifa<C){t=a;a=c;c=t;}
printf("%d,%d,%dln",a,b,C);
}
30.下程序的輸出是【】。
main()
{
charstr1[]="Howdoyoudo",*p1=str1;
strcpy(str1+strlen(str1)/2,"esshe");
printf("%s\n",p1);
}
31.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{
inti;
for(i=1;i<K;i++)
{…}
…
}
32.下面程序的運(yùn)行結(jié)果是【】。
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{intx==3,y=5,*p=&x,*q=&y;
swap(p,q);
printf("%d%d\n",*p,*q);
}
33.當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為【】。
34.數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個(gè)階段,其中數(shù)據(jù)獨(dú)立性最高的階段是______。
35.下面程序的輸出結(jié)果是【】。
charb[]="ABCD";
main()
{char*p=b;
for(;*p;p++)
printf("%s",p);
printf("\n");
}
36.以下函數(shù)用以求y的x次方。補(bǔ)足所缺語句。
doublefun(doubley,intx)
{inti;
doublez=1.0;
for(i=1;i______;i++)
z=______;
returnz;
}
37.設(shè)有以下程序,為使之正確運(yùn)行,請(qǐng)?jiān)跈M線中填入應(yīng)包含的命令行。(注:try_me()函數(shù)在a:\myfile.txt中有定義。)
______
main()
{printf("\n");
try_me();
printf("\n");}
38.診斷和改正程序中錯(cuò)誤的工作通常稱為【】。
39.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】兩部分組成。
40.設(shè)有如下宏定義
#defineMYSWAP(z,x,y)
{z=x;x=y;y=z;}
以下程序段通過宏調(diào)用實(shí)現(xiàn)變量a,b內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>
floata=5,b=16,c;
MYSWAP(【】a,b);
三、1.選擇題(20題)41.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是______。
A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程療的可移植性
42.以下有四組用戶標(biāo)識(shí)符,其中合法的一組是()
A.For-subCase
B.4dDOSize
C.f2_G3IFabc
D.WORDvoiddefine
43.以下敘述中錯(cuò)誤的是
A.在程序中凡是以“#”開始的語句行都是預(yù)處理命令行
B.預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束
C.#defineMAX是合法的宏定義命令行
D.C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進(jìn)行的
44.下面程序的輸出是______。main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A.k=11,k=12,k=11
B.k=-11,k=13,k=13
C.k=11,k=013,k=0xb
D.k=11,k=13,k=B
45.若有如下語句:structa{charx[10]inty;}s,*t;t=&s;則對(duì)結(jié)構(gòu)體變量s中的成員y的正確引用是()
A.a.y;B.t->y;C.t.y,D.*t->y;
46.在深度為7的滿二叉樹中,葉子節(jié)點(diǎn)的個(gè)數(shù)為()。
A.32B.31C.64D.63
47.下列敘述中不正確的是
A.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題
B.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
C.數(shù)據(jù)庫設(shè)計(jì)是指設(shè)計(jì)一個(gè)能滿足用戶要求,性能良好的數(shù)據(jù)庫
D.數(shù)據(jù)庫系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),但是需要操作系統(tǒng)的支持
48.有以下程序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);}程序運(yùn)行后的輸出結(jié)果是
A.2B.3C.43D.44
49.以下選項(xiàng)中,與k==n++完全等價(jià)的表達(dá)式是()。
A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1
50.設(shè)有如下關(guān)系表:RSTABCABCABC112313112223223313則下列操作中正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
51.與十六進(jìn)制數(shù)CD相等的十進(jìn)制數(shù)是______。
A.205B.206C.207D.208
52.若有函數(shù)max(a、b),為了讓函數(shù)指針變量p指向函數(shù)max,當(dāng)調(diào)用該函數(shù)時(shí),正確的賦值方法是
A.(*p)max(a,b)B.*pmax(a,b)C.p=max(a,b)D.*p=max(a,b)
53.下面程序的輸出結(jié)果是______。unsignedfun(unsignednum){unsignedk-I;do{k*=num%10;num/=10;}while(num);retum(k);}main(){unsignedn=26;printf("%d\n",fun(n));}
A.0B.4C.12D.無限次循環(huán)
54.下面關(guān)于對(duì)象概念的描述中,錯(cuò)誤的是
A.對(duì)象就是C語言中的結(jié)構(gòu)體變量
B.對(duì)象代表著正在創(chuàng)建的系統(tǒng)中的一個(gè)實(shí)體
C.對(duì)象是一個(gè)狀態(tài)和操作(或方法)的封裝體
D.對(duì)象之間的信息傳遞是通過消息進(jìn)行的
55.下面結(jié)構(gòu)體的定義語句中,錯(cuò)誤的是()。
A.structord{intx;inty;intz;};structorda;
B.structord{intx;inty;intz;};orda;
C.structord{intx;inty;intz;}a;
D.struct{intx;inty;intz;}a;
56.現(xiàn)有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};inti=0,j=5;printf("%d\n",*(&a[0][0]+2*i+j-2));}則程序的輸出結(jié)果為
A.21B.78C.23D.28
57.開發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
58.開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做()。A.軟件矛盾B.軟件危機(jī)C.軟件藕合D.軟件產(chǎn)生
59.有以下程序:main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d,%d\n",x,y,z);程序運(yùn)行后的輸出結(jié)果是()。
A.2,3,3B.2,3,2C.2,3,1D.2,2,1
60.以下對(duì)結(jié)構(gòu)體類型變量的定義中,不正確的是()。
A.typedefstruetaa{intn;floatm;}AA;AAtdl;
B.#defineAAstructaaAA{intn;floatm;}tdl;
C.struct{intn;floatm;}aa;structaatdl;
D.struct{intn;floatm;}tdl;
四、選擇題(20題)61.
62.有以下程序
voidfun(inta,intb,intc)
{
a=456,b=567,c=678;
}
main()
{
intx=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",x,y,z);
}
輸出結(jié)果是
A.10,20,30B.30,20,10
C.456,567,678D.678,567,456
63.下列描述錯(cuò)誤的是()。
A.繼承分為多重繼承和單繼承
B.對(duì)象之問的通信靠傳遞消息來實(shí)現(xiàn)
C.在外面看不到對(duì)象的內(nèi)部特征是基于對(duì)象的“模塊獨(dú)立性好”這個(gè)特征
D.類是具有共同屬性、共同方法的對(duì)象的集合
64.(47)在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是()
A.詳細(xì)設(shè)計(jì)
B.需求分析
C.總體設(shè)計(jì)
D.編程調(diào)試
65.表達(dá)式a+=a-=a=9的值是()。
A.9B.-9C.18D.0
66.
67.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.45B.50C.60D.55
68.
69.在長度為n的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)是
A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)
70.計(jì)算機(jī)能直接執(zhí)行的程序是()。
A.源程序B.目標(biāo)程序C.匯編程序D.可執(zhí)行程序
71.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
72.
73.#define能作簡單的替代,用宏來替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
74.
75.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.0987654321
B.4321098765
C.5678901234
D.0987651234
76.以下選項(xiàng)中,值為1的表達(dá)式是()。
77.
78.以下程序運(yùn)行后的輸出結(jié)果是()。
#include<stdio.h>
main()
{inti;
for(i=1;i<=5;i++)
switch(i%5)
{case0:printf("*");break;
case1:printf("#");break;
default:printf("\n");
case2:printf("&");
}
}
A.B.#&C.#&D.&
**
&**
79.
以下程序的輸出結(jié)果是()。
main
{charch[3][4]={"123","456","78"),*p[3];inti;
for(i=0;i<3;i++)p[i]=ch[i];
for(i=0;i<3;i++)printf("%s",p[i]);}
A.123456780B.123456780C.12345678D.147
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:先將字符串s中的字符按順序存放到t中,然后把S中的字符按正序連接到t的后面。例如,當(dāng)s中的字符串為WXYZ時(shí),則t中的字符串應(yīng)為WXYZWXYZ。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
voidproc(char*s,char*t)
{
inti,s1;
s1=strlen(s);
for(i=0;i<s1;i++)
//****found****
t[i]=s[s1];
for(i=0;i<s1;i++)
t[s1+i]一s[i];
t[2*s1]=\O0;
}
voidmain
{
chars[100],t[100];
system("CLS");
print{("\nPleaseenterstrings:");
scanf("%s",s);
proc(s,t);
printf("Theresultis:%s\n",t);
}
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫fun()函數(shù),其功能是:計(jì)算并輸出3~m所有素?cái)?shù)的平方根之和。例如,若主函數(shù)從鍵盤給m輸入50后,則輸出為s=63.665791。注意:m的值要大于2但不大于l00。部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入所編寫的若干語句。試題程序:
參考答案
1.C解析:當(dāng)p指向s數(shù)組的首地址時(shí),表示數(shù)組元素s[i]的表達(dá)式應(yīng)當(dāng)有:①s[i],②,(s+i),③*(p+i),④p[i]四種形式。選項(xiàng)C)錯(cuò)誤的原因是,數(shù)組的地址是不可變的,指針的地址是可以變的。
2.A題干中函數(shù)的定義指出了函數(shù)名為fun,返回值的數(shù)據(jù)類型為int。函數(shù)包含3個(gè)參數(shù),第1個(gè)參數(shù)是整型的二維數(shù)組,第2個(gè)參數(shù)是整型數(shù)組,第3個(gè)參數(shù)是整型變量。在定義二維數(shù)組時(shí),必須指定第二維的長度,所以選項(xiàng)B、C、D錯(cuò)誤,選項(xiàng)A正確。本題答案為A選項(xiàng)。
3.D解析:在概念設(shè)計(jì)中按照模塊的劃分畫出每個(gè)模塊的E-R圖,然后把這些圖合成一張E-R圖作為全局模型,最后應(yīng)該對(duì)全局E-R圖進(jìn)行優(yōu)化,看看是否有重復(fù)和不合理的地方。不能只是進(jìn)行簡單的合并。
4.C
5.B
6.B二叉樹的前序序列為ABCD,由于前序遍歷首先訪問根節(jié)點(diǎn),可以確定該二叉樹的根節(jié)點(diǎn)是A。再由中序序列為BCDA,可知以A為根節(jié)點(diǎn)的該二叉樹只存在左子樹,不存在右子樹,故后序序列為DCBA。本題答案為B選項(xiàng)。
7.A解析:本題主要考查運(yùn)算表達(dá)式的運(yùn)算。3+(int)(x)的結(jié)果是10011010,~3的結(jié)果是11111100,二者邏輯與得10011000。
8.C
9.C
10.C
11.A
12.A
13.B
14.A本題考查函數(shù)值的類型。在函數(shù)調(diào)用時(shí),盡管Y的類型是float.x的類型是double,但是因?yàn)楹瘮?shù)定義時(shí)沒有指定類型說明,系統(tǒng)默認(rèn)函數(shù)值的類型為int型,所以計(jì)算后Y的類型是int型。
15.B解析:編譯時(shí),編譯系統(tǒng)不為局部變量分配內(nèi)存單元,而是在程序運(yùn)行中,當(dāng)局部變量所在的函數(shù)被調(diào)用時(shí),編譯系統(tǒng)根據(jù)需要要臨時(shí)分配內(nèi)存,調(diào)用結(jié)束空間釋放;全局變量一經(jīng)定義,編譯系統(tǒng)為其分配固定的內(nèi)存單元,在程序運(yùn)行的自始至終都占用固定的單元。在考慮內(nèi)存不定的情況下,最好使用全局變量。
16.DC語言不允許定義動(dòng)態(tài)數(shù)組,定義數(shù)組的大小必須為常量表達(dá)式。A選項(xiàng)錯(cuò)誤,C語言中的數(shù)組沒有此類型的定義方法;B選項(xiàng)錯(cuò)誤,定義數(shù)組應(yīng)指明數(shù)組大小,如果不指明數(shù)組大小,需要給定元素的個(gè)數(shù);C選項(xiàng)錯(cuò)誤,N為變量,不能用來定義數(shù)組大小。故本題答案為D選項(xiàng)。
17.C解析:每個(gè)C程序有且只有一個(gè)主函數(shù)main(),且程序必須從main函數(shù)開始執(zhí)行,并在main()函數(shù)中結(jié)束。
18.C
19.D解析:要想使程序輸出是25,則j-40=25,j=65,而j初值是50,所以填入for循環(huán)中的語句,使引用的數(shù)組元素累加為65-50=15即可。
20.B在Internet中,把域名翻譯為IP地址的軟件稱為域名系統(tǒng)DNS,運(yùn)行域名系統(tǒng)的主機(jī)稱為域名服務(wù)器。域名服務(wù)器的主要功能是實(shí)現(xiàn)入網(wǎng)主機(jī)名字和IP地址的轉(zhuǎn)換。
21.22解析:本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應(yīng)取外部變量的值13,因此輸出2。
22.X<Z||y<zX<Z||y<z解析:本題考查邏輯運(yùn)算符和邏輯表達(dá)式。x或y中至少有一個(gè)小于z,即X<Z或y<z,是“或”的關(guān)系。
23.相鄰位置鄰接指針相鄰位置\r\n鄰接指針
24.6060解析:本題定義了一個(gè)3行2列的二維數(shù)組a,并定義了一個(gè)指向兩個(gè)元素的一維數(shù)組指針p,讓p指向二維數(shù)組a的首行。*(*(p+2)+1)是引用a[2][1],其值是60。
25.k=5k=5解析:本題主要考查了函數(shù)的遞歸調(diào)用方法。g=0或g=1或g=2是遞歸的終止條件,然后用回代的方法從一個(gè)已知值推出下一個(gè)值,直到計(jì)算出最終結(jié)果。
26.對(duì)象對(duì)象解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,類是具有相同的屬性或方法的對(duì)象的抽象,對(duì)象是類的實(shí)例。
27.白盒白盒解析:按功能劃分測(cè)試可分為白盒測(cè)試和黑盒測(cè)試。白盒測(cè)試的原則是保證所測(cè)試模塊中每一獨(dú)立路徑至少執(zhí)行一次;保證所測(cè)試模塊所有判斷的每一分支至少執(zhí)行一次:保證所測(cè)試模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。
28.PRICEintnumtotaltotalnumPRICE\r\nintnum,total\r\ntotal,num解析:程序中出現(xiàn)了變量num,total以及宏P(guān)RICE,因此應(yīng)在相應(yīng)位置說明它們。
29.3123,1,2解析:分析程序,第一個(gè)if句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時(shí)a=2,b=1。第二個(gè)if語句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時(shí)a=3,c=2。
30.HowdoessheHowdoesshe解析:strcpy(str1,s1):字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組str1中去。strlen(str):測(cè)試字符串str的長度,函數(shù)的值為字符串中實(shí)際長度,不包括\'\\0\'在內(nèi)。本題中strlen(str1)的值為13,則strcpy(str1+strlen(str1)/2,'esshe');相當(dāng)于strcpy(str1+6,'esshe');,因此可得答案為Howdoesshe。
31.44解析:將程序中所有的宏替換掉可得:M=2+1,K=2+1*2+1/2=4,所以for循環(huán)共循環(huán)了K-1+1次,即4-1+1共4次。
32.3535解析:主函數(shù)中通過定義和賦初值使p和q分別指向了x和y,執(zhí)行函數(shù)調(diào)用swap(p,q),把p和q中的地址值傳給了形參指針變量a和b,此時(shí)a和b分別指向了主函數(shù)中的變量x和y。在函數(shù)swap()中交換了指針變量a和b的值,但并沒有改變a和b所指向的內(nèi)容,所以函數(shù)調(diào)用返回后x和y依舊是原來的值。故運(yùn)行結(jié)果為35。
33.上溢上溢解析:入隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)尾加入一個(gè)新元素。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將隊(duì)尾指針進(jìn)一(即rear=rear+1),并當(dāng)rear=m+1時(shí)置rear=1;然后將新元素插入隊(duì)尾指針指向的位置。當(dāng)循環(huán)隊(duì)列非空(s=1)時(shí)且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算,這種情況稱為“上溢”。
34.數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術(shù)階段數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術(shù)階段解析:在數(shù)據(jù)庫系統(tǒng)管理階段,數(shù)據(jù)是結(jié)構(gòu)化的,是面向系統(tǒng)的,數(shù)據(jù)的冗余度小,從而節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,也減少了對(duì)數(shù)據(jù)的存取時(shí)間,提高了訪問效率,避免了數(shù)據(jù)的不一致性,同時(shí)提高了數(shù)據(jù)的可擴(kuò)充性和數(shù)據(jù)應(yīng)用的靈活性;數(shù)據(jù)具有獨(dú)立性,通過系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨(dú)立性:一是物理獨(dú)立性,二是邏輯獨(dú)立性;保證了數(shù)據(jù)的完整性、安全性和并發(fā)性-綜上所述,數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫系統(tǒng)管理階段。
35.ABCDBCDCDD
36.i<=xz*y。i<=xz*y。解析:循環(huán)次數(shù)應(yīng)該是x次,相當(dāng)于x個(gè)y相乘,循環(huán)體中z作為累乘器,值為z*y。
37.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本題考查了函數(shù)的存儲(chǔ)分類的概念。如果沒有特別說明,函數(shù)的存儲(chǔ)范圍是從定義函數(shù)的位置到文件的結(jié)尾,如果其他文件想使用這個(gè)函數(shù),需要用ginclude文件包含命令將定義函數(shù)的文件包含進(jìn)來。
38.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。程序調(diào)試與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于調(diào)試工具找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,而調(diào)試主要在開發(fā)階段。
39.輸出結(jié)果輸出結(jié)果解析:注意:測(cè)試的基本方法和步驟。
40.cc解析:該題考查以下兩個(gè)知識(shí)點(diǎn):
(1)用一個(gè)指定的標(biāo)識(shí)符(即名字)來代表一個(gè)字符串,它的一般形式為#define標(biāo)識(shí)符字符串
(2)在MYSWAP宏定義中,利用中間變量z來交換x和y的值,所以要實(shí)現(xiàn)a和b的交換,只需通過中間變量即可,所以,此處應(yīng)填c。
41.B解析:結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是結(jié)構(gòu)化程序清晰易讀,可理解性好,程序員能夠進(jìn)行逐步求精、程序證明測(cè)試,以保證程序的正確性。
42.C
43.D解析:在C語言中,凡是以“#”開頭的行都稱為編譯預(yù)處理命令行,如#include、#define、#if等,每行的末尾不得用“;”結(jié)束,以區(qū)別于C語句、定義和說明語句。選項(xiàng)C中的宏定義為不帶參數(shù)的宏命令行,宏名之后可以有替換文本,也可以沒有。編譯預(yù)處理是在編譯程序?qū)源程序進(jìn)行編譯前執(zhí)行的.當(dāng)然也在程序執(zhí)行之前執(zhí)行,因此選項(xiàng)D是錯(cuò)誤的。
44.D解析:在C語言格式字符的輸出中,“%d”是以帶符號(hào)的十進(jìn)制形式輸出整數(shù);“%o”是以8進(jìn)制無符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0);“%x”是以16進(jìn)制無符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0x)。
45.B解析:本題中的a是結(jié)構(gòu)體名,s是結(jié)構(gòu)體a的變量,t是結(jié)構(gòu)體a的指針。通過變量直接訪問結(jié)構(gòu)體成員應(yīng)該使用“.”運(yùn)算符,而通過指針間接訪問結(jié)構(gòu)體成員應(yīng)該使用“->”運(yùn)算符。故本題的正確答案為B。
46.C解析:深度為k且有2k-1個(gè)節(jié)點(diǎn)的二叉樹,稱為滿二叉樹。
47.B解析:B選項(xiàng)錯(cuò)誤,原因是,數(shù)據(jù)庫應(yīng)該具有物理獨(dú)立性和邏輯獨(dú)立性,改變其一而不影響另一個(gè)。
48.A解析:本題考核的知識(shí)點(diǎn)是if-else語句的程序分析。我們首先看程序中if-else的匹配,由于C語言中規(guī)定else總是與最近的if搭配,因此程序中else與第二個(gè)訂搭配,即該if-else語句為第一個(gè)if語句的執(zhí)行部分,接著判斷第一個(gè)if后面括號(hào)里的表達(dá)式的值“a>b”為假('3>4'為假),因此不執(zhí)行后面if-else語句,程序?qū)?zhí)行下面的輸出語句輸出d,而d一直未被改變故為原來的值2,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
49.A解析:在本題中k=n++,為后綴運(yùn)算。根據(jù)其運(yùn)算規(guī)則,首先n先加一,但n++表達(dá)式的值依然為n原來的值,即k的值變?yōu)閚加1之前的值。選項(xiàng)A中先給k賦值為n,然后n再加1,k值沒有變化,所以這個(gè)表達(dá)式和本題中表達(dá)式等價(jià);選項(xiàng)B中先n加1,然后將n加1后的值賦給k,所以這個(gè)表達(dá)式和本題中表達(dá)式不等價(jià):選項(xiàng)C中先計(jì)算表達(dá)式++n的值,執(zhí)行++n后,k變?yōu)閚加1后的值,所以這個(gè)表達(dá)式和題目中的表達(dá)式不等價(jià);選項(xiàng)D中表達(dá)式展開為k=k=(n+1),k被累加,所以這個(gè)表達(dá)式和題目中的表達(dá)式不等價(jià)。所以4個(gè)選項(xiàng)中A正確。
50.B解析:并(∪):關(guān)系R和S具有相同的關(guān)系模式,R和S的并是由屬于R或?qū)儆赟的元組構(gòu)成的集合。
51.A解析:CD=12*16+13=192+13=205。
52.C解析:考查指向函數(shù)的指針變量的使用。在本題中,將函數(shù)的入口地址賦給指針后就可以用該指針調(diào)用函數(shù)了。
53.C解析:本題定義了一個(gè)fun函數(shù),用于num求和,具體執(zhí)行過程如下:
num=26:k=k*(num%10)=1*(26%10),所以k=6,num=num/10=2;
num=2:k=k*(num%10)=6*(2%10),所以k=12;num=num/10=0:
num=0:while條件不成立,所以返回k的值12。
54.A解析:對(duì)象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接的對(duì)應(yīng)關(guān)系,對(duì)象之間通過傳遞消息互相聯(lián)系,從模擬現(xiàn)實(shí)世界中不同事物彼此之間的聯(lián)系,B)、C)、D)是正確的,對(duì)象的思想廣泛應(yīng)用于C++、Java等語言中,因此A)錯(cuò)誤。
55.B
56.A解析:通過地址來引用二維數(shù)組,若有以下定義:inta[3][4],i,j;且當(dāng)0≤i≤3,0≤j<4則可以有以下幾種方式來引用數(shù)組中的第i行,第j列的元素:\ue008a[i][j]\ue009,\ue008*(a[i]+j),\ue009*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。表達(dá)式&a[0][0]+2*i+j-2相當(dāng)于是地址&a[0][0]加上多少偏移量。
57.A開發(fā)大型軟件時(shí),產(chǎn)生困難的原因有很多,如需求難以捕捉、員工水平有限、工作安排不太合理、進(jìn)度控制難以把握、系統(tǒng)開發(fā)時(shí)間有限等元素,但這些都不是根本的原因,根本的原因是大系統(tǒng)的復(fù)雜性。
58.BB)【解析】隨著計(jì)算機(jī)軟件規(guī)模的擴(kuò)大,軟件本身的復(fù)雜性不斷增加,研制周期顯著變長,正確性難以保證,軟件開發(fā)費(fèi)用上漲,生產(chǎn)效率急劇下降,從而出現(xiàn)了入們難以控制軟件發(fā)展的局面,即所謂的“軟件危機(jī)”。
59.C解析:z=x++是先把x的值1賦給z,所以z=1,然后再把x加1賦給x,x=2,++y后y又加1,所以y=3。
60.C解析:定義結(jié)構(gòu)體類型的變量有如下幾種方法:
①定義結(jié)構(gòu)體類型的同時(shí),定義結(jié)構(gòu)體類型的變量,如:
stractaa
{…}tdl;
選項(xiàng)B)中將宏名AA用宏體structaa替換后,與該定義形式一樣,因此是正確的。在這一定義形式中,結(jié)構(gòu)體類型名aa是可以省略的,因此,D)項(xiàng)也是正確的。
②先定義結(jié)構(gòu)體類型,然后再定義結(jié)構(gòu)體類型的變量,形式如下:
structaa
{…};
strnctaatdl;
這種定義形式也可演變?yōu)椋?/p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校食堂切配間衛(wèi)生制度
- 衛(wèi)生院落實(shí)自查制度
- 洗浴衛(wèi)生管理及制度
- 衛(wèi)生單位清單化管理制度
- 衛(wèi)生院建立藥品養(yǎng)護(hù)制度
- 軋花廠環(huán)境衛(wèi)生制度
- 生活區(qū)衛(wèi)生規(guī)范制度
- 隧道窯廠區(qū)衛(wèi)生制度
- 衛(wèi)生學(xué)校教師工作制度
- 衛(wèi)生院衛(wèi)生組織制度
- 成人呼吸支持治療器械相關(guān)壓力性損傷的預(yù)防
- DHA乳狀液制備工藝優(yōu)化及氧化穩(wěn)定性的研究
- 2023年江蘇省五年制專轉(zhuǎn)本英語統(tǒng)考真題(試卷+答案)
- 三星-SHS-P718-指紋鎖使用說明書
- 岳麓書社版高中歷史必修三3.13《挑戰(zhàn)教皇的權(quán)威》課件(共28張PPT)
- 2007年國家公務(wù)員考試《申論》真題及參考答案
- GC/T 1201-2022國家物資儲(chǔ)備通用術(shù)語
- 污水管網(wǎng)監(jiān)理規(guī)劃
- GB/T 6730.65-2009鐵礦石全鐵含量的測(cè)定三氯化鈦還原重鉻酸鉀滴定法(常規(guī)方法)
- GB/T 35273-2020信息安全技術(shù)個(gè)人信息安全規(guī)范
- 《看圖猜成語》課件
評(píng)論
0/150
提交評(píng)論