版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年四川省巴中市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下述哪一個(gè)是順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)()。
A.存儲(chǔ)密度大B.插入運(yùn)算方便C.刪除運(yùn)算方便D.可方便地用于各種邏輯結(jié)構(gòu)的存儲(chǔ)表示
2.有以下程序:#include<stdio.h>doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf("%5.of\n",a);}doublef(doublex){returnx*x+1;}程序運(yùn)行后的輸出結(jié)果是()。A.503B.401C.500D.1404
3.下列關(guān)系模型中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個(gè)數(shù)多于原來(lái)關(guān)系中屬性個(gè)數(shù)的是
A.選擇B.連接C.投影D.并
4.函數(shù)原形中,下列()是不必要的。
A.函數(shù)的類型B.形式參數(shù)名C.函數(shù)名D.形式參數(shù)類型
5.有以下程序#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.1B.0C.2D.3
6.任何一棵二叉樹(shù)的葉子結(jié)點(diǎn)在前序、中序和后序遍歷序列中的相對(duì)次序()。
A.不發(fā)生改變B.發(fā)生改變C.不能確定D.以上都不對(duì)
7.有以下程序:#include<stdio.h>main(){inta=-2,b=0;while(a++++b);printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.1,3B.0,2C.0,3D.1,2
8.下列程序的輸出的結(jié)果是()。main{doubled=3.2;intx,Y;x=1.2;v=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.07
9.
10.有以下程序:#include<stdio.h>,main(){intS;scanf("%d",&s);while(s>O){switch(s){casel:printf("%d",s+5);case2:printf("%d",s+4);break;case3:printf("%d",s+3);default:("%d",s+1);break;}scanf("%d",&s);}}運(yùn)行時(shí),若輸入123450<回車(chē)>,由輸出結(jié)果是()。A.6566456B.66656C.66666D.6666656
11.以下程序的輸出結(jié)果是().A.A.2222B.2468C.222D.246
12.假定X和Y為double型,則表達(dá)式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
13.若有定義“doublea;”,則正確的輸入語(yǔ)句是()。A.A.seaM("%1f",&a);B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
14.以下敘述中錯(cuò)誤的是()。
A.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值
B.函數(shù)可以返回地址值
C.可以給指針變量賦一個(gè)整數(shù)作為地址值
D.當(dāng)在程序的開(kāi)頭包含文件stdi0.h時(shí),可以給指針變量賦NULL
15.以下敘述中錯(cuò)誤的是()。
A.線性結(jié)構(gòu)也能采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
B.線性結(jié)構(gòu)一定能采用順序存儲(chǔ)結(jié)構(gòu)
C.有的非線性結(jié)構(gòu)也能采用順序存儲(chǔ)結(jié)構(gòu)
D.非線性結(jié)構(gòu)一定不能采用順序存儲(chǔ)結(jié)構(gòu)
16.一個(gè)棧的輸入序列為123…n,若輸出序列的第一個(gè)元素是n,輸出第i(1<=i<=n)個(gè)元素是()
A.不確定B.n-i+1C.iD.n-i
17.下述哪一條是順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)()。
A.插入運(yùn)算方便B.可方便地用于各種邏輯結(jié)構(gòu)的存儲(chǔ)表示C.存儲(chǔ)密度大D.刪除運(yùn)算方便
18.有以下程序:#include<stdio.h>main(){inta=2,b=2,C=2;print{("%d\n",a/b&c);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.1C.2D.3
19.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
20.以下說(shuō)法錯(cuò)誤的是()。
A.散列法存儲(chǔ)的思想是由關(guān)鍵字值決定數(shù)據(jù)的存儲(chǔ)地址
B.散列表的結(jié)點(diǎn)中只包含數(shù)據(jù)元素自身的信息,不包含指針
C.負(fù)載因子是散列表的一個(gè)重要參數(shù),它反映了散列表的飽滿程度
D.散列表的查找效率主要取決于散列表構(gòu)造時(shí)選取的散列函數(shù)和處理沖突的方法
二、2.填空題(20題)21.在E-R圖中,矩形表示【】。
22.______是數(shù)據(jù)庫(kù)應(yīng)用的核心。
23.若a的值為1,則表達(dá)式!a‖++a的值是______。
24.按照邏輯結(jié)構(gòu)分類,數(shù)據(jù)結(jié)構(gòu)可分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),二叉樹(shù)屬于______。
25.若有定義intm=5,y=2,則執(zhí)行表達(dá)式y(tǒng)+=y-=m*=y后,y的值為【】。
26.以下程序段的輸出結(jié)果是【】。
inti=9;
printf("%o\n",i);
27.設(shè)某循環(huán)隊(duì)列的容量為50,頭指針front=5(指向隊(duì)頭元素的前一位置),尾指針rear=29(指向隊(duì)尾元素),則該循環(huán)隊(duì)列中共有【】個(gè)元素。
28.以下函數(shù)用來(lái)求出兩整數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>
voidfunc(intx,inty,【】z)
{*z=x+y;}
29.下列程序段的運(yùn)行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
30.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。
31.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>
my_cmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}return【】;
}
32.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過(guò)程。
33.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
34.若fp已正確定義為一個(gè)文件指針,d1.dat為二進(jìn)制文件,請(qǐng)?zhí)羁眨员銥椤白x”而打開(kāi)此文件:
fp=fopen(【】);。
35.以下程序中給指針p分配3個(gè)double型動(dòng)態(tài)內(nèi)存單元,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{double*p;
p=(double*)malloc((【】);
p[0]=1.5;p[1]=2.5;p[2]=3.5;
printf("%f%f%f\n",p[0],p[1],p[2]);
}
36.下面程序用來(lái)輸出結(jié)構(gòu)體變量a所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>
main()
{structstu
{charx[20];floaty;}a;
printf("asize:%d\n",sizeof(【】));
}
37.以下程序可以把從鍵盤(pán)上輸入十進(jìn)制數(shù)(10ng型)以二到十六進(jìn)制數(shù)的形式輸出,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{charb[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','
E','F'};
intc[64],d,i=0,base;
longn;
printf("Enteranumber:\n");scanf("%1d",&n);
printf("Enternewbase:\n");scanf("%1d",&base);
do
{c[i]=【】;
i++;
n=n/base;
}while(n!=0);
printf("Theresultis:\n");
for(--i;i>=0;--i)
{d=c[i];
printf("%c",b【】);
}
}
38.以下程序輸出的最后個(gè)值是【】
intff(intn)
{staticintf=1;
f=f*n
returnf;
}
main()
{inti;
for(i=1;i<=5:i++)printf("%d、n",ff(i));}
39.以下程序輸出的結(jié)果是【】。
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
40.下列程序的輸出結(jié)果是______。
main()
{chara[]="ABCDEFG";
char*cp=&a[7];
while(--cp>&a[0])putchar(*cp);
}
三、1.選擇題(20題)41.設(shè)有以下語(yǔ)句charx=3,y=6,z;z=x^y<<2;則z的二進(jìn)制值是
A.10100B.11011C.11100D.11000
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.定義如下變量和數(shù)組:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};則下面語(yǔ)句的輸出結(jié)果是()。for(k=0;k<3;k++)printf("%d",a[k][k]);
A.753B.951C.963D.741
44.下列程序的輸出結(jié)果是______。#defineA100main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;sum+=i;}while(++i<A);printf("%d\n",sum);
A.2500B.2050C.4D.0
45.下述對(duì)C語(yǔ)言字符數(shù)組的描述中錯(cuò)誤的是
A.字符數(shù)組的下標(biāo)從0開(kāi)始
B.字符數(shù)組中的字符串可以進(jìn)行整體輸入/輸出
C.可以在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符“=”對(duì)字符數(shù)組整體賦值
D.字符數(shù)組可以存放字符串
46.以下程序的輸出結(jié)果是()。#include<stdio.h>intm=13;intfun(intx,inty){intm=2;return(x*y-m);}main(){inta=7,b=6;printf("%d",fun(a,B)/m);}
A.1B.3C.7D.10
47.下列標(biāo)識(shí)符不是關(guān)鍵字的是()。
A.breakB.charC.SwitchD.retum
48.有以下程序:#include<stdio.h>voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}執(zhí)行后的輸出結(jié)果是()。
A.4B.3C.2D.1
49.以下程序的輸出結(jié)果是()main(){inta[10]={1,2,3,4,5,6,7,8,9,10,},*p=a;printf("%d\n",*(p+2));}
A.3B.4C.1D.2
50.數(shù)據(jù)庫(kù)系統(tǒng)的核心是_______。
A.數(shù)據(jù)模型B.DBMSC.軟件工具D.數(shù)據(jù)庫(kù)
51.有以下程序:voidsott(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;)}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},I;sort(aa+2,5);for(i=0;i<10;i++)printf("%d",aa[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是______。
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
52.在下列敘述中,正確的一條是______。A.if(表達(dá)式)語(yǔ)句中,表達(dá)式的類型只限于邏輯表達(dá)式
B.語(yǔ)句“goto12;”是合法的
C.for(;;)語(yǔ)句相當(dāng)于while(1)語(yǔ)句
D.break語(yǔ)句可用于程序的任何地方,以終止程序的執(zhí)行
53.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()
A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)
54.閱讀下面程序段,則執(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;}
A.AB.MC.ND.L
55.若有下面的說(shuō)明和定義,則sizeof(structaa)的值是structaa{intrl;doubler2;floatr3;unionuu{charu1[5];longu2[2];}ua;}mya;
A.30B.29C.24D.22
56.有以下程序
main()
{inti,s=1;
for(i=1;i<50;i++)
if(!(i%5)&&!(i%3))s+=i;
printf("%d\n",s);}
程序的輸出結(jié)果是
A.409B.277C.1D.91
57.已知intk=10,m=3,n;則下列語(yǔ)句輸出結(jié)果是printf("%d\n",n=(k%m,k/m));
A.2B.3C.4D.5
58.若有定義intw[3][5];,則以下不能正確表示該數(shù)組元素的表達(dá)式是A.*(*w+3)B.*(*w+1)[4]C.*(*(*w+1))D.*(&w[0][0]+1)
59.下列敘述中正確的是()。
A.在模塊化程序設(shè)計(jì)中,一個(gè)模塊應(yīng)盡量多的包括與其他模塊聯(lián)系的信息
B.在自頂向下、逐步細(xì)化的設(shè)計(jì)過(guò)程中,首先應(yīng)設(shè)計(jì)解決問(wèn)題的每一個(gè)細(xì)節(jié)
C.在模塊化程序設(shè)計(jì)中,一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則
D.在程序設(shè)計(jì)過(guò)程中,不能同時(shí)采用結(jié)構(gòu)化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì)方法
60.以下不是網(wǎng)絡(luò)操作系統(tǒng)的是()
A.Windows3.1B.WindowsNTC.NetWareD.UNIX
四、選擇題(20題)61.以下不合法的字符常量是()。
62.
63.n個(gè)頂點(diǎn)的連通圖中邊的條數(shù)至少為_(kāi)_____。A.A.0B.1C.n-1D.n
64.有三個(gè)關(guān)系R、s和T如下:
由關(guān)系R和s通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.并B.自然連接C.笛卡爾積D.交
65.
下列程序執(zhí)行后的輸出結(jié)果是()。
voidfunc(int*a,intb[])
{b[0]=*a+b;}main
{inta,b[5];
a=0.b[0]=3;
func(&a,b);printf("%d\n",b[0]);
}
A.6B.7C.8D.9
66.以下程序運(yùn)行后的輸出結(jié)果是()。
A.15,16B.16,15C.15,15D.16,16
67.以下()不是標(biāo)準(zhǔn)的HTTP消息頭字段。
A.StatusB.HostC.AcceptD.Referer
68.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E—R圖轉(zhuǎn)換為關(guān)系模式的過(guò)程屬于()。
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
69.
70.
以下程序的輸出結(jié)果是()。
main
{inti,k,a[10],p[3];
k=5;
for(i=0:i<10;i++)a[i]=i;
for(i=0;i<3;i++)p[i]=a[i*(i+1)];
for(i=0;i<3;i++)k+=p[i]*2;
printf("%d\n",k、;
}
A.20B.21C.22D.23
71.
72.
73.
74.
75.設(shè)變量x為float型且已賦值,則以下語(yǔ)句能將x中的數(shù)值保留到小數(shù)點(diǎn)后兩位,并將第3位四舍五入的是()。
A.
B.
C.
D.
76.沒(méi)有以下語(yǔ)句
則Z的二進(jìn)制值是()。
A.00010100B.00011011C.00011100D.00011000
77.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
78.運(yùn)算符________的優(yōu)先級(jí)最高。
A.[]B.+=C.?:D.++
79.下列字符數(shù)組初始化語(yǔ)句中,不正確的是()。A.A.charc[]='goodmorning';
B.charc[20]="goodmorning";
C.charc[]={'a','b','c','d');
D.charc[]={"ffgoodmorning"};
80.在軟件開(kāi)發(fā)中,需求分析階段可以使用的工具是()。A.N—s圖B.DFD圖C.PAD圖D.程序流程圖
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:傳人一個(gè)整數(shù)n,計(jì)算如下公式的值。t=1/2-1/3-…-1/n例如,若輸入3,則應(yīng)輸出0.166667。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),其功能是:將str所指字符串中下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。例如,當(dāng)str所指字符串中的內(nèi)容為ABCDEFGHIJK(輸入完成以空格、Tab或者Enter鍵加任意非空格、Tab或者Enter鍵的一個(gè)字符作為輸入結(jié)束標(biāo)志),則在t所指數(shù)組中的內(nèi)容應(yīng)是BDFHJ。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.A
2.A此題是一個(gè)簡(jiǎn)單的函數(shù)調(diào)用,當(dāng)i=0并且i<30,執(zhí)行i+=10,并且調(diào)用函數(shù)f,所以當(dāng)i=0時(shí),結(jié)果為1,當(dāng)i=10時(shí),結(jié)果為101,當(dāng)i=20時(shí),結(jié)果為401,所以a=1+101+401=503。
3.B解析:本題主要考查關(guān)系模型中幾種運(yùn)算的特征。經(jīng)過(guò)選擇或投影運(yùn)算得到的新關(guān)系的屬性個(gè)數(shù)最多不會(huì)超過(guò)原關(guān)系中的屬性個(gè)數(shù)。經(jīng)過(guò)連接運(yùn)算得到的新關(guān)系最多不少于原關(guān)系中屬性的個(gè)數(shù)。故選項(xiàng)B正確。
4.A
5.A雖為嵌套的for循環(huán),但“m=m%j”只執(zhí)行1次,即當(dāng)i=3時(shí),內(nèi)層循環(huán)條件成立,m=55%3=1,故選A。
6.A
7.D輸出的結(jié)果是:-1,1\r\n0,2\r\n1,2
8.C根據(jù)賦值運(yùn)算的類型轉(zhuǎn)換規(guī)則,先將double型的常量l.2轉(zhuǎn)換為int型,因?yàn)閤的類型是int,則X的值為1;執(zhí)行語(yǔ)句y=(K+3.8)/5.0時(shí),即先將整型變量X的值1轉(zhuǎn)換為double型1.0,然后3.8相加得4.8,進(jìn)行除法運(yùn)算4.8/5.0結(jié)果為0.即變量y的值為0,d*Y的值也為0,故選C選項(xiàng)。
9.A
10.A根據(jù)題意,當(dāng)s=1時(shí),輸出65;當(dāng)s=2時(shí),輸出6;當(dāng)S=3時(shí),則輸出64;當(dāng)S=4時(shí),輸出5;當(dāng)s=5時(shí),輸出6;當(dāng)s=0時(shí),程序直接退出。所以最后答案為6566456,A選項(xiàng)正確。
11.D
12.D本題考查C語(yǔ)言中變量類型的轉(zhuǎn)換。
C語(yǔ)言中若參與運(yùn)算的變量的數(shù)據(jù)類型不同,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。轉(zhuǎn)換數(shù)據(jù)始終往長(zhǎng)度增加的方向進(jìn)行,以確保精確度,如int和long運(yùn)算,則將int轉(zhuǎn)換為long再運(yùn)算,所有的浮點(diǎn)運(yùn)算都是以雙精度(double)進(jìn)行的。
題目中x、y都為double型數(shù)據(jù),而表達(dá)式3/2為兩個(gè)整型變量之間的計(jì)算,計(jì)算結(jié)果只保留整數(shù)部分,小數(shù)部分省略掉。3/2的結(jié)果為1。后面變?yōu)橛?jì)算y=x+1,這時(shí)都需要變?yōu)閐ouble型數(shù)據(jù),結(jié)果為3.000000。
13.D本題考查seanf函數(shù)的調(diào)用形式:scanf(格式字符串,輸入項(xiàng)地址表)。題中定義變量a為雙精度型變量,雙精度變量的格式符為“l(fā)e”;變量的地址用取地址符“&”加變量名表示,所以選項(xiàng)D正確。
14.C指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),故選項(xiàng)C錯(cuò)誤。
15.D滿二叉樹(shù)與完全二叉樹(shù)均為非線性結(jié)構(gòu),但可以按照層次進(jìn)行順序存儲(chǔ)。本題答案為D選項(xiàng)。
16.B
17.C
18.A根據(jù)C語(yǔ)言運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,先計(jì)算a/b,結(jié)果為l,再將a/b的結(jié)果與C做按位與運(yùn)算,即l與2做按位與運(yùn)算,其結(jié)果為0。
19.D解析:本題主要考查左移、右移對(duì)數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。
20.B
21.實(shí)體實(shí)體解析:E-R模型中,有3個(gè)基本的抽象概念:實(shí)體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實(shí)體,菱形框表示聯(lián)系,橢圓形框表示屬性。
22.數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)
23.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。
24.非線性結(jié)構(gòu)非線性結(jié)構(gòu)解析:對(duì)于一個(gè)非空的數(shù)據(jù)結(jié)構(gòu),如果同時(shí)滿足下列兩個(gè)條件,即1)有且只有一個(gè)根結(jié)點(diǎn);2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件;即為線性結(jié)構(gòu),而二叉樹(shù)的結(jié)點(diǎn)可能存在兩個(gè)后件,所以是非線性結(jié)構(gòu)。
25.-16-16解析:將賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給左側(cè)的變量,并且賦值運(yùn)算符按照“自右而左”的結(jié)合順序,本題表達(dá)式應(yīng)先算m的值為10,再運(yùn)算y的值為8,最后計(jì)算y=y+(-8)=-8+(-8)=-16。
26.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。
27.2424解析:在循環(huán)隊(duì)列中因?yàn)轭^指針指向的是隊(duì)頭元素的前一個(gè)位置,所以是從第6個(gè)位置開(kāi)始有數(shù)據(jù)元素,所以隊(duì)列中的數(shù)據(jù)元素的個(gè)數(shù)為29-5=24。
28.int*int*解析:從題中代碼可知:z應(yīng)該是一個(gè)整型指針,因此應(yīng)填int*。
29.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。
30.順序存儲(chǔ)(順序方式存儲(chǔ))順序存儲(chǔ)(順序方式存儲(chǔ))解析:二分法查找對(duì)表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲(chǔ)。
31.*s-*t*s-*t解析:兩字符串大小比較必須從它們的首字符開(kāi)始,在對(duì)應(yīng)字符相等情況下循環(huán),直至不相等結(jié)束。相等時(shí),若字符串已到了字符串的結(jié)束標(biāo)記符,則兩字符串相同,函數(shù)返回0值;如還有后繼字符,則準(zhǔn)備比較下一對(duì)字符。對(duì)應(yīng)字符不相同,循環(huán)結(jié)束。循環(huán)結(jié)束時(shí),就以兩個(gè)當(dāng)前字符的差返回。所以在空框處應(yīng)填入*s-*t,保證在e>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。
32.數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)
33.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。
34.d1.dat"rb"d1.dat,'rb'解析:打開(kāi)文件的函數(shù)為fopen('文件名','mode'),其中'mode'表示文件的打開(kāi)方式。如果打開(kāi)的是二進(jìn)制文件,其mode字符串可以是:'rb'、'wb'、'ab'、'rb+'、'wb+'、'ab+'。'r'表示以只讀方式打開(kāi)。'w'表示以寫(xiě)方式打開(kāi),如果已存在該文件名的文件,文件中的內(nèi)容將被清空。若文件名不存在,則將創(chuàng)建該文件。'a'為追加方式打開(kāi)。若文件存在時(shí),將打開(kāi)這個(gè)文件并且在文件的末尾進(jìn)行追加。當(dāng)文件不存在,將創(chuàng)建新文件。'r+'打開(kāi)一個(gè)已存在文件用于更新(可讀可寫(xiě))。\'w+'創(chuàng)建一個(gè)新文件用于更新,如果文件存在,文件被重寫(xiě)(可讀可寫(xiě))。'a+'打開(kāi)用于追加,當(dāng)文件不存在時(shí),創(chuàng)建新文件,并在文件末尾進(jìn)行追加(可讀可寫(xiě))。根據(jù)題意,應(yīng)該填'd1.dat','rb'。
35.3*sizeof(double)或size(double)*3或24或3*8或8*33*sizeof(double)或size(double)*3或24或3*8或8*3解析:該函數(shù)的調(diào)用格式是malloc(n),作用是申請(qǐng)n個(gè)字符的存儲(chǔ)單元,并返回該存儲(chǔ)區(qū)的首地址,實(shí)際調(diào)用的時(shí)候可在前面加上“(類型說(shuō)明符*)”,以轉(zhuǎn)換成需要的類型的地址。所以在此空白處應(yīng)該填寫(xiě)3*sizeof(double)或size(double)*3或其他等價(jià)的表達(dá)式。
36.dd解析:d被定義為一個(gè)結(jié)構(gòu)體類型變量,求結(jié)構(gòu)體變量a所占存儲(chǔ)單元的字節(jié)數(shù)即sizeof(d)。
37.n%base[d]
38.120120解析:靜態(tài)變量的類型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
靜態(tài)變量的類型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
①靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。
②對(duì)靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值—次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。
③如在定義局部變量時(shí)不賦初值的話,則對(duì)靜態(tài)局部變量來(lái)說(shuō),編譯時(shí)自動(dòng)賦初值0(對(duì)數(shù)值型變量)或空字符(對(duì)字符變量)。(注意:C語(yǔ)言中非靜態(tài)變量在定義時(shí),系統(tǒng)并不會(huì)自動(dòng)給它賦初值)
④雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)是不能引用它的。本題中函數(shù)的功能是:與for語(yǔ)句一起求一個(gè)整數(shù)的階乘。
39.00解析:本題的關(guān)鍵在于對(duì)變量c的賦值運(yùn)算:
d=(a>b>c)
d=(5>4>3)
先算5>4,為真,得1,即:d=(1>3),此時(shí)1>3,為假,得0。
40.GFEDCB。GFEDCB。解析:開(kāi)始指針cp指向字符串結(jié)束標(biāo)志,在循環(huán)中,cp依次向前移動(dòng),當(dāng)打印出第二個(gè)字符后,cp指向第一個(gè)字符,循環(huán)判斷條件不滿足,退出循環(huán),因此,只打印出第一個(gè)字符以后的字符的逆序列。
41.B解析:本題考查兩個(gè)位運(yùn)算符。按位異或運(yùn)算符“”’是雙目運(yùn)算符,其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相異或,當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異或時(shí),結(jié)果為1。左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0,并且“<<”運(yùn)算符的優(yōu)先級(jí)于“^”。
42.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語(yǔ)句輸出的結(jié)果為a,97;第二個(gè)輸出語(yǔ)句輸出的結(jié)果為k=12。
43.B解析:本題中的二維數(shù)組的每個(gè)元素就是一個(gè)由3個(gè)元素構(gòu)成的一維數(shù)組,根據(jù)條件for(k=0;k<3;++)和要求的a[k][k]可以得出本題的答案應(yīng)該是951。
44.A解析:本題程序的功能是求1到99之間(包括1和99)所有奇數(shù)之和。程序中的while循環(huán)的終止條件為++i=100,在while循環(huán)體內(nèi),如果i是偶數(shù),則執(zhí)行continue,跳過(guò)這依次循環(huán),執(zhí)行下一次循環(huán),否則求和。最后輸出的值是1到99之間(包括1和99)所有奇數(shù)之和(1+99)*50/2=2500。
45.C解析:在C語(yǔ)言中,通過(guò)使用庫(kù)函數(shù)允許對(duì)字符數(shù)組進(jìn)行整體輸入/輸出。C語(yǔ)言不允許通過(guò)賦值運(yùn)算符對(duì)字符數(shù)組整體進(jìn)行賦值,對(duì)字符串使用符號(hào):只能在說(shuō)明字符數(shù)組并進(jìn)行初始化的時(shí)候進(jìn)行。字符串結(jié)束標(biāo)志為'\\0',計(jì)算字符串的實(shí)際長(zhǎng)度時(shí)。不計(jì)入串長(zhǎng)。
46.B
47.C解析:break,char、return、switch都是C語(yǔ)言中的關(guān)鍵字,Switch不是。因?yàn)镃語(yǔ)言區(qū)分字母的大小寫(xiě)。
48.A解析:該程序通過(guò)main函數(shù)循環(huán)凋用sum函數(shù)。
當(dāng)i=2時(shí),將實(shí)參aa[2]的地址傳遞給形參,此時(shí)a[0]=a[1]=aa[3]=4,即aa[2]=4;
當(dāng)i=1時(shí),將實(shí)參aa[1]的地址傳遞給形參,此時(shí)a[0]=a[1]=aa[2]=4,即aa[1]=4;
當(dāng)i=0時(shí),將實(shí)參aa[0]的地址傳遞給形參,此時(shí)a[0]=a[1]=aa[1]=4,即aa[0]=4;
當(dāng)i=-1時(shí),不滿足條件i>=0,跳出循環(huán),程序執(zhí)行后數(shù)組aa中的值為4,4,4,4,5,6,7,8,9,10,所以aa[0]=4。
49.A
50.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS是數(shù)據(jù)庫(kù)系統(tǒng)的核心。DBMS是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。DBMS建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過(guò)DBMS。另外,DBMS還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照DBA所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。
51.C解析:aa+2=aa[2],因此sort(aa+2,5)是從aa[2]開(kāi)始,依次與后面的元素進(jìn)行比較,將當(dāng)前值小于其后一項(xiàng)的值進(jìn)行互換,循環(huán)5次。
52.C
53.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'};
54.C解析:函數(shù)說(shuō)明語(yǔ)句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符,A,的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。
55.D解析:本題主要考查結(jié)構(gòu)體變量和共用體變量所占存儲(chǔ)空間大小的計(jì)算方法。結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和,每個(gè)成員分別占有自己的內(nèi)存單元;共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。結(jié)構(gòu)體變量aa中,成員r1占2個(gè)字節(jié),r2占8個(gè)字節(jié),r3占4個(gè)字節(jié),共用體ua占8個(gè)字節(jié),所以共占用2+8+4+8=22個(gè)字節(jié)。
56.D解析:本題是計(jì)算50之內(nèi)的自然數(shù)相加之和,題中if語(yǔ)句括號(hào)中的條件表達(dá)式!(i%5)&&!(i%3)表明只有能同時(shí)被5和3整除的數(shù)才符合相加的條件,1~49之間滿足這個(gè)條件的只有,15、30和45,因?yàn)閟的初始值為1,所以s=1+15+30+45=91。
57.B解析:表達(dá)式n=(k%m,k/m)實(shí)際上是將k/m的結(jié)果賦值給了n。逗號(hào)表達(dá)式中最后一個(gè)表達(dá)式的值是該逗號(hào)表達(dá)式的值,所以輸出結(jié)果為k/m。
58.C在C語(yǔ)言中,二維數(shù)組的名字表示的是二維數(shù)組的地址,表達(dá)式*(W+1)表示的是二維數(shù)組的第一行的第二個(gè)元素。在其前面再加上*(*(w+1))就是錯(cuò)誤的表達(dá)式。
59.C解析:在模塊化設(shè)計(jì)中,要求將一個(gè)大程序按人們能理解的大小規(guī)模進(jìn)行分解,使每個(gè)模塊都能易于理解,各模塊的功能盡量單一,各模塊之間的聯(lián)系盡量的少。因此,選項(xiàng)A中的說(shuō)法是錯(cuò)誤的。自頂向下、逐步細(xì)化的設(shè)計(jì)過(guò)程,主要包括兩個(gè)方面:一是將一個(gè)復(fù)雜問(wèn)題的解法分解和細(xì)化成由若干模塊組成的層次結(jié)構(gòu);二是將一個(gè)模塊的功能逐步分解細(xì)化為一系列的處理步驟,直到某種程序設(shè)計(jì)語(yǔ)言的語(yǔ)句或某種機(jī)器指令。即在自頂向下、逐步細(xì)化的設(shè)計(jì)過(guò)程中,是按照先全局后局部,先整體后細(xì)節(jié)、先抽象后具體的方法設(shè)計(jì)程序。因此.選項(xiàng)B中的說(shuō)法也是錯(cuò)誤的。\u3000在模塊化程序設(shè)計(jì)中.每一個(gè)模塊完成一個(gè)功能,相對(duì)獨(dú)立,要求一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則。因此,選項(xiàng)C中的說(shuō)法是正確的。由于在模塊化程序設(shè)計(jì)中,一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則,因此,在程序設(shè)計(jì)過(guò)程中,結(jié)構(gòu)化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì)方法是要同時(shí)采用的。因此,選項(xiàng)D中的說(shuō)法是錯(cuò)誤的。
60.A
61.A本題考查的知識(shí)點(diǎn)是字符常量中的轉(zhuǎn)義字符。轉(zhuǎn)義字符是以一個(gè)“\”開(kāi)頭的字符序列,它只代表一個(gè)字符。在選項(xiàng)A)中,“\’,后跟著三個(gè)數(shù)字,是表示一個(gè)ASCIl碼值等于這三位數(shù)字所組成的八進(jìn)制數(shù)數(shù)值的字符,但是八進(jìn)制數(shù)只能是由0~7這八個(gè)數(shù)字表示,而選項(xiàng)A)中出現(xiàn)了數(shù)字8,所以是不合法的。選項(xiàng)B)是表示一個(gè)雙引號(hào)的轉(zhuǎn)義字符表示方法;選項(xiàng)C)表示的是一個(gè)反斜杠;選項(xiàng)D)表示一個(gè)ASCIl值為十六進(jìn)制值CC的字符。故應(yīng)該選擇A)。
62.C
63.C解析:在無(wú)向圖(邊沒(méi)有方向性的圖)中,若從頂點(diǎn)vi到vj有路徑,則稱vi和vj是連通的,若該圖中仟意兩個(gè)頂點(diǎn)都是連通的,則稱該圖為連通圖。
64.D關(guān)系R與s經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。
65.A
\n本題考查函數(shù)的調(diào)用,從主函數(shù)傳遞到調(diào)用函數(shù)中,*a的值為0,因此當(dāng)執(zhí)行完調(diào)用函數(shù)后,b[0]的值為6。
\n
66.A函數(shù)swap采用值傳遞方式,無(wú)論形參x和Y數(shù)值發(fā)生多大變化,實(shí)參a和b的值不變。因此選項(xiàng)A正確。
67.A
68.BB.【解析】數(shù)據(jù)庫(kù)設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。其中邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。
69.C
70.B
\n第一個(gè)循環(huán)的作用是把從0~9的數(shù)賦
\n給a數(shù)組;第二個(gè)循環(huán)的作用是把a(bǔ)數(shù)組中的部分元素放到數(shù)組P中,即p[0]=a[0]=0,p[1]=a[2]=2,p[2]=a[6]=6;第三個(gè)循環(huán)的作用是把P中的各個(gè)元素的兩倍之和放到k中,即k=5+0+4+12=21。
\n
71.B
72.B
73.C
74.C
75.B(int)(x*100+0.5)把float型數(shù)據(jù)(x*100+0.5)強(qiáng)轉(zhuǎn)成int,這樣就可以去掉小數(shù)點(diǎn),+0.5就是為了四舍五人。例如x=1.234,則(1.234*100+0.5)=123.9.則(int)123.9/100.0=123/100.0=1.23。
76.B本題考查兩個(gè)位運(yùn)算符。按位異或運(yùn)算
77.A涵數(shù)返回的結(jié)構(gòu)體為在涵數(shù)里賦值的結(jié)構(gòu)體,所以選擇A)。
78.A
79.A本題考查兩個(gè)概念:①用單引號(hào)括起來(lái)的一個(gè)字符常量只能存放一個(gè)字符;②℃語(yǔ)言中沒(méi)有字符串變量,只能用字符數(shù)組來(lái)存儲(chǔ)字符串。
80.B在需求分析階段可以使用的工具有數(shù)據(jù)流圖(DFD),數(shù)據(jù)字典(DD),判定樹(shù)與判定表,因此本題答案為B)。
81.(1)錯(cuò)誤:t=1.0-1/i;
正確:t-=1.O/i;
(2)錯(cuò)誤:;
正確:returnt;
【解析】從題目中的公式可知,整數(shù)rl每增加1,其結(jié)果為上一次的結(jié)果減1/i,因此,“t=1.0-1/i;”應(yīng)改為“t-=1.0/i;”;由函數(shù)的定義可知,函數(shù)proc()要把最后所得到的結(jié)果返回給主函數(shù),因此要在函數(shù)proc()最后加上“returnt;”。
82.
【解析】按照題目中要求,將str所指字符串中下標(biāo)為偶數(shù)的字符刪除。串中剩余字符形成的新串放在t所指數(shù)組中。可以通過(guò)將字符串str中下標(biāo)為奇數(shù)的字符放到字符串t中,對(duì)字符串str中的其余字符不予處理。最后為新的字符串?dāng)?shù)組添加結(jié)束符。
2021-2022年四川省巴中市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下述哪一個(gè)是順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)()。
A.存儲(chǔ)密度大B.插入運(yùn)算方便C.刪除運(yùn)算方便D.可方便地用于各種邏輯結(jié)構(gòu)的存儲(chǔ)表示
2.有以下程序:#include<stdio.h>doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf("%5.of\n",a);}doublef(doublex){returnx*x+1;}程序運(yùn)行后的輸出結(jié)果是()。A.503B.401C.500D.1404
3.下列關(guān)系模型中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個(gè)數(shù)多于原來(lái)關(guān)系中屬性個(gè)數(shù)的是
A.選擇B.連接C.投影D.并
4.函數(shù)原形中,下列()是不必要的。
A.函數(shù)的類型B.形式參數(shù)名C.函數(shù)名D.形式參數(shù)類型
5.有以下程序#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.1B.0C.2D.3
6.任何一棵二叉樹(shù)的葉子結(jié)點(diǎn)在前序、中序和后序遍歷序列中的相對(duì)次序()。
A.不發(fā)生改變B.發(fā)生改變C.不能確定D.以上都不對(duì)
7.有以下程序:#include<stdio.h>main(){inta=-2,b=0;while(a++++b);printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.1,3B.0,2C.0,3D.1,2
8.下列程序的輸出的結(jié)果是()。main{doubled=3.2;intx,Y;x=1.2;v=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.07
9.
10.有以下程序:#include<stdio.h>,main(){intS;scanf("%d",&s);while(s>O){switch(s){casel:printf("%d",s+5);case2:printf("%d",s+4);break;case3:printf("%d",s+3);default:("%d",s+1);break;}scanf("%d",&s);}}運(yùn)行時(shí),若輸入123450<回車(chē)>,由輸出結(jié)果是()。A.6566456B.66656C.66666D.6666656
11.以下程序的輸出結(jié)果是().A.A.2222B.2468C.222D.246
12.假定X和Y為double型,則表達(dá)式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
13.若有定義“doublea;”,則正確的輸入語(yǔ)句是()。A.A.seaM("%1f",&a);B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
14.以下敘述中錯(cuò)誤的是()。
A.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值
B.函數(shù)可以返回地址值
C.可以給指針變量賦一個(gè)整數(shù)作為地址值
D.當(dāng)在程序的開(kāi)頭包含文件stdi0.h時(shí),可以給指針變量賦NULL
15.以下敘述中錯(cuò)誤的是()。
A.線性結(jié)構(gòu)也能采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
B.線性結(jié)構(gòu)一定能采用順序存儲(chǔ)結(jié)構(gòu)
C.有的非線性結(jié)構(gòu)也能采用順序存儲(chǔ)結(jié)構(gòu)
D.非線性結(jié)構(gòu)一定不能采用順序存儲(chǔ)結(jié)構(gòu)
16.一個(gè)棧的輸入序列為123…n,若輸出序列的第一個(gè)元素是n,輸出第i(1<=i<=n)個(gè)元素是()
A.不確定B.n-i+1C.iD.n-i
17.下述哪一條是順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)()。
A.插入運(yùn)算方便B.可方便地用于各種邏輯結(jié)構(gòu)的存儲(chǔ)表示C.存儲(chǔ)密度大D.刪除運(yùn)算方便
18.有以下程序:#include<stdio.h>main(){inta=2,b=2,C=2;print{("%d\n",a/b&c);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.1C.2D.3
19.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
20.以下說(shuō)法錯(cuò)誤的是()。
A.散列法存儲(chǔ)的思想是由關(guān)鍵字值決定數(shù)據(jù)的存儲(chǔ)地址
B.散列表的結(jié)點(diǎn)中只包含數(shù)據(jù)元素自身的信息,不包含指針
C.負(fù)載因子是散列表的一個(gè)重要參數(shù),它反映了散列表的飽滿程度
D.散列表的查找效率主要取決于散列表構(gòu)造時(shí)選取的散列函數(shù)和處理沖突的方法
二、2.填空題(20題)21.在E-R圖中,矩形表示【】。
22.______是數(shù)據(jù)庫(kù)應(yīng)用的核心。
23.若a的值為1,則表達(dá)式!a‖++a的值是______。
24.按照邏輯結(jié)構(gòu)分類,數(shù)據(jù)結(jié)構(gòu)可分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),二叉樹(shù)屬于______。
25.若有定義intm=5,y=2,則執(zhí)行表達(dá)式y(tǒng)+=y-=m*=y后,y的值為【】。
26.以下程序段的輸出結(jié)果是【】。
inti=9;
printf("%o\n",i);
27.設(shè)某循環(huán)隊(duì)列的容量為50,頭指針front=5(指向隊(duì)頭元素的前一位置),尾指針rear=29(指向隊(duì)尾元素),則該循環(huán)隊(duì)列中共有【】個(gè)元素。
28.以下函數(shù)用來(lái)求出兩整數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>
voidfunc(intx,inty,【】z)
{*z=x+y;}
29.下列程序段的運(yùn)行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
30.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。
31.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>
my_cmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}return【】;
}
32.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過(guò)程。
33.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
34.若fp已正確定義為一個(gè)文件指針,d1.dat為二進(jìn)制文件,請(qǐng)?zhí)羁?,以便為“讀”而打開(kāi)此文件:
fp=fopen(【】);。
35.以下程序中給指針p分配3個(gè)double型動(dòng)態(tài)內(nèi)存單元,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{double*p;
p=(double*)malloc((【】);
p[0]=1.5;p[1]=2.5;p[2]=3.5;
printf("%f%f%f\n",p[0],p[1],p[2]);
}
36.下面程序用來(lái)輸出結(jié)構(gòu)體變量a所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>
main()
{structstu
{charx[20];floaty;}a;
printf("asize:%d\n",sizeof(【】));
}
37.以下程序可以把從鍵盤(pán)上輸入十進(jìn)制數(shù)(10ng型)以二到十六進(jìn)制數(shù)的形式輸出,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{charb[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','
E','F'};
intc[64],d,i=0,base;
longn;
printf("Enteranumber:\n");scanf("%1d",&n);
printf("Enternewbase:\n");scanf("%1d",&base);
do
{c[i]=【】;
i++;
n=n/base;
}while(n!=0);
printf("Theresultis:\n");
for(--i;i>=0;--i)
{d=c[i];
printf("%c",b【】);
}
}
38.以下程序輸出的最后個(gè)值是【】
intff(intn)
{staticintf=1;
f=f*n
returnf;
}
main()
{inti;
for(i=1;i<=5:i++)printf("%d、n",ff(i));}
39.以下程序輸出的結(jié)果是【】。
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
40.下列程序的輸出結(jié)果是______。
main()
{chara[]="ABCDEFG";
char*cp=&a[7];
while(--cp>&a[0])putchar(*cp);
}
三、1.選擇題(20題)41.設(shè)有以下語(yǔ)句charx=3,y=6,z;z=x^y<<2;則z的二進(jìn)制值是
A.10100B.11011C.11100D.11000
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.定義如下變量和數(shù)組:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};則下面語(yǔ)句的輸出結(jié)果是()。for(k=0;k<3;k++)printf("%d",a[k][k]);
A.753B.951C.963D.741
44.下列程序的輸出結(jié)果是______。#defineA100main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;sum+=i;}while(++i<A);printf("%d\n",sum);
A.2500B.2050C.4D.0
45.下述對(duì)C語(yǔ)言字符數(shù)組的描述中錯(cuò)誤的是
A.字符數(shù)組的下標(biāo)從0開(kāi)始
B.字符數(shù)組中的字符串可以進(jìn)行整體輸入/輸出
C.可以在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符“=”對(duì)字符數(shù)組整體賦值
D.字符數(shù)組可以存放字符串
46.以下程序的輸出結(jié)果是()。#include<stdio.h>intm=13;intfun(intx,inty){intm=2;return(x*y-m);}main(){inta=7,b=6;printf("%d",fun(a,B)/m);}
A.1B.3C.7D.10
47.下列標(biāo)識(shí)符不是關(guān)鍵字的是()。
A.breakB.charC.SwitchD.retum
48.有以下程序:#include<stdio.h>voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}執(zhí)行后的輸出結(jié)果是()。
A.4B.3C.2D.1
49.以下程序的輸出結(jié)果是()main(){inta[10]={1,2,3,4,5,6,7,8,9,10,},*p=a;printf("%d\n",*(p+2));}
A.3B.4C.1D.2
50.數(shù)據(jù)庫(kù)系統(tǒng)的核心是_______。
A.數(shù)據(jù)模型B.DBMSC.軟件工具D.數(shù)據(jù)庫(kù)
51.有以下程序:voidsott(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;)}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},I;sort(aa+2,5);for(i=0;i<10;i++)printf("%d",aa[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是______。
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
52.在下列敘述中,正確的一條是______。A.if(表達(dá)式)語(yǔ)句中,表達(dá)式的類型只限于邏輯表達(dá)式
B.語(yǔ)句“goto12;”是合法的
C.for(;;)語(yǔ)句相當(dāng)于while(1)語(yǔ)句
D.break語(yǔ)句可用于程序的任何地方,以終止程序的執(zhí)行
53.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()
A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)
54.閱讀下面程序段,則執(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;}
A.AB.MC.ND.L
55.若有下面的說(shuō)明和定義,則sizeof(structaa)的值是structaa{intrl;doubler2;floatr3;unionuu{charu1[5];longu2[2];}ua;}mya;
A.30B.29C.24D.22
56.有以下程序
main()
{inti,s=1;
for(i=1;i<50;i++)
if(!(i%5)&&!(i%3))s+=i;
printf("%d\n",s);}
程序的輸出結(jié)果是
A.409B.277C.1D.91
57.已知intk=10,m=3,n;則下列語(yǔ)句輸出結(jié)果是printf("%d\n",n=(k%m,k/m));
A.2B.3C.4D.5
58.若有定義intw[3][5];,則以下不能正確表示該數(shù)組元素的表達(dá)式是A.*(*w+3)B.*(*w+1)[4]C.*(*(*w+1))D.*(&w[0][0]+1)
59.下列敘述中正確的是()。
A.在模塊化程序設(shè)計(jì)中,一個(gè)模塊應(yīng)盡量多的包括與其他模塊聯(lián)系的信息
B.在自頂向下、逐步細(xì)化的設(shè)計(jì)過(guò)程中,首先應(yīng)設(shè)計(jì)解決問(wèn)題的每一個(gè)細(xì)節(jié)
C.在模塊化程序設(shè)計(jì)中,一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則
D.在程序設(shè)計(jì)過(guò)程中,不能同時(shí)采用結(jié)構(gòu)化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì)方法
60.以下不是網(wǎng)絡(luò)操作系統(tǒng)的是()
A.Windows3.1B.WindowsNTC.NetWareD.UNIX
四、選擇題(20題)61.以下不合法的字符常量是()。
62.
63.n個(gè)頂點(diǎn)的連通圖中邊的條數(shù)至少為_(kāi)_____。A.A.0B.1C.n-1D.n
64.有三個(gè)關(guān)系R、s和T如下:
由關(guān)系R和s通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.并B.自然連接C.笛卡爾積D.交
65.
下列程序執(zhí)行后的輸出結(jié)果是()。
voidfunc(int*a,intb[])
{b[0]=*a+b;}main
{inta,b[5];
a=0.b[0]=3;
func(&a,b);printf("%d\n",b[0]);
}
A.6B.7C.8D.9
66.以下程序運(yùn)行后的輸出結(jié)果是()。
A.15,16B.16,15C.15,15D.16,16
67.以下()不是標(biāo)準(zhǔn)的HTTP消息頭字段。
A.StatusB.HostC.AcceptD.Referer
68.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E—R圖轉(zhuǎn)換為關(guān)系模式的過(guò)程屬于()。
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
69.
70.
以下程序的輸出結(jié)果是()。
main
{inti,k,a[10],p[3];
k=5;
for(i=0:i<10;i++)a[i]=i;
for(i=0;i<3;i++)p[i]=a[i*(i+1)];
for(i=0;i<3;i++)k+=p[i]*2;
printf("%d\n",k、;
}
A.20B.21C.22D.23
71.
72.
73.
74.
75.設(shè)變量x為float型且已賦值,則以下語(yǔ)句能將x中的數(shù)值保留到小數(shù)點(diǎn)后兩位,并將第3位四舍五入的是()。
A.
B.
C.
D.
76.沒(méi)有以下語(yǔ)句
則Z的二進(jìn)制值是()。
A.00010100B.00011011C.00011100D.00011000
77.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
78.運(yùn)算符________的優(yōu)先級(jí)最高。
A.[]B.+=C.?:D.++
79.下列字符數(shù)組初始化語(yǔ)句中,不正確的是()。A.A.charc[]='goodmorning';
B.charc[20]="goodmorning";
C.charc[]={'a','b','c','d');
D.charc[]={"ffgoodmorning"};
80.在軟件開(kāi)發(fā)中,需求分析階段可以使用的工具是()。A.N—s圖B.DFD圖C.PAD圖D.程序流程圖
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:傳人一個(gè)整數(shù)n,計(jì)算如下公式的值。t=1/2-1/3-…-1/n例如,若輸入3,則應(yīng)輸出0.166667。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),其功能是:將str所指字符串中下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。例如,當(dāng)str所指字符串中的內(nèi)容為ABCDEFGHIJK(輸入完成以空格、Tab或者Enter鍵加任意非空格、Tab或者Enter鍵的一個(gè)字符作為輸入結(jié)束標(biāo)志),則在t所指數(shù)組中的內(nèi)容應(yīng)是BDFHJ。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.A
2.A此題是一個(gè)簡(jiǎn)單的函數(shù)調(diào)用,當(dāng)i=0并且i<30,執(zhí)行i+=10,并且調(diào)用函數(shù)f,所以當(dāng)i=0時(shí),結(jié)果為1,當(dāng)i=10時(shí),結(jié)果為101,當(dāng)i=20時(shí),結(jié)果為401,所以a=1+101+401=503。
3.B解析:本題主要考查關(guān)系模型中幾種運(yùn)算的特征。經(jīng)過(guò)選擇或投影運(yùn)算得到的新關(guān)系的屬性個(gè)數(shù)最多不會(huì)超過(guò)原關(guān)系中的屬性個(gè)數(shù)。經(jīng)過(guò)連接運(yùn)算得到的新關(guān)系最多不少于原關(guān)系中屬性的個(gè)數(shù)。故選項(xiàng)B正確。
4.A
5.A雖為嵌套的for循環(huán),但“m=m%j”只執(zhí)行1次,即當(dāng)i=3時(shí),內(nèi)層循環(huán)條件成立,m=55%3=1,故選A。
6.A
7.D輸出的結(jié)果是:-1,1\r\n0,2\r\n1,2
8.C根據(jù)賦值運(yùn)算的類型轉(zhuǎn)換規(guī)則,先將double型的常量l.2轉(zhuǎn)換為int型,因?yàn)閤的類型是int,則X的值為1;執(zhí)行語(yǔ)句y=(K+3.8)/5.0時(shí),即先將整型變量X的值1轉(zhuǎn)換為double型1.0,然后3.8相加得4.8,進(jìn)行除法運(yùn)算4.8/5.0結(jié)果為0.即變量y的值為0,d*Y的值也為0,故選C選項(xiàng)。
9.A
10.A根據(jù)題意,當(dāng)s=1時(shí),輸出65;當(dāng)s=2時(shí),輸出6;當(dāng)S=3時(shí),則輸出64;當(dāng)S=4時(shí),輸出5;當(dāng)s=5時(shí),輸出6;當(dāng)s=0時(shí),程序直接退出。所以最后答案為6566456,A選項(xiàng)正確。
11.D
12.D本題考查C語(yǔ)言中變量類型的轉(zhuǎn)換。
C語(yǔ)言中若參與運(yùn)算的變量的數(shù)據(jù)類型不同,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。轉(zhuǎn)換數(shù)據(jù)始終往長(zhǎng)度增加的方向進(jìn)行,以確保精確度,如int和long運(yùn)算,則將int轉(zhuǎn)換為long再運(yùn)算,所有的浮點(diǎn)運(yùn)算都是以雙精度(double)進(jìn)行的。
題目中x、y都為double型數(shù)據(jù),而表達(dá)式3/2為兩個(gè)整型變量之間的計(jì)算,計(jì)算結(jié)果只保留整數(shù)部分,小數(shù)部分省略掉。3/2的結(jié)果為1。后面變?yōu)橛?jì)算y=x+1,這時(shí)都需要變?yōu)閐ouble型數(shù)據(jù),結(jié)果為3.000000。
13.D本題考查seanf函數(shù)的調(diào)用形式:scanf(格式字符串,輸入項(xiàng)地址表)。題中定義變量a為雙精度型變量,雙精度變量的格式符為“l(fā)e”;變量的地址用取地址符“&”加變量名表示,所以選項(xiàng)D正確。
14.C指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),故選項(xiàng)C錯(cuò)誤。
15.D滿二叉樹(shù)與完全二叉樹(shù)均為非線性結(jié)構(gòu),但可以按照層次進(jìn)行順序存儲(chǔ)。本題答案為D選項(xiàng)。
16.B
17.C
18.A根據(jù)C語(yǔ)言運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,先計(jì)算a/b,結(jié)果為l,再將a/b的結(jié)果與C做按位與運(yùn)算,即l與2做按位與運(yùn)算,其結(jié)果為0。
19.D解析:本題主要考查左移、右移對(duì)數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。
20.B
21.實(shí)體實(shí)體解析:E-R模型中,有3個(gè)基本的抽象概念:實(shí)體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實(shí)體,菱形框表示聯(lián)系,橢圓形框表示屬性。
22.數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)
23.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。
24.非線性結(jié)構(gòu)非線性結(jié)構(gòu)解析:對(duì)于一個(gè)非空的數(shù)據(jù)結(jié)構(gòu),如果同時(shí)滿足下列兩個(gè)條件,即1)有且只有一個(gè)根結(jié)點(diǎn);2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件;即為線性結(jié)構(gòu),而二叉樹(shù)的結(jié)點(diǎn)可能存在兩個(gè)后件,所以是非線性結(jié)構(gòu)。
25.-16-16解析:將賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給左側(cè)的變量,并且賦值運(yùn)算符按照“自右而左”的結(jié)合順序,本題表達(dá)式應(yīng)先算m的值為10,再運(yùn)算y的值為8,最后計(jì)算y=y+(-8)=-8+(-8)=-16。
26.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。
27.2424解析:在循環(huán)隊(duì)列中因?yàn)轭^指針指向的是隊(duì)頭元素的前一個(gè)位置,所以是從第6個(gè)位置開(kāi)始有數(shù)據(jù)元素,所以隊(duì)列中的數(shù)據(jù)元素的個(gè)數(shù)為29-5=24。
28.int*int*解析:從題中代碼可知:z應(yīng)該是一個(gè)整型指針,因此應(yīng)填int*。
29.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。
30.順序存儲(chǔ)(順序方式存儲(chǔ))順序存儲(chǔ)(順序方式存儲(chǔ))解析:二分法查找對(duì)表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲(chǔ)。
31.*s-*t*s-*t解析:兩字符串大小比較必須從它們的首字符開(kāi)始,在對(duì)應(yīng)字符相等情況下循環(huán),直至不相等結(jié)束。相等時(shí),若字符串已到了字符串的結(jié)束標(biāo)記符,則兩字符串相同,函數(shù)返回0值;如還有后繼字符,則準(zhǔn)備比較下一對(duì)字符。對(duì)應(yīng)字符不相同,循環(huán)結(jié)束。循環(huán)結(jié)束時(shí),就以兩個(gè)當(dāng)前字符的差返回。所以在空框處應(yīng)填入*s-*t,保證在e>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。
32.數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)
33.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。
34.d1.dat"rb"d1.dat,'rb'解析:打開(kāi)文件的函數(shù)為fopen('文件名','mode'),其中'mode'表示文件的打開(kāi)方式。如果打開(kāi)的是二進(jìn)制文件,其mode字符串可以是:'rb'、'wb'、'ab'、'rb+'、'wb+'、'ab+'。'r'表示以只讀方式打開(kāi)。'w'表示以寫(xiě)方式打開(kāi),如果已存在該文件名的文件,文件中的內(nèi)容將被清空。若文件名不存在,則將創(chuàng)建該文件。'a'為追加方式打開(kāi)。若文件存在時(shí),將打開(kāi)這個(gè)文件并且在文件的末尾進(jìn)行追加。當(dāng)文件不存在,將創(chuàng)建新文件。'r+'打開(kāi)一個(gè)已存在文件用于更新(可讀可寫(xiě))。\'w+'創(chuàng)建一個(gè)新文件用于更新,如果文件存在,文件被重寫(xiě)(可讀可寫(xiě))。'a+'打開(kāi)用于追加,當(dāng)文件不存在時(shí),創(chuàng)建新文件,并在文件末尾進(jìn)行追加(可讀可寫(xiě))。根據(jù)題意,應(yīng)該填'd1.dat','rb'。
35.3*sizeof(double)或size(double)*3或24或3*8或8*33*sizeof(double)或size(double)*3或24或3*8或8*3解析:該函數(shù)的調(diào)用格式是malloc(n),作用是申請(qǐng)n個(gè)字符的存儲(chǔ)單元,并返回該存儲(chǔ)區(qū)的首地址,實(shí)際調(diào)用的時(shí)候可在前面加上“(類型說(shuō)明符*)”,以轉(zhuǎn)換成需要的類型的地址。所以在此空白處應(yīng)該填寫(xiě)3*sizeof(double)或size(double)*3或其他等價(jià)的表達(dá)式。
36.dd解析:d被定義為一個(gè)結(jié)構(gòu)體類型變量,求結(jié)構(gòu)體變量a所占存儲(chǔ)單元的字節(jié)數(shù)即sizeof(d)。
37.n%base[d]
38.120120解析:靜態(tài)變量的類型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
靜態(tài)變量的類型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
①靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。
②對(duì)靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值—次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。
③如在定義局部變量時(shí)不賦初值的話,則對(duì)靜態(tài)局部變量來(lái)說(shuō),編譯時(shí)自動(dòng)賦初值0(對(duì)數(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州財(cái)經(jīng)職業(yè)學(xué)院《先進(jìn)制造訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽(yáng)職業(yè)技術(shù)學(xué)院《戶外基礎(chǔ)技能》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025浙江省安全員A證考試題庫(kù)
- 白玉桃種植示范基地建設(shè)項(xiàng)目可行性研究報(bào)告-白玉桃市場(chǎng)需求持續(xù)擴(kuò)大
- 廣州中醫(yī)藥大學(xué)《商業(yè)銀行管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025江蘇省安全員B證考試題庫(kù)
- 2025黑龍江省建筑安全員知識(shí)題庫(kù)附答案
- 2025河南省建筑安全員考試題庫(kù)附答案
- 2025河北建筑安全員《A證》考試題庫(kù)
- 2025年遼寧省安全員《A證》考試題庫(kù)
- 多源數(shù)據(jù)融合平臺(tái)建設(shè)方案
- 2023-2024學(xué)年上海市普陀區(qū)三年級(jí)(上)期末數(shù)學(xué)試卷
- 居家養(yǎng)老上門(mén)服務(wù)投標(biāo)文件
- 浙江省寧波市鄞州區(qū)2024年七年級(jí)上學(xué)期期末數(shù)學(xué)試題【含答案】
- 浙江省杭州市錢(qián)塘區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期語(yǔ)文期末試卷
- GB/T 44713-2024節(jié)地生態(tài)安葬服務(wù)指南
- 2024年形勢(shì)與政策 第一講《讀懂中國(guó)式現(xiàn)代化》
- 2024-2025學(xué)年蘇教版四年級(jí)上冊(cè)期末自主測(cè)試數(shù)學(xué)試卷(一)(含答案解析)
- 光伏發(fā)電系統(tǒng)數(shù)據(jù)采集規(guī)范指南
- 2024年天津三源電力集團(tuán)限公司社會(huì)招聘33人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 校(園)廉政風(fēng)險(xiǎn)防控預(yù)警處置制度
評(píng)論
0/150
提交評(píng)論