版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年四川省綿陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.若有定義:“inta,b;”,通過(guò)語(yǔ)句“scan[("%d;%d".,&a,&b);”,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是()。
A.35B.3,5C.3;5D.35
2.有以下程序:程序運(yùn)行后的輸出結(jié)果是()。A.1.000000B.0.000000C.0.250000D.0.500000
3.設(shè)有定義:int?x=2,以下表達(dá)式中,值不為6的是()。
A.2*<.x+=2B.x++.2*xC.x=x*(1+x)D.x*=x+1
4.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。
A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||15.在單鏈表指針為p的結(jié)點(diǎn)之后插入指針為s的結(jié)點(diǎn),正確的操作是()。A.p->next=s;s->next=p->next;
B.s->next=p->next;p->next=s;
C.p->next=s;p->next=s->next;
D.p->next=s->next;p->next=s;
6.有如下程序段:inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=P[5];則b的值是()。
A.5B.6C.9D.8
7.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.0B.一1C.1D.7
8.設(shè)fun函數(shù)的定義形式為voidfun(charch,floatx){…}則下列對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是()。
A.fun("abc",3.0);
B.t=fun(D.16.5);
C.fun(65,2.8);
D.fun(32,32);
9.若有以下程序段
intm=0xabc,n=0xabc;
m-=n;
printf("%x\n",m);
執(zhí)行后的輸出結(jié)果是A.A.0X0
B.0x0
C.0
D.0xABC
10.設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如T=R×S,則T的元組的個(gè)數(shù)為()。A.6B.8C.9D.12
11.
12.一個(gè)二維數(shù)組的定義語(yǔ)句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為()。
A.0B.4C.8D.6
13.若運(yùn)行以下程序時(shí),從鍵盤輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運(yùn)行結(jié)果是
#include<stdio.h>
main()
{charc;
intv0=1,v1=0,v2=0;
do{switch(c=getchar())
{case′a′:case′A′:
case′e′:case′E′:
case′i′:case′I′:
case′o′:case′O′:
case′u′:case′U′:v1+=1;
default:v0+=1;v2+=1;}}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
14.
15.有下列程序:intfunl(doublea){returna*=a;)intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……)程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0
16.有以下程序:structSTU{charname[10];intnum;floatTotalScore;};voidf(structSTU*p){structSTUs[2]={{"SunDan",20044,550},{"Penghua",20045,537}},*q=s;++p;++q;*p=*q;}main(){structSTUs[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};f(s);printf("%s%d%3.0f\n",s[1].name,s[1].num,s[1].TotalScore);}程序運(yùn)行后的輸出結(jié)果是______。
A.SunDan20044580
B.Penghua20045537
C.LiSiGUO20042580
D.SunDan20041703
17.a、b、c、d變量均為float類型且已正確賦值,下列選項(xiàng)中與數(shù)學(xué)式子“2ab/(5cd)”等價(jià)的C語(yǔ)言表達(dá)式是()。
A.2/5*a/c*d/b
B.a/(5*c*d)*(2*b)
C.2*a*b/5*c*d
D.2/5*a*d*(1/c*d)
18.使用深度優(yōu)先算法遍歷下圖,遍歷的順序?yàn)?)A.ABCDEFGB.ABDCFEGC.ABDECFGD.ABCDFEG
19.
20.信息隱蔽的概念與下述哪一種概念直接相關(guān)?
A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類型的劃分D.模塊耦合度
二、2.填空題(20題)21.數(shù)據(jù)的安全性是指保護(hù)數(shù)據(jù)以防止【】用戶的使用造成的數(shù)據(jù)泄密和破壞。
22.下面程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
#defineN10
#defines(x)x*x
#definef(x)(x*x)
main()
{inti1,i2;
i1=1000/s(N);i2=1000/f(N);
printf("%d%d\n",i1,i2);
}
23.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
func(a,b)
{staticintm=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
main()
{intk=5,m=3,p;
p=func(k,m);
printf("%d",p);
p=func(k,m);
printf("%d\n",p);
}
24.下列程序的輸出結(jié)果是______。
main()
{inta=2,b=4,c=6;
int*p1=&a,*p2,&b,*p;
*(p=&c)=*p1*(*p2);
printf("%d\n",c);
}
25.以下scanf函數(shù)調(diào)用語(yǔ)句中對(duì)結(jié)構(gòu)體變量成員的引用不正確的是{charname[20];}pup[5],*p;
26.函數(shù)fun的功能是:根據(jù)以下公式求p的值,結(jié)果由函數(shù)值返回。m與n為兩個(gè)正數(shù)且要求m>n。
例如:m=12,n=8時(shí),運(yùn)行結(jié)果應(yīng)該是495.000000。請(qǐng)?jiān)陬}目的空白處填寫適當(dāng)?shù)某绦蛘Z(yǔ)句,將該程序補(bǔ)充完整。
#include<conio.h>
#include<stdio.h)
floatfun(intm,intn)
{inti;
doublep=1.0;
for(i=1;i<=m;i++)【】;
for(i=1;i<=n;i++)【】;
for(i=1;i<=m-n;i++)p=p/i;
returnP;}
main()
{clrscr();
printf("p=%f\n",fun(12,8));}
27.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
28.由25人圍坐成圓圈,先從任意一人出發(fā)用1到25順時(shí)針依次編號(hào),然后從1號(hào)開始順時(shí)針報(bào)數(shù)(1、2、3…),凡報(bào)5的倍數(shù)者出圈,剩下者繼續(xù)報(bào)數(shù),求出最后出圈者的編號(hào)。
#include<stdio.h>
【】
{inta[26],j,n,count;
for(j=1;j<=25;j++)a[j]=j(luò);
j=1;count=0;n=【】;
do
{if(a[j]!=0)
{n++;
if(n%5==0)
{【】;
if(count==24)printf("%d\n",j);
count++;
}
}
j++;
if(j>25)j=1;
}
while(【】);
}
29.以下函數(shù)creat用來(lái)建立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,新產(chǎn)生的結(jié)點(diǎn)是插在鏈表頭的
末尾。單向鏈表的頭指針作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
structlist
{chardata;
structlist*next;
};
structlist*creat;
{structlist*h,*p,*q;
charch;
h=(【】)malloc(sizeof(structlist));
p=q=h;
ch=getchar();
while(ch!='?')
{p=(【】)mallco(sizeof(structlist));
p->data=ch;
q->next=p;
q=p;
ch=getchar();
}
p->next='\0';
【】;
}
30.二叉樹的遍歷可以分為三種:前序遍歷、()遍歷和后序遍歷。
31.【】是從二維表列的方向進(jìn)行的運(yùn)算。
32.單元測(cè)試又稱模塊測(cè)試,一般采用【】測(cè)試。
33.下面的程序可對(duì)指定字符串中的字符串進(jìn)行從大到小排序,請(qǐng)將程序填完整。(注:程序采用了冒泡排序算法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n->1)
for(i=0;i<n;i++)
if(str[i]<str[i+1])
{temp=【】;
str[i]=str[i+1];
【】=temp;
}
printf(【】);
}
34.軟件結(jié)構(gòu)是以【】為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。
35.若a的值為1,則表達(dá)式!a‖++a的值是______。
36.軟件是程序、數(shù)據(jù)和【】的集合。
37.若s是int型變量,且s=8,則s%3+(s+1)%3表達(dá)式的值為()。
38.以下程序的輸出結(jié)果是______。
main()
{intx;0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int*a,intn,intk)
{if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
39.下列程序的輸出結(jié)果是______。
longfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printff"%1d\n",x);}
40.已定義charch=′$′;inti=1,j;,執(zhí)行j!=ch&&i++以后,i的值為【】。
三、1.選擇題(20題)41.若有以下的說(shuō)明和語(yǔ)句:intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];則在執(zhí)行for語(yǔ)句后,*(*(pt+1)+2)表示的數(shù)組元素是______。
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
42.在標(biāo)準(zhǔn)C語(yǔ)言中,下列程序的輸出結(jié)果為______。main(){printf("%e",123.456);}
A.123.456B.123.4560C.1.23456e2D.1.234560e+002
43.有下列程序:
fun(intx)
{intp;
if(x==0‖x==1)return(3);
p=x-fun(x-2);
returnp;
}
main()
{printf("%d\n",fun(7));}
執(zhí)行后的輸出結(jié)果是()。
A.7B.3C.2D.0
44.完整的計(jì)算機(jī)存儲(chǔ)器應(yīng)包括______。
A.軟盤、硬盤B.磁盤、磁帶、光盤C.內(nèi)存儲(chǔ)器、外存儲(chǔ)器D.RAM、ROM
45.有下列程序段:intn,t=1,s=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。
A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)
46.若有以下程序段intm=0xabc,n=0xabc;m-=n;printf("%X\n".m);執(zhí)行后輸出結(jié)果是
A.0X0B.0x0C.0D.0XABC
47.設(shè)有如下三個(gè)關(guān)系表:
下列操作中正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
48.下列不屬于軟件工程的3個(gè)要素的是______。
A.工具B.過(guò)程C.方法D.環(huán)境
49.若進(jìn)棧序列為1、2、3、4、5,并且在它們進(jìn)棧的過(guò)程中可以進(jìn)行出棧操作,那么不可能是出棧序列的是______。
A.1,3,2,5,4B.1,2,5,4,3C.4,3,2,1,5D.3,5,1,4,2
50.有程序#include<stdio.h>main(){inta,b,c=246;a=c/100%9;b=(-)&&(-1);printf("%d,%d\n%,a,b);}輸出結(jié)果是()
A.2,1B.3,2C.4,3D.2,-1
51.設(shè)x,y,z,(均為整型變量,現(xiàn)有如下語(yǔ)句x=y=z=1;t=++x‖++y&&++z;,則執(zhí)行這個(gè)語(yǔ)句后t的值為
A.2B.1C.0D.不定值
52.若變量已正確定義,要求程序段完成求5!的計(jì)算,不能完成此操作的程序段是()。
A.for(i=1,p=1;i<=5;i++)p*=i;
B.for(i=1;i<=5;i++){p=1;p*=i;}
C.i=1;p=1;while(i<=5){p*=i;i++;}
D.i=1;p=1;do{p*=i;i++;}while(i<=5);
53.若希望下列的程序運(yùn)行后輸出25,程序空白處的正確選項(xiàng)是()。main(){inti,j=50,a[]={7,4,10,5,8};for()j+=a[i];printf("%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
54.設(shè)有定義:#defineSTR"12345";,則以下敘述中正確的是()
A.宏名STR代替的是數(shù)值常量12345
B.宏定義以分號(hào)結(jié)束,編譯時(shí)一定會(huì)產(chǎn)生錯(cuò)誤信息
C.宏名STR代替的是字符串"12345";
D.宏名STR代替的是字符串常量"12345"
55.假設(shè)a和b為int型變量,則執(zhí)行以下語(yǔ)句后,b的值為______。a=1;b=10;do{b-=a;a++;}while(b--<0);
A.9B.-2C.-1D.8
56.有以下程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c:k;執(zhí)行該程序段后,k的值是______。A.3B.2C.1D.0
57.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=1,b=3;if((++a<0)&&!(b--<=0))printf("%d,%d\n",a,B;elseprintf("%d,%d\n",b,A);}
A.2,2B.1,3C.3,2D.3,1
58.有以下程序:#defmeP3voidP(intx){return(p*x*x);}main(){pritnf("%d\n",F(3+5);}程序運(yùn)行后的輸出結(jié)果是()。
A.192B.29C.25D.編譯出錯(cuò)
59.#define能作簡(jiǎn)單的替代,用宏來(lái)替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語(yǔ)句為()。
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)
60.設(shè)有表示學(xué)生選課的三張表,學(xué)生s(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程c(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表sc的關(guān)鍵字(鍵或碼)為()。
A.課號(hào),成績(jī)B.學(xué)號(hào),成績(jī)C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績(jī)
四、選擇題(20題)61.在數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS中,用來(lái)定義內(nèi)模式和外模式等一些數(shù)據(jù)庫(kù)管理系統(tǒng)中其他結(jié)構(gòu)的語(yǔ)言為
A.CB.BasicC.DDLD.DML
62.若有定義“floata=25,b,*p=&b;”,則下列對(duì)賦值語(yǔ)句“*p=a;”和“p=&a;”的正確解釋為()。
A.兩個(gè)語(yǔ)句都是將變量a的值賦予變量P
B.*p=a是使P指向變量a,而p=&a是將變量的值賦予變量指針P
C.*p=a是將變量a的值賦予變量b,而&a是使P指向變量a
D.兩個(gè)語(yǔ)句都是使P指向變量a
63.軟件(程序)調(diào)試的任務(wù)是()。
A.診斷和改正程序中的錯(cuò)誤B.盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤C.發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤D.確定程序中錯(cuò)誤的性質(zhì)
64.在JavaScript語(yǔ)言中,擁有onsubmit事件的對(duì)象是()。
A.documentB.eventC.windowD.form.
65.第
13
題
設(shè)有程序段
intk=10;
while(k=0)k=k-1;
則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無(wú)限循環(huán)C.循環(huán)體語(yǔ)句一次也不執(zhí)行D.循環(huán)體語(yǔ)句執(zhí)行一次
66.下列敘述中正確的是()。
A.用E—R圖能夠表示實(shí)體集之間一對(duì)一的聯(lián)系、一對(duì)多的聯(lián)系、多對(duì)多的聯(lián)系
B.用E—R圖只能表示實(shí)體集之間一對(duì)一的聯(lián)系
C.用E—R圖只能表示實(shí)體集之間一對(duì)多的聯(lián)系
D.用E—R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型
67.在面向?qū)ο蠓椒ㄖ?,不屬于“?duì)象”基本特點(diǎn)的是A.一致性B.分類性C.多態(tài)性D.標(biāo)識(shí)唯一性
68.下列語(yǔ)句中,正確地執(zhí)行當(dāng)i等于5時(shí)執(zhí)行一些語(yǔ)句的條件語(yǔ)句是()。
A.if(i==5)B.ifi=5thenC.ifi=5D.ifi==5then
69.以下程序的輸出結(jié)果是()。
main
{intx=0.5;charz='a';
printf("%d\n",(x&1)&&(z<'2'));}A.A.0B.1C.2D.3
70.
71.有下列函數(shù)定義:fun(floath){printf("%f,%f\n",h,h*h);)該函數(shù)的類型是()。
A.int類型B.float類型C.void類型D.函數(shù)無(wú)類型說(shuō)明,定義有錯(cuò)
72.
73.
74.
75.
76.
77.若輸入“abcdef”“abdef”,下述程序的輸出結(jié)果為()。#include#includemain{intn;chars1[20],s2[20],*p1,*p2;scanf("%s",s1);scanf("%S",s2);p1=s1;p2=s2;n=strcmp(p1,p2);printf("Vood\n",n);}A.A.-1B.0C."abcdef"D."abdef"
78.若變量x、y已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。
A.X+1=yB.++X.Y=X一一C.X=X+10=X+YD.double(X)/10
79.
80.下列關(guān)于隊(duì)列的敘述中正確的是()。A.在隊(duì)列中只能插人數(shù)據(jù)B.在隊(duì)列中只能刪除數(shù)據(jù)C.隊(duì)列是先進(jìn)先出的線性表D.隊(duì)列是先進(jìn)后出的線性表
五、程序改錯(cuò)題(1題)81.下列給定程序中,proc()函數(shù)的功能是:根據(jù)形參m,計(jì)算下列公式的值。t=1+1/2+1/3+1/4+…+1/m例如,若輸入10,則應(yīng)輸出2.928968。請(qǐng)修改程序中的錯(cuò)誤,使它能計(jì)算出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放人結(jié)構(gòu)體數(shù)組stu中。請(qǐng)編寫函數(shù)proc(),它的功能是:函數(shù)返回指定成績(jī)的學(xué)生數(shù)據(jù),指定的成績(jī)?cè)谥骱瘮?shù)中輸入。若沒(méi)找到指定的成績(jī),在結(jié)構(gòu)體變量中給學(xué)號(hào)置空串,給成績(jī)置-1,作為函數(shù)值返回。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫的若干語(yǔ)句。試題程序:
參考答案
1.C\n在輸入時(shí)必須遵守scanf函數(shù)中的格式才能正確地賦值給相應(yīng)的變量,由于scanf函數(shù)為“%d;%d”,所以在輸入時(shí)要輸入3;5,答案為C。
\n
2.D程序定義double變量x、y,給x賦初值2.0。if語(yǔ)句判斷,當(dāng)x小于0.0時(shí),給y賦值0.0。否則當(dāng)x小于10.0時(shí),y的值為1.0/x;當(dāng)x大于等于10.0時(shí),y的值為1.0。題干中x的值為2.0,所以y的值為1.0/x,即0.500000。本題答案為D選項(xiàng)。
3.A?A)選項(xiàng)中逗號(hào)表達(dá)式先計(jì)算第一表達(dá)式2*x,然后計(jì)算表達(dá)式x+=2的值,即x=x+2即4,整個(gè)逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值4,所以選A)。B)選項(xiàng)中首先計(jì)算逗號(hào)表達(dá)式中第一一個(gè)表達(dá)式x++,此時(shí)x為3,再執(zhí)行第二個(gè)表達(dá)式2*x=2*3=6,所以逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值6。C)選項(xiàng)的賦值表達(dá)式可以表示為x=x*(1+x)=2*(1+2)=6。D)選項(xiàng)中的表達(dá)式可以表示為x=x*(x+1)=2*3=6。
4.D本題考查邏輯運(yùn)算符的使用。當(dāng)“&&”的兩個(gè)運(yùn)算對(duì)象都是邏輯1時(shí),表達(dá)式返回值才是1;“||”的兩個(gè)運(yùn)算對(duì)象至少有一個(gè)是邏輯1時(shí),表達(dá)式返回值也是1,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。
5.B
6.C解析:p=&a[3]將指針指向數(shù)組a的第4個(gè)元素,p[5]則是數(shù)組a的第9個(gè)元素,而a[8]=9,所以b=9。
7.Ba一一的含義是先用后減l,所以當(dāng)a的值為0時(shí),跳出循環(huán),但是仍要執(zhí)行a一一,g的值變?yōu)橐?。
8.C由題目的已知條件函數(shù)fun的定義形式voidfun(charch,floatx){…)可知第一個(gè)形參為字符型,所以A不符合,第二個(gè)形參為精度型,所以D不符合,函數(shù)fun定義為void型(無(wú)論返回值型),故其沒(méi)有返回值,所以選項(xiàng)B錯(cuò)誤。選項(xiàng)C的第一個(gè)實(shí)參的類型為字符型,第二個(gè)實(shí)參的類型為單精度型,與函數(shù)fun的形式參數(shù)的類型相符合,所以選項(xiàng)C為正確答案。
9.C本題考查C語(yǔ)言中的數(shù)據(jù)輸出格式。
題目中定義了兩個(gè)整型變量m、n,對(duì)這兩個(gè)變量賦值,輸入的數(shù)值為十六進(jìn)制整數(shù),并且有m=n。進(jìn)行m-n運(yùn)算后,將減法所得到的值賦給m,并將m值輸出。其中printf的格式字符選用的格式字符為x,即以十六進(jìn)制形式輸出整數(shù)。注意,0x是表示該數(shù)為十六進(jìn)制的標(biāo)志,輸出數(shù)據(jù)時(shí),數(shù)據(jù)前面不會(huì)自動(dòng)加上進(jìn)制的標(biāo)志。
10.CC。R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是q×p。所以T的元組的個(gè)數(shù)為9個(gè)。
11.D
12.A
13.D解析:本題考查switch語(yǔ)句的掌握。必須撐握以下內(nèi)容:首先應(yīng)該明白switch語(yǔ)句的語(yǔ)法格式:
switch語(yǔ)句的語(yǔ)法格式為:
switch(表達(dá)式)
{
case常量表達(dá)式1:語(yǔ)句組1;
case常量表達(dá)式2:語(yǔ)句組2;
case常量表達(dá)式n:語(yǔ)句組n;
default:語(yǔ)句組n+1;
}
另外,以下幾點(diǎn)關(guān)于switch語(yǔ)句的重點(diǎn):
①系統(tǒng)在執(zhí)行時(shí)計(jì)算開關(guān)表達(dá)式的值;②根據(jù)所得的值在各個(gè)case標(biāo)號(hào)表達(dá)式中尋找匹配,直到發(fā)現(xiàn)與表達(dá)式匹配的標(biāo)號(hào)(本例中匹配的是case\'B\':);\ue008③找\ue009到匹配后執(zhí)行后面相應(yīng)的語(yǔ)句表,順序往下執(zhí)行;④如果無(wú)相匹配的標(biāo)號(hào),若存在default標(biāo)號(hào),則執(zhí)行該語(yǔ)句標(biāo)號(hào)后面的語(yǔ)句表n+1;當(dāng)不存在default標(biāo)號(hào)時(shí),不執(zhí)行switch中的任何一個(gè)語(yǔ)句表。
一般而言,在多分支結(jié)構(gòu)中總會(huì)出現(xiàn)'意外'的情況,這時(shí)均可歸入default程序段,作統(tǒng)一的處理。default標(biāo)號(hào)是可選性的,不必每次都有,視需要而定。switch語(yǔ)句中還可以包含switch語(yǔ)句,形成switch的嵌套。
14.C
15.C子函數(shù)fun1(doublea)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(doublex,doubley)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因?yàn)轭}中變量w的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。所以雙精度型變量w的值為5.0。
16.B解析:f函數(shù)用了顯式傳地址的方式,因此主函數(shù)中的s值發(fā)生了變化。
17.B解析:選項(xiàng)A和選項(xiàng)D中首先計(jì)算2/5,因?yàn)閮蓚€(gè)計(jì)算分量都是整型,所以結(jié)果為2,與實(shí)際運(yùn)算不符;選項(xiàng)B中因?yàn)槌顺M足交換律,所以2*b放前面和放后面都是一樣的,所以滿足題目要求;選項(xiàng)C中的表達(dá)式等價(jià)于2abcd/5,所以不滿足題目要求。故應(yīng)該選擇B。
18.C
19.C
20.B解析:采用信息隱蔽的目的就是為了確保每個(gè)模塊的獨(dú)立性。
21.(非法)不合法(非法)不合法
22.100010100010解析:對(duì)于define宏定義語(yǔ)句,系統(tǒng)在編譯前進(jìn)行如下替換:
i1=1000/s(N)i1=1000/s(10)i1=1000/10*10
i2=1000/f(N))i2=1000/f(10)i2=1000/(10*10)
23.11231123解析:在主函數(shù)中第一次調(diào)用func子函數(shù)時(shí),m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因?yàn)樵谧雍瘮?shù)中將m和i定義成了static類型,所以在子函數(shù)中對(duì)m和i進(jìn)行的改變?cè)谙乱淮握{(diào)用子函數(shù)時(shí)能進(jìn)行保存,所以第二次調(diào)用子函數(shù)時(shí),m=11,i=3,則i=i+m+1=15,m=i+a+b=15+5+3=23。
24.本程序定義了3個(gè)指針變量p1、p2、p,并且將a、b的地址分別賦給p1、p2,則*p1=a=2,*p2=b=4,所以表達(dá)式*p1*(*p2)的值是8。在賦值語(yǔ)句的左邊是*(p=&c),即使指針p指向了變量c,因而*(p)代表了c的存儲(chǔ)單元,賦值語(yǔ)句“*(p=&c)=*p1*(*p2);”是把整數(shù)8賦給了變量c。\r\n\r\n
25.D
26.p=p*Ip=p/ip=p*I\r\np=p/i解析:本題中,欲求p的值,需要先求m,n,m-n的階乘值,可用循環(huán)語(yǔ)句實(shí)現(xiàn)。
27.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
28.main()0a[j]=0count<25
29.strcurlist*strucrlist*return(h)
30.中序中序解析:二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。前序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問(wèn)根
31.投影投影解析:在關(guān)系模型的數(shù)據(jù)語(yǔ)言中,一般除了運(yùn)用常規(guī)的集合運(yùn)算,(并、交,差、笛卡爾積等)外,還定義了一些專門的關(guān)系運(yùn)算,如投影、選擇、連接等。投影是從二維表的列方向上進(jìn)行的運(yùn)算。
32.白盒法白盒法
33.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實(shí)現(xiàn)過(guò)程是將相鄰兩個(gè)字符進(jìn)行比較,如果當(dāng)前字符小于下—個(gè)字符,則通過(guò)中間變量temp將字符兩兩交換,所以第一空應(yīng)填:str[i],第二空應(yīng)填:str[i+1]。最終打印輸出得到的字符串str,所以第三空應(yīng)填:'%s',str。
34.模塊模塊
35.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。
36.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
37.22解析:考查基本表達(dá)式的計(jì)算,“%”運(yùn)算符的功能是取余。題中條件s=8,則s%3=2,(s+1)%3=9%3=0,所以表達(dá)式s%3+(s+1)%3=2+0=2。
38.77解析:在主函數(shù)中定義了一個(gè)變量x并賦初值0,然后執(zhí)行函數(shù)調(diào)用語(yǔ)句,該語(yǔ)句的執(zhí)行過(guò)程為sub(&x,8,1)調(diào)用sub(&a,4,2),sub(&s,4,2)調(diào)用sub(&a,2,4),sub(&a,2,4)中由于2<4,所以if后面括號(hào)里的判斷為假,遞歸結(jié)束,執(zhí)行其后的。*a+=k;語(yǔ)句此時(shí)x=x+k=0+4+4,回推到上一層調(diào)用函數(shù)sub(Rx,4,2)中,執(zhí)行后面的語(yǔ)句,x=x+k=4+2=6,在回推到最上一層調(diào)用函數(shù)sub(&x,8,1)執(zhí)行后面的語(yǔ)句,x=x+k=6+1=7,所以最后輸出7。
39.99解析:考查ifelse語(yǔ)句,n==4不滿足條件,所以fun5(4)=4+fun5(3),n==3也不滿足條件,fun5(3)=3+funS(2),n==2滿足條件fun5(2)=2,故x=4+3+2=9。
40.11解析:在執(zhí)行邏輯表達(dá)式'j=!ch&&i++'時(shí),首先判斷j=!ch的值,因?yàn)?ch=\'$\''不為0,所以'j=!ch=0',編譯系統(tǒng)便不再計(jì)算表達(dá)式'i++'的值,i的值不變,仍為1。
41.C解析:pt是指向整型變量的指針數(shù)組,pt+1即pt[1]表示第2行的首地址,*(pt+1)表示第2行第1個(gè)元素即t[1][0]的地址,*(pt+1)+2表示第2行第3個(gè)元素即t[1][2]的地址,(*(pt+1)+2)則表示第2行第3個(gè)元素。
42.D
43.C解析:因?yàn)樵诤瘮?shù)fun(intx)中,如果參數(shù)x等于0或1時(shí),返回值3。否則p=x-fun(x-2)這是一個(gè)遞歸函數(shù),所以在主函數(shù)調(diào)用fun(7)時(shí),其過(guò)程為:“fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1))=7-(5-(3-3))=7-5=2”,所以最后的輸出結(jié)果為2。
44.C
45.D解析:因?yàn)樽兞縯的初始值等于1,經(jīng)過(guò)第一次dowhile循環(huán)中,執(zhí)行t=t-2這條語(yǔ)句一次,所以變量t的值為-1,判斷關(guān)系表達(dá)式t!=n是否成立,如果關(guān)系表達(dá)式成立,則執(zhí)行第二次循環(huán),再執(zhí)行t=t-2這條語(yǔ)句一次,所以變量t的值為-3,接著再判斷關(guān)系表達(dá)式t!=n是否成立,如果關(guān)系表達(dá)式成立,執(zhí)行第三次循環(huán),否則退出循環(huán)。由此可知,所以只要輸入變量n的值為負(fù)奇數(shù),則一定會(huì)使t==n成立,則退出dowhile循環(huán)。
46.C解析:本題考核的知識(shí)點(diǎn)是C語(yǔ)言中的自反賦值運(yùn)算符?!癿-=n”相當(dāng)于“m=m-n”,兩個(gè)相等的數(shù)相減,其值為0。所以,C選項(xiàng)為所選。
47.C解析:本題考查數(shù)據(jù)庫(kù)的關(guān)系代數(shù)運(yùn)算。R表中只有一個(gè)域名A,有兩個(gè)記錄(也叫元組),分別是m和n;S表中有兩個(gè)域名,分別是B和C,其所對(duì)應(yīng)的記錄分別為1和3。注意觀察表T,它是由R的第一個(gè)記錄依次與S的所有記錄組合,然后再由R的第二個(gè)記錄與S的所有記錄組合,形成的一個(gè)新表。上述運(yùn)算恰恰符合關(guān)系代數(shù)的笛卡兒積運(yùn)算規(guī)則。關(guān)系代數(shù)中,笛卡兒積運(yùn)算用“×”來(lái)表示。因此,上述運(yùn)算可以表示為T=R×S。因此,本題的正確答案為C。
48.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個(gè)要素,即方法、工具和過(guò)程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過(guò)程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制和管理。
49.D
50.A
51.B解析:邏輯與(&&)優(yōu)先于邏輯或(‖)優(yōu)先于賦值運(yùn)算符。由于邏輯運(yùn)算符的結(jié)果為邏輯值,真為1,假為0,題目中的邏輯值為真。
52.B解析:選項(xiàng)B中for循環(huán)了5次,而每次循環(huán)的時(shí)候,都將p的值重新賦值為1后,再乘以當(dāng)前數(shù)字i,所以最后的結(jié)果為5,顯然不是5!的值,同樣的分析可知選項(xiàng)A、選項(xiàng)C和選項(xiàng)D計(jì)算的都是5!。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
53.D解析:要想使程序輸出是25,則j-40=25,j=65,而j初值是50,所以填入for循環(huán)中的語(yǔ)句,使引用的數(shù)組元素累加為65-50=15即可。
54.C
55.D解析:本題程序第一輪循環(huán)后b的值為9,在進(jìn)行循環(huán)條件測(cè)試時(shí),先取b的現(xiàn)值9與0比較,然后再將b減1。由于9<0不成立,因此循環(huán)結(jié)束,這時(shí)b的值已變成8,本題正確答案為D。
56.B解析:本題考查的知識(shí)點(diǎn)是條件表達(dá)式.條件運(yùn)算符?:是C語(yǔ)言中唯一的三目運(yùn)算符,它的規(guī)則是先計(jì)算左邊運(yùn)算分量,如果為“真”(非0),則返回中間運(yùn)算分量的值,否則返回右邊運(yùn)算分量的值。本題中因?yàn)閍<b為“真”,所以第1個(gè)條件表達(dá)式的值為b的值2,所以k=2。然后又因?yàn)閗>c為“假’,所以第2個(gè)表達(dá)式的值為k的值2。所以本題應(yīng)該選擇B。
57.C
58.D解析:本題是一道陷阱題,考生如果沒(méi)注意到F()函數(shù)被定義為void類型的話,很容易錯(cuò)選為選項(xiàng)A,其實(shí)應(yīng)該選擇選項(xiàng)D,編譯出錯(cuò)。
59.C解析:帶參數(shù)宏的格式為:#define標(biāo)識(shí)符(形參表
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 仔豬購(gòu)銷合同糾紛
- 車輛租賃合同范本
- 食品供應(yīng)商合同協(xié)議樣式在線工具
- 專業(yè)版排水工程勞務(wù)外包合同
- 抗紫外線透過(guò)玻璃購(gòu)銷合同
- 房屋裝修材料選購(gòu)合同
- 簡(jiǎn)單房屋出租合同范本
- 農(nóng)村自建房買賣合同的簽訂證明指南
- 圣女果購(gòu)銷合同范本
- 批量石膏板購(gòu)銷合同
- 幼兒園中班數(shù)學(xué)活動(dòng)《營(yíng)救汪汪隊(duì)》
- 小兒手足口病課件
- 2024年計(jì)算機(jī)組成原理期末考試試題及答案共五套
- 滬科版(2024)八年級(jí)全一冊(cè)物理第一學(xué)期期末學(xué)業(yè)質(zhì)量測(cè)試卷(含答案)
- 2024年部編新改版語(yǔ)文小學(xué)一年級(jí)上冊(cè)第六單元復(fù)習(xí)課教案
- 2024年陜西省西安市中考地理試題卷(含答案逐題解析)
- 江蘇省政務(wù)服務(wù)辦事員(五級(jí))理論考試題庫(kù)-下(判斷題)
- 人教版九年級(jí)數(shù)學(xué)上冊(cè)21.1《一元二次方程》說(shuō)課稿
- 幼兒園小班尋找秋天主題活動(dòng)《多彩的秋天》課件
- 大學(xué)生心理健康(貴州大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年貴州大學(xué)
- DB5334 T 12.3-2024《地理標(biāo)志證明商標(biāo) 香格里拉藏香豬》的第3部分飼養(yǎng)管理
評(píng)論
0/150
提交評(píng)論