版權(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ì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.對(duì)于循環(huán)隊(duì)列()。
A.無法判斷隊(duì)列是否為空B.無法判斷隊(duì)列是否為滿C.隊(duì)列不可能滿D.以上說法都不對(duì)
2.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則
A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無限次
3.以下敘述中錯(cuò)誤的是()。
A.C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的
B.用C語言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行
C.通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行
D.在沒有安裝C語言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件
4.有以下程序:#include<stdio.h>main(){inta=1,b=2,c=3,d=4,r=0;if(a!=1)r=1;if(b==2)r=2;elseif(c!=3)r=3;elseif(d==4)r=4;printf(“%d\n”,r);}程序運(yùn)行后的輸出結(jié)果是()。
A.0B.4C.1D.2
5.數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)器內(nèi)表示時(shí),如果元素在存儲(chǔ)器中的相對(duì)位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱這種存儲(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)
6.有以下程序:#include<stdi0.h>main(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;)printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.9,18B.8,11C.7,11D.10,14
7.if語句基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。
A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值
8.若函數(shù)中有定義語句:inta;,則()。
A.系統(tǒng)將自動(dòng)給a賦初值0B.這時(shí)a中的值是和隨機(jī)數(shù)C.系統(tǒng)將自動(dòng)給a賦初值-1D.這a中無任何值
9.
10.鏈表不具備的特點(diǎn)是()。
A.可隨機(jī)訪問任一結(jié)點(diǎn)B.插入刪除不需要移動(dòng)元素C.不必事先估計(jì)存儲(chǔ)空間D.所需空間與其長度成正比
11.有以下程序:#include<stdio.h>main{shortC=124;C=C_;printf("%d\n",c);}若要使程序的運(yùn)行結(jié)果為248,應(yīng)在下劃線處填入的是()。A.>>2B.|248C.&0248D.<<1
12.算法的時(shí)間復(fù)雜度是指______。
A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長度C.算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)
13.數(shù)據(jù)庫設(shè)計(jì)中,用E—R圖來描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計(jì)的()。
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
14.是哈希查找的沖突處理方法()。
A.求余法B.平均取中法C.二分法D.開放地址法
15.以下不能定義為用戶標(biāo)識(shí)符的是()。
A.VoidB.scanfC.intD._3com_
16.
17.有以下程序main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運(yùn)行后的輸出結(jié)果是(選項(xiàng)D中的第一行是空行)A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No
18.用向量和單鏈表示的有序表均可使用折半查找方法來提高查找速度()A.是B.否
19.有以下程序:#include<stdio.h>intfun{staticintx=1;x+=1;returnX;}main{inti,S=1;for(i=1;i<=S;i++)s+=fun;printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。A.11B.21C.6D.120
20.
二、2.填空題(20題)21.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
22.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。
23.以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
請(qǐng)?zhí)羁铡?/p>
doublefun(doublex){return(x*x-2*x+6);}
{doublex,y1,y2;
printf("Enterx:");scanf("%lf",&x);
y1=fun([6]);
y2=fun([7]);
printf("y1=%lf,y2=%lf\n",y1,y
24.下面程序的輸出是【】。
main()
{enumem{em1=3,em2=l,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s\n",aa[eml],aa[em2],aa[em3]);
}
25.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管叫‘管理多個(gè)項(xiàng)目,則實(shí)體“主管”與實(shí)體“”的聯(lián)系屬于______。
26.數(shù)據(jù)流圖的類型有【】和事務(wù)型。
27.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。
28.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的【】。
29.若有定義floatb[15],*p=b;,且數(shù)組b的首地址為200H,則p+13所指向的數(shù)組元素的地址為______。
30.在面向?qū)ο蟮脑O(shè)計(jì)中,用來請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求稱為【】。
31.以下程序的輸出結(jié)果是【】。
main()
{charc=′z′;
printf("%c",c-25);}
32.若x和a均是int型變量,則計(jì)算完x=(a=4,6*2)后的x值為______。
33.設(shè)a、b、c為int型變量,且a=10、b=5、c=1,則執(zhí)行完以下語句,a的值變?yōu)椤尽俊?/p>
a/=10-(++b)-(c--);
34.在鏈表的運(yùn)算過程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是______。
35.數(shù)據(jù)庫設(shè)計(jì)分為以下六個(gè)設(shè)計(jì)階段:需求分析階段、【】、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
36.表示""整數(shù)x的絕對(duì)值大于5""時(shí)值為""真""的C語言表達(dá)式是【】。
37.軟件定義時(shí)期主要包括______和需求分析兩個(gè)階段。
38.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inta[4][4]={{1,2,3,4),{5,6,7,8},{11,12,13,14},{15,16,17,18}};
inti=0,j=0,s=0;
while(i++<4)
{
if(i==2||i==4)continue;
j=0;
do{S+=a[i][j];j++;}while(j<4);
}
printf("%d\n",s);
}
39.軟件測試方法中,黑盒測試法和白盒測試法是常用的方法,其中黑盒測試法主要是用于測試【】。
40.有如下圖所示的雙鏈表結(jié)構(gòu),請(qǐng)根據(jù)圖示完成結(jié)構(gòu)體的定義:
structaa
{intdata;
【】}node;
三、1.選擇題(20題)41.在C語言中,int,char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)
A.由用戶自己定義B.均為2個(gè)字節(jié)C.是任意的D.由所用機(jī)器的機(jī)器字長決定
42.有以下語句,則對(duì)a數(shù)組元素的引用不正確的是(0≤i≤9)()。inta[10]={0,1,2,3,4,5,6,7,8,9},*P=a;
A.a[P-a]B.*(&a[i])C.P[i]D.*(*(a+i))
43.有以下程序main(){inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;for(i=0;i<4;i++)for(j=0;j<3;j++)for(k=j+1;k<4;k++)if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/for(i=0;i<4;i++)printf("%d,",a[i][i]);
A.1,6,5,7,B.8,7,3,1,C.4,7,5,2,D.1,6,2,1,
44.下列說法不正確的是()。
A.C程序是以函數(shù)為基本單位的,整個(gè)程序由函數(shù)組成
B.C語言程序的一條語句可以寫在不同的行上
C.C程序的注釋行對(duì)程序的運(yùn)行功能不起任何作用,所以注釋應(yīng)該盡可能少寫
D.C程序的每個(gè)語句都以分號(hào)結(jié)束
45.下列程序的運(yùn)行結(jié)果是()。main(){intx=1,y=3,a=0;while(x++!=(y=1)){a+1;if(y<x)break;}printf("%d,%d,%d\n”,x,y,a);}
A.2,3,2B.2,3,1C.1,3,3D.3,1,2
46.閱讀下列程序,當(dāng)運(yùn)行函數(shù)時(shí),輸入asdafaaz67,則輸出為
#include<stdio.h>
#include<ctype.h>
#include<string.h>
intfun(char*str)
{inti,j=0;
for(i=0;str[i]!=′\0′;i++)
if(str[i]!=′′)str[j++]=str[i];
str[j]=′\0′;
}
main()
{
charstr[81];
intn;
printf("Inputastring:");
gets(str);
puts(str);
fun(str);
printf("%s\n",str);
}
A.asdafaaz67B.asdafaaz67C.asdD.z67
47.執(zhí)行語句for(i=1;i++<4;);后變量i的值是______。
A.3B.4C.5D.不定
48.若有如下定義:intx=6,y=3,z=2;則表達(dá)式x=y||y<z&&z==z的值是()。
A.0B.1C.4D.6
49.以下選項(xiàng)中不屬于字符常量的是
A.'C'B.CC.'\xCC'D.'\072'
50.有以下程序
#include<stdio.h>
main()
{inti,j,m=55;
for(i=1;i<=3;i++)
for(j=3;j<=i;j++)m=m%j;
printf("%d\n",m);
}
程序的運(yùn)行結(jié)果是
A.0B.1C.2D.3
51.若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為()。
A.4B.16C.32D.52
52.關(guān)系表中的每一橫行稱為一個(gè)()。A.元組B.字段C.屬性D.碼
53.下面程序運(yùn)行后的輸出結(jié)果是______。structabc{inta,b,c;}main(){structabcs[2]={{1,2,3},{4,5,6}};intt=-s[0].a+s[1].b;printf("%d\n",t);}
A.5B.6C.7D.8
54.若有定義和語句:inta[10]={1,2,3,4,5,6,?,8,9,10},*p=a;則不能表示a數(shù)組元素的表達(dá)式是()
A.*pB.a[10]C.*aD.a[p-a)
55.以下程序運(yùn)行后,輸出結(jié)果是()。main(){inty=18,i=0,j,a[8];do{a[i]’y%2;i++;y=y/2;}while(y>=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n");}
A.1000B.10010C.110D.10100
56.以下選項(xiàng)中不合法的標(biāo)識(shí)符是A.printB.FORC.&aD._00
57.若有說明chars1[30]="Thecity",s2[]="isbeautiful";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。
A.s1的內(nèi)容更新為Thecityisbeautiful\0
B.s1的內(nèi)容更新為isbeaut\0
C.s1的內(nèi)容更新為Thecity\0isbeautiful\0
D.s1的內(nèi)容更新為Thecityisbeautiful\0
58.下列程序的輸出結(jié)果是______。main(){inti=3;switch(i){case1:casc2:printf(("%d",i);case3:case4:break;defanlt:printf("OK");}}
A.0B.3C.OKD.沒有任何輸出
59.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4
60.以下關(guān)于typedef的敘述錯(cuò)誤的是()。
A.用typedef可以增加新類型
B.typedef只是將已存在的類型用一個(gè)新的名字來代表
C.用typedef可以為各種類型說明一個(gè)新名,但不能用來為變量說明一個(gè)新名
D.用typedef為類型說明一個(gè)新名,通常可以增加程序的可讀性
四、選擇題(20題)61.有以下程序
fun(int*a,intn)
{inti,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p])
____;
return(p);
}
在下畫線處應(yīng)填入的是
A.i=pB.a(chǎn)[p]=a[i]
C.p=jD.p=i
62.
63.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是()。
A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口
B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)
C.不允許使用GOTO語句
D.語言中若沒有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬
64.有以下程序:
I程序運(yùn)行后的輸出結(jié)果是()。
A.0B.3C.7D.8
65.下列敘述中,正確的是()。
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ù)模型
66.(38)索引屬于()
A.模式
B.內(nèi)模式
C.外模式
D.概念模式
67.有如下程序段
#include"stdio.h"
typedefstructaa
{inta;
structaa*next;
}M;
voidset(M*k,inti,int*b)
{intj,d=0;
for(j=1;j<i;j++)
{k[j-1].next=&k[j];
k[j-1].a=b[d++];
}
k[j].a=b[d];
}
main()
{Mk[5],*p;
intd[5]={23,34,45,56,67};
set(k,5,d);
p=k+1;
printf("%d\n",________);
}
要輸出45,則在下畫線處應(yīng)填入的選項(xiàng)是
A.p->next->aB.++p->a
C.(*p).a(chǎn)++D.p++->a
68.
69.若有定義語句:
70.下列說法不正確的是
A.?dāng)?shù)據(jù)庫減少了數(shù)據(jù)冗余B.?dāng)?shù)據(jù)庫實(shí)現(xiàn)了數(shù)據(jù)的共享
C.?dāng)?shù)據(jù)庫避免了一切數(shù)據(jù)的重復(fù)D.?dāng)?shù)據(jù)庫具有較高的數(shù)據(jù)獨(dú)立性
71.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。
A.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元
B.形參只是形式上的存在,不占用具體存儲(chǔ)單元
C.同名的實(shí)參和形參占同一存儲(chǔ)單元
D.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元
72.
73.在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是()。
A.PDL(過程設(shè)計(jì)語言B.PAD圖C.N—S圖D.DFD圖
74.
75.
76.以下程序運(yùn)行后的輸出結(jié)果是()。
A.2B.4C.6D.3
77.(75)下列不屬于結(jié)構(gòu)化分析的常用工具的是()
A.數(shù)據(jù)流圖
B.數(shù)據(jù)字典
C.判定樹
D.PAD圖
78.
79.以下程序的輸出結(jié)果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);A.A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:先從鍵盤上輸入一個(gè)3行3列的矩陣的各個(gè)元素的值,然后輸出主對(duì)角線元素之和。請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,函數(shù)fmi()的功能是將a、b中的兩個(gè)正整數(shù)合并成一個(gè)新的整數(shù)存放在c中。合并的方式是將a中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上,b中的十位和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上。例如,a=45,b=12,調(diào)用該函數(shù)后,c=5241。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:
參考答案
1.D
2.B解析:本題考查while語句的使用。本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符'!'的優(yōu)先級(jí)大于不等于運(yùn)算符'!='的優(yōu)先級(jí)。
3.Dc語言的可執(zhí)行程序是由一系列機(jī)器指令組成的。用C語言編寫的源程序必須經(jīng)過編譯生成二進(jìn)制目標(biāo)代碼,再經(jīng)過連接才能運(yùn)行,并且可以脫離c語言集成開發(fā)環(huán)境。故答案為D)。
4.D第1個(gè)if語句是單獨(dú)的一條語句,所以執(zhí)行完第1個(gè)if語句后,r的值仍為初值0。第2個(gè)if語句與后續(xù)的兩個(gè)elseif都是嵌套的,所以只會(huì)執(zhí)行其中的一個(gè)語句,即“if(b==2)r=2;”這條語句。故本題答案為D選項(xiàng)。
5.C
6.D第一次執(zhí)行循環(huán)前,a=1,滿足a<8,執(zhí)行循環(huán)后,b=3,a=3。執(zhí)行完a++操作后,a=4。由于a<8,執(zhí)行第二次循環(huán)后,b=7,a=6,執(zhí)行完a++操作后,a=7。由于a<8,執(zhí)行第三次循環(huán)后,b=14,a=9,執(zhí)行完a++操作后a=10。此時(shí)不滿足a<8,跳出循環(huán)。
7.D考查if循環(huán)語句。if(表達(dá)式),其中表達(dá)式是一個(gè)條件,條件中可以是任意的合法的數(shù)值。
8.B本題考查變量賦值基本概念。在聲明一個(gè)變量后,如果未顯式的對(duì)其進(jìn)行賦值,則它的值是一個(gè)隨機(jī)值。
9.D
10.A
11.D124的2進(jìn)制值為1111100,要輸出為248即124*2,則2進(jìn)制值為11111000,即右移l位,所以選D。
12.C解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工作量。為了客觀地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與編寫算法程序所使用的程序設(shè)計(jì)語言、執(zhí)行算法程序時(shí)所使用的計(jì)算的工具以及程序員的水平無關(guān)。選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤,因?yàn)樗惴ㄋ帉懙某绦蜷L度往往與程序設(shè)計(jì)語言以及程序員的水平有關(guān),同一個(gè)算法,用不同的程序設(shè)計(jì)語言或者不同的程序員所編寫出的程序其長度可能會(huì)大不相同。選項(xiàng)D錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序之中,其指令條數(shù)往往與程序設(shè)計(jì)語言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來度量算法的時(shí)間復(fù)雜度。所以,本題正確答案為C。
13.CC?!窘馕觥縀—R(Entity—Relationship)圖為實(shí)體一聯(lián)系圖,提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型。
14.D
15.C標(biāo)識(shí)符的命名可以由字母、數(shù)字或下劃線組成,并且第1個(gè)字符必須為字母或下劃線,另外用戶標(biāo)識(shí)符不能使用關(guān)鍵字。選項(xiàng)A中的Void可以定義為用戶標(biāo)識(shí)符,因?yàn)镃語言對(duì)大小寫敏感,Void與關(guān)鍵字void屬于不同的標(biāo)識(shí)符;選項(xiàng)B中的scanf是庫函數(shù)名,屬于預(yù)定義標(biāo)識(shí)符,它也可以作為用戶標(biāo)識(shí)符使用,不過通常不建議這么使用;選項(xiàng)C中的int屬于關(guān)鍵字,錯(cuò)誤;選項(xiàng)D符合標(biāo)識(shí)符的命名規(guī)則,也不屬于關(guān)鍵字,可以作為標(biāo)識(shí)符使用。本題答案為C選項(xiàng)。
16.A
17.B本題考核的知識(shí)點(diǎn)是puts()函數(shù)的應(yīng)用。主函數(shù)中定義了一個(gè)字符數(shù)組s并賦初值,一個(gè)字符串指針變量ps并讓它指向s。程序中p+4的地址為數(shù)組第5個(gè)元素的地址,而調(diào)用put(str_adr)函數(shù)時(shí),將從str_adr這一地址開始,依次輸出存儲(chǔ)單元中的字符,遇到第一個(gè)“\\0”時(shí)結(jié)束輸出,并自動(dòng)輸出一個(gè)換行符。所以put(p++4)將輸出n/No,put(s)將從s第一個(gè)元素開始輸出到第3個(gè)元素結(jié)束(因?yàn)閳?zhí)行*(p4)c0語句后s中的第5個(gè)元素的值為0,而s中的第4個(gè)元素為“\\”,puts將遇到“\\0”,結(jié)束輸出),即輸出yes。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
18.N
19.B本題考查靜態(tài)變量,C語言中靜態(tài)變量的生存期是從程序的開始到結(jié)束。本題中靜態(tài)變量x,隨著每次進(jìn)入循環(huán)不斷增長5次,返回的值分別為2、3、4、5、6。所以S=1+2+3+4+5+6=21,選B。
20.B
21.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類型,所以每次調(diào)用完于函數(shù)之后,變量a所做的改變都要保存。
22.交換排序交換排序解析:常見的排序方法有插入排序(包括簡單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡單選擇排序和堆排序等)。注意:常見的排序方法及其作用機(jī)制和區(qū)別。
23.
24.DDBBCCDDBBCC解析:C語言對(duì)枚舉的定義規(guī)定:在枚舉中聲明的各個(gè)枚舉元素,如果沒有明確指出某個(gè)枚舉元素的值,它的上一個(gè)元素存在并有明確值的情況下,這個(gè)枚舉元素的值為其上一個(gè)元素的值+1。在本題中,沒有明確說明枚舉元素em3的值,則em3=em2+1=1+1=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3],aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為“DDBBCC”。
25.一對(duì)多一對(duì)多解析:由于一個(gè)項(xiàng)目主管可以管理多個(gè)項(xiàng)目,而一個(gè)項(xiàng)目只能有一個(gè)項(xiàng)目主管,“項(xiàng)目主管”這個(gè)實(shí)體與“項(xiàng)目”這個(gè)實(shí)體的管理關(guān)系囑于一對(duì)多。
26.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。
27.邏輯關(guān)系邏輯關(guān)系
28.空間復(fù)雜度和時(shí)間復(fù)雜度算法的復(fù)雜性是指對(duì)一個(gè)在有限步驟內(nèi)終止算法和所需存儲(chǔ)空間大小的估計(jì)。算法所需存儲(chǔ)空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。
29.252H252H解析:要解答本題,首先要明白在對(duì)指針進(jìn)行加,減運(yùn)算時(shí),數(shù)字“1”不是十進(jìn)制數(shù)的“1”,而是指“1”個(gè)存儲(chǔ)單元長度。1個(gè)存儲(chǔ)單元長度占存儲(chǔ)空間的多少,應(yīng)該視具體情況而定,如果存儲(chǔ)單元的基類型是血型,則移動(dòng)1個(gè)存儲(chǔ)單元的長度就是位移2個(gè)字節(jié);如果存儲(chǔ)單元基類型是float型,則移動(dòng)1個(gè)存儲(chǔ)單元的長度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址為:200H+(13*4)H=252H。
30.消息消息解析:在面向?qū)ο蠹夹g(shù)中,主要用到對(duì)象(object)、類(class)、方法(method)、消息(message)、繼承(inheritance)、封裝(encapsulation)等基本概念。其中消息是用來請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求。
31.aa解析:'z'的ASCII碼值為122,經(jīng)過c-25運(yùn)算后,得97,以字符形式輸出是a。
32.1212解析:x=(表達(dá)式1,表達(dá)式2,…)的形式,結(jié)果為最后一個(gè)表達(dá)式的值:x=(a=4,6*2)=2*6=12。
33.3
34.循環(huán)鏈表循環(huán)鏈表解析:在循環(huán)鏈表中,由于設(shè)置了一個(gè)頭結(jié)點(diǎn),因此在任何情況下,循環(huán)鏈表中至少有一個(gè)結(jié)點(diǎn)存在,從而使空表與非空表的運(yùn)算統(tǒng)一。
35.概念設(shè)計(jì)階段概念設(shè)計(jì)階段解析:數(shù)據(jù)庫設(shè)計(jì)分為以下六個(gè)設(shè)計(jì)階段:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段及數(shù)據(jù)庫運(yùn)行和維護(hù)階段。
36.x>5||x<-5x<-5或x<-5||x>5x>5||x<-5,x<-5或x<-5||x>5解析:要使整數(shù)x的絕對(duì)值大于5,則x大于5或x小于5,用C語言表示即為:x>5||x<-5或者x<-5||x>5。故本題答案為;x>5||x<-5或者x<-5||x>5。
37.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測試、交付使用及維護(hù)等,還可以將軟件生命周期分為三個(gè)階段:①軟件定義階段:可行性研究和需求分析;②軟件開發(fā)階段:設(shè)計(jì)、實(shí)現(xiàn)和測試;③軟件運(yùn)行維護(hù)階段:交付使用和維護(hù)。
38.9292解析:本題的主函數(shù)中首先定義了一個(gè)4行4列的二維數(shù)組,然后執(zhí)行一個(gè)while循環(huán),該循環(huán)中又嵌套了一個(gè)do-while循環(huán)。先看while循環(huán),該循環(huán)通過i++的值來判斷是否結(jié)束循環(huán),當(dāng)i++的值為4的時(shí)候結(jié)束循環(huán),當(dāng)i=O時(shí),執(zhí)行while的循環(huán)體,顯然if語句條件不滿足不執(zhí)行,接著讓j=0,然后執(zhí)行do-while循環(huán)體,不難看出do-while循環(huán)的功能是將第i+1行的所有元素加起來,所以這時(shí)s的值為s=a[1][0]+a[1][1]+a[1][2]+a[1][3]=26,當(dāng)i=1時(shí),i+1=2,if后面括號(hào)里的表達(dá)式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán);當(dāng)i=2時(shí),i加1變?yōu)?,把第3+1行的所有元素的值加到s上,此時(shí)s=s+a[2][0]+a[2][1]+a[2][2]+a[2][3]=92,當(dāng)i=3時(shí),3+1=4,if后面括號(hào)里的表達(dá)式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán),當(dāng)i=3時(shí),if后面括號(hào)里的表達(dá)式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán)當(dāng)i=4時(shí)while循環(huán)結(jié)束,所以最后輸出的s的值為92。
39.軟件外部功能軟件外部功能
40.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對(duì)鏈表的定義。
41.D解析:C語言中,常用的數(shù)據(jù)類型有int,char,float,double等,但C標(biāo)準(zhǔn)沒有具體規(guī)定以上各類數(shù)據(jù)所占內(nèi)存字節(jié)數(shù),只要求long型數(shù)據(jù)長度不短于int型,short型不長于int型,具體如何實(shí)現(xiàn),由各計(jì)算機(jī)系統(tǒng)自行決定。
42.D解析:本題考查數(shù)組指針的應(yīng)用。選項(xiàng)D)第一層括號(hào)中為數(shù)組a中第i項(xiàng)元素的值,外面再加指針運(yùn)算符沒有意義。
43.A解析:本題利用多重for循環(huán)的嵌套來實(shí)現(xiàn)對(duì)二維數(shù)組元素的按列排序。利用最外層循環(huán)來實(shí)現(xiàn)對(duì)列的控制。內(nèi)部循環(huán)利用選擇法對(duì)數(shù)組元素按照從小到大的順序進(jìn)行排列,最后輸出對(duì)角線上的元素值。
44.C解析:本題涉及C語言基本的3個(gè)知識(shí)點(diǎn):①C語言的源程序是由函數(shù)構(gòu)成的,函數(shù)是其基本單位,每一個(gè)函數(shù)完成相對(duì)獨(dú)立的功能,其中只能包括一個(gè)主函數(shù);②C語言規(guī)定每個(gè)語句以分號(hào)結(jié)束,其書寫格式是自由的,一條語句可以寫在不同的行上,或者一行也可以寫多條語句;③注釋行雖然對(duì)程序的運(yùn)行不起作用,但是它可以方便程序員閱讀,提高程序的可讀性和可移植性,所以書寫注釋行還是很有必要的。
45.D解析:本題考查while循環(huán)。第一次循環(huán),先拿x的值和(y-1)比較,此時(shí)x=1,y-1=2,循環(huán)條件成立,比較完將x的值加1,此時(shí)x=2,進(jìn)入循環(huán),a=a+1=1,判斷if語句的控制條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),先拿x的值和(y-1)比較,此時(shí)x=2,y-1=1,循環(huán)條件成立,比較完將x的值加1,此時(shí)x=3,進(jìn)入循環(huán),a=a+1=2,判斷if語句的控制條件是否成立,y<x成立,執(zhí)行break語句退出循環(huán)。
46.A解析:本題題意要求刪除所有空格,即除了空格以外的其他所有字符都要留下。由于C語言中沒有直接刪除字符的操作,所以我們對(duì)于刪除字符的操作都是采用'留下'字符的算法,以前的題目亦是如此。用str[i]從串頭到串尾逐一走動(dòng),每走到一個(gè)字符都判斷其是否為空格,若不是空格(注意在if()的單引號(hào)之間有一個(gè)空格),則將其保存str[j]中。注意j的下標(biāo)變化、初值及最后加串結(jié)束符\'\\0\'。
47.C解析:for語句中的表達(dá)式可以部分或全部省略,但兩個(gè)“;”不能省略,若3個(gè)表達(dá)式均省略,會(huì)因?yàn)槿鄙贄l件判斷,導(dǎo)致循環(huán)無限執(zhí)行,而形成死循環(huán)。本題中當(dāng)i的值為5的時(shí)候,循環(huán)終止。
48.B解析:<優(yōu)先級(jí)高于==高于&&高于||高于=。首先計(jì)算表達(dá)式y(tǒng)<z的值,y<z為假,表達(dá)式的值為0,則邏輯表達(dá)式y(tǒng)<z&&z==z的值也為0,||左側(cè)y的值為非零值3,所以表達(dá)式的值為1,將1賦值給x,賦值表達(dá)式的值是1。
49.B解析:在C語言程序中,用單引號(hào)把一個(gè)字符或反斜線后跟一個(gè)特定的字符括起來表示一個(gè)字符常量。選項(xiàng)A)、C)和D)為正確的字符常量,而選項(xiàng)B)是用雙引號(hào)括起來的字符,表示一個(gè)字符串常量。
50.B解析:本題考查循環(huán)語句的嵌套以及條件的判斷問題。在程序中,內(nèi)層循環(huán)判斷條件為'\ue008j<=i\ue009',而j的初值為3,故當(dāng)i的值為1和2時(shí),內(nèi)層循環(huán)體都不會(huì)被執(zhí)行。只有當(dāng)i和j都等于3時(shí)才會(huì)執(zhí)行一次。m的值為55對(duì)3取模,計(jì)算結(jié)果為1。
51.C本題主要考查逗號(hào)表達(dá)式。逗號(hào)是一個(gè)特殊的運(yùn)算符,它具有所有運(yùn)算符中最低的優(yōu)先級(jí)。在C語言中,用它可以將兩個(gè)表達(dá)式連接起來,逗號(hào)表達(dá)式的一般表現(xiàn)形式為:
表達(dá)式1,表達(dá)式2,…,表達(dá)式n
逗號(hào)表達(dá)式的求解過程是:先求解表達(dá)式1,再求解表達(dá)式2,依次往后計(jì)算,整個(gè)逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,如“3+5,5+6”的值是11。
在本題中,逗號(hào)表達(dá)式為i=4,j=16,k=32,根據(jù)上面的分析,計(jì)算逗號(hào)表達(dá)式得到的結(jié)果為k=32,最后將逗號(hào)表達(dá)式的結(jié)果賦值給變量x,那么變量x的值為32。因此,本題的正確答案選C。
52.A解析:關(guān)系表中,每一行稱為一個(gè)元組,對(duì)應(yīng)表中的一條記錄;每一列稱為表中的一個(gè)屬性,對(duì)應(yīng)表中的一個(gè)字段;在二維表中凡能惟一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。
53.B解析:在main函數(shù)中定義了一個(gè)structabc類型的數(shù)組,同時(shí)分別利用{1,2,3}及(4,5,6}對(duì)數(shù)組中兩個(gè)元素進(jìn)行初始化。在該結(jié)構(gòu)體,依次對(duì)其中的a,b,c三個(gè)變量進(jìn)行初始化。故s[0].a=1,s[1].b=5,所以本題輸出為6。
54.B
55.B解析:do-while循環(huán)的功能是對(duì)數(shù)組a中的元素賦值,值為0、1、0、0、1。for循環(huán)的功能是將數(shù)組a中元素按下標(biāo)從大到小的順序輸出,所以選項(xiàng)B符合題意。
56.C解析:C語言中標(biāo)識(shí)符的命名必須遵守一定的規(guī)則:標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須是字母或下劃線。同時(shí),在C語言的標(biāo)識(shí)符中是區(qū)分大小寫字母的。C選項(xiàng)中的標(biāo)識(shí)符以&開頭,不符合C語言中標(biāo)識(shí)符的命名規(guī)則。
57.D解析:該函數(shù)用來使兩個(gè)字符串連接成為一個(gè)字符串。strcat(str1,str2)將str2中的字符連接到str1的字符后面,并在最后加一個(gè)“\\0”。連接后新的字符串存放在strl中。注意:用于字符串處理的函數(shù)。
58.D解析:在題中,i的值為3,由于“case3:”后面沒有break語句,所以繼續(xù)向下執(zhí)行“case4:”后面的語句,由于“case4:”后面的語句為break強(qiáng)行退出switch語句,所以,本題沒有任何輸出。
59.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。
60.A解析:本題考查的重點(diǎn)是typedef的理解運(yùn)用。C語言允許通過typedef為數(shù)據(jù)類型定義新名字,但是,它并非是生成新的數(shù)據(jù)類型,因此選項(xiàng)A是錯(cuò)誤的。
61.D本題考查對(duì)程序作用的理解。該函數(shù)具有兩個(gè)形參a和n,a為數(shù)組名,n為數(shù)組中元素的個(gè)數(shù)。函數(shù)的返回值為p,這里p為數(shù)組的下標(biāo)。初始時(shí),i、j、p都為0,for循環(huán)的初始表達(dá)式為i=j,條件表達(dá)式為i<n,也就是當(dāng)i=n時(shí),for循環(huán)結(jié)束。該for循環(huán)表達(dá)的含義為:初始時(shí),令a[i]=a[p]=a[0],隨后i可從0開始遞增,直到n-1,對(duì)于每一個(gè)a[i],都與a[p]進(jìn)行比較,空白處需要填入語句的部分是if語句滿足條件后要進(jìn)行的操作,表示如果a[i]<a[p],應(yīng)當(dāng)進(jìn)行怎樣的處理。選項(xiàng)A是令i=p,此時(shí)整個(gè)程序中p的值沒有發(fā)生改變,p=0,即如果a[i]<a[p],則令i=0,回到了初始化的狀態(tài),這樣在for語句中造成了死循環(huán),該選項(xiàng)錯(cuò)誤。選項(xiàng)B是令a[p]=a[i],整個(gè)程序在運(yùn)行過程中,p的值依然沒有變化,p=0,即如果a[i]<a[0],則令a[0]=a[i],整個(gè)程序運(yùn)行結(jié)束后,a[0]的數(shù)值應(yīng)該為整個(gè)數(shù)組的最小值,用return語句返回下標(biāo)0沒有意義。選項(xiàng)C是令p=j,程序在運(yùn)行過程中,j的值和p的值都沒有發(fā)生改變,整個(gè)程序沒有意義。選項(xiàng)D是p=i,該語句的含義是如果a[i]<a[p],則令p=i,程序結(jié)束后則有a[p]為數(shù)組中的最小值,將最小值的下標(biāo)返回。
62.B
63.C結(jié)構(gòu)化程序設(shè)計(jì)的原則和方法之一是限制使用GOT0語句,但不是絕對(duì)不允許使用GOT0語句。其他三項(xiàng)為結(jié)構(gòu)化程序設(shè)計(jì)的原則。
64.B本題中遇到“\”字符循環(huán)結(jié)束,所以只統(tǒng)計(jì)“\”之前的數(shù)字字符,所以為3。
65.A\n兩個(gè)實(shí)體之間的聯(lián)系實(shí)際上是實(shí)體集問的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有下面幾種,即一對(duì)一的聯(lián)系、一對(duì)多(或多對(duì)一)的聯(lián)系和多對(duì)多的聯(lián)系;概念模型便于向各種模型轉(zhuǎn)換。由于概念模型不依賴于具體的數(shù)據(jù)庫管理系統(tǒng),因此,容易向關(guān)系模型、網(wǎng)狀模型和層次模型等各種模型轉(zhuǎn)換。
\n
66.B
67.A在本題中,程序首先定義了一個(gè)結(jié)構(gòu)體,結(jié)構(gòu)體中有兩個(gè)成員變量,一個(gè)是整型,另一個(gè)是指向該結(jié)構(gòu)體的指針。然后程序定義了一無返回值的函數(shù)set,該函數(shù)帶有三個(gè)參數(shù),第一個(gè)是結(jié)構(gòu)體指針變量k,第二個(gè)是整型變量i,第三個(gè)是整型指針變量b。在函數(shù)體中,首先定義了兩個(gè)整型變量,然后執(zhí)行for循環(huán),從循環(huán)變量的初始值及循環(huán)結(jié)束條件我們可以知道,循環(huán)執(zhí)行的次數(shù)與形參變量i有關(guān),從循環(huán)體中我們可以看出,該循環(huán)是將結(jié)構(gòu)體數(shù)組中的前一個(gè)結(jié)構(gòu)體的指針成員指向后一個(gè)結(jié)構(gòu)體的首地址,并用數(shù)組b中的值給結(jié)構(gòu)體的成員變量a賦值。
在主函數(shù)中,定義了一個(gè)大小為5的結(jié)構(gòu)體數(shù)組k和一個(gè)結(jié)構(gòu)體指針p,然后定義了一個(gè)數(shù)組d,并給數(shù)組d進(jìn)行了初始化操作,然后調(diào)用函數(shù)set,實(shí)參分別為結(jié)構(gòu)體數(shù)組k、5和數(shù)組d,結(jié)合上面我們對(duì)set函數(shù)的分析可以知道,此時(shí)執(zhí)行set的for循環(huán),可以是結(jié)構(gòu)體數(shù)組中各結(jié)構(gòu)體變量的指針成員next指向下一個(gè)結(jié)構(gòu)體變量,并將該結(jié)構(gòu)體變量的成員a賦值為數(shù)組d的與之位置相對(duì)應(yīng)的值,如結(jié)構(gòu)體數(shù)組中第一個(gè)結(jié)構(gòu)體變量的a被賦值為數(shù)組d中的第一個(gè)元素值,即23。那么函數(shù)調(diào)用后,結(jié)構(gòu)體數(shù)組各元素的成員a的值分別為23、34、45、56、67。
函數(shù)調(diào)用后,運(yùn)行p=k+1;語句,該語句的作用是使結(jié)構(gòu)體指針變量p執(zhí)行結(jié)構(gòu)體數(shù)組k的第二個(gè)元素,然后執(zhí)行輸出語句,本題要填的空就在輸出語句中,根據(jù)題目要求,要輸出一個(gè)45的值,當(dāng)然,用數(shù)組d輸出這么一個(gè)結(jié)果很簡單,為d[2],但選項(xiàng)中并沒有這項(xiàng),而是需要我們從結(jié)構(gòu)體數(shù)組中輸出這個(gè)值,從上面的分析我們知道,該值對(duì)應(yīng)結(jié)構(gòu)體數(shù)組第三個(gè)元素的成員,而當(dāng)前的p執(zhí)行第二個(gè)元素,從四個(gè)選項(xiàng)來分析,只有A選項(xiàng)能完成輸出45的任務(wù)。
B選項(xiàng)中的++p->a由于運(yùn)算符優(yōu)先級(jí)問題,首先運(yùn)行p->a,輸出的是34,然后加1,即輸出35。
C選項(xiàng)中的(*p).a++等于((*p).a)++,這樣的結(jié)果是34++,最后的輸出結(jié)果是34。
D選項(xiàng)中的p++->a等價(jià)于(p++)->a,顯然是輸出第二個(gè)結(jié)構(gòu)體的a成員值,即34。
68.D
69.Ab=4不能作為左值,所以本題答案為A)。
70.C數(shù)據(jù)庫是存儲(chǔ)在一起的相關(guān)數(shù)據(jù)的集合,具有以下特點(diǎn)。
(1)實(shí)現(xiàn)數(shù)據(jù)共享。數(shù)據(jù)共享包含所有的用戶可同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù),也包括用戶可以用各種方式通過接口使用數(shù)據(jù)庫,并提供數(shù)據(jù)共享。
(2)減少數(shù)據(jù)的冗余度。同文件系統(tǒng)相比,由于數(shù)據(jù)庫實(shí)現(xiàn)了數(shù)據(jù)共享,從而避免了用戶各自建立應(yīng)用文件,減少了大量重復(fù)的數(shù)據(jù)和數(shù)據(jù)冗余,維護(hù)了數(shù)據(jù)的一致性。
(3)數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括數(shù)據(jù)庫的邏輯結(jié)構(gòu)和應(yīng)用程序相互獨(dú)立,也包括數(shù)據(jù)物理結(jié)構(gòu)的變化不影響數(shù)據(jù)的邏輯結(jié)構(gòu)。
(4)數(shù)據(jù)實(shí)現(xiàn)集中控制。在文件管理方式中,數(shù)據(jù)處于一種分散的狀態(tài),不同的用戶或同一用戶在不同的處理中,其文件之間毫無關(guān)系。利用數(shù)據(jù)庫可對(duì)數(shù)據(jù)進(jìn)行集中控制和管理,并通過數(shù)據(jù)模型表示各種數(shù)據(jù)的組織以及數(shù)據(jù)間的聯(lián)系。
(5)數(shù)據(jù)一致性和可維護(hù)性,以確保數(shù)據(jù)的安全性和可靠性。主要包括:①安全性控制。以防止數(shù)據(jù)丟失、錯(cuò)誤更新和越權(quán)使用。②完整性控制。保證數(shù)據(jù)的正確性、有效性和相容性。③并發(fā)控制。使在同一時(shí)間周期內(nèi),允許對(duì)數(shù)據(jù)實(shí)現(xiàn)多路存取,又能防止用戶之間的不正常交互作用。④故障的發(fā)現(xiàn)和恢復(fù)。由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時(shí)發(fā)現(xiàn)故障和修復(fù)故障,從而防止數(shù)據(jù)被破壞。
(6)故障恢復(fù)。由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時(shí)發(fā)現(xiàn)故障和修復(fù)故障,從而防止數(shù)據(jù)被破壞。數(shù)據(jù)庫系統(tǒng)能盡快恢復(fù)數(shù)據(jù)庫系統(tǒng)運(yùn)行時(shí)出現(xiàn)的故障,可能是物理上或是邏輯上的錯(cuò)誤。比如對(duì)系統(tǒng)的誤操作造成的數(shù)據(jù)錯(cuò)誤等。
數(shù)據(jù)庫是不可能避免一切數(shù)據(jù)都沒有重復(fù)的,并且有些情況下需要有重復(fù)的數(shù)據(jù),比如數(shù)據(jù)庫恢復(fù)技術(shù)需要一定的數(shù)據(jù)冗余度。
71.D解析:在定義函數(shù)時(shí)函數(shù)名后面括弧中的變量名稱為“形式參數(shù)”(簡稱形參),在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括弧中的參數(shù)(可以是一個(gè)表達(dá)式)稱為“實(shí)際參數(shù)”(簡稱實(shí)參)。C語言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。故本題應(yīng)該選擇D。
72.D
73.D數(shù)據(jù)流圖DFD是結(jié)構(gòu)化分析方法最主要的一種圖形工具,不屬于過程設(shè)計(jì)工具。
74.B
75.B
76.C函數(shù)f的功能是利用冒泡排序方法,將二維字符數(shù)組的前n行進(jìn)行遞增排序。
注意,本題目排序時(shí)整個(gè)字符串都交換。數(shù)組P排序后的結(jié)果為
77.D
78.B
79.D當(dāng)k=1時(shí),循環(huán)成立,輸出w[l]的數(shù)組即EFGH,接著執(zhí)行k++后k為2;當(dāng)k=2時(shí),循環(huán)成立,輸出w[2]的數(shù)組即IJKL,接著執(zhí)行k++后,k為3;當(dāng)k=3時(shí),循環(huán)不成立,退出。
80.A
81.82.1voidfun(inta,intb,long*c)2{3*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);4}本題給出兩個(gè)兩位數(shù)的正整數(shù)。分別取出兩個(gè)數(shù)各位上的數(shù)字,再按條件組成一個(gè)新數(shù)。取整數(shù)a十位數(shù)的方法為a/10,取整數(shù)a個(gè)位數(shù)的方法為a%10。同理可取出整數(shù)b的個(gè)位數(shù)和十位數(shù)。2021-2022年湖南省湘潭市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.對(duì)于循環(huán)隊(duì)列()。
A.無法判斷隊(duì)列是否為空B.無法判斷隊(duì)列是否為滿C.隊(duì)列不可能滿D.以上說法都不對(duì)
2.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則
A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無限次
3.以下敘述中錯(cuò)誤的是()。
A.C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的
B.用C語言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行
C.通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行
D.在沒有安裝C語言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件
4.有以下程序:#include<stdio.h>main(){inta=1,b=2,c=3,d=4,r=0;if(a!=1)r=1;if(b==2)r=2;elseif(c!=3)r=3;elseif(d==4)r=4;printf(“%d\n”,r);}程序運(yùn)行后的輸出結(jié)果是()。
A.0B.4C.1D.2
5.數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)器內(nèi)表示時(shí),如果元素在存儲(chǔ)器中的相對(duì)位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱這種存儲(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)
6.有以下程序:#include<stdi0.h>main(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;)printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.9,18B.8,11C.7,11D.10,14
7.if語句基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。
A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值
8.若函數(shù)中有定義語句:inta;,則()。
A.系統(tǒng)將自動(dòng)給a賦初值0B.這時(shí)a中的值是和隨機(jī)數(shù)C.系統(tǒng)將自動(dòng)給a賦初值-1D.這a中無任何值
9.
10.鏈表不具備的特點(diǎn)是()。
A.可隨機(jī)訪問任一結(jié)點(diǎn)B.插入刪除不需要移動(dòng)元素C.不必事先估計(jì)存儲(chǔ)空間D.所需空間與其長度成正比
11.有以下程序:#include<stdio.h>main{shortC=124;C=C_;printf("%d\n",c);}若要使程序的運(yùn)行結(jié)果為248,應(yīng)在下劃線處填入的是()。A.>>2B.|248C.&0248D.<<1
12.算法的時(shí)間復(fù)雜度是指______。
A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長度C.算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)
13.數(shù)據(jù)庫設(shè)計(jì)中,用E—R圖來描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計(jì)的()。
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
14.是哈希查找的沖突處理方法()。
A.求余法B.平均取中法C.二分法D.開放地址法
15.以下不能定義為用戶標(biāo)識(shí)符的是()。
A.VoidB.scanfC.intD._3com_
16.
17.有以下程序main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運(yùn)行后的輸出結(jié)果是(選項(xiàng)D中的第一行是空行)A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No
18.用向量和單鏈表示的有序表均可使用折半查找方法來提高查找速度()A.是B.否
19.有以下程序:#include<stdio.h>intfun{staticintx=1;x+=1;returnX;}main{inti,S=1;for(i=1;i<=S;i++)s+=fun;printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。A.11B.21C.6D.120
20.
二、2.填空題(20題)21.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
22.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。
23.以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
請(qǐng)?zhí)羁铡?/p>
doublefun(doublex){return(x*x-2*x+6);}
{doublex,y1,y2;
printf("Enterx:");scanf("%lf",&x);
y1=fun([6]);
y2=fun([7]);
printf("y1=%lf,y2=%lf\n",y1,y
24.下面程序的輸出是【】。
main()
{enumem{em1=3,em2=l,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s\n",aa[eml],aa[em2],aa[em3]);
}
25.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管叫‘管理多個(gè)項(xiàng)目,則實(shí)體“主管”與實(shí)體“”的聯(lián)系屬于______。
26.數(shù)據(jù)流圖的類型有【】和事務(wù)型。
27.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。
28.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱為算法的【】。
29.若有定義floatb[15],*p=b;,且數(shù)組b的首地址為200H,則p+13所指向的數(shù)組元素的地址為______。
30.在面向?qū)ο蟮脑O(shè)計(jì)中,用來請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求稱為【】。
31.以下程序的輸出結(jié)果是【】。
main()
{charc=′z′;
printf("%c",c-25);}
32.若x和a均是int型變量,則計(jì)算完x=(a=4,6*2)后的x值為______。
33.設(shè)a、b、c為int型變量,且a=10、b=5、c=1,則執(zhí)行完以下語句,a的值變?yōu)椤尽俊?/p>
a/=10-(++b)-(c--);
34.在鏈表的運(yùn)算過程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是______。
35.數(shù)據(jù)庫設(shè)計(jì)分為以下六個(gè)設(shè)計(jì)階段:需求分析階段、【】、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
36.表示""整數(shù)x的絕對(duì)值大于5""時(shí)值為""真""的C語言表達(dá)式是【】。
37.軟件定義時(shí)期主要包括______和需求分析兩個(gè)階段。
38.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inta[4][4]={{1,2,3,4),{5,6,7,8},{11,12,13,14},{15,16,17,18}};
inti=0,j=0,s=0;
while(i++<4)
{
if(i==2||i==4)continue;
j=0;
do{S+=a[i][j];j++;}while(j<4);
}
printf("%d\n",s);
}
39.軟件測試方法中,黑盒測試法和白盒測試法是常用的方法,其中黑盒測試法主要是用于測試【】。
40.有如下圖所示的雙鏈表結(jié)構(gòu),請(qǐng)根據(jù)圖示完成結(jié)構(gòu)體的定義:
structaa
{intdata;
【】}node;
三、1.選擇題(20題)41.在C語言中,int,char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)
A.由用戶自己定義B.均為2個(gè)字節(jié)C.是任意的D.由所用機(jī)器的機(jī)器字長決定
42.有以下語句,則對(duì)a數(shù)組元素的引用不正確的是(0≤i≤9)()。inta[10]={0,1,2,3,4,5,6,7,8,9},*P=a;
A.a[P-a]B.*(&a[i])C.P[i]D.*(*(a+i))
43.有以下程序main(){inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;for(i=0;i<4;i++)for(j=0;j<3;j++)for(k=j+1;k<4;k++)if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/for(i=0;i<4;i++)printf("%d,",a[i][i]);
A.1,6,5,7,B.8,7,3,1,C.4,7,5,2,D.1,6,2,1,
44.下列說法不正確的是()。
A.C程序是以函數(shù)為基本單位的,整個(gè)程序由函數(shù)組成
B.C語言程序的一條語句可以寫在不同的行上
C.C程序的注釋行對(duì)程序的運(yùn)行功能不起任何作用,所以注釋應(yīng)該盡可能少寫
D.C程序的每個(gè)語句都以分號(hào)結(jié)束
45.下列程序的運(yùn)行結(jié)果是()。main(){intx=1,y=3,a=0;while(x++!=(y=1)){a+1;if(y<x)break;}printf("%d,%d,%d\n”,x,y,a);}
A.2,3,2B.2,3,1C.1,3,3D.3,1,2
46.閱讀下列程序,當(dāng)運(yùn)行函數(shù)時(shí),輸入asdafaaz67,則輸出為
#include<stdio.h>
#include<ctype.h>
#include<string.h>
intfun(char*str)
{inti,j=0;
for(i=0;str[i]!=′\0′;i++)
if(str[i]!=′′)str[j++]=str[i];
str[j]=′\0′;
}
main()
{
charstr[81];
intn;
printf("Inputastring:");
gets(str);
puts(str);
fun(str);
printf("%s\n",str);
}
A.asdafaaz67B.asdafaaz67C.asdD.z67
47.執(zhí)行語句for(i=1;i++<4;);后變量i的值是______。
A.3B.4C.5D.不定
48.若有如下定義:intx=6,y=3,z=2;則表達(dá)式x=y||y<z&&z==z的值是()。
A.0B.1C.4D.6
49.以下選項(xiàng)中不屬于字符常量的是
A.'C'B.CC.'\xCC'D.'\072'
50.有以下程序
#include<stdio.h>
main()
{inti,j,m=55;
for(i=1;i<=3;i++)
for(j=3;j<=i;j++)m=m%j;
printf("%d\n",m);
}
程序的運(yùn)行結(jié)果是
A.0B.1C.2D.3
51.若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為()。
A.4B.16C.32D.52
52.關(guān)系表中的每一橫行稱為一個(gè)()。A.元組B.字段C.屬性D.碼
53.下面程序運(yùn)行后的輸出結(jié)果是______。structabc{inta,b,c;}main(){structabcs[2]={{1,2,3},{4,5,6}};intt=-s[0].a+s[1].b;printf("%d\n",t);}
A.5B.6C.7D.8
54.若有定義和語句:inta[10]={1,2,3,4,5,6,?,8,9,10},*p=a;則不能表示a數(shù)組元素的表達(dá)式是()
A.*pB.a[10]C.*aD.a[p-a)
55.以下程序運(yùn)行后,輸出結(jié)果是()。main(){inty=18,i=0,j,a[8];do{a[i]’y%2;i++;y=y/2;}while(y>=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n");}
A.1000B.10010C.110D.10100
56.以下選項(xiàng)中不合法的標(biāo)識(shí)符是A.printB.FORC.&aD._00
57.若有說明chars1[30]="Thecity",s2[]="isbeautiful";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。
A.s1的內(nèi)容更新為Thecityisbeautiful\0
B.s1的內(nèi)容更新為isbeaut\0
C.s1的內(nèi)容更新為Thecity\0isbeautiful\0
D.s1的內(nèi)容更新為Thecityisbeautiful\0
58.下列程序的輸出結(jié)果是______。main(){inti=3;switch(i){case1:casc2:printf(("%d",i);case3:case4:break;defanlt:printf("OK");}}
A.0B.3C.OKD.沒有任何輸出
59.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4
60.以下關(guān)于typedef的敘述錯(cuò)誤的是()。
A.用typedef可以增加新類型
B.typedef只是將已存在的類型用一個(gè)新的名字來代表
C.用typedef可以為各種類型說明一個(gè)新名,但不能用來為變量說明一個(gè)新名
D.用typedef為類型說明一個(gè)新名,通??梢栽黾映绦虻目勺x性
四、選擇題(20題)61.有以下程序
fun(int*a,intn)
{inti,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p])
____;
return(p);
}
在下畫線處應(yīng)填入的是
A.i=pB.a(chǎn)[p]=a[i]
C.p=jD.p=i
62.
63.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是()。
A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口
B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)
C.不允許使用GOTO語句
D.語言中若沒有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬
64.有以下程序:
I程序運(yùn)行后的輸出結(jié)果是()。
A.0B.3C.7D.8
65.下列敘述中,正確的是()。
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ù)模型
66.(38)索引屬于()
A.模式
B.內(nèi)模式
C.外模式
D.概念模式
67.有如下程序段
#include"stdio.h"
typedefstructaa
{inta;
structaa*next;
}M;
voidset(M*k,inti,int*b)
{intj,d=0;
for(j=1;j<i;j++)
{k[j-1].next=&k[j];
k[j-1].a=b[d++];
}
k[j].a=b[d];
}
main()
{Mk[5],*p;
intd[5]={23,34,45,56,67};
set(k,5,d);
p=k+1;
printf("%d\n",________);
}
要輸出45,則在下畫線處應(yīng)填入的選項(xiàng)是
A.p->next->aB.++p->a
C.(*p).a(chǎn)++D.p++->a
68.
69.若有定義語句:
70.下列說法不正確的是
A.?dāng)?shù)據(jù)庫減少了數(shù)據(jù)冗余B.?dāng)?shù)據(jù)庫實(shí)現(xiàn)了數(shù)據(jù)的共享
C.?dāng)?shù)據(jù)庫避免了一切數(shù)據(jù)的重復(fù)D.?dāng)?shù)據(jù)庫具有較高的數(shù)據(jù)獨(dú)立性
71.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。
A.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元
B.形參只是形式上的存在,不占用具體存儲(chǔ)單元
C.同名的實(shí)參和形參占同一存儲(chǔ)單元
D.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元
72.
73.在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是()。
A.PDL(過程設(shè)計(jì)語言B.PAD圖C.N—S圖D.DFD圖
74.
75.
76.以下程序運(yùn)行后的輸出結(jié)果是()。
A.2B.4C.6D.3
77.(75)下列不屬于結(jié)構(gòu)化分析的常用工具的是()
A.數(shù)據(jù)流圖
B.數(shù)據(jù)字典
C.判定樹
D.PAD圖
78.
79.以下程序的輸出結(jié)果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);A.A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:先從鍵盤上輸入一個(gè)3行3列的矩陣的各個(gè)元素的值,然后輸出主對(duì)角線元素之和。請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,函數(shù)fmi()的功能是將a、b中的兩個(gè)正整數(shù)合并成一個(gè)新的整數(shù)存放在c中。合并的方式是將a中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上,b中的十位和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上。例如,a=45,b=12,調(diào)用該函數(shù)后,c=5241。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:
參考答案
1.D
2.B解析:本題考查while語句的使用。本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符'!'的優(yōu)先級(jí)大于不等于運(yùn)算符'!='的優(yōu)先級(jí)。
3.Dc語言的可執(zhí)行程序是由一系列機(jī)器指令組成的。用C語言編寫的源程序必須經(jīng)過編譯生成二進(jìn)制目標(biāo)代碼,再經(jīng)過連接才能運(yùn)行,并且可以脫離c語言集成開發(fā)環(huán)境。故答案為D)。
4.D第1個(gè)if語句是單獨(dú)的一條語句,所以執(zhí)行完第1個(gè)if語句后,r的值仍為初值0。第2個(gè)if語句與后續(xù)的兩個(gè)elseif都是嵌套的,所以只會(huì)執(zhí)行其中的一個(gè)語句,即“if(b==2)r=2;”這條語句。故本題答案為D選項(xiàng)。
5.C
6.D第一次執(zhí)行循環(huán)前,a=1,滿足a<8,執(zhí)行循環(huán)后,b=3,a=3。執(zhí)行完a++操作后,a=4。由于a<8,執(zhí)行第二次循環(huán)后,b=7,a=6,執(zhí)行完a++操作后,a=7。由于a<8,執(zhí)行第三次循環(huán)后,b=14,a=9,執(zhí)行完a++操作后a=10。此時(shí)不滿足a<8,跳出循環(huán)。
7.D考查if循環(huán)語句。if(表達(dá)式),其中表達(dá)式是一個(gè)條件,條件中可以是任意的合法的數(shù)值。
8.B本題考查變量賦值基本概念。在聲明一個(gè)變量后,如果未顯式的對(duì)其進(jìn)行賦值,則它的值是一個(gè)隨機(jī)值。
9.D
10.A
11.D124的2進(jìn)制值為1111100,要輸出為248即124*2,則2進(jìn)制值為11111000,即右移l位,所以選D。
12.C解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工作量。為了客觀地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與編寫算法程序所使用的程序設(shè)計(jì)語言、執(zhí)行算法程序時(shí)所使用的計(jì)算的工具以及程序員的水平無關(guān)。選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤,因?yàn)樗惴ㄋ帉懙某绦蜷L度往往與程序設(shè)計(jì)語言以及程序員的水平有關(guān),同一個(gè)算法,用不同的程序設(shè)計(jì)語言或者不同的程序員所編寫出的程序其長度可能會(huì)大不相同。選項(xiàng)D錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序之中,其指令條數(shù)往往與程序設(shè)計(jì)語言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來度量算法的時(shí)間復(fù)雜度。所以,本題正確答案為C。
13.CC?!窘馕觥縀—R(Entity—Relationship)圖為實(shí)體一聯(lián)系圖,提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型。
14.D
15.C標(biāo)識(shí)符的命名可以由字母、數(shù)字或下劃線組成,并且第1個(gè)字符必須為字母或下劃線,另外用戶標(biāo)識(shí)符不能使用關(guān)鍵字。選項(xiàng)A中的Void可以定義為用戶標(biāo)識(shí)符,因?yàn)镃語言對(duì)大小寫敏感,Void與關(guān)鍵字void屬于不同的標(biāo)識(shí)符;選項(xiàng)B中的scanf是庫函數(shù)名,屬于預(yù)定義標(biāo)識(shí)符,它也可以作為用戶標(biāo)識(shí)符使用,不過通常不建議這么使用;選項(xiàng)C中的int屬于關(guān)鍵字,錯(cuò)誤;選項(xiàng)D符合標(biāo)識(shí)符的命名規(guī)則,也不屬于關(guān)鍵字,可以作為標(biāo)識(shí)符使用。本題答案為C選項(xiàng)。
16.A
17.B本題考核的知識(shí)點(diǎn)是puts()函數(shù)的應(yīng)用。主函數(shù)中定義了一個(gè)字符數(shù)組s并賦初值,一個(gè)字符串指針變量ps并讓它指向s。程序中p+4的地址為數(shù)組第5個(gè)元素的地址,而調(diào)用put(str_adr)函數(shù)時(shí),將從str_adr這一地址開始,依次輸出存儲(chǔ)單元中的字符,遇到第一個(gè)“\\0”時(shí)結(jié)束輸出,并自動(dòng)輸出一個(gè)換行符。所以put(p++4)將輸出n/No,put(s)將從s第一個(gè)元素開始輸出到第3個(gè)元素結(jié)束(因?yàn)閳?zhí)行*(p4)c0語句后s中的第5個(gè)元素的值為0,而s中的第4個(gè)元素為“\\”,puts將遇到“\\0”,結(jié)束輸出),即輸出yes。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
18.N
19.B本題考查靜態(tài)變量,C語言中靜態(tài)變量的生存期是從程序的開始到結(jié)束。本題中靜態(tài)變量x,隨著每次進(jìn)入循環(huán)不斷增長5次,返回的值分別為2、3、4、5、6。所以S=1+2+3+4+5+6=21,選B。
20.B
21.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類型,所以每次調(diào)用完于函數(shù)之后,變量a所做的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)療設(shè)備維修合同
- 2025年倉儲(chǔ)租金費(fèi)用合同
- 2025年家居和解協(xié)議書
- 2025年在線音樂電臺(tái)服務(wù)合約
- 2025年企業(yè)員工靈活用工管理服務(wù)合同
- 2025年分期付款游泳館會(huì)員購買合同
- 2025年度二零二五年度獼猴桃產(chǎn)業(yè)鏈金融服務(wù)平臺(tái)合作合同4篇
- 2025版小公司租車及車輛租賃售后服務(wù)合同2篇
- 二零二五版醫(yī)院康復(fù)病區(qū)承包服務(wù)協(xié)議2篇
- 二零二五年度木地板綠色環(huán)保材料采購合同4篇
- 光伏自發(fā)自用項(xiàng)目年用電清單和消納計(jì)算表
- 量子計(jì)算在醫(yī)學(xué)圖像處理中的潛力
- 阿里商旅整體差旅解決方案
- 浙江天臺(tái)歷史文化名城保護(hù)規(guī)劃說明書
- 邏輯思維訓(xùn)練500題
- 第八講 發(fā)展全過程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 實(shí)體瘤療效評(píng)價(jià)標(biāo)準(zhǔn)RECIST-1.1版中文
- 企業(yè)新春茶話會(huì)PPT模板
- GB/T 19185-2008交流線路帶電作業(yè)安全距離計(jì)算方法
- DIC診治新進(jìn)展課件
- 公路工程施工現(xiàn)場安全檢查手冊(cè)
評(píng)論
0/150
提交評(píng)論