




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年河北省滄州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.對(duì)于循環(huán)隊(duì)列()。
A.無(wú)法判斷隊(duì)列是否為空B.無(wú)法判斷隊(duì)列是否為滿(mǎn)C.隊(duì)列不可能滿(mǎn)D.以上說(shuō)法都不對(duì)
2.有三個(gè)關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和s通過(guò)某種操作得到,該操作為()。
A.選擇B.交C.投影D.并
3.有以下程序#include<stdio.h>voidfun(char**p){++p;printf("%s",*p);}main{char*a[]={"Morning","Afternoon","Evening","Night");fun(a);}程序的運(yùn)行結(jié)果是()。A.AfternoonB.fternoonC.MorningD.orning
4.有以下程序
prt(int*m,intn)
{
inti;
for(i=0;i<n;i++)
m[i]++;
}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是A.A.1,2,3,4,5,
B.3,4,5,6,7,
C.2,3,4,5,6,
D.2,3,4,5,1,
5.
6.假設(shè)以行序?yàn)橹餍虼鎯?chǔ)二維數(shù)組array[100][100],設(shè)每個(gè)數(shù)據(jù)元素占2個(gè)存儲(chǔ)單元,基地址為10,下標(biāo)從0開(kāi)始,則元素array[5][5]的地址為()。
A.808B.818C.1010D.1020
7.有以下程序:#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}程序的運(yùn)行結(jié)果是()。
A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,1
8.如果一個(gè)函數(shù)位于C程序文件的上部,在該函數(shù)體內(nèi)說(shuō)明語(yǔ)句后的復(fù)合語(yǔ)句中定義了一個(gè)變量,則該變量().
A.為全局變量,在本程序文件范圍內(nèi)有效
B.為局部變量,只在該函數(shù)內(nèi)有效
C.為局部變量,只在該復(fù)合語(yǔ)句中有效
D.定義無(wú)效,為非法變量
9.下面屬于黑盒測(cè)試方法的是()。
A.邊界值分析B.路徑覆蓋C.語(yǔ)句覆蓋D.邏輯覆蓋
10.數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)器內(nèi)表示時(shí),如果元素在存儲(chǔ)器中的相對(duì)位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱(chēng)這種存儲(chǔ)結(jié)構(gòu)為()。
A.存儲(chǔ)結(jié)構(gòu)B.邏輯結(jié)構(gòu)C.順序存儲(chǔ)結(jié)構(gòu)D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
11.棧這種數(shù)據(jù)結(jié)構(gòu)一般應(yīng)用在()。
A.遞歸調(diào)用B.子程序調(diào)用C.表達(dá)式求值D.A,B,C
12.設(shè)無(wú)向圖的頂點(diǎn)數(shù)為n,則該圖最多有()條邊。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0
13.兩個(gè)或兩個(gè)以上模塊之間聯(lián)系的緊密程度稱(chēng)為()。
A.耦合性B.內(nèi)聚性C.復(fù)雜性D.數(shù)據(jù)傳輸特性
14.有以下程序#include<stdio.h>voidfun(intx){if(x/2>1)fun(x/2);printf("%d",x);}main{fun(7);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A.137B.731C.73D.37
15.下列敘述中正確的是()。
A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)
B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)影響數(shù)據(jù)處理的效率
16.以下選項(xiàng)中與“if(a==l)a=b;elsea++;”語(yǔ)句功能不同的switch語(yǔ)句是()。
A.switch(a){casel:a=b;break;default:a++;}
B.switch(a==l){case0:a=b;break;casel:a++;}
C.switch(a){default:a++;break;casel:a=b;}
D.switch(a==l){casel:a=b;break;case0:a++;}
17.下面哪種排序的平均比較次數(shù)最少()
A.插入排序B.選擇排序C.堆排序D.快速排序
18.執(zhí)行下面程序中的輸出語(yǔ)句后,輸出結(jié)果是()。A.65B.20C.15D.10
19.
20.若已包括頭文件且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語(yǔ)句錯(cuò)誤的是()。
A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.sl="ABCDE";
D.for(i=0;i<6;i++)sl[i]=s2[i]
二、2.填空題(20題)21.若有如下結(jié)構(gòu)體說(shuō)明:
structSTRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請(qǐng)?zhí)羁眨酝瓿蓪?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類(lèi)型。
【】t[20]
22.若有定義語(yǔ)句:inta=5;,則表達(dá)式:a++的值是【】。
23.以下定義的結(jié)構(gòu)體類(lèi)型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。
structnode
{intinfo;
【】link;};
24.已知字符'A'的ASCII碼值為65,以下語(yǔ)句的輸出結(jié)果是【】。
charch='B';
printf("%c%d\n",ch,ch);
25.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
26.診斷和改正程序中錯(cuò)誤的工作通常稱(chēng)為【】。
27.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和操作的機(jī)制稱(chēng)為_(kāi)_____。
28.以下sum函數(shù)的功能是計(jì)算下列級(jí)數(shù)之和。請(qǐng)給函數(shù)中的各變量正確賦初值。
doublesum(doublex,intn)
{inti;doublea,b,s;
for(i=1;i<=n;i++)
{a=a*x;b=b*i;s=s+a/b;}
returns;
}
29.十進(jìn)制數(shù)111用八位二進(jìn)制數(shù)表示為【】。
30.下列程序的運(yùn)行結(jié)果是______。
#defineP(A)printf("%d",A)
main()
{intj,a[]={1,2,3,4,5,6,7},i=5;
for(j=3;j>1;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
31.若a是int型變量,則下列表達(dá)式的值為_(kāi)_____。
(a=2*3,a*2),a+4
32.在C語(yǔ)言中,字符的比較就是對(duì)它們的【】碼進(jìn)行比較。
33.以下程序輸出矩陣中值為。的元素的行下標(biāo)和列下標(biāo)。行下標(biāo)和列下標(biāo)分別放在同一下標(biāo)的r和c數(shù)組元素中。程序通過(guò)調(diào)用隨機(jī)函數(shù)給矩陣賦值。
#defineN5
#include<stdlib.h>
main()
{inta[N][N],i,j,c[N*N],r[N*N],n;
for(i=0,i<N;i++)
for(j=0;j<N;j++)a[i][j]=rand()%5;
n=gindex(【】);
printf("\n\nTheresult:\nn=%d\n",n);
for(i=0;i<n;i++)printf("%4d%4d\n",r[i],c[i]);
}
intgindex(int(*p)[N],int*c,int*r)
{inti,j,k;
【】;
for(i=0;i<N,i++)
for(j=0;j<N;j++)
if(【】==0)
{r[k]=i;c[k]=j;【】;}
return【】;
}
34.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下六個(gè)設(shè)計(jì)階段:需求分析階段、【】、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
35.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
36.以下程序的輸出結(jié)果是【】。
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
37.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為_(kāi)_____模式、內(nèi)部級(jí)模式與外部級(jí)模式。
38.表示條件;10<x<100或x<0的C語(yǔ)言表達(dá)式是【】。
39.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
40.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-b,a+b));
printf("%d\n",a-b?a-b:a+b);
}
三、1.選擇題(20題)41.在結(jié)構(gòu)化方法中,用數(shù)據(jù)流圖(DFD)作為描述工具的軟件開(kāi)發(fā)階段是()。
A.可行性分析B.需求分析C.詳細(xì)設(shè)計(jì)D.程序編碼
42.冒泡排序在最壞情況下的比較次數(shù)是()。
A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2
43.有以下程序:#include<stdio.h>main(){intx=102,y=012;printf("%2d,%2d\n",x,y);}執(zhí)行后的輸出結(jié)果是()。
A.10,01B.02,12C.102,10D.02,10
44.若指針p已正確定義,要使p指向兩個(gè)連續(xù)的整型動(dòng)態(tài)存儲(chǔ)單位,不正確的語(yǔ)句是
A.p=2*(int*)malloc(sizeof(int));
B.p=(int*)malloc(2*sizeof(int));
C.p=(int*)malloc(2*2);
D.p=(int*)malloc(2,sizeof(int));
45.假定w、x,y、z、m均為int型變量,有如下程序段;w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;則該程序段執(zhí)行后,m的值是()
A.4B.3C.2D.1
46.下列程序的執(zhí)行結(jié)果是______。in(f(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}main(){printf("%d\n",f("goodbye!"));}
A.3B.6C.8D.0
47.在一個(gè)容量為15的循環(huán)隊(duì)列中,若頭指針front=6,尾指針rear=14,則該循環(huán)隊(duì)列中元素個(gè)數(shù)為()。
A.8B.9C.14D.15
48.下列關(guān)于棧的描述中錯(cuò)誤的是()
A.棧是先進(jìn)后出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針
49.設(shè)有:
inta=1,b=2,c=3,d=4,m=2,n=2;
執(zhí)行(m=a>b)&&(n=c>d)后,n的值是
A.1B.2C.3D.4
50.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為
A.10g2nB.n/2C.nD.n+1
51.下列程序的輸出結(jié)果是()。main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);}
A.42B.45C.56D.60
52.以下選項(xiàng)中,不能確定賦值的是______。
A.chars1[10];s1="chest";
B.chars2[]={'C','t','e','s','t'};
C.chars3[20]="Chest";
D.char*s4="Ctest\n"
53.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()
A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
54.t為int型變量,進(jìn)入下面的循環(huán)之前,t的值為0,則以下敘述中正確的是()while(t=1){…}
A.循環(huán)控制表達(dá)式的值為0B.循環(huán)控制表達(dá)式的值為1C.循環(huán)控制表達(dá)式不合法D.以上說(shuō)法都不對(duì)
55.下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是()。
A.使用順序、選擇和重復(fù)(循環(huán))3種基本控制結(jié)構(gòu)表示程序的控制邏輯
B.模塊只有一個(gè)入口,可以有多個(gè)出口
C.注重提高程序的執(zhí)行效率
D.不使用goto語(yǔ)句
56.下列有關(guān)格式輸入函數(shù)scanf的敘述中正確的是()
A.輸入項(xiàng)可以是C語(yǔ)言中規(guī)定的任何變量,并且在任何變量前必須加地址符號(hào)“&”
B.可以只有格式控制項(xiàng),沒(méi)有地址列表項(xiàng)
C.在輸入數(shù)據(jù)時(shí),必須規(guī)定精度。如:scanf("%4.2f",&d);
D.當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址
57.下列是用戶(hù)自定義標(biāo)識(shí)符的是
A._w1B.3_xyC.intD.LINE-3
58.下列4個(gè)關(guān)于C語(yǔ)言的結(jié)論中錯(cuò)誤的是()。
A.可以用do…while語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用while語(yǔ)句實(shí)現(xiàn)
B.可以用for語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用while語(yǔ)句實(shí)現(xiàn)
C.可以用while語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用for語(yǔ)句實(shí)現(xiàn)
D.do…while語(yǔ)句與while語(yǔ)句的區(qū)別僅是關(guān)鍵字“while”出現(xiàn)的位置不同
59.以下程序的輸出結(jié)果是()。main(){inta=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:C):(B));}
A.5B.4C.6D.不確定
60.有以下程序:#include<stdio.h>#include<string.h>#includevoidf(char*s,char*t){chark;k=*s;*s=*t;*t=k;s++;t--;if(*s)f(s,t):}main(){charstr[10]="abcdefg",*P;P=str+strlen(str)/2+1:f(p,p-2);printf("%s\n",str);}程序運(yùn)行后的輸出結(jié)果是()。
A.abcdefgB.gfedcbaC.gbcdefaD.abedcfg
四、選擇題(20題)61.在C語(yǔ)言中,合法的長(zhǎng)整型常數(shù)是()。
A.0.123456B.4962717C.9LD.5.321e2
62.以下不合法的字符常量是()。
A."、、"B.’\”’C.’\018’D.\xcc"
63.
64.鏈表不具有的特點(diǎn)是()。
A.不必事先估計(jì)存儲(chǔ)空間B.可隨機(jī)訪問(wèn)任意元素C.插入、刪除不需要移動(dòng)元素D.所需空間與線性表長(zhǎng)度成正比
65.下面不屬于軟件工程三個(gè)要素的是()。
A.工具B.過(guò)程C.方法D.環(huán)境
66.
67.
68.
69.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。
A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說(shuō)明單鏈表是線性的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
70.
71.
72.
73.在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送()。A.調(diào)用語(yǔ)句B.命令C.口令D.消息
74.某二叉樹(shù)共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有l(wèi)個(gè),則該二叉樹(shù)的深度為(假設(shè)根結(jié)點(diǎn)在第1層)()。
A.3B.4C.6D.7
75.請(qǐng)選出以下語(yǔ)句的輸出結(jié)果Printf("%d\n",strlen("\t\"\065\xff\n"));
A.5B.14C.8D.輸出項(xiàng)不合法,無(wú)正常輸出
76.
A.intB.floatC.doubleD.不確定
77.軟件生命周期中,花費(fèi)最多的階段是()。
A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)
78.
79.有如下程序段
#include"stdio.h"
voidfun(int*a,int*b,int*c,int*d,int*e)
{inti,j,k,m;
for(i=0;i<*a;i++)
for(j=0;j<*b;j++)
for(k=0;k<*c;k++)
for(m=0;m<*d;m++)
++*e;
}
main()
{inta=10,b=10,c=10,d=10,e=0;
fun(&a,&b,&c,&d,&e);
printf("%d\n",e);}
則程序段的輸出結(jié)果是
A.10000B.1000
C.100D.0
80.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是()。
A.循環(huán)隊(duì)列B.棧C.隊(duì)列D.二叉樹(shù)
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將字符串str中的所有字符復(fù)制到字符串b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。例如,在調(diào)用proc()函數(shù)之前給字符
串str輸入abcdefghijk,調(diào)用函數(shù)之后,字符串b中的內(nèi)容則為abcdefghijk。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫(xiě)函數(shù)fun(),其功能是將s所指字符串中ASCII值為奇數(shù)的字符刪除,將剩余字符形成的新字符串放在t所指數(shù)組中。例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345”,其中字符A的ASCII值為奇數(shù),字符1的ASCII值也為奇數(shù),都應(yīng)當(dāng)刪除,其他依此類(lèi)推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是“BDF24”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,chart[]){}main(){ chars[100],t[100],Msg[]=“Pleaseenterstrings:”; printf(Msg); scanf(“%s”,s); fun(s,t); printf(“\nTheresuitis:%s\n”,t);}
參考答案
1.D
2.D\n兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個(gè)關(guān)系的元組組成的集合。
\n
3.A執(zhí)行fun(a)語(yǔ)句時(shí),P指向的是字符串?dāng)?shù)組a的第一個(gè)字符串“Morning”,p自加1之后,p指向字符串?dāng)?shù)組a的第2個(gè)字符串“Afternoon”。
4.C用數(shù)組名作為函數(shù)實(shí)參時(shí),不是把數(shù)組的值傳遞給形參,而是把實(shí)參數(shù)組的起始地址傳遞給形參數(shù)組,這樣兩個(gè)數(shù)組就共同占用同一段內(nèi)存單元。本題通過(guò)“prt(a,5);”將數(shù)組a的首地址傳遞給了指針變量m,使指針變量m指向數(shù)組a的首地址,那么,對(duì)指針變量所指向的存儲(chǔ)單元的內(nèi)容的改變就是對(duì)數(shù)組a中的元素的改變。題中函數(shù)prt的作用是將指針變量m所指向的存儲(chǔ)單元中的元素值各加上1,故數(shù)組a中的值也隨之變化,所以。輸出的數(shù)組元素的值為2,3,4,5,6,。
5.D
6.C
7.D執(zhí)行語(yǔ)句“intm=1,n=2,*p=&m,*q=&n,*r;”,即指針變量p指向m,指針變量q指向n。執(zhí)行語(yǔ)句“r=p;p=q;q=r;”,即通過(guò)指針變量r,將指針p和指針q的指向交換。因此最后輸出1,2,2,1。故本題答案為D選項(xiàng)。
8.C
9.A黑盒測(cè)試方法主要有等價(jià)類(lèi)劃分、邊界值分析、因果圖、錯(cuò)誤推測(cè)等。白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、路徑測(cè)試等,主要用于軟件驗(yàn)證。
10.C
11.D
12.B
13.A解析:耦合性是模塊間互相連接的緊密程度的度量,取決于各個(gè)模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過(guò)接口。
[知識(shí)拓展]模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的一個(gè)重要標(biāo)準(zhǔn),衡量軟件的模塊獨(dú)立性有兩個(gè)定性的度量標(biāo)準(zhǔn)。其中內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度最,內(nèi)聚性是從功能角度來(lái)度量模塊內(nèi)的聯(lián)系;耦合性是模塊間互相連接的緊密程度的度量,耦合性從整體的角度來(lái)度量模塊間的聯(lián)系。
14.D本程序主要考查遞歸函數(shù)。fun(7),首先將參數(shù)代入函數(shù),因?yàn)?7/2)>1,所以執(zhí)行f(3),依此類(lèi)推直到f(1.5),(1.5/2)<1,所以執(zhí)行打印函數(shù),此時(shí)X值為3,然后退出f(1.5),返回f(3),打印x值即7。所以選D。
15.D數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要采用不同的存儲(chǔ)結(jié)構(gòu),用的存儲(chǔ)結(jié)構(gòu)有順序和鏈?zhǔn)浇Y(jié)構(gòu)。用不同的存儲(chǔ)結(jié)構(gòu),其處理的效率是不同的。
16.B題中當(dāng)a的值為l時(shí),關(guān)系表達(dá)式a==l的值為真,即1,因此程序?qū)⑻D(zhuǎn)到easel執(zhí)行a++操作,與題干程序剛好相反。
17.D
18.B
19.C
20.C數(shù)組名sl是代表sl數(shù)組首地址的地址常量,因?yàn)椤?”左邊不能出現(xiàn)常量,所以s1="ABCDE"的方法是錯(cuò)誤的。
21.strudctSTRUstrudctSTRU解析:結(jié)構(gòu)件類(lèi)型是構(gòu)造數(shù)據(jù)類(lèi)型,是用戶(hù)自己定義的一種類(lèi)型。
結(jié)構(gòu)體類(lèi)型的定義:
struct結(jié)構(gòu)體類(lèi)型名
{
成員項(xiàng)表;
};
定義結(jié)構(gòu)體變量的的形式為:
struct結(jié)構(gòu)體類(lèi)型名變量1,變量2,...?
其中變量包括;一般變量、指針變量、數(shù)組變量等。
22.55解析:a++的含義是在使用a值以后,使a值加1,所以a++的值為5。
23.structnode*structnode*解析:本題中的結(jié)構(gòu)類(lèi)型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個(gè)指向自身的結(jié)構(gòu)體指針。
24.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結(jié)果為:B66。
25.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。
26.程序調(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)試主要在開(kāi)發(fā)階段。
27.繼承繼承
28.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1s=1或給abs賦1或1.0或1.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1,s=1或給a,b,s賦1或1.0或1.解析:sum函數(shù)的功能是求表達(dá)式s的級(jí)數(shù)之和,該函數(shù)的大致思路是:在該函數(shù)中,定義了—個(gè)整型變量i用作循環(huán)計(jì)數(shù)器,定義一個(gè)變量a用來(lái)表示各個(gè)子項(xiàng)的分子,初始為第一個(gè)子項(xiàng)的分子,故為1,定義了一個(gè)變量b用來(lái)表示各個(gè)子項(xiàng)大分母,初始為第一個(gè)子項(xiàng)的分母,故為1,定義一個(gè)變量s存放累加和,初始為第一個(gè)子項(xiàng)的值即為1,然后給各個(gè)定義的變量初始化,然后通過(guò)一個(gè)for循環(huán)將題目中的數(shù)學(xué)表達(dá)式的各個(gè)子項(xiàng)求出來(lái)并累加到s中,所以說(shuō),在該題的空格處應(yīng)該填寫(xiě)將a、b和s賦初值的語(yǔ)句,即為a=1;b=1;s=1:(說(shuō)明:語(yǔ)句的順序可任意)或a=b=s=1;(說(shuō)明:變量的順序可任意)或a=1,b=1,s=1(說(shuō)明:賦值表達(dá)式的順序可任意)給a,b,s賦1或1.0或1都可以。
29.11011111101111解析:本題通過(guò)除2取余法即可求出十進(jìn)制數(shù)111所對(duì)應(yīng)的二進(jìn)制數(shù)1101111。
30.5555解析:分析程序執(zhí)行過(guò)程,第一次循環(huán)時(shí),i=3,i=5,因?yàn)閟witch(3),所以執(zhí)行case3,調(diào)用P(a[--i])=P(a[4])=P(5),輸出5:第二次循環(huán)時(shí),j=2,i=4,因?yàn)閟witch(2),所以執(zhí)行case2,調(diào)用P(a[i++]):P(a[4])=P(5),輸出5,之后i自加等于5。
31.1010解析:此題考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以追回值a+4=6+4=10。
32.ASCⅡ
33.acrk=0p[i][j]k++k
34.概念設(shè)計(jì)階段概念設(shè)計(jì)階段解析:數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下六個(gè)設(shè)計(jì)階段:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段及數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段。
35.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)
36.99解析:本題考查函數(shù)的綜合知識(shí)。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類(lèi)型轉(zhuǎn)換運(yùn)算符,將一個(gè)表達(dá)式轉(zhuǎn)換成所需類(lèi)型。如:(double)a是將a轉(zhuǎn)換成double類(lèi)型;(int)(x+y)是將x+y的值轉(zhuǎn)換成整型。
本題可按部就班地逐步運(yùn)算:
fun((int)fun(a+c,b),a-c)
fun((int)fun(10,5),2-8)
fun((int)15.000000,-6)
fun(15,-6)
9
37.概念(或概念級(jí))概念(或概念級(jí))
38.(x>10&&x<100)||x<0
39.00解析:根據(jù)運(yùn)算符的運(yùn)算順序可知,該表達(dá)式最后運(yùn)算的是與(&&)運(yùn)算,而任何表達(dá)式與“0”進(jìn)行“與”運(yùn)算,結(jié)果都為0。
40.11371,13,7解析:本題考查3個(gè)知識(shí)點(diǎn):①余數(shù)的計(jì)算,題中的a=10,b=3,a%b=1;②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后一個(gè)表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運(yùn)算符的使用,題中的a-b?a-b:a+b,判斷語(yǔ)句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。
41.B解析:軟件開(kāi)發(fā)階段包括需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試五個(gè)階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典。
42.C冒泡排序的基本思想是:將相鄰的兩個(gè)元素進(jìn)行比較,如果反序,則交換;對(duì)于一個(gè)待排序的序列,經(jīng)一趟排序后,最大值的元素移動(dòng)到最后的位置,其他值較大的元素也向最終位置移動(dòng),此過(guò)程稱(chēng)為一趟冒泡。對(duì)于有n個(gè)數(shù)據(jù)的序列,共需n-1趟排序,第i趟對(duì)從l到n-i個(gè)數(shù)據(jù)進(jìn)行比較、交換。冒泡排序的最壞情況是待排序序列逆序,第l趟比較n-1次,第2趟比較n-2次。依此類(lèi)推,最后趟比較1次,一共進(jìn)行n-l趟排序。因此,冒泡排序在最壞情況下的比較次數(shù)是(n-1)+(n-2)+…+l,結(jié)果為n(n-1)/2。本題的正確答案是選項(xiàng)C。
43.C解析:y=012是將八進(jìn)制數(shù)12賦給變量y。格式符%d,用于輸出十進(jìn)制整數(shù);%md,m為指定的輸出值的寬度,如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。本題是將八進(jìn)制數(shù)12也按十進(jìn)制數(shù)輸出,八進(jìn)制數(shù)12轉(zhuǎn)換為十進(jìn)制數(shù)為10,輸出結(jié)果為102,10。
44.A解析:malloc()函數(shù)的調(diào)用格式是“malloc(n)”,作用是申請(qǐng)n個(gè)字符的存儲(chǔ)單元并把該存儲(chǔ)區(qū)的首地址作為返回值,實(shí)際調(diào)用的時(shí)候可在前面加上“(類(lèi)型說(shuō)明符*)”,以轉(zhuǎn)換成需要的類(lèi)型的地址。選項(xiàng)D多了一個(gè)參數(shù),不符合malloc()函數(shù)的調(diào)用格式;整型變量在有的計(jì)算機(jī)系統(tǒng)里占4個(gè)字節(jié),并不一定在所有的計(jì)算機(jī)系統(tǒng)里都是兩個(gè)字節(jié);選項(xiàng)A中是申請(qǐng)一個(gè)整型的存儲(chǔ)空間并把該存儲(chǔ)空間的首地址乘以2,這樣的做法是不正確的,其存儲(chǔ)空間為沒(méi)乘以2之前的存儲(chǔ)空間的2倍的連續(xù)存儲(chǔ)空間的地址。
45.D
46.C解析:字符在內(nèi)存中占一個(gè)字節(jié)的存儲(chǔ)空間,按字符的存儲(chǔ)順序,其地址依次遞增,在函數(shù)f中循環(huán)過(guò)后,p指向字符串的結(jié)束位置,s指向字符串首地址,p-s即為字符串長(zhǎng)度。
47.A解析:設(shè)循環(huán)隊(duì)列的容量為m,如果rear>front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為rear-front;如果rear<front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為m+(rear-front)。根據(jù)題意,本題中,front=6,rear=14,即rear>front,因此,循環(huán)隊(duì)列中的元素個(gè)數(shù)為rear-front=14-6=8。本題的正確答案為8。
48.B解析:在棧中,允許插入與刪除的一端稱(chēng)為棧頂,不允許插入與刪除的另一端稱(chēng)為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照先進(jìn)后出(FILO,F(xiàn)irstInLastOut)或后進(jìn)先出(LIFO,LastInFirstOut)的原則組織數(shù)據(jù)的,因此,棧也被稱(chēng)為先進(jìn)后出表或后進(jìn)先出表。由此可以看出,棧具有記憶作用。答案B錯(cuò)在帶鏈的棧的結(jié)點(diǎn)存儲(chǔ)順序與其邏輯順序是可以不一致的。
49.B本題考查邏輯與運(yùn)算符“&&”的使用。對(duì)于邏輯與運(yùn)算符&&來(lái)說(shuō),對(duì)象的結(jié)合方式為從左往右,只有&&左邊的值為真,才繼續(xù)右邊的運(yùn)算。題目中&&左邊的表達(dá)式為m=a>b,“>”運(yùn)算符優(yōu)先級(jí)高于“=”,故先判斷a>b,因?yàn)閍=1,b=2,所以a>b為假,于是m=0?!?&”左邊的值為假,所以不進(jìn)行右邊的運(yùn)算。n的值沒(méi)有發(fā)生改變,n=2。
50.C解析:對(duì)于長(zhǎng)度為n的有序線性表,在最壞情況下,二分查找只需要比較logn2次,而順序查找需要比較n次。
51.B解析:在C語(yǔ)言中,數(shù)組的下標(biāo)默認(rèn)為0,因此數(shù)組p的下標(biāo)范圍為:0~7。程序循環(huán)過(guò)程為:第1次循環(huán)i=0,執(zhí)行循環(huán),并且i自加,得i=1,因此p[i]為p[1]=12,12%2=0,不執(zhí)行后面的語(yǔ)句;接著進(jìn)行第2次循環(huán),此時(shí)i=1,小于7執(zhí)行循環(huán),并且i自加,得i=2,因此p[i]為p[2]=13,13%2=1,執(zhí)行后面的語(yǔ)句;這樣一直到退出循環(huán)。最后j的值為j=13+15+17=45。
52.A解析:C語(yǔ)言中不能將字符串常量直接賦給數(shù)組。但在賦初值時(shí)可以。
53.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開(kāi)發(fā)的角度來(lái)看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫(kù)系統(tǒng)的功能(動(dòng)態(tài)特性)。
54.B
55.A解析:符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格中,應(yīng)該選擇只有一個(gè)入口和一個(gè)出口的模塊,故選項(xiàng)B錯(cuò)誤;首先要保證程序正確,然后才要求提高效率,故選項(xiàng)C錯(cuò)誤;嚴(yán)格控制使用goto語(yǔ)句,必要時(shí)可以使用,故選項(xiàng)D錯(cuò)誤。
56.D解析:如果是指針型變量或數(shù)組名,則變量前不加地址符號(hào)&,所以選項(xiàng)A的說(shuō)法有誤。必須有地址列表項(xiàng)才能實(shí)現(xiàn)正確輸入,所以選項(xiàng)B的說(shuō)法有誤。在輸入數(shù)據(jù)時(shí),不可以指定實(shí)型數(shù)據(jù)的精度,所以選項(xiàng)C的說(shuō)法有誤。只有選項(xiàng)D的說(shuō)法正確。
57.A本題主要考查標(biāo)識(shí)符的定義。對(duì)標(biāo)識(shí)符的定義是考試中??嫉膬?nèi)容之一。標(biāo)識(shí)符主要由數(shù)字、下畫(huà)線和字母組成,其中數(shù)字不能放在首位,另外,用戶(hù)自定義標(biāo)識(shí)符時(shí),不能將標(biāo)識(shí)符定義為C語(yǔ)言中已定義的關(guān)鍵字,如int、while等。
根據(jù)上面對(duì)標(biāo)識(shí)符的分析,我們不難看出本題的正確答案是A。在選項(xiàng)B中,3_xy以數(shù)字開(kāi)頭,不符合標(biāo)識(shí)符定義的規(guī)定;在選項(xiàng)C中,int是C語(yǔ)言系統(tǒng)中已經(jīng)定義了的關(guān)鍵字;在選項(xiàng)D中,LINE-3使用的數(shù)字、下畫(huà)線和字母以外的字符,因此不正確。
58.D解析:本題考查幾個(gè)循環(huán)語(yǔ)句的關(guān)系。①do…while語(yǔ)句、while語(yǔ)句、for語(yǔ)句所實(shí)現(xiàn)的循環(huán)可以相互替代;②do…while語(yǔ)句和while語(yǔ)句的區(qū)別是do…while語(yǔ)句至少執(zhí)行一次。
59.C解析:本題考核的知識(shí)點(diǎn)是條件表達(dá)式的使用.在C語(yǔ)言中問(wèn)號(hào)表達(dá)式(如:a>c?a:c;)的計(jì)算規(guī)則為:如果a>c為真,那么表達(dá)式的值為a的值;否則表達(dá)式的值為C的值。本題中的printf()函數(shù)中的輸出表達(dá)式,首先計(jì)算括號(hào)內(nèi)的條件表達(dá)式,它的值為6(a>c?a:c中a>c即5>6為假故該表達(dá)式的值為c的值即為6),然后再計(jì)算外面表達(dá)式(等價(jià)于a>b?6:b)的值,同理可得該表達(dá)式的值為6,將值6賦值給d,因此最后輸出該表達(dá)式的值為6,所以,4個(gè)選項(xiàng)中C為所選。
60.B
61.C選項(xiàng)A)和D)是實(shí)型而非整型。
62.C轉(zhuǎn)義字符中,八進(jìn)制的表示形式為\ddd,但是八進(jìn)制中不能包含數(shù)字8,所以C選項(xiàng)不合法。
63.A
64.B鏈表采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,插入、刪除不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間,它是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。
65.D軟件工程包括三個(gè)要素:方法、工具和過(guò)程。
軟件工程方法指明了軟件開(kāi)發(fā)如何做。它包括多方面的任務(wù),如項(xiàng)目計(jì)劃與估算、軟件系統(tǒng)需求分析、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)總體結(jié)構(gòu)的設(shè)計(jì)、算法過(guò)程的設(shè)計(jì)、編碼、測(cè)試以及維護(hù)等。
軟件工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境。目前,已經(jīng)推出了許多軟件工具,這些軟件工具集成起來(lái),建立起稱(chēng)為計(jì)算機(jī)輔助軟件工程(CASE)的軟件開(kāi)發(fā)支撐系統(tǒng)。CASE是幫助開(kāi)發(fā)人員進(jìn)行應(yīng)用程序開(kāi)發(fā)的軟件,包括系統(tǒng)分析、設(shè)計(jì)和代碼生成等階段。CASE工具為系統(tǒng)設(shè)計(jì)、文件編制、傳統(tǒng)結(jié)構(gòu)編程技術(shù)提供了自動(dòng)的方法,可以在軟件開(kāi)發(fā)生命周期中的各個(gè)階段起輔助作用。
軟件工程的過(guò)程則是將軟件工程的方法和工具綜合起來(lái)以達(dá)到合理、及時(shí)地進(jìn)行計(jì)算機(jī)軟件開(kāi)發(fā)的目的。過(guò)程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理和軟件開(kāi)發(fā)各個(gè)階段完成的標(biāo)志。
66.A
67.C
68.C
69.A根據(jù)單位鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問(wèn)整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。
70.B
71.B
72.C
73.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^(guò)對(duì)象與對(duì)象間彼此的相互合作來(lái)推動(dòng)的,對(duì)象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱(chēng)為消息。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請(qǐng)求對(duì)象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。
74.D根據(jù)二叉樹(shù)的基本性質(zhì)3:在任意一棵二叉樹(shù)中,度為0的葉子結(jié)點(diǎn)總比度為2的結(jié)點(diǎn)多一個(gè),因此本題中度為2的結(jié)點(diǎn)為l一1=0個(gè),據(jù)此可以知道本題目中的二叉樹(shù)的每一個(gè)結(jié)點(diǎn)都有一個(gè)分支,所以共7個(gè)結(jié)點(diǎn)共7層,即深度為7,選擇D)。
75.A解析:本題考查用strlen函數(shù)計(jì)算字符串長(zhǎng)度的方法。該字符串中包含的字符是:\'\\t\'(跳格符)、\'\\'\'(雙引號(hào))、\'\\065\'(ASCII值為八進(jìn)制065,也即+進(jìn)制為51的字符)、\'\\xff\'(ASCII值為+六進(jìn)制ff,也即+進(jìn)制為255的字符)、\'\\n\'(換行符)。
76.C根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類(lèi)型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。
77.D本題考查對(duì)軟件生命周期的理解,軟件生命周期整體上可分為定義階段、開(kāi)發(fā)階段和維護(hù)階段。其中定義階段包括可行性研究與計(jì)劃制訂和需求分析;開(kāi)發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、開(kāi)發(fā)和測(cè)試;維護(hù)階段是一個(gè)單獨(dú)階段,不包含在開(kāi)發(fā)階段內(nèi),它是所花費(fèi)用最多的一個(gè)階段。
78.A
79.A在本題中,程序首先定義了一個(gè)無(wú)返回值的函數(shù)fun,該函數(shù)帶有五個(gè)整型的指針形參變量,然后通過(guò)一個(gè)四層循環(huán)來(lái)操作++*e;語(yǔ)句,由于*與++運(yùn)算符的優(yōu)先級(jí)一樣,它們都是自右至左結(jié)合的操作,因此,++*e等價(jià)于++(*e),這個(gè)操作可描述為:先用地址取值,然后對(duì)其進(jìn)行自加,由于是通過(guò)傳址傳值法的,因此,還需要將相加后的結(jié)果傳遞到實(shí)參中。
在主函數(shù)中,定義五個(gè)整型變量并分別賦初值,然后調(diào)用fun函數(shù),傳遞的參數(shù)是剛定義的五個(gè)整型變量的地址,采用的是傳址傳值法,能為實(shí)參帶回一個(gè)結(jié)果值。從fun函數(shù)中我們不難看出,當(dāng)變量a,b,c,d分別為10時(shí),循環(huán)總共執(zhí)行10000次,即自加進(jìn)行了10000次,而且每次自加后都改變了實(shí)參的結(jié)果。因此,循環(huán)結(jié)束后,變量e的值為10000。本題的正確答案是A。
80.BB。【解析】在棧中,允許插入與刪除的一端稱(chēng)為棧頂,而不允許插入與刪除的另一端稱(chēng)為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。
81.82.voidfun(char*s,chart[]){ inti,j=0,n; n=strlen(s);/*遍歷整個(gè)數(shù)組*/ for(i=0;i<=""p="">/*如果元素的ASCII值為偶數(shù)*/ if(s[i]%2==0) {/*將元素保存到t中*/ t[j]=s[i]; j++; } t[j]=-‘\0’;}要?jiǎng)h除ASCII值為奇數(shù)的字符,也就是要保留ASCII值為偶數(shù)的字符,將ASCII值為偶數(shù)的字符保存到新字符串。所以本題的算法是對(duì)原字符串從頭到尾進(jìn)行掃描,找出ASCII值為偶數(shù)的字符并依次存入數(shù)組。2021-2022年河北省滄州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.對(duì)于循環(huán)隊(duì)列()。
A.無(wú)法判斷隊(duì)列是否為空B.無(wú)法判斷隊(duì)列是否為滿(mǎn)C.隊(duì)列不可能滿(mǎn)D.以上說(shuō)法都不對(duì)
2.有三個(gè)關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和s通過(guò)某種操作得到,該操作為()。
A.選擇B.交C.投影D.并
3.有以下程序#include<stdio.h>voidfun(char**p){++p;printf("%s",*p);}main{char*a[]={"Morning","Afternoon","Evening","Night");fun(a);}程序的運(yùn)行結(jié)果是()。A.AfternoonB.fternoonC.MorningD.orning
4.有以下程序
prt(int*m,intn)
{
inti;
for(i=0;i<n;i++)
m[i]++;
}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是A.A.1,2,3,4,5,
B.3,4,5,6,7,
C.2,3,4,5,6,
D.2,3,4,5,1,
5.
6.假設(shè)以行序?yàn)橹餍虼鎯?chǔ)二維數(shù)組array[100][100],設(shè)每個(gè)數(shù)據(jù)元素占2個(gè)存儲(chǔ)單元,基地址為10,下標(biāo)從0開(kāi)始,則元素array[5][5]的地址為()。
A.808B.818C.1010D.1020
7.有以下程序:#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}程序的運(yùn)行結(jié)果是()。
A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,1
8.如果一個(gè)函數(shù)位于C程序文件的上部,在該函數(shù)體內(nèi)說(shuō)明語(yǔ)句后的復(fù)合語(yǔ)句中定義了一個(gè)變量,則該變量().
A.為全局變量,在本程序文件范圍內(nèi)有效
B.為局部變量,只在該函數(shù)內(nèi)有效
C.為局部變量,只在該復(fù)合語(yǔ)句中有效
D.定義無(wú)效,為非法變量
9.下面屬于黑盒測(cè)試方法的是()。
A.邊界值分析B.路徑覆蓋C.語(yǔ)句覆蓋D.邏輯覆蓋
10.數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)器內(nèi)表示時(shí),如果元素在存儲(chǔ)器中的相對(duì)位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱(chēng)這種存儲(chǔ)結(jié)構(gòu)為()。
A.存儲(chǔ)結(jié)構(gòu)B.邏輯結(jié)構(gòu)C.順序存儲(chǔ)結(jié)構(gòu)D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
11.棧這種數(shù)據(jù)結(jié)構(gòu)一般應(yīng)用在()。
A.遞歸調(diào)用B.子程序調(diào)用C.表達(dá)式求值D.A,B,C
12.設(shè)無(wú)向圖的頂點(diǎn)數(shù)為n,則該圖最多有()條邊。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0
13.兩個(gè)或兩個(gè)以上模塊之間聯(lián)系的緊密程度稱(chēng)為()。
A.耦合性B.內(nèi)聚性C.復(fù)雜性D.數(shù)據(jù)傳輸特性
14.有以下程序#include<stdio.h>voidfun(intx){if(x/2>1)fun(x/2);printf("%d",x);}main{fun(7);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A.137B.731C.73D.37
15.下列敘述中正確的是()。
A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)
B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)影響數(shù)據(jù)處理的效率
16.以下選項(xiàng)中與“if(a==l)a=b;elsea++;”語(yǔ)句功能不同的switch語(yǔ)句是()。
A.switch(a){casel:a=b;break;default:a++;}
B.switch(a==l){case0:a=b;break;casel:a++;}
C.switch(a){default:a++;break;casel:a=b;}
D.switch(a==l){casel:a=b;break;case0:a++;}
17.下面哪種排序的平均比較次數(shù)最少()
A.插入排序B.選擇排序C.堆排序D.快速排序
18.執(zhí)行下面程序中的輸出語(yǔ)句后,輸出結(jié)果是()。A.65B.20C.15D.10
19.
20.若已包括頭文件且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語(yǔ)句錯(cuò)誤的是()。
A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.sl="ABCDE";
D.for(i=0;i<6;i++)sl[i]=s2[i]
二、2.填空題(20題)21.若有如下結(jié)構(gòu)體說(shuō)明:
structSTRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類(lèi)型。
【】t[20]
22.若有定義語(yǔ)句:inta=5;,則表達(dá)式:a++的值是【】。
23.以下定義的結(jié)構(gòu)體類(lèi)型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。
structnode
{intinfo;
【】link;};
24.已知字符'A'的ASCII碼值為65,以下語(yǔ)句的輸出結(jié)果是【】。
charch='B';
printf("%c%d\n",ch,ch);
25.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
26.診斷和改正程序中錯(cuò)誤的工作通常稱(chēng)為【】。
27.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和操作的機(jī)制稱(chēng)為_(kāi)_____。
28.以下sum函數(shù)的功能是計(jì)算下列級(jí)數(shù)之和。請(qǐng)給函數(shù)中的各變量正確賦初值。
doublesum(doublex,intn)
{inti;doublea,b,s;
for(i=1;i<=n;i++)
{a=a*x;b=b*i;s=s+a/b;}
returns;
}
29.十進(jìn)制數(shù)111用八位二進(jìn)制數(shù)表示為【】。
30.下列程序的運(yùn)行結(jié)果是______。
#defineP(A)printf("%d",A)
main()
{intj,a[]={1,2,3,4,5,6,7},i=5;
for(j=3;j>1;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
31.若a是int型變量,則下列表達(dá)式的值為_(kāi)_____。
(a=2*3,a*2),a+4
32.在C語(yǔ)言中,字符的比較就是對(duì)它們的【】碼進(jìn)行比較。
33.以下程序輸出矩陣中值為。的元素的行下標(biāo)和列下標(biāo)。行下標(biāo)和列下標(biāo)分別放在同一下標(biāo)的r和c數(shù)組元素中。程序通過(guò)調(diào)用隨機(jī)函數(shù)給矩陣賦值。
#defineN5
#include<stdlib.h>
main()
{inta[N][N],i,j,c[N*N],r[N*N],n;
for(i=0,i<N;i++)
for(j=0;j<N;j++)a[i][j]=rand()%5;
n=gindex(【】);
printf("\n\nTheresult:\nn=%d\n",n);
for(i=0;i<n;i++)printf("%4d%4d\n",r[i],c[i]);
}
intgindex(int(*p)[N],int*c,int*r)
{inti,j,k;
【】;
for(i=0;i<N,i++)
for(j=0;j<N;j++)
if(【】==0)
{r[k]=i;c[k]=j;【】;}
return【】;
}
34.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下六個(gè)設(shè)計(jì)階段:需求分析階段、【】、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
35.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
36.以下程序的輸出結(jié)果是【】。
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
37.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為_(kāi)_____模式、內(nèi)部級(jí)模式與外部級(jí)模式。
38.表示條件;10<x<100或x<0的C語(yǔ)言表達(dá)式是【】。
39.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
40.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-b,a+b));
printf("%d\n",a-b?a-b:a+b);
}
三、1.選擇題(20題)41.在結(jié)構(gòu)化方法中,用數(shù)據(jù)流圖(DFD)作為描述工具的軟件開(kāi)發(fā)階段是()。
A.可行性分析B.需求分析C.詳細(xì)設(shè)計(jì)D.程序編碼
42.冒泡排序在最壞情況下的比較次數(shù)是()。
A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2
43.有以下程序:#include<stdio.h>main(){intx=102,y=012;printf("%2d,%2d\n",x,y);}執(zhí)行后的輸出結(jié)果是()。
A.10,01B.02,12C.102,10D.02,10
44.若指針p已正確定義,要使p指向兩個(gè)連續(xù)的整型動(dòng)態(tài)存儲(chǔ)單位,不正確的語(yǔ)句是
A.p=2*(int*)malloc(sizeof(int));
B.p=(int*)malloc(2*sizeof(int));
C.p=(int*)malloc(2*2);
D.p=(int*)malloc(2,sizeof(int));
45.假定w、x,y、z、m均為int型變量,有如下程序段;w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;則該程序段執(zhí)行后,m的值是()
A.4B.3C.2D.1
46.下列程序的執(zhí)行結(jié)果是______。in(f(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}main(){printf("%d\n",f("goodbye!"));}
A.3B.6C.8D.0
47.在一個(gè)容量為15的循環(huán)隊(duì)列中,若頭指針front=6,尾指針rear=14,則該循環(huán)隊(duì)列中元素個(gè)數(shù)為()。
A.8B.9C.14D.15
48.下列關(guān)于棧的描述中錯(cuò)誤的是()
A.棧是先進(jìn)后出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針
49.設(shè)有:
inta=1,b=2,c=3,d=4,m=2,n=2;
執(zhí)行(m=a>b)&&(n=c>d)后,n的值是
A.1B.2C.3D.4
50.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為
A.10g2nB.n/2C.nD.n+1
51.下列程序的輸出結(jié)果是()。main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);}
A.42B.45C.56D.60
52.以下選項(xiàng)中,不能確定賦值的是______。
A.chars1[10];s1="chest";
B.chars2[]={'C','t','e','s','t'};
C.chars3[20]="Chest";
D.char*s4="Ctest\n"
53.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()
A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
54.t為int型變量,進(jìn)入下面的循環(huán)之前,t的值為0,則以下敘述中正確的是()while(t=1){…}
A.循環(huán)控制表達(dá)式的值為0B.循環(huán)控制表達(dá)式的值為1C.循環(huán)控制表達(dá)式不合法D.以上說(shuō)法都不對(duì)
55.下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是()。
A.使用順序、選擇和重復(fù)(循環(huán))3種基本控制結(jié)構(gòu)表示程序的控制邏輯
B.模塊只有一個(gè)入口,可以有多個(gè)出口
C.注重提高程序的執(zhí)行效率
D.不使用goto語(yǔ)句
56.下列有關(guān)格式輸入函數(shù)scanf的敘述中正確的是()
A.輸入項(xiàng)可以是C語(yǔ)言中規(guī)定的任何變量,并且在任何變量前必須加地址符號(hào)“&”
B.可以只有格式控制項(xiàng),沒(méi)有地址列表項(xiàng)
C.在輸入數(shù)據(jù)時(shí),必須規(guī)定精度。如:scanf("%4.2f",&d);
D.當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址
57.下列是用戶(hù)自定義標(biāo)識(shí)符的是
A._w1B.3_xyC.intD.LINE-3
58.下列4個(gè)關(guān)于C語(yǔ)言的結(jié)論中錯(cuò)誤的是()。
A.可以用do…while語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用while語(yǔ)句實(shí)現(xiàn)
B.可以用for語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用while語(yǔ)句實(shí)現(xiàn)
C.可以用while語(yǔ)句實(shí)現(xiàn)的循環(huán)一定可以用for語(yǔ)句實(shí)現(xiàn)
D.do…while語(yǔ)句與while語(yǔ)句的區(qū)別僅是關(guān)鍵字“while”出現(xiàn)的位置不同
59.以下程序的輸出結(jié)果是()。main(){inta=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:C):(B));}
A.5B.4C.6D.不確定
60.有以下程序:#include<stdio.h>#include<string.h>#includevoidf(char*s,char*t){chark;k=*s;*s=*t;*t=k;s++;t--;if(*s)f(s,t):}main(){charstr[10]="abcdefg",*P;P=str+strlen(str)/2+1:f(p,p-2);printf("%s\n",str);}程序運(yùn)行后的輸出結(jié)果是()。
A.abcdefgB.gfedcbaC.gbcdefaD.abedcfg
四、選擇題(20題)61.在C語(yǔ)言中,合法的長(zhǎng)整型常數(shù)是()。
A.0.123456B.4962717C.9LD.5.321e2
62.以下不合法的字符常量是()。
A."、、"B.’\”’C.’\018’D.\xcc"
63.
64.鏈表不具有的特點(diǎn)是()。
A.不必事先估計(jì)存儲(chǔ)空間B.可隨機(jī)訪問(wèn)任意元素C.插入、刪除不需要移動(dòng)元素D.所需空間與線性表長(zhǎng)度成正比
65.下面不屬于軟件工程三個(gè)要素的是()。
A.工具B.過(guò)程C.方法D.環(huán)境
66.
67.
68.
69.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。
A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說(shuō)明單鏈表是線性的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
70.
71.
72.
73.在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送()。A.調(diào)用語(yǔ)句B.命令C.口令D.消息
74.某二叉樹(shù)共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有l(wèi)個(gè),則該二叉樹(shù)的深度為(假設(shè)根結(jié)點(diǎn)在第1層)()。
A.3B.4C.6D.7
75.請(qǐng)選出以下語(yǔ)句的輸出結(jié)果Printf("%d\n",strlen("\t\"\065\xff\n"));
A.5B.14C.8D.輸出項(xiàng)不合法,無(wú)正常輸出
76.
A.intB.floatC.doubleD.不確定
77.軟件生命周期中,花費(fèi)最多的階段是()。
A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)
78.
79.有如下程序段
#include"stdio.h"
voidfun(int*a,int*b,int*c,int*d,int*e)
{inti,j,k,m;
for(i=0;i<*a;i++)
for(j=0;j<*b;j++)
for(k=0;k<*c;k++)
for(m=0;m<*d;m++)
++*e;
}
main()
{inta=10,b=10,c=10,d=10,e=0;
fun(&a,&b,&c,&d,&e);
printf("%d\n",e);}
則程序段的輸出結(jié)果是
A.10000B.1000
C.100D.0
80.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是()。
A.循環(huán)隊(duì)列B.棧C.隊(duì)列D.二叉樹(shù)
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將字符串str中的所有字符復(fù)制到字符串b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。例如,在調(diào)用proc()函數(shù)之前給字符
串str輸入abcdefghijk,調(diào)用函數(shù)之后,字符串b中的內(nèi)容則為abcdefghijk。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫(xiě)函數(shù)fun(),其功能是將s所指字符串中ASCII值為奇數(shù)的字符刪除,將剩余字符形成的新字符串放在t所指數(shù)組中。例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345”,其中字符A的ASCII值為奇數(shù),字符1的ASCII值也為奇數(shù),都應(yīng)當(dāng)刪除,其他依此類(lèi)推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是“BDF24”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,chart[]){}main(){ chars[100],t[100],Msg[]=“Pleaseenterstrings:”; printf(Msg); scanf(“%s”,s); fun(s,t); printf(“\nTheresuitis:%s\n”,t);}
參考答案
1.D
2.D\n兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個(gè)關(guān)系的元組組成的集合。
\n
3.A執(zhí)行fun(a)語(yǔ)句時(shí),P指向的是字符串?dāng)?shù)組a的第一個(gè)字符串“Morning”,p自加1之后,p指向字符串?dāng)?shù)組a的第2個(gè)字符串“Afternoon”。
4.C用數(shù)組名作為函數(shù)實(shí)參時(shí),不是把數(shù)組的值傳遞給形參,而是把實(shí)參數(shù)組的起始地址傳遞給形參數(shù)組,這樣兩個(gè)數(shù)組就共同占用同一段內(nèi)存單元。本題通過(guò)“prt(a,5);”將數(shù)組a的首地址傳遞給了指針變量m,使指針變量m指向數(shù)組a的首地址,那么,對(duì)指針變量所指向的存儲(chǔ)單元的內(nèi)容的改變就是對(duì)數(shù)組a中的元素的改變。題中函數(shù)prt的作用是將指針變量m所指向的存儲(chǔ)單元中的元素值各加上1,故數(shù)組a中的值也隨之變化,所以。輸出的數(shù)組元素的值為2,3,4,5,6,。
5.D
6.C
7.D執(zhí)行語(yǔ)句“intm=1,n=2,*p=&m,*q=&n,*r;”,即指針變量p指向m,指針變量q指向n。執(zhí)行語(yǔ)句“r=p;p=q;q=r;”,即通過(guò)指針變量r,將指針p和指針q的指向交換。因此最后輸出1,2,2,1。故本題答案為D選項(xiàng)。
8.C
9.A黑盒測(cè)試方法主要有等價(jià)類(lèi)劃分、邊界值分析、因果圖、錯(cuò)誤推測(cè)等。白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、路徑測(cè)試等,主要用于軟件驗(yàn)證。
10.C
11.D
12.B
13.A解析:耦合性是模塊間互相連接的緊密程度的度量,取決于各個(gè)模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過(guò)接口。
[知識(shí)拓展]模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的一個(gè)重要標(biāo)準(zhǔn),衡量軟件的模塊獨(dú)立性有兩個(gè)定性的度量標(biāo)準(zhǔn)。其中內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度最,內(nèi)聚性是從功能角度來(lái)度量模塊內(nèi)的聯(lián)系;耦合性是模塊間互相連接的緊密程度的度量,耦合性從整體的角度來(lái)度量模塊間的聯(lián)系。
14.D本程序主要考查遞歸函數(shù)。fun(7),首先將參數(shù)代入函數(shù),因?yàn)?7/2)>1,所以執(zhí)行f(3),依此類(lèi)推直到f(1.5),(1.5/2)<1,所以執(zhí)行打印函數(shù),此時(shí)X值為3,然后退出f(1.5),返回f(3),打印x值即7。所以選D。
15.D數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要采用不同的存儲(chǔ)結(jié)構(gòu),用的存儲(chǔ)結(jié)構(gòu)有順序和鏈?zhǔn)浇Y(jié)構(gòu)。用不同的存儲(chǔ)結(jié)構(gòu),其處理的效率是不同的。
16.B題中當(dāng)a的值為l時(shí),關(guān)系表達(dá)式a==l的值為真,即1,因此程序?qū)⑻D(zhuǎn)到easel執(zhí)行a++操作,與題干程序剛好相反。
17.D
18.B
19.C
20.C數(shù)組名sl是代表sl數(shù)組首地址的地址常量,因?yàn)椤?”左邊不能出現(xiàn)常量,所以s1="ABCDE"的方法是錯(cuò)誤的。
21.strudctSTRUstrudctSTRU解析:結(jié)構(gòu)件類(lèi)型是構(gòu)造數(shù)據(jù)類(lèi)型,是用戶(hù)自己定義的一種類(lèi)型。
結(jié)構(gòu)體類(lèi)型的定義:
struct結(jié)構(gòu)體類(lèi)型名
{
成員項(xiàng)表;
};
定義結(jié)構(gòu)體變量的的形式為:
struct結(jié)構(gòu)體類(lèi)型名變量1,變量2,...?
其中變量包括;一般變量、指針變量、數(shù)組變量等。
22.55解析:a++的含義是在使用a值以后,使a值加1,所以a++的值為5。
23.structnode*structnode*解析:本題中的結(jié)構(gòu)類(lèi)型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個(gè)指向自身的結(jié)構(gòu)體指針。
24.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結(jié)果為:B66。
25.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。
26.程序調(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)試主要在開(kāi)發(fā)階段。
27.繼承繼承
28.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1s=1或給abs賦1或1.0或1.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1,s=1或給a,b,s賦1或1.0或1.解析:sum函數(shù)的功能是求表達(dá)式s的級(jí)數(shù)之和,該函數(shù)的大致思路是:在該函數(shù)中,定義了—個(gè)整型變量i用作循環(huán)計(jì)數(shù)器,定義一個(gè)變量a用來(lái)表示各個(gè)子項(xiàng)的分子,初始為第一個(gè)子項(xiàng)的分子,故為1,定義了一個(gè)變量b用來(lái)表示各個(gè)子項(xiàng)大分母,初始為第一個(gè)子項(xiàng)的分母,故為1,定義一個(gè)變量s存放累加和,初始為第一個(gè)子項(xiàng)的值即為1,然后給各個(gè)定義的變量初始化,然后通過(guò)一個(gè)for循環(huán)將題目中的數(shù)學(xué)表達(dá)式的各個(gè)子項(xiàng)求出來(lái)并累加到s中,所以說(shuō),在該題的空格處應(yīng)該填寫(xiě)將a、b和s賦初值的語(yǔ)句,即為a=1;b=1;s=1:(說(shuō)明:語(yǔ)句的順序可任意)或a=b=s=1;(說(shuō)明:變量的順序可任意)或a=1,b=1,s=1(說(shuō)明:賦值表達(dá)式的順序可任意)給a,b,s賦1或1.0或1都可以。
29.11011111101111解析:本題通過(guò)除2取余法即可求出十進(jìn)制數(shù)111所對(duì)應(yīng)的二進(jìn)制數(shù)1101111。
30.5555解析:分析程序執(zhí)行過(guò)程,第一次循環(huán)時(shí),i=3,i=5,因?yàn)閟witch(3),所以執(zhí)行case3,調(diào)用P(a[--i])=P(a[4])=P(5),輸出5:第二次循環(huán)時(shí),j=2,i=4,因?yàn)閟witch(2),所以執(zhí)行case2,調(diào)用P(a[i++]):P(a[4])=P(5),輸出5,之后i自加等于5。
31.1010解析:此題考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以追回值a+4=6+4=10。
32.ASCⅡ
33.acrk=0p[i][j]k++k
34.概念設(shè)計(jì)階段概念設(shè)計(jì)階段解析:數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下六個(gè)設(shè)計(jì)階段:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段及數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段。
35.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)
36.99解析:本題考查函數(shù)的綜合知識(shí)。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類(lèi)型轉(zhuǎn)換運(yùn)算符,將一個(gè)表達(dá)式轉(zhuǎn)換成所需類(lèi)型。如:(double)a是將a轉(zhuǎn)換成double類(lèi)型;(int)(x+y)是將x+y的值轉(zhuǎn)換成整型。
本題可按部就班地逐步運(yùn)算:
fun((int)fun(a+c,b),a-c)
fun((int)fun(10,5),2-8)
fun((int)15.000000,-6)
fun(15,-6)
9
37.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人防固定車(chē)位出租合同范本
- 中標(biāo)總價(jià)合同范例
- 廠房照明采購(gòu)合同范本
- 醫(yī)院氣體安裝合同范本
- 加油站車(chē)子轉(zhuǎn)讓合同范本
- 單機(jī)采購(gòu)合同范本
- 勞動(dòng)合同范本保安
- 臥式凈水器采購(gòu)合同范本
- 俱樂(lè)部租賃球員合同范本
- 共同抵押擔(dān)保合同范例
- 公司關(guān)于進(jìn)一步深化“法治公司”建設(shè)的實(shí)施方案
- (完整版)安全技術(shù)交底的范本(全套)
- 2024轉(zhuǎn)向節(jié)設(shè)計(jì)標(biāo)準(zhǔn)
- 一年級(jí)《讀讀兒歌和童謠》線上閱讀測(cè)試專(zhuān)項(xiàng)測(cè)試題附答案
- 強(qiáng)化學(xué)習(xí)在支付風(fēng)控
- 工商企業(yè)管理畢業(yè)論文范文(4篇)
- 重癥醫(yī)學(xué)科相關(guān)技術(shù)規(guī)范與操作規(guī)程
- DB11∕T 1326-2016 中小學(xué)校晨午檢規(guī)范
- 北師大版(三起)(2024)三年級(jí)上冊(cè)英語(yǔ)Unit 2 School life單元測(cè)試卷(含答案)
- 兩癌篩查宣傳課件
- 《跨境直播運(yùn)營(yíng)》課件-跨境直播的概念和發(fā)展歷程
評(píng)論
0/150
提交評(píng)論