




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年陜西省寶雞市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.隊(duì)和棧的主要區(qū)別是________
A.邏輯結(jié)構(gòu)不同B.存儲結(jié)構(gòu)不同C.所包含的運(yùn)算個(gè)數(shù)不同D.限定插入和刪除的位置不同
3.有以下函數(shù)intfun(char*X,char*y){intn=0;while((*x===*y)*x!=\O){x++;y++;n++;}returnn;}函數(shù)的功能是()。A.查找X和y所指字符串中是否有\(zhòng)o
B.統(tǒng)計(jì)x和Y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)
C.將Y所指字符串賦給X所指定存儲空間
D.統(tǒng)計(jì)X和Y所指字符串中相同的字符個(gè)數(shù)
4.在一個(gè)順序隊(duì)列中,隊(duì)首指針指向隊(duì)首元素的____位置。
A.前一個(gè)B.后一個(gè)C.當(dāng)前D.最后一個(gè)
5.有以下程序
#include<stdio.h>
voidfun(char*t,char*s)
{while(*t!=0)t++;
while((*t++=*s++)!=0);
}
main()
{charss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);printf("%s,%s\n",ss,aa);
}
程序的運(yùn)行結(jié)果是
A.accxyy,bbxxyy
B.acc,bbxxyy
C.accxxyy,bbxxyy
D.accbbxxyy,bbxxyy
6.下列敘述中正確的是()。
A.當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開一個(gè)已存在的文件并進(jìn)行寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中對文件進(jìn)行寫操作后,必須先關(guān)閉該文件然后再打開才能讀到第1個(gè)數(shù)據(jù)
D.C語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
7.有以下程序:fun(intx){intP;if(x==0||x==l)return(3);p=x-fun(x-2);returnp;}main{printf("%d\n",fun(7));}程序執(zhí)行后的輸出結(jié)果是()。A.7B.3C.2D.0
8.使用深度優(yōu)先算法遍歷下圖,遍歷的順序?yàn)?)A.ABCDEFGB.ABDCFEGC.ABDECFGD.ABCDFEG
9.
10.
11.利用E-R模型進(jìn)行數(shù)據(jù)庫的概念設(shè)計(jì),可以分成3步:首先設(shè)計(jì)局部E-R模型,然后把各個(gè)局部E-R模型綜合成一個(gè)全局的模型,最后對全局E-R模型進(jìn)行(),得到最終的E-R模型。
A.簡化B.結(jié)構(gòu)化C.最小化D.優(yōu)化
12.由兩個(gè)棧共享一個(gè)存儲空間的好處是______。
A.減少存取時(shí)間,降低下溢發(fā)生的幾率
B.節(jié)省存儲空間,降低上溢發(fā)生的幾率
C.減少存取時(shí)間,降低上溢發(fā)生的幾率
D.節(jié)省存儲空間,降低下溢發(fā)生的幾率
13.
14.設(shè)有定義“doublex=5.16894;”,則語句“printf(“%lf\n”,(int)(x*1000+0.5)/1000.);”的輸出結(jié)果是()。
A.5.16900B.5.16800C.0.00000D.輸出格式說明符與輸出項(xiàng)不匹配,產(chǎn)生錯(cuò)誤信息
15.若有說明語句:double*p,a;則通過scanf語句正確給輸入項(xiàng)讀人數(shù)據(jù)的程序段是()。
A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
16.若有以下定義和語句charc1='b',c2='e'printf("%d,%c\n",c2-c1,c2-'a'+A);則輸出結(jié)果()
A.2,MB.3,EC.2,ED.輸出項(xiàng)與對應(yīng)的格式控制不一致,輸出結(jié)果不確定
17.C語言中的變量只能由字母、數(shù)字和下劃線組成,且第一個(gè)字符()。
A.必須是字母B.必須是下劃線C.必須是下劃線和字母D.可以是字母.數(shù)字或下劃線中任一一種
18.在關(guān)系數(shù)據(jù)模型中,通??梢园?)稱為屬性,其值稱為屬性值。
A.記錄B.基本表C.模式D.字段
19.若有運(yùn)算符:>、=、<<、%、sizeof,則它們按優(yōu)先級(由高至低)的正確排列順序?yàn)?)
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
20.深度為5的二叉樹至多有C個(gè)結(jié)點(diǎn)。
A.16B.32C.31D.10
二、2.填空題(20題)21.以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長度。請?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test.t","rb");
fseek(myf,0,SEEKEND);
f1=ftell(myf);
fclose(myf);
printf("%d\n",f1)
22.最簡單的交換排序方法是______。
23.以下程序運(yùn)行后的輸出結(jié)果是______。
inta=5;
fun(intB)
{staticinta=10;
a+=b++;
printf("%d",A);
}
main()
{intc=20;
fun(C),
a+=C++;
printf("%d\n",A);
}
24."print("%d\n",strlen("\t\"\023\xABC\n"));”語句的輸出結(jié)果是______。
25.結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)分別是順序、選擇和______。
26.若a是int型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為______。
27.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲結(jié)構(gòu)、存取方式等)改變時(shí),不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。
28.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{inta=3,b=4,c=5,t=99;
if(b<a&&a<c)t=a;a=C;c=t;
if(a<c&&b<c)t=b;b=a;a=t
printf("%d%d%d\n",a,b,c);
}
29.函數(shù)fun的功能是計(jì)算xn。
doublefun(doublex,intn)
{inti;doubley=1;
for(i=1;i<=n;i++)y=y*x;
returny;
}
主函數(shù)中已經(jīng)正確定義變量m,a,b并賦值,要調(diào)用函數(shù)fun計(jì)算:m=a4+b4-(a+b)3。實(shí)現(xiàn)這一計(jì)算的函數(shù)調(diào)用語句為【】。
30.設(shè)一棵二叉樹中有3個(gè)葉子結(jié)點(diǎn),有8個(gè)度為1的結(jié)點(diǎn),則該二叉樹中總的結(jié)點(diǎn)數(shù)為【】。
31.以下程序的功能是:處理由學(xué)號和成績組成的學(xué)生記錄,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,它的功能是:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中,注意:分?jǐn)?shù)高的學(xué)生可能不只一個(gè),函數(shù)返回分?jǐn)?shù)最高學(xué)生的人數(shù)。請?zhí)羁铡?/p>
#include<stdio.h>
#defineN16
typedefstruct
{charnum[10];
ints;
}STREC;
intfun(STREC*a,STREC*b)
{inti,j=0,max=a[0].s;
for(i=0;i<N;i++)
if(max<a[i].s)max=a[i].s;
for(i=0;i<N;i++)
if(【】)b[j++]=a[i];
returnj;
}
main()
{STRECs[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},
{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},
{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},
{"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72}
};
STRECh[N];
inti,n;FILE*out;
n=fun(s,h);
printf("The%dhighestscore;\n",n);
for(i=0;i<n;i++)
printf("%s%4d\n",h[i].num,h[i].s);
printf("\n");
out=fopen("out15.dat","w");
fprintf(out,"%d\n",n);
for(i=0;i<n;i++);
fprintf(out,"%4d\n",h[i].s);
fclose(out);
}
32.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。
33.設(shè)有定義語句:inta[][3]={{0},{1},{2}};,則數(shù)組元素a[1][2]的值為()。
34.若有定義:inta[4][4]={{1,2,3,4},{0},{4,6,8,10},<1,3,5,7}},則初始化后,a[2][2]得到的初值是______。
35.關(guān)鍵字ASC和DESC分別表示【】的含義。
36.用以下語句調(diào)用庫函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲空間,請?zhí)羁铡t=(char*)【】;
37.有以下定義和語句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear;
union{intshare1;
floatshare2;
}share;
}a;
38.下面程序把從終端讀入的文本(用@作為文本結(jié)束標(biāo)志)輸出到一個(gè)名為bi.dat的新文件中,請?zhí)羁铡?/p>
#include"stdio.h"
FILE*fp;
main()
{charch;
if((fp=fopen(【】))==NULL)exit(0);
while((ch=getchar())!='@')fputc(ch,fp);
fclose(fp);
}
39.閱讀下面程序段,則執(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;}
40.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intx=10,y=20,t=0;
if(x==y)t=x;x=Y;Y=t;
printf(“%d,%d\n”,x,y);
}
三、1.選擇題(20題)41.下列正確的實(shí)型常量是()。
A.E3.4B.-12345C.2.2e0.8D.4
42.C語言源程序的最小單位是()。
A.程序行B.語句C.函數(shù)D.字符
43.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){intk=17;printf("%d,%o,%x\n",k,k,k);}
A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11
44.若有說明語句:double*p,a;則能通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。
A.*p=&a;sCanf("%1f",p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%1f",*p);
D.p=&a;scanf("%1f",p);
45.下列程序的執(zhí)行結(jié)果是______。#include<stdio.h>union{inti;charc[2];};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;printf("\n%d",x.i);}
A.266B.11C.265D.138
46.以下程序段中的變量已正確定義:for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*");程序段的輸出結(jié)果是______。
A.******B.****C.**D.*
47.設(shè)x,y均為int型變量,且x=10,y=3,則printf("%d,%d\n",x-,-y);語句的輸出結(jié)果是______。
A.10,3B.9,3C.9,2D.10,2}
48.下列程序的輸出結(jié)果是()。main{intx=i,y=8;printf("%d%d\n",x--,--y);
A.88B.77C.78D.87
49.設(shè)樹T的度為4,其中度為1,2,3,4的結(jié)點(diǎn)個(gè)數(shù)分別為4,2,1,1,則T中的葉子結(jié)點(diǎn)數(shù)為()。
A.5B.6C.7D.8
50.定義下列結(jié)構(gòu)體(聯(lián)合)數(shù)組:structst{charname[15];intage;}a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17};執(zhí)行語句printf["%d,%c",a[2].age,*(a[3].name+2))的輸出結(jié)果為()。
A.15,AB.16,HC.16,AD.17,H
51.設(shè)定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語句是()。structst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;
A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
52.對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是()。
A.冒泡排序?yàn)閚/2B.冒泡排序?yàn)閚C.快速排序?yàn)閚D.快速排序?yàn)閚(n-1)/2
53.下列關(guān)于棧的描述正確的是()。
A.在棧中只能插入元素而不能刪除元素
B.在棧中只能刪除元素而不能插入元素
C.棧是特殊的線性表,只能在一端插入或刪除元素
D.棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素
54.若有以下定義,則正確的switch語句是______。floatx;inta,b;
A.switch(x){case1.0:printf("*\n");csse2.0:printf("**\n");}
B.switch(x){case1,2:printf("*\n");case3:printf("**\n");}
C.switch(a+b){case1:printf("\n");case1+2:printf("**\n");}
D.switch(a+b);{case1:printf("*\n");case2:printf("**\n");}
55.以下程序的輸出結(jié)果是()main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d",k);}
A.54321B.012345C.12345D.543210
56.有以下程序A:intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;)main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,B),f1(c,D));f=f1(f2(a,B),f2(c,D));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}程序運(yùn)行后的輸出結(jié)果是()。
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
57.若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是______。main(){intn;scanf("%d:",&n);if(n++<10)printf("%d\n",n);elseprintf%d\n",n--);}
A.11B.10C.9D.8
58.下面程序段的運(yùn)行結(jié)果是charstr[]="ABC",*p=str;printf("%d\n",*(p+3));
A.67B.0C.字符'C'的地址D.字符'C'
59.語句“printf("a\bhow\'are\'y\\\bou\n");”的輸出結(jié)果是()。
A.a\bhow\'are\'y\\bou
B.a\bhow\'are\'y\bou
C.how'are'you
D.ahow'are'y\bou
60.下列關(guān)于標(biāo)識符的說法中錯(cuò)誤的是
A.合法的標(biāo)識符是由字母、數(shù)字和下劃線組成
B.C語言的標(biāo)識符中,大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符
C.C語言的標(biāo)識符可以分為三類,即關(guān)鍵字、預(yù)定義標(biāo)識符和用戶標(biāo)識符
D.用戶標(biāo)識符與關(guān)鍵字不同時(shí),程序在執(zhí)行時(shí)將給出出錯(cuò)信息
四、選擇題(20題)61.(22)下列關(guān)于棧的敘述中正確的是()
A.在棧中只能插入數(shù)據(jù)
B.在棧中只能刪除數(shù)據(jù)
C.棧是先進(jìn)先出的線性表
D.棧是先進(jìn)后出的線性表
62.以下程序的功能是進(jìn)行位運(yùn)算
程序運(yùn)行后的輸出結(jié)果是()。
A.43B.73C.70D.40
63.
64.有以下程序:main{inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j=0;j<=3;j++)x++;}x++;}printf("x=%d\n",x);}程序執(zhí)行后的輸出結(jié)果是()。A.x=4B.x=8C.x=6D.x=12
65.設(shè)有定義:
doublea[10],*s=a;
以下能夠代表數(shù)組元素a[3]的是()。
A.($s)[3]B.}(s+3)C.*s[3]D.}s+3
66.
67.利用E-R模型進(jìn)行數(shù)據(jù)庫的概念設(shè)計(jì),可以分成3步:首先設(shè)計(jì)局部E-R模型,然后把各個(gè)局部E-R模型綜合成一個(gè)全局的模型,最后對全局E-R模型進(jìn)行(),得到最終的E-R模型。
A.簡化B.結(jié)構(gòu)化C.最小化D.優(yōu)化
68.下列字符串是標(biāo)識符的是()。
A.aaB.a-classC.intD.LINE1
69.C源程序中不能表示的數(shù)制是()。
A.十六進(jìn)制B.八進(jìn)制C.十進(jìn)制D.二進(jìn)制
70.有三個(gè)關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和s通過某種操作得到,該操作為()。
A.選擇B.交C.投影D.并
71.當(dāng)執(zhí)行以下程序段時(shí),()。x=-l:do{x=x*X;)while(!x);A.循環(huán)體將執(zhí)行一次B.循環(huán)體將執(zhí)行兩次C.循環(huán)體將執(zhí)行無限次D.系統(tǒng)將提示有語法錯(cuò)誤
72.要求以下程序的功能是計(jì)算:s=1+1/2+1/3+…+1/100。
程序運(yùn)行后輸出結(jié)果錯(cuò)誤,導(dǎo)致錯(cuò)誤結(jié)果的程序行是()。
A.s=1.0;
B.
C.S=S+1/n;
D.
73.以下函數(shù)實(shí)現(xiàn)按每行8個(gè)輸出w所指數(shù)組中的數(shù)據(jù)
74.
75.以下程序的輸出結(jié)果是()。
main()
{inta=1;
charc=’a’;
floatf=2.0;
Printf("%d\n",(!(a==0),f1=0&&c==’A’));
}
A.0B.1C.2D.3
76.有如下程序:main{intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++.b++;}printf("a=%d,b=%d\n",a,b);}該程序的輸出結(jié)果是()。
A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
77.有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和s得到關(guān)系T的操作是()。
A.自然連接B.并C.交D.差
78.“商品”與“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是()。
A.一對一B.多對一C.一對多D.多對多
79.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{inti,S=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}
A.4B.39C.45D.6
80.在最壞情況下,堆排序的時(shí)間復(fù)雜度是()。
A.0(1902n)B.O(n1092n)C.o(n2)D.0(n1.5)
五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:將str所指字符串中出現(xiàn)的t1所指字符串全部替換成t2所指字符串,所形成的新的字符串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長度相同。例如,當(dāng)str所指字符串中所指的內(nèi)容為abcdabcdef9,t1所指字符串中的內(nèi)容為bc,t2所指字符串中的內(nèi)容為11時(shí),結(jié)果在w所指的數(shù)組中的內(nèi)容應(yīng)為alldalldefg。請修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請編寫函數(shù)proc(),該函數(shù)的功能是:將兩個(gè)兩位數(shù)的正整數(shù)num1,num2合并形成一個(gè)整數(shù)放在num中。合并的方式是:將num1數(shù)的十位和個(gè)位數(shù)依次放在num數(shù)的十位和千位上,num2數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。
例如,當(dāng)num1=64,num2=18時(shí),調(diào)用到該函數(shù)后,num=4168。
注意:部分源程序給出如下。
請勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。
試題程序:
參考答案
1.D
2.D
3.B由題中while(*x==*y*x!=\\n)可知此函數(shù)是統(tǒng)計(jì)x和y所指向的字符串中最前面的聯(lián)系相同的字符的個(gè)數(shù)。
4.A
5.D解析:本題中fun函數(shù)實(shí)現(xiàn)了字符串函數(shù)strcat的功能,將字符串a(chǎn)a連接到字符串ss的末尾。調(diào)用fun函數(shù)時(shí),形參t和s分別指向了字符串ss和aa,然后通過一個(gè)while循環(huán)使t指向字符串ss的結(jié)束符的位置,第二個(gè)while循環(huán)將字符串a(chǎn)a中的字符(包括結(jié)束符'\\0')逐個(gè)復(fù)制到字符串ss的末尾處。
6.AB選項(xiàng)中,打開一個(gè)已存在的文件并進(jìn)行寫操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對源文件進(jìn)行追加操作等。C選項(xiàng)中,在一個(gè)程序中對文件進(jìn)行寫操作后,不是先關(guān)閉該文件然后再打開才能讀到第1個(gè)數(shù)據(jù),用fseek函數(shù)進(jìn)行重新定位即可。D選項(xiàng)中,C語言中的文件可以進(jìn)行隨機(jī)讀寫。故本題答案為A選項(xiàng)。
7.C在函數(shù)funlintx)中,有個(gè)if語句判斷,如果參數(shù)x等于0或1時(shí),返回值,否則進(jìn)入下面的p=x-fun(x-2)遞歸函數(shù)。當(dāng)在主函勢中調(diào)用fun(7)時(shí),其過程為:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的輸出結(jié)果為2。
8.C
9.B
10.B
11.D解析:在概念設(shè)計(jì)中按照模塊的劃分畫出每個(gè)模塊的E-R圖,然后把這些圖合成一張E-R圖作為全局模型,最后應(yīng)該對全局E-R圖進(jìn)行優(yōu)化,看看是否有重復(fù)和不合理的地方。不能只是進(jìn)行簡單的合并。
12.B解析:常常一個(gè)程序中要用到多個(gè)棧,為了不發(fā)生上溢錯(cuò)誤,就必須給每個(gè)棧分配一個(gè)足夠大的存儲空間。但實(shí)際中,很難準(zhǔn)確地估計(jì),若每個(gè)棧都分配過大的存儲空間,勢必造成系統(tǒng)空間緊張;若讓多個(gè)棧共用一個(gè)足夠大的連續(xù)存儲空間,則可利用棧的動(dòng)態(tài)特性使他們的存儲空間互補(bǔ)。
13.C
14.A表達(dá)式“(int)(x*1000+0.5)”使用了強(qiáng)制轉(zhuǎn)換,其計(jì)算結(jié)果為5169,(5169/1000.0)=5.169。所以“printf(“%lf\\n”,5.169);”結(jié)果是5.16900。故本題答案為A選項(xiàng)。
15.Ddouble*p,a定義了一個(gè)指向雙精度型的指針變量P和雙精度型變量a,p=&a表示將變量a的地址賦給指針變量p;scanf("%If",p)表示用鍵盤輸入的數(shù)賦給指針變量P所指向的地址單元中,scanf函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D正確。
16.B
17.C
18.D解析:數(shù)據(jù)庫表中字段轉(zhuǎn)化為屬性,把記錄的類型轉(zhuǎn)化為關(guān)系模式。
19.D解析:主要考查運(yùn)算符的優(yōu)先級。sizeof的優(yōu)先級最高,后面的順序是:%、<<、>,優(yōu)先級最低的是“=”。
20.C
21.fopenfopen解析:函數(shù)fopen的原型為FILE*fopen(char*filename,char*mode),功能為以mode指定的方式打開名為filename的文件;函數(shù)fseek的原型為intfseek(FILE*fp,longoffset,intbase),功能為將fp所指向的文件的位置指針移到以base所指出的位置為基準(zhǔn),offset為位移量的位置;函數(shù)ftell的原型為longftell(FILE*fp),功能為返回fp所指向的文件中當(dāng)前的讀寫位置;函數(shù)fclose的原型為intfclose(FILE*fp),功能為關(guān)閉fp所指的文件,釋放文件緩沖區(qū)。
22.冒泡排序冒泡排序解析:交換排序是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法。冒泡排序是一種最簡單的交換排序方法,它是通過相鄰元素之間的相互交換逐步將線性表變成有序。
23.30253025解析:本題考核的知識點(diǎn)是變量的存儲屬性和算術(shù)運(yùn)算的應(yīng)用。本題涉及了自動(dòng)變量、靜態(tài)變量和外部變量。外部變量是定義在所有函數(shù)之外的變量,本題中inta=5定義了一個(gè)外部變量a,它是一個(gè)全局變量,即作用域是從定義的位置開始到本文件的結(jié)束;靜態(tài)變量的存儲空間在程序的整個(gè)運(yùn)行期間是固定的(static),本題函數(shù)fun()中staticinta=10定義個(gè)一個(gè)靜態(tài)變量a,此靜態(tài)變量a是個(gè)靜態(tài)的局部變量,即它的值只能在本函數(shù)中使用;自動(dòng)變量是C程序中使用最多的一種變量,它的建立和撤消都是由系統(tǒng)在程序執(zhí)行過程中自動(dòng)進(jìn)行的,auto是自動(dòng)變量的存儲類別標(biāo)識符,如果省略auto,系統(tǒng)隱含認(rèn)為此變量為auto,本題中main()中intc=20定義了一個(gè)自動(dòng)變量c,此自動(dòng)變量c是個(gè)靜態(tài)的局部變量.算術(shù)運(yùn)算中a+=b++相當(dāng)于a=a+b,b=b+1.所以,在第一個(gè)ptine('%d',a)中a=a+b=10+20=30,第二個(gè)printf('%d',a)中a=a+c=5+20=25,即輸出3025。
24.66解析:strlen()函數(shù)的作用是計(jì)算字符串的長度并作為函數(shù)的返回值,這里的長度不包括串尾的結(jié)束標(biāo)志,\'\\0\'。
\'\\t\',是轉(zhuǎn)義字符,代表橫向跳若干格;\'\\\''是轉(zhuǎn)義字符,代表雙引號;\'\\023\'只代表一個(gè)字符,而不管轉(zhuǎn)義字符后面有幾個(gè)字符:\'\\xAB\'是以兩位十六進(jìn)制數(shù)AB表示的ASCII碼字符,只代表一個(gè)字符:\'\\n\'是轉(zhuǎn)義字符,代表回車換行。’
5個(gè)子符常量各代表一個(gè)字符,再加上字母C,所以返回的長度是6。
25.重復(fù)(循環(huán))重復(fù)(循環(huán))解析:結(jié)構(gòu)化程序設(shè)計(jì)包括3種基本的結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu)),利用這3種結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。其中利用循環(huán)結(jié)構(gòu),可以簡化大量的程序執(zhí)行。
26.-24-24解析:本題考查賦值運(yùn)算符a+=b等價(jià)于a=a+b;a-=a*a等價(jià)于a=a-a*a=4-4*4=-12;a+=a,即a=a+a=-24。
27.物理獨(dú)立性物理獨(dú)立性
28.4599
29.fun(a4)+fun(b4)-fun((a+b)3);fun(a,4)+fun(b,4)-fun((a+b),3);解析:函數(shù)fun的功能是計(jì)算x的n次方,a的4次方的調(diào)用函數(shù)為fun(a,4),b的4次方的調(diào)用函數(shù)為fun(b,4),(a+b)的3次方的調(diào)用函數(shù)為fun((a+b),3),計(jì)算m=a4+b4-(a+b)3的函數(shù)調(diào)用語句為:fun(a,4)+fun(b,4)-fun((a+b),3);
30.1313解析:在任意一棵二叉樹中,葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中的二叉樹有3個(gè)葉子結(jié)點(diǎn),所以,該二叉樹有3-1=2個(gè)度為2的結(jié)點(diǎn);又知本題中的二叉樹有8個(gè)度為1的結(jié)點(diǎn)。所以,本題中的二叉樹總結(jié)點(diǎn)數(shù)為:葉子結(jié)點(diǎn)數(shù)+度為l的結(jié)點(diǎn)數(shù)+度為2的結(jié)點(diǎn)數(shù)=3+8+2=13。所以,本題的正確答案為13。
31.max==a[i].smax==a[i].s解析:該程序使用循環(huán)嵌套,第1個(gè)for語句的作用是找出最大值。第2個(gè)循環(huán)的作用是找出與max相等的成績,也即最高成績的學(xué)生,并存入b中。
32.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。
33.00解析:二維數(shù)組中當(dāng)某行一對花括號內(nèi)的初值個(gè)數(shù)小于該行中元素的個(gè)數(shù)時(shí),系統(tǒng)將自動(dòng)給該行后面的元素補(bǔ)初值0,由此可見數(shù)組a[1][2]=0。
34.88解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有4個(gè)元素,a[0]的元素為a[0][0]、a(0][1]、a[0][2]、a[0][3]
35.升序排列和降序排列升序排列和降序排列解析:ASC表示升序排列,DESC表示降序排列,多用在索引定義和SELECT語句中的ORDER子句中。
36.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲區(qū),此題要分配11字節(jié)的單元,把11代入即可。
37.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長度等于最長的成員的長度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。
38.dat""w"或"bi.dat""w+"或"bi.dat""r+"dat','w'或'bi.dat','w+'或'bi.dat','r+'解析:本題的考點(diǎn)是fopen()函數(shù),此函數(shù)的格式是fopen(文件名,使用文件方式),題目的要求是將從鍵盤讀入的文本寫到文件中,因此選擇的打開方式應(yīng)該是'w'(只寫)?;蛘呤亲x寫“r+”或“w+”。
39.NN解析:函數(shù)說明語句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符“A”的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。
40.20020,0解析:在主函數(shù)中首先定義了三個(gè)整型變量x、y、t,并分別給它們賦初值為10,20,0,接著執(zhí)行if語句,在if后面括號內(nèi)的條件表達(dá)式中,條件“x==y”即“10==20”不成立,則不執(zhí)行其后的語句“t=x”,然后退出if語句,順序執(zhí)行語句x=Y;Y=t;。執(zhí)行完這兩條語句后x的值變?yōu)?0,y的值變?yōu)?,所以最后輸出x,y的值為20和0。
41.B解析:實(shí)型常量有兩種書寫形式。①小數(shù)形式,它由符號、整數(shù)部分、小數(shù)點(diǎn)及小數(shù)部分組成;②指數(shù)形式,由十進(jìn)制小數(shù)形式加上指數(shù)部分組成,其形式為:十進(jìn)制小數(shù)e指數(shù)或十進(jìn)制小數(shù)E指數(shù)。
注:e或E后面的指數(shù)必須是整數(shù),并且在e或E的前面必須有數(shù)字。本題中,選項(xiàng)A)中E的前面沒有數(shù)字,因此錯(cuò)誤。選項(xiàng)C)中0.8不是整數(shù),因此錯(cuò)誤。選項(xiàng)D)中4是整型常量而不是實(shí)型常量。
42.C解析:C語言源程序的最小單位是函數(shù),所以本題選C。
43.D解析:printf函數(shù)對不同類型的數(shù)據(jù)用不同的格式描述符,“%d”是以帶符號的十進(jìn)制形式輸出整數(shù)(正數(shù)不輸出符號);“%o”以八進(jìn)制無符號形式輸出整數(shù)(不包括前導(dǎo)符0);“%x”以十六進(jìn)制無符號形式輸出整數(shù)(不包括前導(dǎo)符0x)。
44.D解析:double*p,a;語句表示定義了一個(gè)指向雙精度型的指針變量p和雙精度型變量a,而語句p=&a表示將變量a的地址賦給指針變量p;scanf'('%1f',p)表示用鍵盤輸入的數(shù)賦給指針變量p所指向的地址單元中。scanf()函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f(或%1e)。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D)為正確答案。
45.A解析:由于本題定義的是共用體,所以成員表列中的整型變量x與字符數(shù)組c共占用同—個(gè)存儲單元,且此存儲單元為2個(gè)字節(jié),通常c[0]位于低字節(jié),c[1]位于高字節(jié),所以兄i的值為266。
46.D解析:本題考杏for循環(huán)語句中嵌套for循環(huán)語句的情況。由于第一個(gè)for語句沒有具體的執(zhí)行語句,故當(dāng)i=0時(shí),k=1時(shí),執(zhí)行一次語句printf(“*”);,程序便會跳出整個(gè)循環(huán),故運(yùn)行結(jié)果為一個(gè)星號。
47.D解析:C語言的自減運(yùn)算符有前置與后置兩種形式。當(dāng)自減運(yùn)算符前置時(shí),變量先自減一后再參與表達(dá)式運(yùn)算;而后置時(shí),變量先參與表達(dá)式運(yùn)算后再自身減一。
48.D解析:本題考查自減(--)運(yùn)算符的使用?!皒--”是先引用x的值然后將x的值減1,所以輸出的x值為8;“--y”是先將y的值減1然后再引用y的值,所以輸出的y值為7。
49.D解析:根據(jù)給定的條件,在樹中,各結(jié)點(diǎn)的分支總數(shù)為:4×1+2×2+1×3+4×1=15:樹中的總結(jié)點(diǎn)數(shù)為:15(各結(jié)點(diǎn)的分支總數(shù))+1(根結(jié)點(diǎn))=16:非葉子結(jié)點(diǎn)總數(shù)為:4+2+1+1=8。因此,葉子結(jié)點(diǎn)數(shù)為16(總結(jié)點(diǎn)數(shù))-8(非葉子結(jié)點(diǎn)總數(shù))=8。因此,本題的正確答案為D。
50.C解析:本題主要考查結(jié)構(gòu)體數(shù)組。a[2].age為結(jié)構(gòu)體a[2]的age成員,即16。a[3].name為指向結(jié)構(gòu)體a[3]的name成員的第一個(gè)元素的指針,即指向“Z”,(a[3].name+2)將指針后移兩位指向第三個(gè)元素“A”,*(a[3].name+2))是取指針?biāo)赶虻刂返膬?nèi)容。
51.C解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worker中的birth是一個(gè)st型的結(jié)構(gòu),在給birth賦值時(shí),不能將birth作為一個(gè)整體,要用“.”運(yùn)算再深入一層訪問到最基本的成員x、y、z。
52.DD?!窘馕觥勘绢}主要考查對排序算法的理解。冒泡排序法首先將第一個(gè)記錄的關(guān)鍵字與第二個(gè)記錄的關(guān)鍵字進(jìn)行比較,若逆序則交換,然后比較第二個(gè)與第三個(gè),以此類推,直至第n-1個(gè)與第n個(gè)記錄的關(guān)鍵字進(jìn)行比較。第一趟冒泡排序使最大的關(guān)鍵字元素放到最后。以此類推,進(jìn)行第2~n次冒泡排序。如果在排序過程中不存在逆序,則排序結(jié)束。在最壞情況下,冒泡排序中,若初始序列為“逆序”序列,則需要比較n(D-1)/2次??焖倥判蚴菍γ芭菖判虻囊环N改進(jìn)。它的基本思想是:通過一趟排序?qū)⒋庞涗浄指畛瑟?dú)立的兩部分,其中一部分記錄的關(guān)鍵字比另一部分記錄的關(guān)鍵字小,然后分別對這兩部分記錄繼續(xù)進(jìn)行排序,最終達(dá)到整個(gè)記錄有序。對于快速排序,當(dāng)初始記錄序列按關(guān)鍵字有序或基本有序時(shí),快速排序退化為冒泡排序,最壞情況下比較次數(shù)為n(n-1)/2。
53.C解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)對棧的定義及其特點(diǎn)可知:棧是限定只在表尾進(jìn)行插入或刪除操作的線性表,因此棧是先進(jìn)后出的線性表,對棧的插入與刪除操作,不需要改變棧底元素。棧是限定只在表尾進(jìn)行插入或刪除操作的線性表。
54.C
55.B
56.A
57.B解析:程序的功能是從鍵盤輸入一個(gè)整數(shù),然后執(zhí)行if語句的條件表達(dá)式n++<10。表達(dá)式n++<10,先執(zhí)行n<10,后對n加1。程序中從鍵盤輸入的n值為9,9<10,判斷的條件為真,然后n加1,即n的值變?yōu)?0,程序執(zhí)行后面的printf語句輸出n的值為10,所以,選項(xiàng)B正確。
58.B解析:考查指向字符串的指針變量。在該題中,指針變量p指向的應(yīng)該是該字符串中的首地址,p+3指向的是字符串結(jié)束標(biāo)志'\\0'的地址,因而。(p+3)的值為0。
59.C解析:“\\b”格式符表示退格,功能是將它后面的字母把它前面的字母覆蓋,導(dǎo)致“\\b'’格式符前面的字母不能輸出;“\\'”格式符表示輸出單引號字符;“\\\\”格式符表示輸出反斜線字符。
60.D解析:用戶標(biāo)識符與關(guān)鍵字相同時(shí),程序在編譯過程中將給出出錯(cuò)信息。注意:選項(xiàng)D)應(yīng)該改為用戶標(biāo)識符與關(guān)鍵字相同,程序在編譯時(shí)將給出出錯(cuò)信息。注意:合法的標(biāo)識符第一個(gè)字符必須為字母或下劃線。
61.D
62.A本題考查的是位運(yùn)算。c語言提供六種
63.D
64.B當(dāng)i=0時(shí),i<2成立,執(zhí)行第一個(gè)for循環(huán)x自加為1,接著執(zhí)行第二個(gè)for循環(huán);j=0時(shí)j<=3成立,此時(shí)if不成立,執(zhí)行x++后,x為2;接著j=1時(shí),i<=3成立,繼續(xù)循環(huán),此時(shí)if成立,continue是跳出本次循環(huán),繼續(xù)下一次循環(huán),不再執(zhí)行x++了;接著j=2時(shí),j<=3成立,此時(shí)if不成立,執(zhí)行其后的語句;當(dāng)j=4時(shí),退出第二個(gè)循環(huán),接著執(zhí)行循環(huán)外部的x++,x為4;當(dāng)i=1時(shí),i<2成立,執(zhí)行第一個(gè)循環(huán),x=5,此時(shí)接著執(zhí)行循環(huán)外部的語句,即第二個(gè)循環(huán);j=0時(shí)j<3成立,此時(shí)if不成立,x++后,x為6,接著j為1時(shí),j<=3成立,繼續(xù)循環(huán),此時(shí)if成立,不再執(zhí)行x++了;接著J=2時(shí),j<=3成立,此時(shí)if不成立,執(zhí)行其后的x++,x為7;i=3時(shí),j<=3成立,此時(shí)if成立,不再執(zhí)行其后的語句了;當(dāng)j=4時(shí),退出第二個(gè)循環(huán),執(zhí)行循環(huán)外部的語句,最終x為8,故選B選項(xiàng)。
65.B語句·s=a;表示指針變量s指向一維數(shù)
組a的首地址。a[3]表示引用數(shù)組a的第
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版七年級歷史上冊教學(xué)計(jì)劃(及進(jìn)度表)
- 2025年中樞興奮藥項(xiàng)目合作計(jì)劃書
- 絡(luò)維護(hù)事故檢討書
- 樓宇評比業(yè)主委托書
- 異地戀情侶合約協(xié)議書
- 《國際市場營銷》課件-第8章 國際市場分銷渠道策略
- 車聯(lián)網(wǎng)環(huán)境下車輛信息智能管理與維護(hù)方案設(shè)計(jì)
- 太陽能電池行業(yè)分析報(bào)告
- 建設(shè)項(xiàng)目可行性研究報(bào)告可概括為
- 人力資源行業(yè)區(qū)塊鏈技術(shù)應(yīng)用與實(shí)踐
- 2024年廣東省公務(wù)員《申論(省市級)》試題真題及答案
- (一模)2025屆安徽省“江南十校”高三聯(lián)考化學(xué)試卷(含官方答案)
- 高等教育數(shù)字化轉(zhuǎn)型心得體會
- 2025年安徽財(cái)貿(mào)職業(yè)學(xué)院單招職業(yè)技能測試題庫及答案1套
- 2025年安徽職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案1套
- 典范英語6-12玉米片硬幣英文原文及重點(diǎn)短語和句子演示教學(xué)
- 日式保潔培訓(xùn)課件大全
- 2025年廣東省深圳市高考語文一模試卷
- 2025年陜西工商職業(yè)學(xué)院單招職業(yè)技能測試題庫學(xué)生專用
- 2025年福建省高職單招職業(yè)適應(yīng)性測試題庫及答案解析
- 自媒體運(yùn)營實(shí)戰(zhàn)教程(抖音版) 課件 第7章 短視頻運(yùn)營-自媒體中級
評論
0/150
提交評論