




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年山西省臨汾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.若有說(shuō)明語(yǔ)句:double*P,a;則能通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。
A.*p=&a;scanf("%lf",p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%lf",*p);
D.p=&a;scanf("%lf",p);
2.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])
B.doublefun(double*a)
C.doublefun(doublea[])
D.doublefun(doublea)
3.
4.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
5.以下關(guān)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的敘述中,()是不正確的。
A.結(jié)點(diǎn)除自身信息外還包括指針域,因此存儲(chǔ)密度小于順序存儲(chǔ)結(jié)構(gòu)
B.邏輯上相鄰的結(jié)點(diǎn)物理上不必鄰接
C.可以通過(guò)計(jì)算直接確定第i個(gè)結(jié)點(diǎn)的存儲(chǔ)地址
D.插入、刪除運(yùn)算操作方便,不必移動(dòng)結(jié)點(diǎn)
6.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
7.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。A.-1B.1C.4D.0
8.十六進(jìn)制數(shù)BB轉(zhuǎn)換成十進(jìn)制數(shù)是()
A.192B.256C.187D.121
9.fgetc函數(shù)的作用是從指定文件讀入—個(gè)字符,該文件的打開(kāi)方式必須是______。
A.只讀B.追加C.讀或讀寫D.以上均正確
10.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序的易讀性
11.某二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn),則該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)是A.10B.8C.6D.4
12.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}執(zhí)行后輸出的結(jié)果是A.11122B.12C.12020D.120
13.常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。
A.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B.散列方法和索引方式C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組D.線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)
14.有以下程序:#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf(“%d\n”,fun(2*a,fun(b,c)));}程序的運(yùn)行結(jié)果是()。
A.6B.3C.8D.12
15.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的
B.用C語(yǔ)言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行
C.通過(guò)編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行
D.在沒(méi)有安裝C語(yǔ)言集成開(kāi)發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件
16.
17.設(shè)有以下定義uniondata{intd1;floatd2;}demo;則下面敘述中錯(cuò)誤的是()。A.A.變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同
B.變量demo中各成員的地址相同
C.變量demo和各成員的地址相同
D.若給demo.d1賦99后,demo.d2中的值是99.0
18.
19.設(shè)散列表長(zhǎng)m=14,散列函數(shù)H(K)=K%11,已知表中已有4個(gè)結(jié)點(diǎn):r(15)=4;r(38)=5;r(61)=6;r(84)=7,其他地址為空,如用二次探測(cè)再散列處理沖突,關(guān)鍵字為49的結(jié)點(diǎn)地址是_____。
A.8B.3C.5D.9
20.以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),
A.均占4個(gè)字節(jié)B.根據(jù)數(shù)據(jù)的大小來(lái)決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語(yǔ)言編譯系統(tǒng)決定
二、2.填空題(20題)21.以下程序的功能是輸出如下形式的方陣:
13141516
9101112
5678
1234
請(qǐng)?zhí)羁铡?/p>
main()
{inti,i,x;
for(j=4;j______;j--)
{for(i=1;i<4;i++)
{x=(j-1)*4+______;
printf("%4d",x);
}
printf("\n");
}
22.耦合和內(nèi)聚是評(píng)價(jià)模塊獨(dú)立性的兩個(gè)主要標(biāo)準(zhǔn),其中______反映了模塊內(nèi)各成分之間的聯(lián)系。
23.下面程序執(zhí)行后輸出的結(jié)果是【】。
intm=13;
intfun(intx,inty)
{intm=3;
return(x*y-m);
}
main()
{inta=7,b=5;
printf("%d\n",fun(a,b)/m);
}
24.設(shè)有以下程序,為使之正確運(yùn)行,請(qǐng)?jiān)跈M線中填入應(yīng)包含的命令行。(注:try_me()函數(shù)在a:\myfile.txt中有定義。)
______
main()
{printf("\n");
try_me();
printf("\n");}
25.診斷和改正程序中錯(cuò)誤的工作通常稱為【】。
26.請(qǐng)讀程序片段:
inta=17;
printf("%d,%o\n",a,a);
以上程序片段的輸出結(jié)果是【】。
27.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{inta=2,b=-1,C=2;
if(a<B)
if(b<O)c=0;
elsec++;
printf("%d\n",C);
}
28.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是【】。
#include"stdio.h"
main()
{charfun(char,int);
chara=′A′;
intb=13;
a=fun(a,b);
putchar(a);}
charfun(chara,intb)
{chark;
k=a+b;
returnk;}
29.下面程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
#defineSIZE12
main()
{chars[SIZE];intI;for(I=0;I<SIZE;I++)s[I]=′A′+I+321;
sub(s,7,SIZE-1);
for(I=0;I<SIZE;I++)printf("%c",s[I]);
printf("\n");}
sub(char*a,intt1,intt2)
{charch;
while(t1<t2)
{ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;}}
30.關(guān)系模型的數(shù)據(jù)操縱即是建立在關(guān)系上的數(shù)據(jù)操縱,一般有______、增加、刪除和修改四種操作。
31.若a是int型變量,則下列表達(dá)式的值為_(kāi)_____。
(a=2*3,a*2),a+4
32.以下程序運(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);
}
voidfun(intx,inty)
}
33.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。
34.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。
35.若變量n中的值為24,則prnt函數(shù)共輸出【】行。
voidprnt(intn,intaa[])
{inti;
for(i=1;i<=n;i++)
{printf("%6d",aa[i]);
if!(i%5))printf("\n");
}
printf("\n");
}
36.在索引查找或分塊查找中,首先查找【】,然后再查找相應(yīng)的【】,整個(gè)索引查找的平均查找長(zhǎng)度等于查找索引表的平均查找長(zhǎng)度與查找相應(yīng)子表的平均查找長(zhǎng)度之和。
37.數(shù)據(jù)的獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,這稱為_(kāi)_____。
38.以下定義的結(jié)構(gòu)體類型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。
structnode
{intinfo;
【】link;};
39.衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn),其中()是度量一個(gè)模塊功能強(qiáng)度的一個(gè)相對(duì)指標(biāo)。
40.以下程序運(yùn)行后輸出結(jié)果是【】。
#include<stdio,h>
voidswap(y)
{intt;
t=x;x=y;y=t:printf("%d%d",x,y);
}
main()
{ihta=3,b=4:
swap(a,b);prinff("%d%d",a,b);
}
三、1.選擇題(20題)41.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
42.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是
A.因變量類型與格式描述符的類型不匹配輸出無(wú)定值
B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值
C.a,97,12k=12
D.a,97,k=12
43.下列程序執(zhí)行后輸出的結(jié)果是()#include<stdio.h>f(intA){intb=0;staticc=3;a=c++,b++;return(A);}main(){inta=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n",k);}
A.3B.0C.5D.4
44.以下程序的功能是:建立一個(gè)帶有頭結(jié)點(diǎn)的甲—向鏈表,并將存儲(chǔ)在數(shù)組中的字符依次轉(zhuǎn)存到鏈表的各個(gè)結(jié)點(diǎn)中,請(qǐng)從與下劃線處號(hào)碼對(duì)應(yīng)的一組選項(xiàng)中選擇出正確的選項(xiàng)。
#include<stdlib.h>
structnode
{chardata;structnode*next:};
(1)CreatList(char*s)
{
structnode*h,*p,*q;
h=(structnode*)mallocsizeof(structnode));
p=q=h;
while(*s!='\0')
{
p=(structnode*)malloc(sizeof(structnode));
p->data=(2);
q->next=p;
q-(3);
S++;
}
p->next='\0';
returnh;
}
main()
{
charstr[]="linklist";
structnode*head;
head=CreatList(str);
}
(1)
A.char*B.structnodeC.structnode*D.char
45.以下只有在使用時(shí)才為該類型變量分配存儲(chǔ)單元的存儲(chǔ)類說(shuō)明是______。
A.auto和static
B.auto和register
C.register和static
D.extern和register
46.有以下程序:main(){unsignedinta;intb=-1;a=b;printf("%u",a);}程序運(yùn)行后的輸出結(jié)果是()。
A.-1B.65535C.32767D.-32768
47.下列程序的執(zhí)行結(jié)果是()。#include<stdio.h>main(){inta,b,c;a=b=2;c=(a++)-1;printf("%d,%d",a,c);c+=-a+++(++b);printf("%d,%d",a,c);}
A.3,14,1B.3,14,2C.2,04,1D.2,14,1
48.以下程序的運(yùn)行結(jié)果是
#defineMAX(A,B)(A)>(B)?(A):(B)
#definePRINT(Y)printf("Y=%d\t",Y)
main()
{inta=1,b=2,c=3,d=4,t;
t=MAX(a+b,c+d);
PRINT(t);}
A.Y=3B.存在語(yǔ)法錯(cuò)誤C.Y=7D.Y=0
49.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()
A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)
50.以下程序段十,不能正確賦字符串(編譯時(shí)系統(tǒng)會(huì)提示錯(cuò)誤)的是()。
A.chars[10]="abedefg";
B.chart[]="abcdefS",*s=t;
C.chars[10];s="abcdefg";
D.chars[10];strcpy(s,"abcdefg");
51.設(shè)有如下程序:charsub(char*q){while(*q,='\0'){if(*q>='A'&&*q<='Z')*q=*q+32;elseif(*q>='a'&&*q<='z')*q=*q-32;printf("%c",*q);q++;}}main(){char*s="abcABC";sub(s);}則程序運(yùn)行后的輸出結(jié)果是()
A.ABCabcB.abcABCC.abcabcD.ABCABC
52.在數(shù)據(jù)管理技術(shù)發(fā)展過(guò)程中,文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的本質(zhì)區(qū)別是:數(shù)據(jù)庫(kù)系統(tǒng)具有______。
A.數(shù)據(jù)結(jié)構(gòu)化B.數(shù)據(jù)無(wú)冗余C.數(shù)據(jù)共享D.數(shù)據(jù)獨(dú)立性
53.閱讀下列程序,則運(yùn)行結(jié)果為
#include"stdio.h"
fun()
{staticintx=5;
x++;
returnx;}
main()
{inti,x;
for(i=0;i<3;i++)
x=fun();
printf("%d\n",x);}
A.5B.6C.7D.8
54.設(shè)有以下說(shuō)明語(yǔ)句typedefstruct{intn;charch[8];}PER;則下面敘述中正確的是
A.PER是結(jié)構(gòu)體變量名
B.PER是結(jié)構(gòu)體類型名
C.typedefstruct是結(jié)構(gòu)體類型
D.struct是結(jié)構(gòu)體類型名
55.已知一個(gè)有序線性表為(13,18,24,35,47,50,62,83,90,115,134),當(dāng)用二分法查找值為90的元素時(shí),查找成功的比較次數(shù)為()。
A.1B.2C.3D.9
56.下列程序輸出的結(jié)果是()。main(){inta;a=-4+4*5-6;printf("%d",a);a=4+4%5-6;printf("%d",a);a=-3+4%6/5;printf("%d",a);a=(7+6)%5/2;printf("%d",a);}
A.102-31B.10-221C.11-221D.10221
57.若一個(gè)外部變量的定義形式為staticintx;,那么,其中static的作用應(yīng)該是______。
A.將變量存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)B.使變量x可以由系統(tǒng)自動(dòng)初始化C.使x只能在本文件內(nèi)引用D.使x的值可以永久保留
58.下列用于printf函數(shù)的控制字符常量中,代表“橫向跳格”的字符常量是()
A.\bB.\tC.\rD.\f
59.下面程序的輸出結(jié)果是()#include<stdio.h>main(){inti,a[]={2,4,6,8};int*p=a;for(i=0;i<4;i++)a[i]=*p++;printf(*%d\n",a[2]);}
A.6B.8C.4D.2
60.若有如下程序段:structstudent{intnum;floatscore;}stu[3]={{10,85},{60,58},{32,23}};main(){structstudent*t;t=stu;}則下面表達(dá)式中值為58的是()。
A.(*t).numB.*(t++)->numC.(*++t)scoreD.(++t)->score
四、選擇題(20題)61.
62.下面關(guān)于完全二叉樹(shù)的敘述中,錯(cuò)誤的是______。A.A.除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值
B.可能缺少若干個(gè)左右葉子結(jié)點(diǎn)
C.完全二叉樹(shù)一般不是滿二叉樹(shù)
D.具有結(jié)點(diǎn)的完全二叉樹(shù)的深度為[log2n]+1
63.以下數(shù)組定義中錯(cuò)誤的是()。
64.
65.有以下程序:
voidmain()
{
inti=10,j=1;
printf("%d,%d\n",2*i--,++j*2);
}
執(zhí)行后輸出的結(jié)果是()。
A)20,4B)10,2
C)20,1D)10,4
66.在軟件開(kāi)發(fā)中,需求分析階段可以使用的工具是()。
A.N—s圖B.DFD圖C.PAD圖D.程序流程圖
67.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.11B.9C.6D.7
68.以下合法的十六進(jìn)制數(shù)是()。
A.0x
B.0x4De
C.0xlh
D.oX77
69.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
70.以下關(guān)于宏的敘述中正確的是()。
A.宏替換沒(méi)有數(shù)據(jù)類型限制
B.宏定義必須位于源程序中所有語(yǔ)句之前
C.宏名必須用大寫字母表示
D.宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間
71.有以下程序
72.下列工具中為需求分析常用工具的是()。
A.PADB.BFDC.N-SD.DFD
73.若已包括頭文件<string.h>且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語(yǔ)句錯(cuò)誤的是()。A.A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.sl="ABCDE";
D.for(i=0;i<6;i++)sl[i]=s2[i]
74.
75.
76.
77.
78.若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過(guò)return語(yǔ)句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是
79.
80.
有以下程序
#include<stdio.h>
main
{inty=9;
for(;y>0;y--)
if(y%3==0)printf("%d",--y);
}
程序的運(yùn)行結(jié)果是()。
A.741B.963C.852D.875421
五、程序改錯(cuò)題(1題)81.下列給定程序的功能是:讀入一個(gè)整數(shù)n(2<;=n<;=5000),打印它的所有為素?cái)?shù)的因子。例如,若輸入整數(shù)1234,則應(yīng)輸出2,617。請(qǐng)修改程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不能增選或刪行,也不能更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù)proc(),它的功能是:比較2個(gè)字符串的長(zhǎng)度(不得調(diào)用C語(yǔ)言中求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較長(zhǎng)的字符串。若2個(gè)字符串長(zhǎng)度相等,則返回第1個(gè)字符串。例如,若輸入jiangxi<;Enter>;beijing<;Enter>;則函數(shù)返回jiangxi。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.D解析:*p間接引用指針指向的變量,因此“(*p)=&a”不對(duì)。scanf()的輸入變量必須為地址,因此C是錯(cuò)誤的。
2.A由題可知fun的參數(shù)為變量,而a[15]為常量,所以答案為A。
3.B
4.C解析:程序流程圖是人們對(duì)解決問(wèn)題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;
表示邏輯條件。
5.C
6.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡(jiǎn)稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫(kù)系統(tǒng)三代的特點(diǎn)。
7.A本題考查do-while循環(huán)。當(dāng)--y是0(即y是o)時(shí)結(jié)束循環(huán),輸出--y,先將y的值減1再輸出Y的值。
8.C
9.D解析:fgetc函數(shù)是指從指定的文件讀入—個(gè)字符,該文件必須是以讀或讀寫方式打開(kāi)的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。
10.D解析:程序不僅是編寫完就結(jié)束了,為了測(cè)試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,即程序的易讀性,“清晰第一,效率第二”。
11.C根據(jù)二叉樹(shù)的性質(zhì),在任意二叉樹(shù)中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。
12.A解析:當(dāng)執(zhí)行switch語(yǔ)句時(shí),首先計(jì)算緊跟其后一對(duì)括號(hào)中的值,然后在語(yǔ)句體內(nèi)尋找與該值吻合的case標(biāo)號(hào)。若相等,則執(zhí)行該標(biāo)號(hào)后開(kāi)始的各語(yǔ)句,包括在其后的所有case和default后的語(yǔ)句,直到switch語(yǔ)句體結(jié)束。
13.AA。【解析】線性表的存儲(chǔ)通常分為兩種存儲(chǔ)結(jié)構(gòu):順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
\n
14.A本題中,fun函數(shù)第1次調(diào)用為fun(8,fun(5,6))。因?yàn)閒un(5,6)的返回值為5,所以第2次調(diào)用為fun(8,5),即返回值為6。故本題答案為A選項(xiàng)。
15.Dc語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令組成的。用C語(yǔ)言編寫的源程序必須經(jīng)過(guò)編譯生成二進(jìn)制目標(biāo)代碼,再經(jīng)過(guò)連接才能運(yùn)行,并且可以脫離c語(yǔ)言集成開(kāi)發(fā)環(huán)境。故答案為D)。
16.D
17.D解析:聯(lián)合體的所有成員共占同一段內(nèi)存,所以聯(lián)合體變量的長(zhǎng)度與它的最長(zhǎng)成員所占長(zhǎng)度…致,本題中float所占內(nèi)存字節(jié)數(shù)為4,而\u3000int類型在TurboC\u30002.0中是占2字節(jié)、在VisualC++6.0中占4字節(jié),所以int類型所占內(nèi)存字節(jié)數(shù)不會(huì)超過(guò)float,那demo就與成員d2所占字節(jié)數(shù)是相同的,選項(xiàng)A的說(shuō)法正確。聯(lián)合體的所有成員的首地址都是相同的,和聯(lián)合體變量的地址一致。故選項(xiàng)B和C都是正確的。由于int類型數(shù)據(jù)和float類型數(shù)據(jù)在內(nèi)存中的存放格式是不一樣的,所以給d1賦99后,d2中不會(huì)得到99.0這個(gè)值。故選項(xiàng)D不正確,答案應(yīng)該選擇D。
18.C
19.D
20.D解析:在C語(yǔ)言的標(biāo)準(zhǔn)中,short占2個(gè)字節(jié)、long占4個(gè)字節(jié),但int的大小和編譯系統(tǒng)相關(guān)。例如在Turbo\u3000C\u30002.0中,int占2個(gè)字節(jié),但在VisualC++6.0(VC6可以用做C語(yǔ)言編譯器)中占4個(gè)字節(jié)。故本題應(yīng)該選擇D。
21.ii解析:本題使用了一個(gè)兩重for循環(huán)輸出如題所示的方陣。從外層for循環(huán)的最后一條語(yǔ)句prinff('\\n');可以看出,外層for循環(huán)每次輸出方陣的一行,由于方陣是4行所以外層循環(huán)會(huì)循環(huán)4次,又從j=4和卜可以看出這4次循環(huán),循環(huán)變量i的值分別為4、3、2、1.故前一空應(yīng)該填j>=1或者j>0,以保證j等于0時(shí)循環(huán)結(jié)束。內(nèi)層循環(huán)控制每行輸出的4個(gè)數(shù),其循環(huán)變量i從1遞增到4,由于每行的4個(gè)結(jié)果也是差1遞增的,所以將每次結(jié)果減去循環(huán)變量i的值為一個(gè)常數(shù),每行分別是12、8、4、0,而這些值正好與4次外循環(huán)中表達(dá)式(j-1)*4的值相吻合,故后一空應(yīng)該填i。
22.內(nèi)聚內(nèi)聚
23.22解析:本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應(yīng)取外部變量的值13,因此輸出2。
24.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本題考查了函數(shù)的存儲(chǔ)分類的概念。如果沒(méi)有特別說(shuō)明,函數(shù)的存儲(chǔ)范圍是從定義函數(shù)的位置到文件的結(jié)尾,如果其他文件想使用這個(gè)函數(shù),需要用ginclude文件包含命令將定義函數(shù)的文件包含進(jìn)來(lái)。
25.程序調(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ā)階段。
26.1721
27.22解析:分析程序,a=2,b=-1,c=2時(shí),if語(yǔ)句的表達(dá)式a<b不成立,不再往下判斷,直接退出if語(yǔ)句,執(zhí)行后面的輸出語(yǔ)句,程序結(jié)束。在這個(gè)程序中a、b、c的值沒(méi)做任何改變。
28.NN解析:函數(shù)說(shuō)明語(yǔ)句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符'A'的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。
29.abcdefglkjIhabcdefglkjIh解析:本題主要考查了字符變量可參與的運(yùn)算。因?yàn)樽址谟?jì)算機(jī)中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來(lái)處理,如參與算術(shù)運(yùn)算等,某字符的大寫字母的ASCII碼值比它對(duì)應(yīng)的小寫字母ASCII碼值小32。
30.查詢查詢
31.1010解析:此題考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以追回值a+4=6+4=10。
32.9292解析:本主函數(shù)中首先定義了一個(gè)4行4列的二維數(shù)組,然后執(zhí)行一個(gè)while循環(huán),該循環(huán)中又嵌套了一個(gè)do-while循環(huán)?,F(xiàn)看while循環(huán),該循環(huán)通過(guò)i++的值來(lái)判斷是否結(jié)束循環(huán)當(dāng)i++的值為4的時(shí)候結(jié)束循環(huán),當(dāng)i=0時(shí),執(zhí)行while的循環(huán)體,顯然if語(yǔ)句條件不滿足不執(zhí)行,接著讓j=4,然后執(zhí)行do-while循環(huán)體,我們不難看出do-while循環(huán)的功能是將笫i+1行的所有元素加起來(lái),所以這時(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語(yǔ)句,結(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語(yǔ)句,結(jié)束該次循環(huán),當(dāng)i=3時(shí),if后面括號(hào)里的表達(dá)式的值為真執(zhí)行后面的confulue語(yǔ)句,結(jié)束該次循環(huán)當(dāng)i=4時(shí)while循環(huán)結(jié)束,所以最后輸出的s的值為92。
33.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見(jiàn)的線性結(jié)構(gòu)有線性表、棧和隊(duì)列等,常見(jiàn)的非線性結(jié)構(gòu)有樹(shù)、二叉樹(shù)等。
34.存儲(chǔ)結(jié)構(gòu)
35.55解析:本題的關(guān)鍵在于if(!(i%5))printf('\\n),這句,即如果i可被5整除時(shí),則換行。i值為24,可以被5整除4次,并余4,因此,prnt函數(shù)共輸出5行,最后一行有4個(gè)數(shù)。
36.索引表塊索引表\r\n塊
37.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)的獨(dú)立性是指數(shù)據(jù)和應(yīng)用程序相互獨(dú)立,分為物理獨(dú)立性和邏輯獨(dú)立性。其中物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)、存取方式)改變時(shí),不需要修改應(yīng)用程序。而邏輯獨(dú)立性是指當(dāng)邏輯結(jié)構(gòu)改變時(shí),不需要修改應(yīng)用程序。
38.structnode*structnode*解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個(gè)指向自身的結(jié)構(gòu)體指針。
39.內(nèi)聚性內(nèi)聚性解析:模塊的獨(dú)立程度是評(píng)價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn)。內(nèi)聚性是度量一個(gè)模塊功能強(qiáng)度的一個(gè)相對(duì)指標(biāo),耦合性則用來(lái)度量模塊之間的相互聯(lián)系程度。
40.43344334解析:程序?qū)⒆兞縜,b的值傳給函數(shù)swap的形參x,y,并在函數(shù)中對(duì)x,y的值進(jìn)行交換,所以在函數(shù)swap中輸出x,y的值4,3,由于c程序的函數(shù)是僧傳遞,實(shí)參a,b的值不會(huì)隨形參x,y的改變而改變,所以在主函數(shù)中輸出的a,b的值為3,4。
41.B解析:關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。
42.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語(yǔ)句輸出的結(jié)果為a,97;第二個(gè)輸出語(yǔ)句輸出的結(jié)果為k=12。
43.D
44.C
45.B解析:auto變量和register變量在使用時(shí),系統(tǒng)自動(dòng)為其分配存儲(chǔ)單元;退出時(shí)自動(dòng)釋放這些存儲(chǔ)單元另做它用。
46.B當(dāng)運(yùn)算對(duì)象為不同的類型時(shí),數(shù)據(jù)的轉(zhuǎn)換方向?yàn)閕nt→unsigned→long→double。本題程序中的變量b為int型,先要轉(zhuǎn)換為unsigned型,int型變量的數(shù)值范圍為-32768~32767,最高位為符號(hào)位,而unsigned所表示的數(shù)的范圍為0~65535,它的最高位為數(shù)值位。由于內(nèi)存中是以補(bǔ)碼形式存儲(chǔ)數(shù)據(jù)的,所以,整型的“-1”在內(nèi)存中表示為16個(gè)1,最高位的“1”表示符號(hào)負(fù),將它轉(zhuǎn)換為unsigned類型,即將原符號(hào)位表示符號(hào)的“1”看成數(shù)值,就可得到16個(gè)數(shù)值位1,即65535。
47.A解析:本題主要考查自加運(yùn)算符(++、--)的使用。①前綴變量“++i、--i”,在使用i之前,先使i的值加1或者減1,再使用此時(shí)的表達(dá)式的值參與運(yùn)算;②后綴變量“i++、i--”,先使用此時(shí)的表達(dá)式的值參與運(yùn)算,在使用i之后,再使i的值加1或者減1。本題中計(jì)算表達(dá)式c=(a++)-1時(shí)先使用a的值進(jìn)行計(jì)算,結(jié)果為c=2-1=1,然后將a的值加1,即執(zhí)行完此語(yǔ)句后a的值是3;表達(dá)式c+=-a+++(++b)等價(jià)于c=c+(-a++)+(++b),c=1+(-3)+3=1,此時(shí)a=4,b=3。
48.C解析:考查帶參數(shù)的宏替換。宏替換不像函數(shù)調(diào)用要進(jìn)行參數(shù)值的計(jì)算、傳遞等,而只是簡(jiǎn)單按照原格式進(jìn)行字符串的替換。
49.C解析:在給數(shù)組賦值時(shí),可以用一個(gè)字符串作為初值,這種方法直觀、方便,而且符合人們的習(xí)慣。數(shù)組array的長(zhǎng)度不是5,而是6,這點(diǎn)必須要注意。因?yàn)樽址A康淖詈笥上到y(tǒng)加上一個(gè)'\\0',因此,上面的初始化與下面的等價(jià):
Chararray[]={'C','h','i','n','a','\\0'};
50.C解析:選項(xiàng)A中定義了一個(gè)字符型數(shù)組并賦初值,故選項(xiàng)A正確;選項(xiàng)B定義了一個(gè)字符型數(shù)組t并初始化,然后定義了一個(gè)指針變量s并讓它指向t,故選項(xiàng)B正確;選項(xiàng)C先定義了一個(gè)長(zhǎng)度為10的字符型數(shù)組,然后在給它賦值,這時(shí)應(yīng)該分別給數(shù)組中的每個(gè)元素賦值,故選項(xiàng)c不正確:選項(xiàng)D中先定義了一個(gè)長(zhǎng)度為10的字符型數(shù)組s,然后通過(guò)字符串拷貝函數(shù)將字符串“abcdefs”賦值給它,選項(xiàng)D正確。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
51.A
52.A解析:文件系統(tǒng)中記錄內(nèi)有結(jié)構(gòu),但整體沒(méi)有結(jié)構(gòu)。數(shù)據(jù)庫(kù)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化。數(shù)據(jù)的結(jié)構(gòu)化是文件系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的本質(zhì)區(qū)別。
53.D解析:在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存的靜態(tài)存儲(chǔ)區(qū)中占據(jù)著永久的存儲(chǔ)單元,即使退出函數(shù)以后,下次再進(jìn)入該函數(shù)時(shí),靜態(tài)局部變量仍使用原來(lái)的存儲(chǔ)單元,靜態(tài)局部變量的初值是在編譯的時(shí)候賦予的,在程序執(zhí)行期間不再賦予初值。本題由于連續(xù)三次調(diào)用函數(shù)fun(),三次對(duì)靜態(tài)變量x進(jìn)行操作,x的值應(yīng)依次為6,7,8。
54.B解析:本題中,typedef聲明新的類型名PER來(lái)代替已有的類型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類型,此時(shí),也可以用PER來(lái)定義變量。
55.BB。【解析】根據(jù)二分法查找法需要兩次:(1)首先將90與表中間的元素50進(jìn)行比較,由于90大于50,所以性表的后半部分查找。(2)第二次比較的元素是后半部分的中間元素,即90,這時(shí)兩者相等,即查找成功。
56.A解析:本題考查%和/運(yùn)算符的使用。如果兩個(gè)數(shù)不能整除,只取結(jié)果的整數(shù)部分,小數(shù)部分全部舍去。運(yùn)算符“%”要求兩個(gè)運(yùn)算對(duì)象都為整型,其結(jié)果是整數(shù)除法的余數(shù)。表達(dá)式:a=-4+4*5-6=-4+20-6=10:表達(dá)式:a=4+4%5-6=4+4-6=2;表達(dá)式:a=-3+4%6/5=-3+0=-3;表達(dá)式:a=(7+6)%5/2=13%5/2=1。
57.C解析:事實(shí)上,無(wú)論有無(wú)static修飾,外部變量都具有A、B和C三種特性。作為一種修飾,static僅是限制此類型外部變量韻引用范圍:只能在定義它的文件范圍內(nèi)使用。
58.B
59.A
60.D解析:本題是以結(jié)構(gòu)體指針的方式防問(wèn)結(jié)構(gòu)體數(shù)組中的元素。main()函數(shù)之前聲明了一個(gè)結(jié)構(gòu)體,并在聲明同時(shí)定義了一個(gè)全局結(jié)構(gòu)體數(shù)組stu[3]。主函數(shù)中,第一行定義了一個(gè)該結(jié)構(gòu)體的指針t,然后讓t指向stu,即t指向的是數(shù)組stu的第一個(gè)元素。選項(xiàng)A提取的是數(shù)組第一個(gè)元素的num成員,值為10,不符合題意。選項(xiàng)B使用了一個(gè)后綴自增運(yùn)算符,使t指向第二個(gè)元素,但t++表達(dá)式返回的還是第一個(gè)元素的指針,故結(jié)果與選項(xiàng)A相同,不符合題意,選項(xiàng)C語(yǔ)法錯(cuò)誤編譯不會(huì)通過(guò)。故應(yīng)該選擇D。
61.A
62.B解析:這里考察完全二叉樹(shù)與滿二叉樹(shù)的定義及二叉樹(shù)的性質(zhì)。滿二叉樹(shù)指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹(shù)。完全二叉樹(shù)指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹(shù)。因此選項(xiàng)A是正確的,而選項(xiàng)B是錯(cuò)誤的。由定義可知,滿二叉樹(shù)肯定是完全二叉樹(shù),而完全二叉樹(shù)一般不是滿二叉樹(shù),因此選項(xiàng)C是正確的敘述。選項(xiàng)D即二叉樹(shù)性質(zhì)(5),也是正確的。
63.AA)選項(xiàng)dPx[
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校文化活動(dòng)與教學(xué)結(jié)合方案計(jì)劃
- 建設(shè)共享友愛(ài)社區(qū)的個(gè)人方案計(jì)劃
- 提升人事部門服務(wù)質(zhì)量計(jì)劃
- 2025年砼空心砌塊(承重型)項(xiàng)目建議書
- 地理-河南金太陽(yáng)2024-2025學(xué)年高二上學(xué)期第二次月考
- 中國(guó)科考船行業(yè)市場(chǎng)概況、投資熱點(diǎn)及未來(lái)發(fā)展趨勢(shì)分析預(yù)測(cè)報(bào)告(2025版)
- 加強(qiáng)文化產(chǎn)業(yè)發(fā)展指導(dǎo)原則
- 2025年計(jì)算機(jī)數(shù)字信號(hào)處理板卡項(xiàng)目建議書
- 豪華車租賃長(zhǎng)租合同
- 企業(yè)文化推廣致辭
- 《工業(yè)化建筑施工階段碳排放計(jì)算標(biāo)準(zhǔn)》
- 四級(jí)人工智能訓(xùn)練師(中級(jí))職業(yè)技能等級(jí)認(rèn)定考試題及答案
- GB/T 33761-2024綠色產(chǎn)品評(píng)價(jià)通則
- 地下停車場(chǎng)充電樁技術(shù)方案建議書
- 幼兒園設(shè)施設(shè)備安全教育
- 廢舊保溫棉處置合同范例
- 《人工智能簡(jiǎn)述》課件
- 《軌道交通工程盾構(gòu)施工技術(shù)》 課件 項(xiàng)目5 盾構(gòu)隧道防水施工
- 2024年數(shù)據(jù)編織價(jià)值評(píng)估指南白皮書-Aloudata
- 四川省算力基礎(chǔ)設(shè)施高質(zhì)量發(fā)展行動(dòng)方案(2024-2027年)
- 養(yǎng)老院各職位崗位職責(zé)
評(píng)論
0/150
提交評(píng)論