




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年黑龍江省伊春市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+c-k值的類型為:
A.intB.doubleC.floatD.char
2.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}
A.sum=18B.sum=10C.sum=9D.sum=25
3.下面關(guān)于B樹和B+樹的敘述中,不正確的結(jié)論是()。
A.B樹和B+樹都能有效的支持順序查找
B.B樹和B+樹都能有效的支持隨機(jī)查找
C.B樹和B+樹都是平衡的多叉樹
D.B樹和B+樹都可用于文件索引結(jié)構(gòu)
4.
5.以下程序的輸出結(jié)果是().A.A.0B.29C.31D.無定值
6.有以下程序:#include<stdio.h>main(){inta=1,b=2,c=3;charflag;flag=b>=2&&c<=3;switch(a){ case1:switch(flag) { case0:printf(“**”);break; case1:printf(“%%”);break; } case0:switch(c) { case1:printf(“$$”);break; case2:printf(“&&”);break; default:printf(“##”); }}printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。
A.**$$B.%##C.%&&D.**##
7.
8.以下敘述中錯(cuò)誤的是A.gets函數(shù)用于從終端讀入字符串
B.getchar函數(shù)用于從磁盤文件讀入字符
C.fputs函數(shù)用于把字符串輸出到文件
D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件
9.已知待排序的n個(gè)元素可分為n/k個(gè)組,每個(gè)組包含k個(gè)元素,且任一組內(nèi)的各元素均分別大于前一組內(nèi)的所有元素和小于后一組內(nèi)的所有元素,若采用基于比較的排序,其時(shí)間下界應(yīng)為()A.O(nlog2n)B.O(nlog2k)C.O(klog2n)D.O(klog2k)
10.在C語言中,函數(shù)隱含的類型是()
A.autoB.staticC.intD.void
11.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,
B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題
C.數(shù)據(jù)庫設(shè)計(jì)是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫
D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
12.有以下程序:main{inta[]=(2,4,6,8,10},y=0,x,*P;p=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n,y");}程序運(yùn)行后的輸出結(jié)果是()。A.10B.11C.14D.15
13.在帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。
A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL
14.以下程序的輸出結(jié)果是()。
f(intb[],intm,intn)
{inti,s=0;
for(i=m;i<n;i=i+2)s=s+b[i];
returns;
}
voidmain()
{intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}A.A.10
B.18
C.8
D.15
15.以下不完整的程序擬實(shí)現(xiàn)調(diào)用getmax函數(shù),找出4個(gè)變量中最大的一個(gè):#include<stdio.h>intgetmax(intx,inty){returnx>yx:y;}voidmain(){inta,b,c,d,mx;scanf(“%d%d%d%d”,&a,&b,&c,&d);printf(“max=%d\n”,________);}以下選項(xiàng)若填入下劃線處,不能實(shí)現(xiàn)上述功能的是()。
A.getmax(getmax(getmax(a,b),c),d)
B.getmax(getmax(a,b),getmax(c,d))
C.getmax(a,getmax(b,getmax(c,d)))
D.mx=(getmax(a,b),getmax(c,d))
16.有以下程序:#include<stdio.h>voidfunc(intn){staticintnum=1);num=num+n;printf("%d",num);}main(){funo(3);func(4);printf("n");}程序運(yùn)行后的輸出結(jié)果是()。A.48B.34C.35D.45
17.以下不合法的字符常量是()。
A.‘\\’B.‘\”’C.‘\018’D.‘\xcc’
18.若以下選項(xiàng)中的變量全部為整型變量,且已正確定義并賦值,則語法正確的switch語句是()。
A.switch(a+9){casecl:y=a-b;casec2:y=a+b;}
B.switcha*b{casel0:x=a+b;default:y=a-b;}
C.switch(a+b){casel:case3:y=a+b;break;case0:case4:y=a-b;}
D.switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}
19.若主調(diào)用函數(shù)類型為double,被調(diào)用函數(shù)定義中沒有進(jìn)行函數(shù)類型說明,而return語句中的表達(dá)式類型為float型,則被調(diào)函數(shù)返回值的類型是()。
A.int型B.float型C.double型D.由系統(tǒng)當(dāng)時(shí)的情況而定
20.若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是()。A.scanf(“%d%lx,%le”,&x,&y,&z);
B.scanf(“%2d*%d%lf”&x,&y,&z);
C.scanf(“%x%*d%o”,&x,&y);
D.scanf(“%x%o%6.2f”,&x,&y,&z)
二、2.填空題(20題)21.以下程序的輸出結(jié)果是______。
main()
{ints,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d\n".s);
}
22.指針變量p和數(shù)組a的說明如下:
int*a[3]={"aa","bb","cc"},**p;
執(zhí)行語句p=&a[2];后,*p指向的字符串是______。
23.下列程序的輸出結(jié)果是【】。
main()
{inta=1,b=2;
a=a+b;b=a-b,a=a-b;
printf("%d,%d\n",a,b);
}
24.用鏈表表示線性表的突出優(yōu)點(diǎn)是______。
25.已知字符A的ASCⅡ代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤輸入:B33<回車>.則輸出結(jié)果是()。
#include
main()
{chara,b;
a=getchar();scanf("%d",&B);
a=a-'A'+'0';b=b*2;
printf("%c%c\n",a,B);
}
26.下列程序執(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);}
27.語句"int(*ptr)();"的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。
28.下列程序的運(yùn)行結(jié)果為【】。
main()
{inta,b,c,x,y,z;
a=10;b=2;
c=!(a%b);x=!(a/b);
y=(a<b)&&(b>=0);
z=(a<b)||(b>=0);
printf("c=%d,x=%d,y=%d,z=%d\n",c,x,y,z);
}
29.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
30.下列程序的功能:對(duì)輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{charc;
inta,s=0;
while(______)
if(isdigit(c))
{a=c-'0';s+=a;}
printf("s=%d",s);
}
31.求任意一個(gè)數(shù)(用16位二進(jìn)制碼表示)的補(bǔ)碼。
main()
{unsignedinta;
【】;
scanf("%O",&a);
printf("%o\n",getbits(a));
}
unsignedintgetbits(value)
unsignedintvalue;
{unstgnedintz;
z=【】;
if(z==0100000)
【】;
else
z=value;
return(z);
}
32.下面程序的輸出是【】。
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA"m,"BB","CC:,"DD"};
printf("%s%s%s\n,aa[em1],aa[em2],aa[em3]);
}
33.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti,n[]=10,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
34.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素的最大值。請?zhí)羁铡?/p>
voidfun(int,int,int(*)[4],int*);
main()
{
inta[3][4]={{12,41,36,28},{19,33,15,27),{3,27,19,1}},b[3],i;
fun(3,4,a,B);
for(i=0;i<3;i++)printf("%4d",b[i]);
printf("\n");
}
voidfun(intm,intn,intar[][4],int*br)
{inti,j,x;
for(i=0;i<m;i++)
{
x=ar[i][0];
for(i=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];
______=X;
}
}
35.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{chars[]="9876",*p;
for(p=s;p<s+2;p++)printf("%s\n",p);
}
36.以下程序運(yùn)行時(shí)若從鍵盤輸入:102030<回車>。輸出結(jié)果是【】。
#include<stdio.h>
main()
{
inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
37.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
fun()
{staticinta=0;
a+=2;printf("%d",a);}
main()
{intcc;
for(cc=1;CC<4;CC++)fun();
printf("\n");}
38.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語句,變量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
39.若x、y和z均是int型變量,則執(zhí)行下面表達(dá)式后的x值為【】。
x=(y=4)+(z=3)
40.十進(jìn)制數(shù)111用八位二進(jìn)制數(shù)表示為【】。
三、1.選擇題(20題)41.以下程序中函數(shù)setup的功能是返回形參指針s1和s2所指字符串中較小字符串的首地址:#include<stdio.h>#include<string.h>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)return(s1);elsereturn(s2);}main(){inti;charstring[20],str[3][20];for(i=0;i<3;i++)gets(str[i]);strcpy(string,scmp(str[0],str[1]));strcpy(string,scmp(string,str[2]));printf("%s\n",string);}若運(yùn)行時(shí)依次輸入:abcd、abba和abc3個(gè)字符串,則輸出結(jié)果為______。
A.abcdB.abbaC.abcD.abca
42.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
43.下列表達(dá)式中,可以正確表示x≤0或x)1的關(guān)系是()。
A.(x>=1)||(x<=0)
B.x>l||x=0
C.x>=1ORx<=0
D.x>=1&&x<=0
44.有以下程序段:structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項(xiàng)中表達(dá)式的值為11的是()。
A.*pt->yB.pt->xC.++pt->xD.(pt++)->x
45.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。
A.自頂向下B.逐步求精C.模塊化D.可復(fù)用
46.若有以下程序段intm=0xabc,n=0xabc;m-=n;printf("%X\n".m);執(zhí)行后輸出結(jié)果是
A.0X0B.0x0C.0D.0XABC
47.已有定義:inti,a[10],*p;則合法的賦值語句是()。
A.p=100;B.p=a[5];C.p=a[2]+2;D.p=a+2;
48.下列敘述中正確的是()。
A.線性鏈表的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的
B.線性鏈表的頭元素一定存儲(chǔ)在其他元素的前面
C.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面
D.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的
49.下列選項(xiàng)可以正確表示字符型常量的是
A.'\r'B.aC.\897D.296
50.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是()。
A.18B.11C.0.800.5D.25L
51.下列程序的輸出結(jié)果是()。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);}
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
52.下列程序的輸出結(jié)果是______。#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}
A.16B.2C.9D.1
53.以下程序的輸出結(jié)果是()#include<stdlib.h>inta[3][3]={1,2,3,4,5,6,7,8,9},*p;main(){p=(int*)malloc(sizeof(int));f(p,a);printf("%d\n",*p);}f(int*s,intp[][3]){*s=p[1][1];}
A.1B.4C.7D.5
54.閱讀下列程序,則執(zhí)行后的結(jié)果為#include"stdio.h"main(){intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}
A.3e,6B.62,5C.56,5D.3E,6
55.模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的
A.抽象和信息隱蔽B.局部化和封裝化C.內(nèi)聚性和耦合性D.激活機(jī)制和控制方法
56.數(shù)字字符0的ASCII值為48,運(yùn)行下列程序的輸出結(jié)果是()。main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-A);}
A.3,2B.50,2C.2,2D.2,50
57.以下敘述中錯(cuò)誤的是()。
A.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值
B.函數(shù)可以返回地址值
C.可以給指針變量賦一個(gè)整數(shù)作為地址值
D.當(dāng)在函數(shù)的開頭包括頭文件stdio.h時(shí),可以給指針變量賦NULL
58.下列程序的輸出結(jié)果是______。main(){intk=17;printf("%d,%0,%x\n",k,k,k);}
A.17,021,0x11B.17,17,17C.17,Ox11,021D.17,21,11
59.軟件生命周期中所花費(fèi)用最多的階段是()。
A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測試D.軟件維護(hù)
60.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):floatx=123.4567;則下列語句:printf("x=%5.2f",x);輸出的結(jié)果是()。
A.x=123.46B.123.4567C.x=123.4567D.123.46
四、選擇題(20題)61.有以下程序
程序運(yùn)行后的輸出結(jié)果是()。
A.6,2,3,4,5,B.2,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,
62.
63.
64.
65.以下能正確定義字符串的語句是(
)。
66.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.9B.7C.5D.3
67.有以下程序:
#include<stdio.h>
voidmain()
{fILE*fp;inti,a[4]={1,2,3,4},b;
fp=fopen("data.dat","wb");
for(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);
fclose(fp)
fp=fopen("data.dat","rb");
fseek(fp,-2L*sizeof(int),1,fp);/*文件中讀取sizeof(int)字節(jié)的數(shù)據(jù)到變量b中*/
fclose(fp);
printf("%d\n",b);
}
程序中fseek(fp,-2L*sizeof(int),SEEK_END);語句的作用是()。
A.使位置指針從文件末尾向前移2*sizeof(int)字節(jié)
B.使位置指針從文件末尾向前移2字節(jié)
C.使位置指針向文件末尾向前移懂2*sizeof(int)字節(jié)
D.使位置指針向文件末尾移動(dòng)2字節(jié)
68.設(shè)有如下說明
typedefstruct
{intnumber;charclass;doublescore;}student;
則以下選項(xiàng)中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語句是()。
A.studenttt[2]={{189,’A’,62},{190,’B’,75}};
B.studenttt[2]={189,’"A",62,190,"B",75};
C.structtt[2]={{189,’A’},{190,’B’}};
D.structtt[2]={{189,"A",62.5},{190,"B",75.0}};
69.有以下程序(注:字符a的ASCIl碼值為97):
程序運(yùn)行后的輸出結(jié)果是()。
A.789B.abeC.7890D.979899
70.有以下程序:#include<stdio.h>main(){chars[]={"012xy"};inti,n=o;for(i=0;s[i]!='0';i++)if(s[i]>=as[i]<=z)n++;printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.2C.3D.5
71.C語言中最簡單的數(shù)據(jù)類型包括()。
A.整型、實(shí)型、邏輯型B.整型、實(shí)型、字符型C.整型、字符型、邏輯型D.字符型、實(shí)型、邏輯型
72.有以下程序:
在VC6.0平臺(tái)上編譯運(yùn)行,程序運(yùn)行后的輸出結(jié)果是()。
A.10,6B.4,4C.2,4D.4。8
73.
74.若變量已正確定義并賦值,下面符合C語言要求的表達(dá)式是
A.a(chǎn):=b+1B.a(chǎn)=b=c+2C.int18.5%3D.a(chǎn)=a+7=c+b
75.
76.有以下程序:
注意:字母a的ASCIl碼值為97,程序運(yùn)行后的輸出結(jié)果是()。
A.dB.goC.godD.good
77.
78.有如下程序段
voidfunc(int*a,intb[])
{b[0]=*a+6;}
main()
{inta,b[5]={0};
a=0;b[0]=3;
func(&a,b);
printf("%d\n",b[0]);
}
程序運(yùn)行后輸出的結(jié)果是
A.6B.7
C.8D.9
79.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。、
A.ABEFB.CDEFC.ABCDD.CDAB
80.數(shù)據(jù)庫設(shè)計(jì)中,用E—R圖來描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計(jì)的()。
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
五、程序改錯(cuò)題(1題)81.假如整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。下列給定的程序中,函數(shù)proc()的功能是:刪除數(shù)列中值為x的元素。n中存放的是數(shù)列中元素的個(gè)數(shù)。請修改程序中的錯(cuò)誤,使它能夠得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和+號(hào)。編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)和尾部的母號(hào)外,將其他的*號(hào)全部刪除。形參h已指向字符串中第一個(gè)字母,形參P指向字符串中最后一個(gè)字母。在編寫函數(shù)時(shí),不得使用c語言提供的字符串函數(shù)。
參考答案
1.B解析:雙目運(yùn)算中兩邊運(yùn)算量類型轉(zhuǎn)換規(guī)律:
運(yùn)算數(shù)1運(yùn)算數(shù)2轉(zhuǎn)換結(jié)果類型
短整型長整型短整型->長整型
整型長整型整型->長整型
字符型整型字符型->整型
有符號(hào)整型無符號(hào)整型有符號(hào)整型->無符號(hào)整型
整型浮點(diǎn)型整型->浮點(diǎn)型
在a/b的時(shí)候,a、b的類型不一致,根據(jù)類型轉(zhuǎn)換規(guī)則,把整型轉(zhuǎn)換成double類型,之后的加、減類似。轉(zhuǎn)化規(guī)則為char,short->int->unsigned->long->double←float。
2.B解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:S=m+n+m+n*k=1+2+1+2*3=10。
3.A
4.D
5.C
6.Bmain函數(shù)中,根據(jù)“b=2,c=3”可知表達(dá)式“b>=2&&c<=3”為真,flag值為1。由“a=1”和外層switch語句的case標(biāo)號(hào)沒有break語句,可知外層switch語句執(zhí)行case1,case0。對(duì)于外層case1:嵌套的switch語句根據(jù)“flag=1”執(zhí)行case1,執(zhí)行“printf(“%%”);”,輸出“%”,接著執(zhí)行break語句,結(jié)束內(nèi)層switch執(zhí)行外層;對(duì)于外層case0:嵌套的switch語句根據(jù)“c=3”執(zhí)行default語句,執(zhí)行“printf(“##”);”,輸出“##”。故本題答案為B選項(xiàng)。
7.A
8.B其中B選項(xiàng)的getchar函數(shù)用于從終端讀入字符。故本題答案為B選項(xiàng)。
9.B
10.C
11.A解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識(shí)。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計(jì)算機(jī)中的存儲(chǔ)方式。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器里的實(shí)現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項(xiàng)A的說法是錯(cuò)誤的。
數(shù)據(jù)庫可以看成是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點(diǎn)。不同的用戶可以使用同一個(gè)數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標(biāo)是要解決數(shù)據(jù)的共享問題。因此,選項(xiàng)B的說法是正確的。
數(shù)據(jù)庫設(shè)計(jì)是在數(shù)據(jù)庫管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計(jì)一個(gè)結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計(jì)包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計(jì),也就是設(shè)計(jì)數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu);二是行為設(shè)計(jì),即設(shè)計(jì)基于數(shù)據(jù)庫的各類應(yīng)用程序、事務(wù)等。因此,選項(xiàng)C的說法是錯(cuò)誤的。
數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等。對(duì)于大型的多用戶數(shù)據(jù)庫系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項(xiàng)D的說法是正確的。因此,本題的正確答案是選項(xiàng)A。
12.C由題目的語句P=&a[1]可知,P指向a數(shù)組中下標(biāo)為1的元素“4”,又因?yàn)镻為指針變量,所以P[x]與*(p+x)等價(jià),因而在for循環(huán)語句中,第一次循環(huán)P[1]指向a數(shù)組中下標(biāo)為2的元素“6”,第二次循環(huán)p[2]指向a數(shù)組中下標(biāo)為3的元素“8”,所以y=6+8=14,因而選項(xiàng)C為正確答案。
13.B
14.A函數(shù)的功能是對(duì)數(shù)組某一區(qū)域內(nèi)的元素隔個(gè)求和;a[3]=4,所以從4開始進(jìn)行隔個(gè)求和,a[7]=8,即對(duì)4到8的元素隔個(gè)求和,4+6=10。
15.Dgetmax函數(shù)接收兩個(gè)整型變量x、y,使用條件運(yùn)算符返回x和y中的較大值。main函數(shù)首先輸入a、b、c、d4個(gè)整數(shù)值,然后通過調(diào)用getmax函數(shù),輸出它們的最大值。假設(shè)x、y是整數(shù),選項(xiàng)A中,首先執(zhí)行“getmax(a,b)”,返回a、b中的較大值X,再執(zhí)行“getmax(x,c)”,返回x、c中的較大值y,最后執(zhí)行“getmax(y,d)”,返回y、d中的較大值,滿足題意,正確;選項(xiàng)B中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行“getmax(x,y)”,返回x、y中的較大值,正確;選項(xiàng)C中,首先執(zhí)行“getmax(c,d)”,返回c、d的較大值X,再執(zhí)行“getmax(b,x)”,返回b、x中的較大值y,最后執(zhí)行“getmax(a,y)”,返回a、y中的較大值,正確;選項(xiàng)D中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行逗號(hào)表達(dá)式“(x,y)”,返回值為7,不滿足題意。故本題答案為D選項(xiàng)。
16.A第一調(diào)用func函數(shù)時(shí)輸出4,第二次調(diào)用func函數(shù)時(shí)num的值并不會(huì)釋放,仍然是上次修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是48。
17.C轉(zhuǎn)義字符中,八進(jìn)制的表示形式為\\ddd,但是八進(jìn)制中不能包含數(shù)字8,所以C選項(xiàng)不合法。故本題答案為C選項(xiàng)。
18.D選項(xiàng)A,當(dāng)cl和c2相等時(shí),不成立;選項(xiàng)B,a*b要用括號(hào)括起來;選項(xiàng)C,case與后面的數(shù)字用空格隔開。
19.A
20.D
21.55解析:此程序中,for循環(huán)語句后面直接跟了一個(gè)“;”,表明循環(huán)體為空.輸出語句不在for循環(huán)體內(nèi),所以在循環(huán)執(zhí)行完畢后才輸出s的值.s、i的初值分別為0和1,判斷循環(huán)條件,表達(dá)式“1<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為2和1,繼續(xù)判斷循環(huán)條件,表達(dá)式“2<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為3,再次判斷循環(huán)條件,表達(dá)式“3<3”不成立,循環(huán)結(jié)束。
22.cc。cc。解析:a是指針數(shù)組,每個(gè)數(shù)組元素存放的是字符數(shù)據(jù)的地址,數(shù)組a的3個(gè)元素分別指向字符串常量'aa'、'bb'和'cc',指針p賦予數(shù)組元素a[2]的值,即指向第3個(gè)字符串。
23.21
24.便于插入和刪除操作。便于插入和刪除操作。解析:為了克服順序表中插入和刪除時(shí)需要移動(dòng)大量數(shù)據(jù)元素的缺點(diǎn),引入了鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。鏈表表示線性表的突出優(yōu)點(diǎn)是插入和刪除操作方便,不必移動(dòng)數(shù)據(jù)元素,執(zhí)行效率高。
25.1B
26.44解析:本題考查了靜態(tài)存儲(chǔ)類別的局部變量的特點(diǎn)。靜態(tài)存儲(chǔ)類別的局部變量在程序的整個(gè)生存周期內(nèi)都存在,但作用域卻只局限于定義它的函數(shù)或局部范圍。當(dāng)i=0時(shí)執(zhí)行第一次for循環(huán),k=f(2),a=c++,b++;因?yàn)橘x值運(yùn)算符的優(yōu)先級(jí)高于逗號(hào)運(yùn)算符,所以a=3,c=4;當(dāng)i=1時(shí)執(zhí)行第二次for循環(huán),k=f(3),a=c++,b++;因?yàn)閏為靜態(tài)局部變量所以保留著這一次執(zhí)行的結(jié)果值4,所以a=4,c=5,所以函數(shù)f()返回a的值為4。
27.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識(shí)符(*旨針變量名)()。注:“類型標(biāo)識(shí)符”為函數(shù)返回值的類型。
28.c=1x=Oy=Oz=1
29.完善性軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
30.分析題目可知,程序中運(yùn)用函數(shù)c=getchar()從標(biāo)準(zhǔn)輸入設(shè)備讀取下一個(gè)字符,而且是一行的字符(即沒有換行),所以條件為(c=getchar())!='\\n'。\r\n\r\n
31.unsignedintgetbits()value&0100000z=~value+1unsignedintgetbits()\r\nvalue&0100000\r\nz=~value+1
32.DDBBCCDDBBCC解析:C語言對(duì)枚舉的定義規(guī)定:在枚舉中聲明的各個(gè)枚舉元素,如果沒有明確指出某個(gè)枚舉元素的值,它的上一個(gè)元素存在并有明確值的情況下,這個(gè)枚舉元素的值為其上一個(gè)元素的值+1。在本題中,沒有明確說明枚舉元素em3的值,則em3=em2+1=1+1=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為“DDBBCC”。
33.1371513715解析:本題中,定義了一個(gè)整型數(shù)組n并初始化,在for循環(huán)語句中,再對(duì)數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時(shí),n[1]=n[0]*2+1=0+1=1,printf函數(shù)輸出1,然后i的值加1,比較i<=4成立,繼續(xù)執(zhí)行循環(huán)體語句,相應(yīng)輸出3、7、15,直至i<=4不成立,退出循環(huán)。所以最后輸出為1、3、7、15。
34.br[i]或*(br+i)br[i]或*(br+i)解析:求最大值算法要求輸入的一般是一系列數(shù),例如一個(gè)數(shù)組,而輸出只有一個(gè)值。計(jì)算時(shí)通常的做法是,首先將這一系列數(shù)的笫1個(gè)值保存到結(jié)果變量中,然后用一個(gè)指針或循環(huán)變量從頭(或從第2個(gè)值)至尾遍歷這一系列數(shù),每次比較結(jié)果變量和被遍歷的值,如果該值比結(jié)果大,則將該值保存到結(jié)果中。本題中,3行4列二維數(shù)組a顯然是算法的輸入值,而傳給函數(shù)fun()的3和4在函數(shù)中起到限制循環(huán)次數(shù)的作用,所以它們代表輸入數(shù)據(jù)的行列數(shù).而傳遞給函數(shù)的一維數(shù)組b即沒有初始化,最后又要輸出它,所以數(shù)組b肯定是用來保存每行的最大值。在函數(shù)中是一個(gè)二重循環(huán),外循環(huán)首先將ar[i][0]賦給x,然后內(nèi)循環(huán)中比較x和ar[il剛,若x比較小就讓x=ar[i][j],這就說明x是保存結(jié)果的臨時(shí)變量.最后應(yīng)該將x的值輸出到數(shù)組b中,也就是形參br的相應(yīng)位置。故在空格處應(yīng)該填的內(nèi)容為br[i]或者寫成指針方式*(br+i)。
35.98768769876\r\n876解析:指針是一種數(shù)據(jù)類型,這種數(shù)據(jù)類型的變量用來存放內(nèi)存中分配的存儲(chǔ)單元的首地址。指針的定義:
類型說明符*指針變量名;
36.1030010300解析:本題的scanf()函數(shù)要求用戶輸入三個(gè)十進(jìn)制整數(shù),但只接受第一和第三個(gè)到函數(shù)的第二和第三個(gè)參數(shù)所指的內(nèi)存地址中。所以本題的輸出為:10300。
37.246246解析:本題考查了for循環(huán)語句的使用,同時(shí)靜態(tài)局部變量的存儲(chǔ)和生存其特性也要注意。第一次執(zhí)行fun()函數(shù)時(shí),a=0,所以a+=2=2;第二次執(zhí)行fun()函數(shù)時(shí),a保留著上次制形式的結(jié)果2,所以a+=2=4;同理第三次執(zhí)行fun()函數(shù)時(shí),a=6,所以輸出結(jié)果為246。
38.33解析:這里:b-5=4,a-=4之后a的值為6,并把它賦給c。此時(shí)b的值并未被改變。在第2個(gè)表達(dá)式中,也只有賦值表達(dá)式b=3改變了b的值。所以兩行語句執(zhí)行完畢,b的值應(yīng)該為3。
39.77解析:x=(y=4)+(z=3)等價(jià)于y=4,z=3,x=y+z=4+3=7。
40.11011111101111解析:本題通過除2取余法即可求出十進(jìn)制數(shù)111所對(duì)應(yīng)的二進(jìn)制數(shù)1101111。
41.B解析:函數(shù)scmp的功能是比較兩個(gè)符號(hào)串的大小,返回值較小的那個(gè)符號(hào)串。str[0]中存放'abcd'、str[1]中存放'abba'、str[2]中存放'abc',執(zhí)行完語句strcpy(string,scmp(sty[0],sir[1]));后string中存放'abba',執(zhí)行完語句strcpy(string,scmp(string,str[2]));后string中存放'abba'。
42.A解析:本題考查如何通過地址來引用數(shù)組元素。通過地址來引用數(shù)組元素的方法有下列5種:
①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];⑤*(&a[0][0]+3*i+j)。
43.A解析:題中要求x的取值是小于等于0或者大于等于1,這說明表達(dá)式是或的關(guān)系,所以在寫成C語言表達(dá)式應(yīng)是邏輯或的關(guān)系,邏輯或運(yùn)算符是“||”。
44.C解析:要計(jì)算一個(gè)復(fù)雜的表達(dá)式時(shí),首先要弄明白表達(dá)式中所有運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,本題中所涉及的運(yùn)算符中,->的優(yōu)先級(jí)最高,*和++的優(yōu)先級(jí)相同,但其結(jié)合性為從右至左。所以選項(xiàng)A等價(jià)于*pt->y)也就是pt所指向的結(jié)構(gòu)體的成員指針變量y所指向的內(nèi)容。從前面的程序段不難看出,pt指向結(jié)構(gòu)體數(shù)組c的首地址,也就是指向它的第1個(gè)元素,在它的第1個(gè)元素中,指針變量y又被初始化為指向控型數(shù)組a的首地址,即指向數(shù)組a的第1個(gè)元素。故選項(xiàng)A中的表達(dá)式的值為a[0],也就是1。選項(xiàng)B中表達(dá)式的值就是c[0].x,即10。根據(jù)優(yōu)先級(jí)和結(jié)合性,選項(xiàng)C中的表達(dá)式等價(jià)于++(pt->x),由于是前綴++,所以整個(gè)表達(dá)式的值為pt->x的值加1,故為11。而選項(xiàng)D中,++是后綴形式,所以(pt++)的值還是pt的原值,即等于pt->x的值10。故應(yīng)該選擇C。
45.D解析:20世紀(jì)70年代以來,提出了許多軟件設(shè)計(jì)方法,主要有①逐步求精:對(duì)復(fù)雜的問題,應(yīng)設(shè)計(jì)一些子目標(biāo)作過渡,逐步細(xì)化;②自頂向下:程序設(shè)計(jì)時(shí)應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。不要一開始就過多追求眾多的細(xì)節(jié),先從最上層總目標(biāo)開始設(shè)計(jì),逐步使問題具體化;⑧模塊化:一個(gè)復(fù)雜問題,肯定是由若干稍簡單的問題構(gòu)成。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱為一個(gè)模塊,而可復(fù)用是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)優(yōu)點(diǎn)。
46.C解析:本題考核的知識(shí)點(diǎn)是C語言中的自反賦值運(yùn)算符?!癿-=n”相當(dāng)于“m=m-n”,兩個(gè)相等的數(shù)相減,其值為0。所以,C選項(xiàng)為所選。
47.D解析:本題考核的知識(shí)點(diǎn)是指針變量的賦值。本題中定義了一個(gè)整型數(shù)組a和一個(gè)整型指針變量P。選項(xiàng)A中將一個(gè)整型數(shù)賦值給一個(gè)指針變量,C語言規(guī)定,只能特地址賦給指針指針變量,故選項(xiàng)A不正確:選項(xiàng)B中a[5]為一數(shù)組元素,同樣不是一個(gè)地址,故選項(xiàng)B不正確;選項(xiàng)c中a[2]為一數(shù)組元素,同樣是一個(gè)整型數(shù)據(jù),不是個(gè)地址,故選項(xiàng)C不正確:選項(xiàng)D中數(shù)蛆名a代表數(shù)組首地址加2,代表第三個(gè)元素的地址,故選項(xiàng)D正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
48.DD.【解析】在線性鏈表中,各元素在存儲(chǔ)空間中的位置是任意的,各元素的順序也是任意的,依靠指針來實(shí)現(xiàn)數(shù)據(jù)元素的前后件關(guān)系。
49.A解析:C語言中,一個(gè)字符常量代表ASCII字符集中的一個(gè)字符,在程序中用單引號(hào)括起來作為字符常量,字符常量的范圍是0~127。由于字符常量用單引號(hào)括起來,所以選項(xiàng)B),C)錯(cuò)誤,選項(xiàng)D)超過了字符常量的表示范圍。
50.D
51.A解析:根據(jù)函數(shù)intf1(int,inty){returnx>y?x:y}和intf2(intx,inty){returnx,>y?y:x;}的定義可知,如果x>y成立,則函數(shù)n返回x的值,函數(shù)f2返回y的值。所以f1(a,b)=4,f1(c,d)=5,f2(a,b)=3,f3(c,d)=2故e=f2(4,5)=4,f=f1(3,2)3,g=4+3+5+2-4-3=7。
52.B
53.D
54.A解析:數(shù)組a[5][5],0<=i<5,0<=j<5,則可以用5種表達(dá)式來引用,a[i][j],*a(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+5*i+j)。數(shù)組的下限為0,%后面為小寫的x,所以輸出的結(jié)果為小寫字母表示的十六進(jìn)制。
55.C解析:模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性這兩個(gè)定性的度量標(biāo)準(zhǔn)。
56.C解析:自增運(yùn)算符“++”,出現(xiàn)在變量之前,表示先使變量的值加1,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后,表示先使用變量的值進(jìn)行運(yùn)算,冉使變量的值加1。例如題中的“b++”,題中第一條語句先輸出字符b的值,此時(shí)變量b='2',因此輸出值為2;再使b的值加1,b='3',因此第二條語句輸出:b-a='3'-'1'=2。
57.C
58.D
59.D解析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。本題中,詳細(xì)設(shè)計(jì)、軟件編碼和軟件測試都屬于軟什開發(fā)階段;維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長,花費(fèi)代價(jià)最大的一個(gè)階段.軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià)。
60.A解析:本題考查printf函數(shù)的格式?!?5.2f”格式符中的“f”表示以帶小數(shù)點(diǎn)的形式輸出單精度或者雙精度數(shù):“5”表示指定數(shù)據(jù)輸出寬度為5;“.2”表示指定輸出數(shù)據(jù)小數(shù)位占2位數(shù),并對(duì)截去的第一位小數(shù)做四舍五入處理。
61.A本題考查的是函數(shù)的地址調(diào)用,將數(shù)組名作為數(shù)組首地址進(jìn)行傳遞,然后取首個(gè)數(shù)組元素值進(jìn)行加l運(yùn)算,循環(huán)5次。因此A選項(xiàng)正確。
62.C
63.A
64.A
65.A字符串末尾一定要有結(jié)束標(biāo)記,雙引號(hào)括起來的默認(rèn)添加了結(jié)束標(biāo)記,所以選擇A)。
66.D第一次循環(huán)時(shí),k=1,在switch語句中,先執(zhí)行default后面的語句,即c=c+k=1,因?yàn)闆]有break語句,所以不會(huì)跳出switch結(jié)構(gòu),會(huì)接著執(zhí)行case2后面的語句,即c=c+1=2,然后跳出switch;第二次循環(huán)時(shí),k=2,直接執(zhí)行ease2后面的語句,即c=c+1=3,然后跳出switch語句,結(jié)束循環(huán),執(zhí)行輸出語句。
67.Afseek用于二進(jìn)制方式打開的文件,移動(dòng)文件讀寫指針位置.
68.AB項(xiàng)定義格式不對(duì),tt[2]只有兩個(gè)元素,C項(xiàng)缺少了結(jié)構(gòu)體名,而結(jié)構(gòu)體名不可少,D項(xiàng)一樣缺少了結(jié)構(gòu)體名。
69.A因?yàn)樾懽址鸻,b,c的ASCIl碼值分別為97,98,99,而在dowhile循環(huán)語句中,每次對(duì)字符的ASCII碼值取余數(shù)并輸出,所以分別輸出7,8,9。
70.B本題考查for循環(huán)。當(dāng)i=0時(shí),開始for循環(huán),因?yàn)閿?shù)組的下標(biāo)是從0開始的,所以s[o]=0,不符合for循環(huán),不執(zhí)行下邊的語句,當(dāng)i=1時(shí),繼續(xù)執(zhí)行if語句,if語句的功能是如果在小寫字母a~z,則記數(shù)n加1。所以本題結(jié)果為2。
71.B解析:選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+7=c+b和a=a+7,因?yàn)镃語言規(guī)定賦值號(hào)的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等,所以a+7=c+b是錯(cuò)的。因此,正確答案是選項(xiàng)B),它相當(dāng)于a=(b=c+2),可分解為兩個(gè)表達(dá)式:b=c+2和a=b。
72.DC語言中利用sizeof()函數(shù)判斷數(shù)據(jù)類型長度,在VC6.0平臺(tái)中,整型int占有4個(gè)字節(jié),doable型數(shù)據(jù)占有8個(gè)字節(jié)。
73.D
74.B本題考查C語言表達(dá)式的語法。A選項(xiàng)中“:=”不是C語言中的運(yùn)算符。C選項(xiàng)中int是定義一個(gè)整型變量,后面不能夠跟算術(shù)表達(dá)式。D選項(xiàng)錯(cuò)誤地使用了賦值運(yùn)算符“=”,賦值運(yùn)算符只能將一個(gè)數(shù)據(jù)賦給一個(gè)變量,而不能夠?qū)Ρ磉_(dá)式進(jìn)行賦值。題目中a=a+7或a=c+d都是正確的表達(dá)式,a+7=c+d是錯(cuò)誤的。
75.B
76.Afun函數(shù)的功能是輸出字符串中ASCII碼能被2整除的字符,g的ASCIl碼為l03,0的ASCIl碼為111,d的ASCIl碼為l00,只有d滿足。因此,本題答案為A)。
77.C
78.A在本題中,程序首定義了一個(gè)無返回值的函數(shù)func,該函數(shù)帶有兩個(gè)形參,第一個(gè)形參是一個(gè)指針變量,第二個(gè)形參是一個(gè)數(shù)組。
在主函數(shù)中,定義一個(gè)整型變量a和一個(gè)整型數(shù)值b,并將b初始化為0,然后通過賦值操作改變變量a的值為0,b[0]的值為3。接著調(diào)用函數(shù)func,傳遞的實(shí)參分別為變量a的地址和數(shù)組b,這時(shí)執(zhí)行func函數(shù)的函數(shù)體b[0]=*a+6;語句將數(shù)組b的第一個(gè)元素值變?yōu)?+6=6,由于采用的傳值方式是傳址傳值,可以實(shí)現(xiàn)數(shù)據(jù)的雙向傳遞,因此,實(shí)參數(shù)組b的第一個(gè)元素值被改為6。然后程序用輸出語句輸出數(shù)組b的第一個(gè)元素值,輸出的結(jié)果應(yīng)該是6,本題正確答案選A。
79.B本題考察的是變量的作甩范圍。如果在同一個(gè)源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內(nèi),外部變量被“屏蔽”,即不起作用:奉題中,在funl()和main()函數(shù)內(nèi)訪問的是全局變量a和b,在fun2()函數(shù)中訪問的是形參變量a和b。所以,main()函數(shù)中的prinff()函數(shù)輸出的是在funl()函數(shù)中被改變的全局變量a和b的值C、D,而fun2()函數(shù)中輸出的是傳遞給它的實(shí)參值E、F。因此B選項(xiàng)正確。
80.CC。【解析】E—R(Entity—Relationship)圖為實(shí)體一聯(lián)系圖,提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型。
81.錯(cuò)誤:arr[i+1]=arr[i];
正確:arr[i]=arr[i+1];
【解析】題目中要求刪除數(shù)列中值為x的元素,需要將數(shù)列中的每一個(gè)元素與指定數(shù)值x相比較。如果比較結(jié)果為第i個(gè)元素與x相等,則把第i個(gè)位置以后的元素前移一個(gè)位置,因此,“arr[i+1]=arr[i];”應(yīng)改為“arr[i]=arr[i+1]”。
82.2021年黑龍江省伊春市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+c-k值的類型為:
A.intB.doubleC.floatD.char
2.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}
A.sum=18B.sum=10C.sum=9D.sum=25
3.下面關(guān)于B樹和B+樹的敘述中,不正確的結(jié)論是()。
A.B樹和B+樹都能有效的支持順序查找
B.B樹和B+樹都能有效的支持隨機(jī)查找
C.B樹和B+樹都是平衡的多叉樹
D.B樹和B+樹都可用于文件索引結(jié)構(gòu)
4.
5.以下程序的輸出結(jié)果是().A.A.0B.29C.31D.無定值
6.有以下程序:#include<stdio.h>main(){inta=1,b=2,c=3;charflag;flag=b>=2&&c<=3;switch(a){ case1:switch(flag) { case0:printf(“**”);break; case1:printf(“%%”);break; } case0:switch(c) { case1:printf(“$$”);break; case2:printf(“&&”);break; default:printf(“##”); }}printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。
A.**$$B.%##C.%&&D.**##
7.
8.以下敘述中錯(cuò)誤的是A.gets函數(shù)用于從終端讀入字符串
B.getchar函數(shù)用于從磁盤文件讀入字符
C.fputs函數(shù)用于把字符串輸出到文件
D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件
9.已知待排序的n個(gè)元素可分為n/k個(gè)組,每個(gè)組包含k個(gè)元素,且任一組內(nèi)的各元素均分別大于前一組內(nèi)的所有元素和小于后一組內(nèi)的所有元素,若采用基于比較的排序,其時(shí)間下界應(yīng)為()A.O(nlog2n)B.O(nlog2k)C.O(klog2n)D.O(klog2k)
10.在C語言中,函數(shù)隱含的類型是()
A.autoB.staticC.intD.void
11.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,
B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題
C.數(shù)據(jù)庫設(shè)計(jì)是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫
D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
12.有以下程序:main{inta[]=(2,4,6,8,10},y=0,x,*P;p=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n,y");}程序運(yùn)行后的輸出結(jié)果是()。A.10B.11C.14D.15
13.在帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。
A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL
14.以下程序的輸出結(jié)果是()。
f(intb[],intm,intn)
{inti,s=0;
for(i=m;i<n;i=i+2)s=s+b[i];
returns;
}
voidmain()
{intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}A.A.10
B.18
C.8
D.15
15.以下不完整的程序擬實(shí)現(xiàn)調(diào)用getmax函數(shù),找出4個(gè)變量中最大的一個(gè):#include<stdio.h>intgetmax(intx,inty){returnx>yx:y;}voidmain(){inta,b,c,d,mx;scanf(“%d%d%d%d”,&a,&b,&c,&d);printf(“max=%d\n”,________);}以下選項(xiàng)若填入下劃線處,不能實(shí)現(xiàn)上述功能的是()。
A.getmax(getmax(getmax(a,b),c),d)
B.getmax(getmax(a,b),getmax(c,d))
C.getmax(a,getmax(b,getmax(c,d)))
D.mx=(getmax(a,b),getmax(c,d))
16.有以下程序:#include<stdio.h>voidfunc(intn){staticintnum=1);num=num+n;printf("%d",num);}main(){funo(3);func(4);printf("n");}程序運(yùn)行后的輸出結(jié)果是()。A.48B.34C.35D.45
17.以下不合法的字符常量是()。
A.‘\\’B.‘\”’C.‘\018’D.‘\xcc’
18.若以下選項(xiàng)中的變量全部為整型變量,且已正確定義并賦值,則語法正確的switch語句是()。
A.switch(a+9){casecl:y=a-b;casec2:y=a+b;}
B.switcha*b{casel0:x=a+b;default:y=a-b;}
C.switch(a+b){casel:case3:y=a+b;break;case0:case4:y=a-b;}
D.switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}
19.若主調(diào)用函數(shù)類型為double,被調(diào)用函數(shù)定義中沒有進(jìn)行函數(shù)類型說明,而return語句中的表達(dá)式類型為float型,則被調(diào)函數(shù)返回值的類型是()。
A.int型B.float型C.double型D.由系統(tǒng)當(dāng)時(shí)的情況而定
20.若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是()。A.scanf(“%d%lx,%le”,&x,&y,&z);
B.scanf(“%2d*%d%lf”&x,&y,&z);
C.scanf(“%x%*d%o”,&x,&y);
D.scanf(“%x%o%6.2f”,&x,&y,&z)
二、2.填空題(20題)21.以下程序的輸出結(jié)果是______。
main()
{ints,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d\n".s);
}
22.指針變量p和數(shù)組a的說明如下:
int*a[3]={"aa","bb","cc"},**p;
執(zhí)行語句p=&a[2];后,*p指向的字符串是______。
23.下列程序的輸出結(jié)果是【】。
main()
{inta=1,b=2;
a=a+b;b=a-b,a=a-b;
printf("%d,%d\n",a,b);
}
24.用鏈表表示線性表的突出優(yōu)點(diǎn)是______。
25.已知字符A的ASCⅡ代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤輸入:B33<回車>.則輸出結(jié)果是()。
#include
main()
{chara,b;
a=getchar();scanf("%d",&B);
a=a-'A'+'0';b=b*2;
printf("%c%c\n",a,B);
}
26.下列程序執(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);}
27.語句"int(*ptr)();"的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。
28.下列程序的運(yùn)行結(jié)果為【】。
main()
{inta,b,c,x,y,z;
a=10;b=2;
c=!(a%b);x=!(a/b);
y=(a<b)&&(b>=0);
z=(a<b)||(b>=0);
printf("c=%d,x=%d,y=%d,z=%d\n",c,x,y,z);
}
29.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
30.下列程序的功能:對(duì)輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{charc;
inta,s=0;
while(______)
if(isdigit(c))
{a=c-'0';s+=a;}
printf("s=%d",s);
}
31.求任意一個(gè)數(shù)(用16位二進(jìn)制碼表示)的補(bǔ)碼。
main()
{unsignedinta;
【】;
scanf("%O",&a);
printf("%o\n",getbits(a));
}
unsignedintgetbits(value)
unsignedintvalue;
{unstgnedintz;
z=【】;
if(z==0100000)
【】;
else
z=value;
return(z);
}
32.下面程序的輸出是【】。
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA"m,"BB","CC:,"DD"};
printf("%s%s%s\n,aa[em1],aa[em2],aa[em3]);
}
33.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti,n[]=10,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
34.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素的最大值。請?zhí)羁铡?/p>
voidfun(int,int,int(*)[4],int*);
main()
{
inta[3][4]={{12,41,36,28},{19,33,15,27),{3,27,19,1}},b[3],i;
fun(3,4,a,B);
for(i=0;i<3;i++)printf("%4d",b[i]);
printf("\n");
}
voidfun(intm,intn,intar[][4],int*br)
{inti,j,x;
for(i=0;i<m;i++)
{
x=ar[i][0];
for(i=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];
______=X;
}
}
35.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{chars[]="9876",*p;
for(p=s;p<s+2;p++)printf("%s\n",p);
}
36.以下程序運(yùn)行時(shí)若從鍵盤輸入:102030<回車>。輸出結(jié)果是【】。
#include<stdio.h>
main()
{
inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
37.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
fun()
{staticinta=0;
a+=2;printf("%d",a);}
main()
{intcc;
for(cc=1;CC<4;CC++)fun();
printf("\n");}
38.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語句,變量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
39.若x、y和z均是int型變量,則執(zhí)行下面表達(dá)式后的x值為【】。
x=(y=4)+(z=3)
40.十進(jìn)制數(shù)111用八位二進(jìn)制數(shù)表示為【】。
三、1.選擇題(20題)41.以下程序中函數(shù)setup的功能是返回形參指針s1和s2所指字符串中較小字符串的首地址:#include<stdio.h>#include<string.h>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)return(s1);elsereturn(s2);}main(){inti;charstring[20],str[3][20];for(i=0;i<3;i++)gets(str[i]);strcpy(string,scmp(str[0],str[1]));strcpy(string,scmp(string,str[2]));printf("%s\n",string);}若運(yùn)行時(shí)依次輸入:abcd、abba和abc3個(gè)字符串,則輸出結(jié)果為______。
A.abcdB.abbaC.abcD.abca
42.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
43.下列表達(dá)式中,可以正確表示x≤0或x)1的關(guān)系是()。
A.(x>=1)||(x<=0)
B.x>l||x=0
C.x>=1ORx<=0
D.x>=1&&x<=0
44.有以下程序段:structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項(xiàng)中表達(dá)式的值為11的是()。
A.*pt->yB.pt->xC.++pt->xD.(pt++)->x
45.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。
A.自頂向下B.逐步求精C.模塊化D.可復(fù)用
46.若有以下程序段intm=0xabc,n=0xabc;m-=n;printf("%X\n".m);執(zhí)行后輸出結(jié)果是
A.0X0B.0x0C.0D.0XABC
47.已有定義:inti,a[10],*p;則合法的賦值語句是()。
A.p=100;B.p=a[5];C.p=a[2]+2;D.p=a+2;
48.下列敘述中正確的是()。
A.線性鏈表的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的
B.線性鏈表的頭元素一定存儲(chǔ)在其他元素的前面
C.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面
D.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的
49.下列選項(xiàng)可以正確表示字符型常量的是
A.'\r'B.aC.\897D.296
50.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是()。
A.18B.11C.0.800.5D.25L
51.下列程序的輸出結(jié)果是()。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);}
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
52.下列程序的輸出結(jié)果是______。#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}
A.16B.2C.9D.1
53.以下程序的輸出結(jié)果是()#include<stdlib.h>inta[3][3]={1,2,3,4,5,6,7,8,9},*p;main(){p=(int*)malloc(sizeof(int));f(p,a);printf("%d\n",*p);}f(int*s,intp[][3]){*s=p[1][1];}
A.1B.4C.7D.5
54.閱讀下列程序,則執(zhí)行后的結(jié)果為#include"stdio.h"main(){intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}
A.3e,6B.62,5C.56,5D.3E,6
55.模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的
A.抽象和信息隱蔽B.局部化和封裝化C.內(nèi)聚性和耦合性D.激活機(jī)制和控制方法
56.數(shù)字字符0的ASCII值為48,運(yùn)行下列程序的輸出結(jié)果是()。main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-A);}
A.3,2B.50,2C.2,2D.2,50
57.以下敘述中錯(cuò)誤的是()。
A.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值
B.函數(shù)可以返回地址值
C.可以給指針變量賦一個(gè)整數(shù)作為地址值
D.當(dāng)在函數(shù)的開頭包括頭文件stdio.h時(shí),可以給指針變量賦NULL
58.下列程序的輸出結(jié)果是______。main(){intk=17;printf("%d,%0,%x\n",k,k,k);}
A.17,021,0x11B.17,17,17C.17,Ox11,021D.17,21,11
59.軟件生命周期中所花費(fèi)用最多的階段是()。
A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測試D.軟件維護(hù)
60.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):floatx=123.4567;則下列語句:printf("x=%5.2f",x);輸出的結(jié)果是()。
A.x=123.46B.123.4567C.x=123.4567D.123.46
四、選擇題(20題)61.有以下程序
程序運(yùn)行后的輸出結(jié)果是()。
A.6,2,3,4,5,B.2,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,
62.
63.
64.
65.以下能正確定義字符串的語句是(
)。
66.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.9B.7C.5D.3
67.有以下程序:
#include<stdio.h>
void
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 無人值守的停車場管理系統(tǒng)
- 光伏發(fā)電項(xiàng)目社會(huì)效益
- 高效辦公空間設(shè)計(jì)建議報(bào)告
- 模板專項(xiàng)施工方案(完整版)
- 電子設(shè)備回收與再利用技術(shù)指南
- 倉儲(chǔ)物流系統(tǒng)電商
- 面向員工的培訓(xùn)方案及實(shí)施計(jì)劃
- rdpac腫瘤復(fù)習(xí)試題附答案
- 人工智能算法及應(yīng)用試題及答案
- 往來文書操作指南
- 2023年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招(語文)試題庫含答案解析
- 拘留所教育課件02
- 《網(wǎng)紅現(xiàn)象的研究背景、意義及文獻(xiàn)綜述(2100字)》
- 管接頭注塑模具設(shè)計(jì)開題報(bào)告
- 最新-駕駛員職業(yè)心理和生理健康知識(shí)二-課件
- 加氫裝置催化劑硫化方案
- 核電廠概率安全評(píng)價(jià)概述課件
- 2022“博學(xué)杯”全國幼兒識(shí)字與閱讀大賽選拔試卷
- 幼兒園硬筆專用字帖大寫數(shù)字描紅
- 滬教牛津版四年級(jí)上冊英語全冊課件
- 2022年信息管理概論復(fù)習(xí)資料
評(píng)論
0/150
提交評(píng)論