




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022-2023年江西省南昌市全國計算機(jī)等級考試C語言程序設(shè)計測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.以下程序運(yùn)行后的輸出結(jié)果是()。
A.2B.1C.3D.O
3.下列語句組中,正確的是()。
4.二叉樹的第三層最少有________個結(jié)點。
A.0B.1C.2D.3
5.下面不能正確表示a*b/(c*d)的表達(dá)式是()。
A.(a*b)/c*dB.a*b/(c*d)C.a/c/d*bD.a*b/c/d
6.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒有任何關(guān)系
7.有以下程序:#include<stdio.h>#include<strin9.h>main(){printf{"%d\n",strlen("%d\n",strlen("ATS\n012\|"));}程序運(yùn)行后的輸出結(jié)果是()。A.3B.8C.4D.9
8.
9.已知i,j,k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1,j的值為2,k的值為3,以下選項中正確的輸入語句是A.scanf("%2d%2d%2d",&i,&j,&k);
B.scanf("%d%d%d",&i,&j,&k);
C.scanf("%d,%d,%d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
10.設(shè)有如下類型說明語句:typedefstruct{intnum;struct{inty,m,d;}date;}PER;則以下定義結(jié)構(gòu)體數(shù)組并賦初值的語句中錯誤的是()。
A.PERst[2]={{1001},2008,8,1,{1002},2006,5,20};
B.PERst[2]={1001,{2008,8,1},1002,{2006,5,20}};
C.PERst[2]={{1001,2008,8,1},{1002,2006,5,20}};
D.PERst[2]={1001,2008,8,1,1002,2006,5,20};
11.以下敘述中正確的是______。
A.C語言比其他語言高級
B.C語言可以刁;用編譯就能被計算機(jī)識別執(zhí)行
C.C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
D.C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點
12.數(shù)據(jù)庫是()的集合,它具有統(tǒng)一的結(jié)構(gòu)格式并存放于統(tǒng)一的存儲介質(zhì),可被各個應(yīng)用程序所共享
A.視圖B.消息C.數(shù)據(jù)D.關(guān)系
13.以下敘述中錯誤的是()。
A.非零的數(shù)值型常量有正值和負(fù)值的區(qū)分
B.常量是在程序運(yùn)行過程中值不能被改變的量
C.定義符號常量必須用類型名來設(shè)定常量的類型
D.用符號名表示的常量叫符號常量
14.以下敘述中正確的是()。
A.預(yù)處理命令行必須位于C源程序的起始位置
B.在C語言中,預(yù)處理命令行都以“#”開頭
C.每個C程序必須在開頭包含預(yù)處理命令行:#include
D.C語言的預(yù)處理不能實現(xiàn)宏定義和條件編譯的功能
15.有以下程序
#include<stdio.h>
main()
{charb,c;inti;
b=‘a(chǎn)’;c=‘A’;
for(i=0;i<6;i++)
{if(i%2)putchar(i+b);
elseputehar(i+c);
}printf(“\n”);
}
程序運(yùn)行后的輸出結(jié)果是A.ABCDEFB.AbCdEfC.aBeDeFD.abcdef
16.存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是()。
A.0B.‘0’C.“0”D.0.0
17.下列函數(shù)的類型是()。fun(doublex){floaty;y=3*x-4;returny;}
A.intB.不確定C.voidD.float
18.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。
A.詳細(xì)設(shè)計B.需求分析C.總體設(shè)計D.編程調(diào)試
19.下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中,正確的是()。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
20.在目標(biāo)串T[0,n-1]=”xwxxyxy”中,對模式串p[0,m-1]=”xy”進(jìn)行子串定位操作的結(jié)果_______
A.0B.2C.3D.5
二、2.填空題(20題)21.下列程序的輸出結(jié)果是【】。
#definePR(a)printf("%d\t",(int)(a))
#definePRINT(a)PR(a);printf("ok!")
main()
{inti,a=1;
for(i=0;i<3;i++)
PRINT(a+i);
printf("\n");}
22.以下程序的輸出結(jié)果是()。#include<stdio.h>intfun(intx){staticintt=0;return(t+=x);}main(){ints,i;for(i=1;i<=5;i++)s=fun(i);printf("%d\11",s);}
23.軟件生命周期分為軟件定義期、軟件開發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計屬于______中的一個階段。
24.軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設(shè)計來實現(xiàn)。
25.以下程序的運(yùn)行結(jié)果為【】。
main()
{inti,j,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},b[4][3];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
b[j][i]=a[i][j];
for(i=0;i<4;i++)
{for(j=0;j<3;j++)
printf("%-3d",b[i][j]);
printf("\n");
}
}
26.在面向?qū)ο蠓椒ㄖ校尽棵枋龅氖蔷哂邢嗨茖傩耘c操作的一組對象。
27.下列程序執(zhí)行后輸出的結(jié)果是【】。
structs
{intx,y;}data[2]={10,100,20,200};
main()
{
structs*p=data;
printf("%d\n",++(p->x));
}
28.下列程序的運(yùn)行結(jié)果是______。
#definePOWER(x)((x)*(x))
main()
{inti=1;
printf("%d,%d",POWER(i++),i);
}
29.以下程序的輸出結(jié)果是【】。
fun(intx,inty,intz)
{z=x*x+y*y;}
main()
{inta=31;
fun(6,3,a)
printf("%d,a)
}
30.下列程序用來輸出結(jié)構(gòu)體變量ex所占存儲單元的字節(jié)數(shù)。
structst
{charname[20];doublescore;};
main()
{structstex;
printf("exsize:%d\n",sizeof(【】));
}
31.下面程序的功能是:計算1~10之間的奇數(shù)之和與偶數(shù)之和,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{a+=i;
【】;
c+=b;}
printf("偶數(shù)之和=%d\n",a);
printf("奇數(shù)之和=%d\n",c-11);}
32.下列程序段的輸出結(jié)果是______。
intn='c':
switch(n++)
{default:printf("error");break;
case'a':printf("good");break;
case'c':printf("moming");
case'd':printf("class");
}
33.設(shè)inta=5,b=6,表達(dá)式(++a==b--)?++a:--b的值是【】。
34.C語言用于結(jié)構(gòu)化程序設(shè)計的3種基本結(jié)構(gòu)是______、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
35.在數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計中,常用的描述工具是【】。
36.有以下定義和語句,則sizeof(a.share)的值是()。
structdate
{unsignedintday;
unsignedintmouth;
unsignedintyear;
union{intshare1;
floatshare2;
}share;
}a;
37.在面向?qū)ο蟮某绦蛟O(shè)計中,類描述的是具有相似性質(zhì)的一組【】。
38.在面向?qū)ο蠓椒ㄖ校畔㈦[蔽是通過對象的______性來實現(xiàn)的。
39.在面向?qū)ο蟪绦蛟O(shè)計中,從外面看只能看到對象有外部特征,而不知道也無需知道數(shù)據(jù)的具體結(jié)構(gòu)以及實現(xiàn)操作的算法,這稱為對象的______。
40.若有以下程序
main()
{inta[4][4]={{1,2;-3,-4},{0,-12,-13,14},{21,23,0,-24},{-31,32,-33;0}};
inti,j,s=0;
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
if(a[i][j]<0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
}
printf("%d\n",s);
}
執(zhí)行后輸出結(jié)果是______。
三、1.選擇題(20題)41.在c語言中,變量的隱含存儲類別是()。
A.autoB.staticC.externD.無存儲類別
42.若有以下函數(shù)首部intfun(doublex[10],int*n)則下面針對此函數(shù)的函數(shù)聲明語句中正確的是______。A.intfun(doublex,int*n);
B.intfun(double,int);
C.intfun(double*x,intn);
D.intfun(double*,int*);
43.已知一個文件中存放若干工人檔案記錄,其數(shù)據(jù)結(jié)構(gòu)如下:structa{charnumber[100];intage;floatp[6];};定義一個數(shù)組:structanumber[10];假定文件已正確打開,不能正確地從文件中讀入10名工人數(shù)據(jù)到數(shù)組b中的是()。
A.fread(b,sizeof(structA),10,fp);
B.for(i=0;i<10;i++)fread(b[i],sizeof(structA),1,fp);
C.for(i=0;i<10;i++)fread(b+i,sizeof(structA),1,fp);
D.for(i=0;i<5;i+=2)fread(b+i,sezeof(structA),2,fp);
44.請讀程序:#include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}上面程序的輸出結(jié)果是()。
A.7B.8C.9D.10
45.有下列程序段:structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;下列選項中表達(dá)式的值為11的是()。
A.*pt->yB.pt->xC.++pt->xD.(pt++)->X
46.若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是______。
A.pb=&x;B.pb=x;C.*pb=&x;D.*pb=*x
47.微機(jī)顯示器一般有兩組引線,它們是()
A.電源線與信號線B.電源線與控制線C.電源線與地線D.控制線與地線
48.下面程序的輸出結(jié)果是()。#definePI3.1415#defineARE(X)PI*x*xmain(){intr=2;printf("%.2f",ARE(r+1));}
A.28.26B.28.26C.9.28D.9.28
49.sizeof(char)是()。
A.一種函數(shù)調(diào)用B.一個整型表達(dá)式C.一個字符型表達(dá)式D.一個不合法的表達(dá)式
50.若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}執(zhí)行后的輸出結(jié)果是
A.8,6B.8,3C.6,4D.7,4
51.已知大寫字母F的ASCII碼為70,以下程序的運(yùn)行結(jié)果為()#include<stdio.h>main(){charc1='F',c2='p';printf("%d,%d\n",c1,c2);}
A.70,80B.70,81C.70,82D.70,83
52.閱讀下述程序段:y=-1;if(x!=0)if(x>0)y=1;elsey=0;該程序段所描述的數(shù)學(xué)關(guān)系是()
A.
B.
C.
D.
53.有以下程序#include<stdio.h>#definePT5.5#defineS(x)PT*x*xmain(){inta=1,b=2;printf("%4.1f\n",S(a+b));}程序運(yùn)行后的輸出結(jié)果是()
A.49.5B.9.5C.22D.45
54.執(zhí)行以下程序后,test.txt文件的內(nèi)容是(若文件能正常打開)()。#include<stdio.h>#include<stdlib.h>main(){FILE*fp;char*s1="Fortran",*s2="Basic";if((fp=fopen("test.txt","wb"))==NULL){prinff("Can'topentest.txtfile\n");exit(1);}fwrite(s1,7,1,fp);/*把從地址s1開始到7個字符寫到fp所指文件中*/fseek(fp,OL,SEEK_SET);/*文件位置指針移到文件開頭*/fwrite(s2,5,1,fp);felose(fp);}
A.BasieanB.BasieFortranC.BasicD.FortranBasie
55.不能與do…while(exp)語句中的(exp)等價的表達(dá)式是()。
A.(!exp==0)B.(exp>0‖exp<0)C.(exp==0)D.(exp!=0)
56.有以下程序:main(){inty=10;while(y--);printf("y=%d\n",y);}程序執(zhí)行后的輸出結(jié)果是()。
A.y=0B.y=-1C.y=1D.while構(gòu)成無限循環(huán)
57.以下選項中非法的表達(dá)式是()。
A.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+1
58.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則
A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無限次
59.若有說明:int*p,m=5,n;以下正確的程序段是
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p)
C.scanf("%d",&n);*p=n;
D.p=&n;*p=m;
60.在下列敘述中,正確的一條是()
A.語句int*pt中的*pt是指針變量名
B.語句"int*p=a;"等價于"int*p;p=&a[0];”
C.運(yùn)算符*和&都是取變量地址的運(yùn)算符
D.已知指針變量p指向變量a,則&a和*p值相同,都是變量a的值
四、選擇題(20題)61.
62.不能實現(xiàn)函數(shù)之間數(shù)據(jù)傳遞的是()。
A.全局變量B.局部變量C.函數(shù)接口D.函數(shù)返回值
63.下列數(shù)據(jù)結(jié)構(gòu)中屬于非線性結(jié)構(gòu)的是()。
A.隊列
B.線性表
C.二叉樹
D.棧
64.有以下程序:
intfun(intx)
{intp;
if(x==0||x==1)return(3);
p=x-fun(x-2);
returnp;
}
main
{printf("%d\n",fun(7));}
執(zhí)行后的結(jié)果是()。A.A.7B.3C.2D.065.以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。
#include<stdio.h>
#defineN10
voidfun(intx[N])
{inti=0;
while(i<N)scanf("%d",
);
}
在程序中下劃線處應(yīng)填入的是()A.x+i
B.&x[i+1]
C.x+(i++)
D.&x[++i]
66.
67.與“y=(x>0?1:x<0?-1:0)”;的功能相同的if語句是()。A.A.if(x>0)y=1;elseif(x<0)y=1;else=""y="0;
B."x="">0)y=1;elseif(x<0)y=-l;else=""y="0;"
C.y="-l"x="">O)y=1;elseif(x=-0)y=0;elsey=-l;
D.y=0;if(x>=0)if(x>=0)y=1;elsey=-l;
68.已知inta=15,執(zhí)行語句a=a<<2以后,變量a的值是()。
A)20B)40
C)60D)80
69.設(shè)整型變量n的值為2,執(zhí)行語句“n+=n-=n*n;”后,n的值是__________
A.0B.4C.-4D.2
70.在結(jié)構(gòu)化程序設(shè)計方法中,下面內(nèi)聚性最弱的是()。
A.邏輯內(nèi)聚B.時間內(nèi)聚C.偶然內(nèi)聚D.過程內(nèi)聚
71.軟件設(shè)計中劃分模塊的一個準(zhǔn)則是()。
A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦臺
72.
73.若程序中有以下說明和定義。
structabc
{
intx;chary;
}
structabcs1,s2;
則會發(fā)生的情況是
A.編譯時出錯B.程序?qū)㈨樞蚓幾g、連接、執(zhí)行
C.能順序通過編譯、連接,但不能執(zhí)行D.能順序通過編譯,但連接出錯
74.
75.
76.在面向?qū)ο蠓椒ㄖ校粚儆凇皩ο蟆被咎攸c的是A.一致性B.分類性C.多態(tài)性D.標(biāo)識唯一性
77.
78.有以下程序段
#include<stdio.h>
voidfun(char*fname,char*st)
{FILE*myf;
inti;
myf=fopen(fname,"w");
for(i=0;i<strlen(st);i++)fputc(st[i],myf);
fclose(myf);
}
main()
{fun("test.t","newworld");
fun("test.t","hello,");}
程序執(zhí)行后,文件test.t中的內(nèi)容是A.A.hello,
B.newworldhello,
C.newworld
D.hello,rld
79.
80.已知二叉樹后序遍歷序列是dabeC,中序遍歷序列是debaC,它的前序遍歷序列是()。
A.aChedB.deCabC.deabeD.Cedba
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從m個學(xué)生的成績中統(tǒng)計出低于平均分的學(xué)生人數(shù),此人數(shù)由函數(shù)值返回,平均分存放在形參aver所指的存儲單元中。例如輸入8名學(xué)生的成績:987867563489.578.576.5則低于平均分的學(xué)生人數(shù)為3(平均分為72.187500)。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.編寫函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素數(shù)存人XX所指數(shù)組中,非素數(shù)的個數(shù)通過k返回。
例如,若輸入17,則應(yīng)輸出:46891012141516。注意:部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
參考答案
1.A
2.A參數(shù)r的傳遞是地址傳遞,函數(shù)調(diào)用會改變其值。函數(shù)f的功能是:判斷n是否為3或5的倍數(shù),如果是,則將指針r所指的內(nèi)存空間賦值為n除以3或5的商;否則n遞減,直到它可以被3或5整除。初始時調(diào)用函數(shù)f(7,&r);n=7,執(zhí)行else子句,調(diào)用f(6,&r1);后n=6,執(zhí)行語句if(n%3==0)r1=n/3;,此后執(zhí)行語句*r=rl;。所以r=6/3=2。
3.A字符型指針變量可以用選項A)的賦值方法:char*s;s=”O(jiān)lympictt;,選項C)的寫法:char*s,s={1.Olympic”};是錯誤的。字符數(shù)組可以在定義的時候初始化:chars[]_IfIOlympic”l;或者chars[]=”O(jiān)lympic'1.都是正確的,但是不可以在定義字符數(shù)組后,對數(shù)組名賦值(數(shù)組名是常量,代表數(shù)組首地址)。所以選項B)和選項D)都是錯誤的。對于本例,選項B)、D)中字符數(shù)組S的大小至少為8,才能存放下字符串(字符串的末尾都有結(jié)束標(biāo)志“\0”)。
4.B
5.A
6.CC。【解析】數(shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(DBS)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員、硬件平臺和軟件平臺五個部分組成,可見DB和DBMS都是DBS的組成部分。
7.B本題考查strlen函數(shù)和轉(zhuǎn)移字符,strlen函數(shù)的功能是求字符串的長度,在本題中有“\”,C語言中“\”是轉(zhuǎn)義字符,在計算長度時會將轉(zhuǎn)義符以及后面的第一個字符作為1個長度進(jìn)行計算,所以答
8.D
9.C
10.A結(jié)構(gòu)體PER類型定義了兩個成員:num為整型,date為嵌套的結(jié)構(gòu)體類型。初始化時,成員值的順序必須與成員定義的順序相同,num必須是整數(shù),date必須是用花括號標(biāo)注的嵌套的3個整數(shù)。選項A中,{1001}和{1002}都不是整數(shù),所以選項A錯誤。故本題答案為A選項。
11.C解析:計算機(jī)語言分為低級語言、匯編語言和高級語言,C語言屬于高級語言,但并不是說C語言比其他語言高級,所以選項A錯誤;除了低級語言外,其他各種語言都必須譯成能被計算機(jī)識別的二進(jìn)制數(shù)才能執(zhí)行,選項B錯誤;C語言出現(xiàn)從1972年到1973年間,并不是出現(xiàn)最晚的語言,所以選項D也是錯誤的。
12.C解析:數(shù)據(jù)庫是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系。
13.C在C語言中,可以用一個標(biāo)識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:#define標(biāo)識符常量。
14.B本題是對基本知識點的理解,預(yù)處理命令行的位置沒有規(guī)定,只是習(xí)慣寫在起始位置而已,當(dāng)需要時才用#include<stdio.h>頭文件,預(yù)處理的作用就是實現(xiàn)宏定義和條件編譯。
15.B解析:變量b和c中分別存放字符a和A的ASCII碼,當(dāng)i的值對2求余非零時輸出ASCII碼為i+b)的字符;當(dāng)i的值對2求余為零時輸出ASCII碼為i+c的字符。分析程序可知本題選B。
16.D
17.A本題考查函數(shù)值的類型。在函數(shù)調(diào)用時,盡管Y的類型是float.x的類型是double,但是因為函數(shù)定義時沒有指定類型說明,系統(tǒng)默認(rèn)函數(shù)值的類型為int型,所以計算后Y的類型是int型。
18.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個模塊的功能、建立與已確定的軟件需求的對應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評估模塊劃分的質(zhì)量等方面。詳細(xì)設(shè)計的任務(wù)是:在使用程序設(shè)計語言編制程序以前,對所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá)。需求分析是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進(jìn)度需求等。編程調(diào)試的任務(wù)是診斷和改正程序中潛在的錯誤。綜上所述。軟件功能分解只能發(fā)生在總體設(shè)計階段。
19.A解析:數(shù)據(jù)庫是一個通用化的、綜合性的數(shù)據(jù)集合,它可以為各種用戶所共享,具有最小的冗余度和較高的數(shù)據(jù)與程序的獨立性,而且能并發(fā)地為多個應(yīng)用服務(wù),同時具有安全性和完整性。即數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余,但不能避免一切冗余。所以選項A正確,選項B錯誤。在數(shù)據(jù)庫管理階段中,數(shù)據(jù)是結(jié)構(gòu)化的,面向系統(tǒng),數(shù)據(jù)冗余度小,從而節(jié)省了數(shù)據(jù)的存儲空間,也減少了對數(shù)據(jù)的存取時間,提高了訪問效率,避免了數(shù)據(jù)的不一致性。數(shù)據(jù)的不一致性,是指對數(shù)據(jù)的存取方式,選項C錯誤。數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù),并非是數(shù)據(jù)庫系統(tǒng)的特點,選項D錯誤。本題正確答案是A。
20.C
21.123ok!123ok!解析:本題主要考查了printf函數(shù)用在了宏替換中。宏替換不是函數(shù)調(diào)用,只是一種簡單的字符替代。所以本題中PRINT(a+i)展開為:printf(“%d\\t”,(int)(a+i)),當(dāng)i=0時,輸出1;當(dāng)i=1時,輸出2;當(dāng)i=2時;輸出3;for循環(huán)結(jié)束后輸出ok!。
22.1515解析:在函數(shù)fun(intx)中定義了局部靜態(tài)整形變量t,并初始化為0。這個函數(shù)的返回值為t+x。所以在主函數(shù)的for循環(huán)中,5次連續(xù)調(diào)用fun(i),實現(xiàn)了從1到5連續(xù)數(shù)字的相加運(yùn)算。因而最后結(jié)果等于15。
23.軟件開發(fā)軟件開發(fā)解析:軟件生命周期分為3個時期共8個階段:軟件定義期(問題定義、可行性研究和需求分析)、軟件開發(fā)期(系統(tǒng)設(shè)計、詳細(xì)設(shè)計、編碼和測試)、軟件維護(hù)期(即運(yùn)行維護(hù)階段)。
24.測試實例測試實例解析:進(jìn)行軟件測試時,應(yīng)精心設(shè)計測試實例和選擇測試數(shù)據(jù),以對系統(tǒng)進(jìn)行全面測試。
25.159261037114812159\r\n2610\r\n3711\r\n4812解析:程序的功能是將一個二維數(shù)組的行和列元素互換,存到另一個二維數(shù)組中。
26.類類解析:在面向?qū)ο蠓椒ㄖ校惷枋龅氖蔷哂邢嗨茖傩耘c操作的一組對象。
27.1111解析:程序中結(jié)構(gòu)體數(shù)組data首地址(即&data[0])賦值給結(jié)構(gòu)體指針變量p,++(P->x)表示先將p所指向的結(jié)構(gòu)體變量的成員x值加1,然后將此x(即data[0].x)輸出。
28.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。
29.3131解析:在函數(shù)調(diào)用時,形參值和改變,不會改變實參的值。
30.ex或structstex或structst
31.b=i+1b=i+1解析:本題考查了for循環(huán)語句的執(zhí)行過程。i+=2是修正表達(dá)式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2之后和累加至a,所以a的值就是1~10之間的偶數(shù)之后;b的值是1~11之間的奇數(shù)和,但在輸出b值時c去掉多加的11,即為1~10之間的奇數(shù)之和。
32.morningclassmorningclass解析:本題考查了兩個知識點:①“++、--”運(yùn)算后綴形式是先使用變量原來的值,使用完后再使其增1或減1;②在switch語句中,當(dāng)n=\'c\'時,執(zhí)行“case\'c\':”,輸出morning;因為此句中沒有break語句,因此接著執(zhí)行'case\'d\':”,輸出class,最終輸出結(jié)果為morningclass。
33.77解析:此表達(dá)式為三目運(yùn)算符,++a的值為6,b--的值為6,則整個表達(dá)式的值為++a的值,++a的值為7。請注意前綴++,--和后綴++,--的區(qū)別。
34.順序結(jié)構(gòu)順序結(jié)構(gòu)解析:結(jié)構(gòu)化程序有3種摹本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)(包括if語句和switch語句)和循環(huán)結(jié)構(gòu)(包括for語句、while語句、do…while語句)。
35.E-R圖E-R圖解析:E-R圖是設(shè)計概念模型的有力工具。
36.4
37.對象對象解析:將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。
38.封裝封裝
39.對象具有5個基本特點:①標(biāo)識唯一性;②分類性;③多態(tài)性;④封裝性;⑤模塊獨立性好。其中,封裝性是指從外面看只能看到對象的外部特征,對象的內(nèi)部特征即處理能力的實行和內(nèi)部狀態(tài),對外是不可見的,對象的內(nèi)部狀態(tài)只能由其自身改變。\r\n\r\n
40.5858解析:本題中處理二維數(shù)組元素用了兩重循環(huán),外循環(huán)變量i表示數(shù)組的行,內(nèi)層循環(huán)變量j表示數(shù)組的列。在第二重循環(huán)中首先判斷數(shù)組元素的值是否小于0,若是則處理該行的下一個元素:若不是則判斷a[i][j],田的值是否等于0,若等于0則退出內(nèi)層循環(huán)開始處理下一行;其他情況下,把a(bǔ)[i][j]的值加到變量s中。所以本程序段的功能是把每行值為0的元素前面的所有大于。的元素值加到變量s中。
41.A解析:auto變量:無static聲明的局部變量。用auto作存儲類別的聲明時,可以不寫auto,存儲類別隱含確定為auto(自動存儲類別),是動態(tài)存儲方式。大多數(shù)變量是自動變量。用static聲明的局部變量是靜態(tài)局部變量。函數(shù)調(diào)用結(jié)束后靜態(tài)局部變量占據(jù)的內(nèi)存存儲單元空間不釋放,局部變量保留原值,下次調(diào)用時可以繼續(xù)使用該值。用extern聲明外部變量,外部變量即全局變量,可以用extern聲明來改變?nèi)肿兞康淖饔糜?實際上,關(guān)鍵字'auto'可以省略,auto不寫則隱含確定為'自動存儲類別',屬于動態(tài)存儲方式。
42.D解析:函數(shù)聲明可以照寫已定義的函數(shù)的首部,再加一個號就成為了對函數(shù)的聲明,在函數(shù)聲明中也可以不寫形參名,而只寫形參的類型,但要保證與函數(shù)首部寫法上的—致,即函數(shù)類型、函數(shù)名、參數(shù)個數(shù)、參數(shù)類型和參數(shù)順序相同。字符數(shù)組可用指針來表示,所以選頂D正確。
43.B
44.B解析:本題考查break語句和continue語句。程序要輸出循環(huán)結(jié)束時循環(huán)變量a的值,執(zhí)行第一次循環(huán)時,條件(b%3==1)為真,b=4,繼續(xù)下一次循環(huán),如此反復(fù),當(dāng)b=22時,條件(b>=20)為真,跳出循環(huán),此時共循環(huán)8次,即a=8。
45.C解析:由題目的已知條件可知,Pt指向結(jié)構(gòu)體數(shù)組c[2]的第一元素c[O],所以pt->x=10,執(zhí)行自加運(yùn)算后為11。
46.A解析:選項A將變量x的地址賦紿指針變量pb,使pb指向x‘選項B是烙x的值當(dāng)作地址賦給指針pb,pb指向一個地址等于x值的內(nèi)存單元;選項c將x的地址賦給指針pb指向的地址等于x的內(nèi)存單元。
47.A
48.C解析:帶參數(shù)的宏展開是在編譯時進(jìn)行的,是一種純粹文字性的替換過程。本題定義了一個帶參數(shù)宏#defineARE(x)PI*x*x,在printf()函數(shù)中使用了這個宏,展開過程為:ARE(r+1)=>PI*r+1*r+1=>3.1415*r+1*r+1,其結(jié)果為3.1415*2+1*2+1=6.283+2+1=9.283,由于輸出格式限定為兩位小數(shù),故輸出結(jié)果為9.28,應(yīng)該選擇C。
49.B解析:sizeof(char)是一個C語言的關(guān)鍵字,它不是函數(shù)調(diào)用。sizeof的功能是計算出運(yùn)算對象在計算機(jī)的內(nèi)存中所占用的字節(jié)數(shù)量,該表達(dá)式的返回值是一個整數(shù),而不是一個字符型表達(dá)式。
50.C解析:在復(fù)合賦值語句中,應(yīng)該由右向左依次賦值,在表達(dá)式中,右端由i*=k得i=2*2為4,k=k+i,即k值為6,m=k故m=6。
51.A
52.C解析:y的初值為-1,第一個if語句的判斷條件為x!=0,即當(dāng)x!=0時y的值變化,x=0時y的值不變,仍為-1。第二個if語句的判斷條件為x>O,如果x>0則y=1,否則y=0,即x<O時,y=O。4個選項中C符合題意。
53.B
54.A解析:程序以“只寫”方式打開一個名為test.txt的文件,并向該文件寫入指針變量s1指向的7個字符'Fortran',執(zhí)行fseek函數(shù),使文件位置指針移到文件的開頭,再次向文件輸入指針變量s2指向的5個字符'Basic'這時系統(tǒng)會覆蓋原有的內(nèi)容'Fortr',所以最后test.txt里的內(nèi)容為:Basican。
55.C解析:本題考查.do…while循環(huán)。在do…while循環(huán)中,當(dāng)表達(dá)式的值為非零(真)時,執(zhí)行循環(huán),不能與其等價的是為零的表達(dá)式,即(exp==0)。
56.B解析:本題中有一個陷阱,很多考生會根據(jù)程序的書寫格式來判斷:while循環(huán)的循環(huán)體為printf('y=%d\\n',y);語句。其實while的循環(huán)體是一條空語句,即y--后面的那個分號就是while的循環(huán)體。所以本題只要弄清楚表達(dá)式y(tǒng)--何時為“假”,即等于0,就能得出結(jié)果了。因為--運(yùn)算符是后綴形式,所以表達(dá)式y(tǒng)--的值是y自減之前的值,即y等于。時,表達(dá)式y(tǒng)--就等于0了。但此時的y還要被減1,所以循環(huán)結(jié)束后,y的值為-1。故應(yīng)該選擇B。
57.D解析:選項A)在C語言中是一個合法的關(guān)系表達(dá)式,但它并不代表數(shù)學(xué)式o<=x<100。計算0<=x<100時,從左到右結(jié)合,先計算0<=x,其結(jié)果只能是0或1,然后再比較0<100或1<100。根據(jù)運(yùn)算符的優(yōu)先級,選項B)先判斷j==0是否成立,其結(jié)果只能是0或1,然后再將0或1賦給i。選項C)中,(char)(65+3)為類型強(qiáng)制轉(zhuǎn)換,將整數(shù)型數(shù)據(jù)轉(zhuǎn)換為字符型。選項D)是將一個數(shù)據(jù)賦給一個表達(dá)式,等號左邊不合要求,所以錯誤。
58.B解析:本題考查while語句的使用。本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符'!'的優(yōu)先級大于不等于運(yùn)算符'!='的優(yōu)先級。
59.D解析:“&”是求址運(yùn)算符,“*”是指變量說明符。選項A)、B)應(yīng)改為scanf('%d',p);選項C)中指針變量p未指向一確定的內(nèi)存單元,不能為其賦值,并且這樣做很危險,建議不使用。
60.D
61.A
62.B局部變量的作用域僅局限于函數(shù)體內(nèi)。不能在函數(shù)之間進(jìn)行數(shù)據(jù)傳遞。
63.C線性結(jié)構(gòu)滿足兩個條件:有且只有一個根結(jié)點;每個節(jié)點最多只有一個前件,也最多只有一個后件。棧、隊列、線性表都屬于線性結(jié)構(gòu),二叉樹是一種非線性結(jié)構(gòu),因為它除葉子節(jié)點外,每個節(jié)點都有兩個后件,不滿足線性結(jié)構(gòu)的條件。
64.C調(diào)用函數(shù)fun(7)時,由于x的值為7,執(zhí)行語句“p=x-fun(x-2);”,相當(dāng)于執(zhí)行p=7-fun(5);
調(diào)用函數(shù)fun(5)時,由于x的值為5,執(zhí)行語句“p=x-fun(x-2);”,相當(dāng)于執(zhí)行p=7-fun(3);
調(diào)用函數(shù)fun(3)時,由于x的值為3,執(zhí)行語句“p=x-fun(x-2);”,相當(dāng)于執(zhí)行p=7-fun(1);
調(diào)用函數(shù)fun(1)時,由于X的值為1,執(zhí)行語句“return(3);”,函數(shù)的返回值為3。
因此函數(shù)調(diào)用fun(7)等價于7-(5-fun(3)),即7-(5-(3-fun(1))),即7-(5-(3-3)),所以函數(shù)fun(7)的返回值為2。答案為C。
65.Cx為數(shù)組x[N]的首地址也就等于&x[0];A中i都為0則只對X[0]賦值,B對數(shù)組第二位賦值;D從數(shù)組第二位開始賦值;故選c。
66.D
67.By=(x=)071:x<0?-1:0)
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加工項目承包協(xié)議書
- 外出勞動安全協(xié)議書
- 融合產(chǎn)業(yè)投資協(xié)議書
- 批量填寫租賃協(xié)議書
- 印度男女分手協(xié)議書
- 委托申請補(bǔ)貼協(xié)議書
- 中介增值服務(wù)協(xié)議書
- 破產(chǎn)退伙協(xié)議書模板
- 輔導(dǎo)員招聘適應(yīng)能力試題及答案
- 花藝師考試中的專業(yè)術(shù)語介紹試題及答案
- 中考化學(xué)主題復(fù)習(xí)(重慶)專題4綜合實驗的探究
- 專題01 富強(qiáng)與創(chuàng)新【考情透視+框架梳理+考點突破+題型歸納】道德與法治上學(xué)期期末高效復(fù)習(xí)資料
- 人力資源管理軟件采購協(xié)議
- 電動汽車充電樁項目投資商業(yè)計劃書范本
- 中國技能大賽-第45屆世界技能大賽全國選拔賽“水處理技術(shù)”項目技術(shù)工作文件
- 學(xué)校運(yùn)動會目的
- 講解員禮儀培訓(xùn)
- 臺風(fēng)知識簡介(共29張課件)
- 音樂鑒賞與實踐 第一單元第四課音樂的力量(下)
- 生產(chǎn)設(shè)備操作指南
- 中職職教高考文言文課文及翻譯
評論
0/150
提交評論