




版權(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.有以下程序:#include<stdio.h>main(){char*p=“6938”;inti,s=0;for(i=3;i>=0;i--)s=10*s+p[i]-‘0’;printf(“%d\n”,s);}程序運(yùn)行后的輸出結(jié)果是()。
A.8396B.6938C.3869D.3689
2.最小堆[0,3,2,5,7,4,6,8],在刪除堆頂元素0之后,其結(jié)果是()
A.[3,2,5,7,4,6,8]
B.[2,3,5,7,4,6,8]
C.[2,3,4,5,7,8,6]
D.[2,3,4,5,6,7,8]
3.以下敘述中正確的是()。
A.C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方
B.花括號(hào)"{"和"}"只能作為函數(shù)體的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號(hào)是C語(yǔ)句之間的分隔符,不是語(yǔ)句的一部分
4.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
5.
有以下程序
#include<stdio.h>
main
{inta=1,b=2,c=3,x;
x=(a^b)&C;printf("%d",x);
}
程序的運(yùn)行結(jié)果是()。
A.0B.1C.2D.3
6.有以下函數(shù)定義:voidfun(intn,doubx){……}若以下選項(xiàng)中的變量都已正確定義并賦值,則對(duì)函數(shù)fun的正確調(diào)用語(yǔ)句是()。
A.fun(inty,doublem);
B.k=fun(10,12.5);
C.fun(x,n);
D.voidfum(n,x);
7.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。
A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)
8.設(shè)有下列二叉樹(shù):
對(duì)此二叉樹(shù)后序遍歷的結(jié)果為
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
9.
10.有以下程序段:intx=3;do{printf("%d",x-=2);)while(!(--x));其輸出結(jié)果是()。A.1B.30C.1-2D.死循環(huán)
11.向一個(gè)棧頂指針為HS的鏈?zhǔn)綏V胁迦胍粋€(gè)s所指的結(jié)點(diǎn)時(shí),則執(zhí)行()。
A.HS->next=s
B.S->next=HS->nextHS->next=s
C.s->next=HSHS=s
D.S->next=HSHS=HS->next
12.
13.若變量x、y已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。
A.X+1=yB.++X.Y=X一一C.X=X+10=X+YD.double(X)/10
14.棧和隊(duì)列的共同點(diǎn)是()。
A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同特點(diǎn)
15.
16.已知各變量的類型說(shuō)明如下則以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=f1oat(i)
17.運(yùn)行下列程序,若從鍵盤輸入字符“a”,則輸出結(jié)果是()。
charc;
c=getchar;
if(c>=a&&c<=g)c=c+4:
elseif(c>=9&&c<=2)c=c-21:
elseprintf("inputerror!\n");
putchar(c);
A.fB.tC.eD.d
18.
19.若k是int類型變量,且有以下for語(yǔ)句:for(k=-1;k<O;k++)printf("****\n");下面關(guān)于語(yǔ)句執(zhí)行情況的敘述中正確的是()。、A.循環(huán)體執(zhí)行一次B.循環(huán)體執(zhí)行兩次C.循環(huán)體一次也不執(zhí)行D.構(gòu)成無(wú)限循環(huán)
20.在n個(gè)結(jié)點(diǎn)的線性表的數(shù)組實(shí)現(xiàn)中,算法的時(shí)間復(fù)雜度是O(1)的操作是()。
A.訪問(wèn)第i(1<=i<=n)個(gè)結(jié)點(diǎn)和求第i個(gè)結(jié)點(diǎn)的直接前驅(qū)(1<i<=n)
B.在第i(1<=i<=n)個(gè)結(jié)點(diǎn)后插入一個(gè)新結(jié)點(diǎn)
C.刪除第i(1<=i<=n)個(gè)結(jié)點(diǎn)
D.以上都不對(duì)
二、2.填空題(20題)21.下列程序中的數(shù)組a包括10個(gè)整數(shù)元素,分別將前項(xiàng)和后項(xiàng)之和存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b。請(qǐng)?zhí)羁铡?/p>
#include<stdioh>
main()
{inta[10],b[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(i;0;i<9;i++)
{if(i%4==0)primf("\n");
printf("%3d",b[i];
}
}
22.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
23.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的【】。
24.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==0‖x==1)
return(1);
p=x*func(x-1);
return(p);
}
main()
{printf("%d\n",func(4));
}
25.若輸入Ihaveatest.#,則以下程序的運(yùn)行結(jié)果為【】。
#include<stdio.h>
main()
{FILE*fp;
charstr[100],filename[10];
inti=0;
if((fp=fopen("test","w"))==NULL)
{printf("cannotopenthefile!\n");
exit(0);
}
getchar();
gets(str);
while(str[i]!='#')
{if(str[i]>='a'&&str[i]<='z')
str[i]=str[i]-32;
fputc(str[i],fp);
i++;
}
fclose(fp);
fp=fopen("test","r");
fgets(str,strlen(str)+1,fp);
printf("%s\n",str);
fclose(fp);
}
26.下面函數(shù)用來(lái)求兩個(gè)單精度數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>
voidsub(floatx,floaty,【】z)
{【】=x+y;}
27.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>
My_cmp(char*s,char*t)
{while(*s==*t)
{if(*s==′\0)return0;
++s;++t;
}return【】;
}
28.fseek函數(shù)的正確調(diào)用形式是【】。
29.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inta=l,b=3,c=5;
if(C=a+b)printf("yes\n");
elseprintf("no\n");
}
30.若a是int型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為_(kāi)_____。
31.以下程序的功能是輸出如下形式的方陣:
13141516
9101112
5678
1234
請(qǐng)?zhí)羁铡?/p>
main()
{inti,j,x;
for(j=4;j>0;j--)
{for(i=1;i<=4;i++)
{x=(j-1)*4+【】;
printf("%4d",x);
}
printf("\n");
}
}
32.多媒體計(jì)算機(jī)所用的CD-ROM是【】。
33.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:
case2:return1;}
return(fib(g-1)+fib(g-2));}
main()
{longk;
k=fib(5);
printf("k=%5ld\n",k);}
34.以下程序運(yùn)行后的輸出結(jié)果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}
35.用樹(shù)形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是()。
36.下列程序的輸出結(jié)果是______。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0‖x==1)
return3;
else
p=x-fun(x-2);
returnp;
}
voidmain()
{printf("\n%d",fun(11));
}
37.本程序用改進(jìn)冒泡法對(duì)數(shù)組a[n]的元素從小到大排序,請(qǐng)?jiān)诔绦蚩瞻滋幪羁铡?/p>
voidbubble(inta[],intn)
{intj,k,jmax,temp;
jmax=【】;
do{
k=0;
for(j=0;j<jmax;j++)
if(a[j]>a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;
jmax=k;
}while(jmax>0);}
38.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
39.以下程序運(yùn)行結(jié)果是【】。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==0‖x==1)return(2);
p=x*func(x-1);
return(p);}
main()
{printf("%d\n",func(4));}
40.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫適當(dāng)內(nèi)容,使程序能正確運(yùn)行。
【】(double,double);
main()
{doublex,y;
seanf("%1f%1f",&x,&y);
pfintf("%1f\n",max(x,y));
}
doublemax(doublea,doubleb)
{return(a>b?a:b);}
三、1.選擇題(20題)41.下列程序的輸出結(jié)果是______。main(){char*s="1221";intk=0,a=0,b=0;do{if(k%2==0){a=a+s[k]-'0';continue;}b=b+s[k]-'0';}while(s[++k]);printf("k=%da=%db=%d\n",k,a,b);}
A.k=3a=4b=3B.k=3a=3b=3C.k=4a=3b=3D.k=4a=2b=3
42.以下不合法的用戶標(biāo)識(shí)符是______。A.j2KEYB.DoubleC.4dD._8_
43.下列程序的輸出結(jié)果是()。#include<stdio.h>#include<string.h>main(){chara[]="\n123\\";printf("%d,%d\n",strlen(a),sizeof(a));}
A.5,6B.5,5C.6,6D.6,5
44.對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
45.下列函數(shù)調(diào)用中,不正確的是______。
A.max(a,b);B.max(3,a+b);C.max(3,5);D.intmax(a,b);
46.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):
inti=8,j=9;
則下列語(yǔ)句:
printf("i=%u,j%x\n",i,j);
輸出的結(jié)果是()。
A.i=8,j=9B.8.9C.89D.i=8,j=8
47.目前因特網(wǎng)(Internet)尚未提供的服務(wù)是()
A.電子郵件B.文件傳送C.遠(yuǎn)程使用計(jì)算機(jī)D.電視廣播
48.若有下列說(shuō)明和語(yǔ)句,則對(duì)結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
49.有下列二叉樹(shù),對(duì)此二叉樹(shù)前序遍歷的結(jié)果為()。
A.ACBEDGFHB.ABDGCEHFC.HGFEDCBAD.ABCDEFGH
50.下述程序文件輸出的結(jié)果是______。#inelude<stdio.h>voidmain(){FILE*fp=fopen("TEST","wb");fprintf(fp,"%d5.of%c%d",58,76273.0,'-',2278);fclose(fp);}
A.5876273-2278
B.5876273.000000-2278
C.5876273-2278
D.因文件為二進(jìn)制文件而不可讀
51.有下列程序段:intn,t=1,s=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。
A.4,4B.2,2C.4,5D.2,4
52.在微機(jī)中,微處理器的主要功能是()
A.算術(shù)邏輯運(yùn)算B.算術(shù)運(yùn)算C.存儲(chǔ)程序和數(shù)據(jù)D.算術(shù)邏輯運(yùn)算及全機(jī)的控制
53.設(shè)有定義:inta=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是()。
A.(!a==1)&&(!b==0)B.(a<B)&&!c||1C.a&&bD.a||(b+B)&&(c-A)
54.軟件開(kāi)發(fā)離不開(kāi)系統(tǒng)環(huán)境資源的支持,其中必要的測(cè)試數(shù)據(jù)屬于A.硬件資源B.通信資源C.支持軟件D.輔助資源
55.有以下程序:intf1(doubleA){returna*a;}intf2(intx,inty){doublea,b;a=f1(x);b=f1(y);returna+b;}main(){doublew;w=f2(2.1,4.0);}程序執(zhí)行后,變量w的值是()。
A.20.21B.20C.20.0D.0.0
56.下面程序運(yùn)行后的輸出結(jié)果是______。structabc{inta,b,c;}main(){structabcs[2]={{1,2,3},{4,5,6}};intt=-s[0].a+s[1].b;printf("%d\n",t);}
A.5B.6C.7D.8
57.有以下程序段:intn,t=1,s=0;scanf("%d",&n);do{s=s+t;t=t-2;)while(t!=n);為使程序不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是______。
A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)
58.若運(yùn)行以下程序時(shí),從鍵盤輸入ADescriptor<回車>,則下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do{switch(c=getehar()){case'a':case'A':case'e':case'E':case'i':case'I':case'o':case'O':case'u':case'U':v1+=1default:v0+=1;v2+=1;}}while(c!='\n');printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
59.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):
inti=8,j=9;
則下列語(yǔ)句:
printf("i=%u,j=%x\n".i,j);
輸出的結(jié)果是()。
A.i=8,j=9B.8.9C.89D.i=8,i=8
60.假定int類型變量占用兩個(gè)字節(jié),若有定義:intx[10]{0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是______。
A.3B.6C.10D.20
四、選擇題(20題)61.有如下程序
voidfunc1(intst[],inti)
{printf("%c",st[i]);
if(i<3){i+=2;func2(st,i);}
}
voidfunc2(intst[],inti)
{printf("%c",st[i]);
if(i<3){i+=2;func1(st,i);}
}
main()
{charst[]="hello,friend!";
inti=0;func1(st,i);
printf("\n");}
程序執(zhí)行后輸出的結(jié)果是
A.helloB.hel
C.hloD.編譯出錯(cuò)
62.面向?qū)ο蠓椒ㄖ校^承是指()。
A.一組對(duì)象所具有的相似性質(zhì)B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)C.各對(duì)象之間的共同性質(zhì)D.類之間共享屬性和操作的機(jī)制
63.有以下程序:
#include<stdio.h>
main()
{inta=12,C;
c=(a<<2)<<1;
printf("%d\n",c);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.3B.50C.2D.96
64.運(yùn)行下列程序時(shí),若輸入的數(shù)據(jù)為“1,2,3”,則輸出結(jié)果是()。main{floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a<b){t=a;a=b.b=t;)if(a<c){t=a;a=c;c=t;)it(b<c){t=b;b=C;c—=;)printf("%f\n%f\n%f\n",a,b,c);}A.1.002.003.00B.1.003.002.00C.132D.3.000002.000001.00000
65.
66.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.2,3,1,6,8,7,5,4,10,9,
B.10,9,8,7,6,5,4,3,2,l,
C.1,2,3,4,5,6,7,8,9,10,
D.10,9,8,7,6,1,2,3,4,5,
67.
68.設(shè)有定義:longx=-123456L;則以下能夠正確輸出變量x值的語(yǔ)句是_______。
A.printf(“x=%d\n”,x)
B.printf(“x=%ld\n”,x)
C.printf(“x=?l\n”,x)
D.printf(“x=%D\n”,x);
69.
有下列程序:
main
{intx=5;
do
{printf("%d",X-=4);)
while(!(--x));
}
程序的輸出結(jié)果是()。
A.1B.20C.1-4D.死循環(huán)
70.
71.若有定義語(yǔ)句:“charS[3][10],(*k)[3],*p;”,則以下賦值語(yǔ)句正確的是()。
A.p=S;B.p=k;C.p=s[0];D.k=s;
72.下列選項(xiàng)中,均屬于通用軟件的是()。
A.WindowsXP、AutoCAD、PowerPoint
B.VisualFoxPro、Excel、SPSS
C.Word、Photoshop、Excel
D.C++、CorelDraw、Firefox2.0
73.已知inta=15,執(zhí)行語(yǔ)句a=a<<2以后,變量a的值是()。
A)20B)40
C)60D)80
74.有以下程序:
#include<stdio.h>
intfun()
{staticintx=1;
X*=2;returnX;
main()
inti,s=1;
for(i=1;i<=2;i++)s=fun();
printf{¨%d\n",s);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.0B.1C.4D.8
75.
76.耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是()。
A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性
B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
C.耦合性是指-個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度
D.內(nèi)聚性是指模塊間互相連接的緊密程度
77.若想定義int型變量a,b,c,d并都賦值為1,以下寫法中錯(cuò)誤的是()。
A.inta=b=c=d=1;
B.inta=1,b=1,c=1,d=1;
C.inta,b,c,d;a=b=c=d=1;
D.inta,b,c,d=1;a=b=c=d;
78.下列程序的輸出結(jié)果是()。#include<stdio.h>main{inta[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[o][1]+a[1][1]+a[1][2]);}A.8B.7C.12D.9
79.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E—R圖轉(zhuǎn)換為關(guān)系模式的過(guò)程屬于()。
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
80.設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語(yǔ)句
if(a<b)
if(c==d)y=0;
Elsey=1;
該語(yǔ)句所表示的含義是()。
A.
B.
C.
D.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:根據(jù)輸人的三條邊長(zhǎng)(整形),判斷能否構(gòu)成三角形;構(gòu)成的是等邊三角形還是等腰三角形。若能構(gòu)成等邊三角形函數(shù),返回3;若能構(gòu)成等腰三角形函數(shù),返回2;若構(gòu)成=三角形函數(shù),返回l;若不能構(gòu)成三角形函數(shù)返回0。請(qǐng)修改函數(shù)fun()中的錯(cuò)誤,得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不能增行或減行,也不能更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù)proc,它的功能是:求出1~m(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。
例如,若傳給m的值為70,則程序輸出:
7111421222833354244495556636670
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所編寫的若干語(yǔ)句。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#defineN100
voidproc(intm,int*a,int*n)
{}
voidmain
{
intarr[N],n,k;
system("CLS");
proc(70,arr,&n);
for(k=0;k<n;k++)
if((k+1)%20==0)//每行輸出20個(gè)數(shù)
{printf("%4d",arr[k]);
printf("\n");
}
else
printf("%4d",arr[k]);
printf("\n");
}
參考答案
1.A程序首先定義一個(gè)字符指針P,使其指向一個(gè)字符串“6938”。然后通過(guò)for循環(huán)使用逆序的方式遍歷字符串的各個(gè)字符,并將各個(gè)字符當(dāng)作整數(shù)參與算術(shù)運(yùn)算。其中,“p[i]-‘0’”的含義是將字符串中的數(shù)字字符轉(zhuǎn)換成對(duì)應(yīng)的整數(shù);“10*s+P[i]-‘0’”是將上一次運(yùn)算結(jié)果乘以10后與轉(zhuǎn)換后的整數(shù)相加,再累加到S中。所以for循環(huán)執(zhí)行完后,S的值是將字符串“6938”逆序后當(dāng)作整數(shù)輸出。故本題答案為A選項(xiàng)。
2.C
3.A解析:/*與*/之間的信息稱為注釋信息,在C語(yǔ)言中,允許在任何能夠插入空格符的位置插入注釋,但C語(yǔ)言的注釋不能進(jìn)行嵌套,故選項(xiàng)A正確:在C語(yǔ)言中,函數(shù)體是從花括號(hào){開(kāi)始,到花括號(hào)}結(jié)束。但沒(méi)有規(guī)定花括號(hào){和}只能作為函數(shù)體定界符,故選項(xiàng)B錯(cuò)誤;選項(xiàng)C中前半句是正確的,C程序由一個(gè)或多個(gè)函數(shù)所組成,但不是所有的函數(shù)都由用戶自己命名,有些函數(shù),比如主函數(shù)main()就不能由用戶來(lái)命名,故選C不正確;在C語(yǔ)言中明確規(guī)定每條語(yǔ)句以分號(hào);結(jié)束,分號(hào)是語(yǔ)句不可缺少的一部分,故選項(xiàng)D不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
4.D解析:本題主要考查左移、右移對(duì)數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。
5.D
\n首先計(jì)算1與2的或運(yùn)算,再將其結(jié)果與3進(jìn)行“與”運(yùn)算,結(jié)果為00000011,即十進(jìn)制數(shù)3。
\n
6.C解析:選項(xiàng)A中應(yīng)將y和m前面的函數(shù)的類型說(shuō)明符去掉,故選項(xiàng)A不正確;選項(xiàng)B中函數(shù)傳了2個(gè)參數(shù),其中一個(gè)為整型—個(gè)為浮點(diǎn)型,而fun()函數(shù)在定義時(shí)聲明的2個(gè)參數(shù),一個(gè)為整型一個(gè)為雙精度型,其參數(shù)類型不一致,故選項(xiàng)B不正確;選項(xiàng)D在調(diào)用函數(shù)時(shí),不應(yīng)該再聲明其返回類型,故選項(xiàng)D不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意.
7.B數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是一種在操作系統(tǒng)支持下的系統(tǒng)軟件,因此本題答案為B)。
8.D解析:二叉樹(shù)的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷,其遍歷順序應(yīng)該為:后序遍歷左子樹(shù)->,后序遍歷右子樹(shù)->,訪問(wèn)根結(jié)點(diǎn)。按照定義,后序遍歷序列是DEBFCA,故答案為D。
9.D\r\n
10.C本題考查do-while循環(huán),先執(zhí)行d0輸出的x的值為1,接著執(zhí)行while語(yǔ)句,此時(shí)--x的值為0,x也為0,而非0為1,循環(huán)成立,接著執(zhí)行do輸出X值為-2,執(zhí)行--x后,表達(dá)式為-2,而!(--x)為0,退出循環(huán)。
11.C
12.B
13.BA選項(xiàng)中不能將變量Y賦給表達(dá)式,c選項(xiàng)中錯(cuò)誤與A選項(xiàng)一樣,D選項(xiàng)中強(qiáng)制類型轉(zhuǎn)換表達(dá)式應(yīng)寫成(doub1e)x/10。
14.C解析:棧和隊(duì)列都是操作受限制的線性表,只允許在端點(diǎn)插入和刪除。不同點(diǎn)是:棧只允許在表的一端進(jìn)行插入和刪除操作,而隊(duì)列允許在表的一端進(jìn)行插入操作,而在另一端進(jìn)行刪除操作。
15.B
16.A
17.C
\ngetchar函數(shù)是讀取鍵盤的輸入函數(shù),本題中輸入字母“a”,則c=a,判斷if條件,發(fā)現(xiàn)a>=a&&a<=g成立,則執(zhí)行下列語(yǔ)句:C=C+4,C得到的字符的ASCII碼值,退出if語(yǔ)句,通過(guò)putchar函數(shù)輸出字符。
18.D
19.A本題考查簡(jiǎn)單的for語(yǔ)句,程序中當(dāng)k<0時(shí)循環(huán)才執(zhí)行,所以答案選擇A。
20.A
21.b[i]=a[i]+a[i+1]b[i]=a[i]+a[i+1]解析:將數(shù)組a中元素a[i]與a[i+1]值相加后的值賦予數(shù)組b中元素b[i]小即可實(shí)現(xiàn)將一個(gè)數(shù)組的前項(xiàng)和后項(xiàng)之和存入另一數(shù)組。
22.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)
23.模式或邏輯模式或概念模式模式也稱邏輯模式或概念模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖,例如數(shù)據(jù)記錄由哪些數(shù)據(jù)項(xiàng)構(gòu)成,數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等。
24.2424解析:本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-1),當(dāng)x=4時(shí),不滿足if語(yǔ)句的條件,p=4*func(3),x=3也不滿足條件,則func(3)=3*func(2),func(2)=2*func(1),x=1滿足條件return(1),則輸出結(jié)果為4*3*2*1-24。
25.IHAVEATEST.
26.float**zfloat*\r\n*z解析:C程序中可以通過(guò)傳送地址的方式在被調(diào)用函數(shù)中直接改變被調(diào)用函數(shù)中變量的值,從而達(dá)到函數(shù)之間數(shù)據(jù)的傳遞。
27.*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,保證在s>t時(shí),返回正值,當(dāng)s<t時(shí),返回負(fù)值。
28.fseek(文件指針位移量起始點(diǎn))fseek(文件指針,位移量,起始點(diǎn))解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:
fseek(文件指針,位移量,起始點(diǎn))
“起始點(diǎn)”用0,1或2代替,其中,0代表“文件開(kāi)始”;1為“當(dāng)前位置”;2為“文件末尾”?!拔灰屏俊敝敢浴捌鹗键c(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件的長(zhǎng)度大于64k時(shí)不致出現(xiàn)問(wèn)題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字的末尾加一個(gè)字母L,就表示long型。
29.yesyes解析:本題中,if后面括號(hào)里的表達(dá)式為c=a+b為真(即c=1+3=4為真),所以,執(zhí)行printf('yes\\n'),最后輸出yes。
30.-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。
31.ii解析:外循環(huán)是遞減的,方陣中的每個(gè)元素為(j-1)*4+i,因此空格處填i。
32.只讀光盤只讀光盤
33.k=5k=5解析:本題主要考查了函數(shù)的遞歸調(diào)用方法。g=0或\ue008g=1\ue009或g=2是遞歸的終止條件,然后用回代的方法從一個(gè)已知值推出下一個(gè)值,直到計(jì)算出最終結(jié)果。
34.1020010200解析:本題考查的是混合運(yùn)算?!?a/b<1)&&(a%b<1)”的運(yùn)算順序?yàn)椋豪ㄌ?hào)>算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符。其中a%b=10,a,b=0,所以a%b<1的值為0,a/b<1的值為1,故整個(gè)表達(dá)式的結(jié)果為0,所以輸出的a,b,c的值為10200。
35.層次模型層次模型解析:層次模型是最早發(fā)展起來(lái)的數(shù)據(jù)庫(kù)模型。層次模型的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu)。
36.44解析:本題考查函數(shù)的遞歸調(diào)用.在主函數(shù)中第1次調(diào)用于函數(shù)是調(diào)用的fun(11),返回11-fun(9);第2次調(diào)用于函數(shù)是調(diào)用的fun(9),返回9-fun(7);第3次調(diào)用于函數(shù)是調(diào)用的fun(7),返回7-fun(5):第4次調(diào)用子函數(shù)是調(diào)用的fun(5),返回5-fun(3):第5次調(diào)用于函數(shù)是調(diào)用的fun(3),返回3-fun(1):第6次調(diào)用于函數(shù)是調(diào)用的fun(1),返回3??偟姆祷刂凳牵?1-(9-(7-(5-(3-3))))=4.
37.n-1jn-1\r\nj解析:此題采用了do…while循環(huán)內(nèi)嵌for循環(huán)的雙層循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)了數(shù)組元素的排序。數(shù)組元素通過(guò)首地址和數(shù)組下標(biāo)的方式來(lái)引用的。
38.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語(yǔ)言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nèi)容后,如果沒(méi)有break語(yǔ)句,控制結(jié)構(gòu)會(huì)轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2:分支,最后a和b的值分別為2和1。
39.4848解析:本題主要考查的是函數(shù)的遞歸調(diào)用,遞歸的終止條件是x==0或x==1,然后用已知值逐步遞推向上求未知值,直到得到最終的結(jié)果。
func(4)=4*func(3);
func(3)=3*func(2);
func(2)=2*func(1);
func(1)=2;
所以func(2)=2*2=4;
func(3)=3*4=12;
fune(4)=4*12=48。
40.doublemax或externdoublemaxdoublemax或externdoublemax解析:函數(shù)聲明是對(duì)所用到的函數(shù)的特征進(jìn)行必要的聲明,編譯系統(tǒng)以函數(shù)聲明中給出的信息為依據(jù),對(duì)調(diào)用表達(dá)式進(jìn)行檢測(cè),以保證調(diào)用表達(dá)式與函數(shù)之間的參數(shù)正確傳遞。函數(shù)聲明的一般格式為:類型標(biāo)識(shí)符函數(shù)名(類型標(biāo)識(shí)符形參,…);這些信息就是函數(shù)定義中的第一行的內(nèi)容。本題中main()函數(shù)需要調(diào)用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extem說(shuō)明符使變量的作用域擴(kuò)充到需要用到它的函數(shù),所以,填寫doublemax(或externdoublemax)。
41.C解析:將數(shù)字字符串中下標(biāo)值能被2整除的元素值(字符)轉(zhuǎn)換為數(shù)字累加到變量a中,將數(shù)字字符串中下標(biāo)值不能被2整除的元素值(字符)轉(zhuǎn)換為數(shù)字累加到變量b中,循環(huán)結(jié)束時(shí),a、b的值均為3,k是字符結(jié)束符的下標(biāo)值,為4。
42.C解析:C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第—個(gè)字符必須是字母或下劃線。大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符,用戶在定義標(biāo)識(shí)符時(shí)應(yīng)做到“見(jiàn)名知意”,且不允許使用關(guān)鍵字作標(biāo)識(shí)符。
43.A解析:轉(zhuǎn)義字符'\\n'表示換行,'\\\\'表示反斜杠,函數(shù)strlen()是計(jì)算字符串的長(zhǎng)度,不包括文件結(jié)束標(biāo)志('\\0'),函數(shù)sizeof()統(tǒng)計(jì)字符串所占的字節(jié)數(shù)。
44.D各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡(jiǎn)單插入排序n(n-1)/2、希爾排序0(n1.5)、簡(jiǎn)單選擇排序n(n-1)/2、堆排序O(nlog2n)
45.D
46.A解析:本題考查函數(shù)printf()的格式?!?x”表示以+六進(jìn)制輸出整型數(shù)據(jù);“%u”表示以+進(jìn)制無(wú)符號(hào)型輸出整型數(shù)據(jù)。printf函數(shù)中格式說(shuō)明符之前插入的任何字符都原樣輸出。
47.D
48.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪問(wèn)結(jié)構(gòu)體的成員,可以通過(guò)結(jié)構(gòu)變量訪問(wèn),即st.i,也可以用等價(jià)的指針形式,即(*p).i和p->i。
49.B解析:對(duì)二叉樹(shù)的前序遍歷是指:先訪問(wèn)根結(jié)點(diǎn),然后訪問(wèn)左子樹(shù),最后訪問(wèn)右子樹(shù),并且,在訪問(wèn)左、右子樹(shù)時(shí),先訪問(wèn)根結(jié)點(diǎn),再依次訪問(wèn)其左,右子樹(shù)。
50.C解析:fprintf函數(shù)工作時(shí),多個(gè)數(shù)據(jù)間不會(huì)自動(dòng)加分隔符,選項(xiàng)A錯(cuò)誤;浮點(diǎn)數(shù)的搞出格式是“%5.0f”表明其小數(shù)部分輸出0位,即沒(méi)有輸出,所以選項(xiàng)B也是錯(cuò)誤的。
51.D解析:首先定義了一個(gè)指向一維數(shù)組b的指針p,一個(gè)指向指針p的指針變量q,輸出*(p++)是先輸出*p即b[0]的值,再將指針p指向數(shù)組的下一個(gè)元素b[1],輸出**q是輸出指針p所指單元的內(nèi)容,即b[1]的值。
52.D
53.A解析:本題考查邏輯運(yùn)算。根據(jù)運(yùn)算符的優(yōu)先級(jí)順序,選項(xiàng)A的值為“(!2==1)&&(!3==0)=0&&(!3==0)=0”,選項(xiàng)B的值為“(2>3)&&!4||1=0&&!4||1=0&&0||1=0||1=1”。選項(xiàng)C的值為“2&&3=1”。選項(xiàng)D的值為“2||(6)&&(2)=2||1=1”。所以只有選項(xiàng)A的值為0。注意:在進(jìn)行邏輯與運(yùn)算時(shí),若“&&”的左邊運(yùn)算結(jié)果已經(jīng)為0,則“&&”右邊的表達(dá)式將不再進(jìn)行計(jì)算,結(jié)果總為0;在進(jìn)行邏輯或運(yùn)算時(shí),若“||”的左邊運(yùn)算結(jié)果已經(jīng)為1,則“||”右邊的表達(dá)式也將不再進(jìn)行計(jì)算,結(jié)果總為1。
54.D軟件開(kāi)發(fā)離不開(kāi)系統(tǒng)環(huán)境資源的支持,其中主要的資源有硬件資源、通信資源、輔助資源等。(1)硬件資源是指組成計(jì)算機(jī)及相關(guān)應(yīng)用所需要的硬件,它是軟件開(kāi)發(fā)必不可少的資源,因?yàn)闊o(wú)論什么樣的軟件工具都需要在硬件上完成任務(wù),它是其他資源的基礎(chǔ)資源。(2)通信資源是指為軟件開(kāi)發(fā)提供通信支撐的資源,它與測(cè)試數(shù)據(jù)無(wú)關(guān)。(3)支持軟件是指為軟件開(kāi)發(fā)提供操作平臺(tái)的軟件,如常用的面向?qū)ο箝_(kāi)發(fā)的Rose軟件,它主要是軟件開(kāi)發(fā)的工具。通過(guò)對(duì)上述分析的總結(jié),可以知道本題的正確答案選D。
55.C
56.B解析:在main函數(shù)中定義了一個(gè)structabc類型的數(shù)組,同時(shí)分別利用{1,2,3}及(4,5,6}對(duì)數(shù)組中兩個(gè)元素進(jìn)行初始化。在該結(jié)構(gòu)體,依次對(duì)其中的a,b,c三個(gè)變量進(jìn)行初始化。故s[0].a=1,s[1].b=5,所以本題輸出為6。
57.D解析:do-while循環(huán)是先執(zhí)行循環(huán)體再進(jìn)行條件判斷,當(dāng)執(zhí)行了一次循環(huán)以后,t變成了-1,每次循環(huán)后t都減2,t將永遠(yuǎn)為負(fù)奇數(shù),又循環(huán)結(jié)束的條件是n=t,因此只有當(dāng)n為負(fù)奇數(shù)時(shí)才不會(huì)陷入死循環(huán)。
58.D解析:由于只有4個(gè)元音字符,所以v1=4,v0和v2在循環(huán)11次中都要加1,共循環(huán)12次,由于v0的初值為1,所以v0=13,v2=12。
59.A解析:本題考查函數(shù)printf()的格式?!?x”表示以十六進(jìn)制輸出整型數(shù)據(jù);“%u”表示以十進(jìn)制無(wú)符號(hào)型輸出整型數(shù)據(jù)。printf函數(shù)中格式說(shuō)明符之前插入的任何字符都原樣輸出。
60.D解析:當(dāng)數(shù)組定義后,系統(tǒng)就為其分配內(nèi)存空間,而不論其中有沒(méi)有內(nèi)容。因此,本題中數(shù)組x[10]不論是否為其元素初始化,它所分配的存儲(chǔ)空間仍為2*10=20個(gè)字節(jié)。
61.D本題主要考查全局變量的作用域。在本題中,程序首先聲明兩個(gè)無(wú)返回值函數(shù)func1和func2。func1函數(shù)帶有兩個(gè)形參,一個(gè)是需要輸出的數(shù)字,一個(gè)是輸出數(shù)組元素的下標(biāo)。在函數(shù)體中,首先輸出以形參作為下標(biāo)的數(shù)組元素值,然后執(zhí)行if條件判斷語(yǔ)句,其條件為形參變量i<3。如果結(jié)果為真,則將變量i加2后保存,然后調(diào)用func2函數(shù);如果條件結(jié)果為假,則結(jié)束該函數(shù)。
從程序中不難看出,func2函數(shù)與func1函數(shù)基本類似,只是最后它對(duì)函數(shù)func1進(jìn)行調(diào)用,與前者不同,兩個(gè)函數(shù)是互相調(diào)用的。
在主函數(shù)中首先定義了一個(gè)字符數(shù)組,并賦了初值,然后定義一個(gè)變量i并賦值為0,如果數(shù)組st是一個(gè)全局?jǐn)?shù)組,那么調(diào)用函數(shù)func1,根據(jù)我們對(duì)函數(shù)func1的分析可知,此時(shí)能輸出st[0]即字符’h’,而此時(shí)if語(yǔ)句的結(jié)果為真,執(zhí)行i加2并調(diào)用func2函數(shù)操作。此時(shí)變量i的值為2,因此,輸出st[2]即字符‘l’,此時(shí)函數(shù)func2中的if條件語(yǔ)句結(jié)果為真,同樣執(zhí)行i加2并調(diào)用func1函數(shù)操作,然后通過(guò)func1函數(shù)輸出st[4]即字符‘o’,但由于數(shù)組只是一個(gè)局部數(shù)組,局部數(shù)組的作用域是定義它的函數(shù)或者程序段,調(diào)用函數(shù)func1時(shí),數(shù)組有效,當(dāng)再調(diào)用函數(shù)func2時(shí),已經(jīng)超出了數(shù)組的作用域。因此,系統(tǒng)在編譯時(shí)會(huì)報(bào)錯(cuò)。本題答案選D。
62.D繼承是面向?qū)ο蟮姆椒ǖ囊粋€(gè)主要特征,是使用已有的類的定義作為基礎(chǔ)建立新類的定義技術(shù)。廣義的說(shuō),繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們,所以說(shuō)繼承是指類之間共享屬性和操作的機(jī)制。
63.D\n本題考查左移運(yùn)算符,左移運(yùn)算符相當(dāng)于乘以2的2n,所以a<<2=12*22=48,所以(a<<2)<1—48*2=96。
\n
64.D本題考查if語(yǔ)句。第1個(gè)if語(yǔ)句,如果a<b,則a與b交換;第2個(gè)if語(yǔ)句,如果a<c,則a與c交換;第3個(gè)if語(yǔ)句,如果b<2t,則b與c交換。3個(gè)if語(yǔ)句結(jié)合起來(lái)實(shí)現(xiàn)的功能就是將a、b、C按從大到小排序。
65.A
66.C本題的子函數(shù)f的功能是對(duì)結(jié)構(gòu)體變量。中第二個(gè)成員數(shù)組中所有的數(shù)據(jù)進(jìn)行從小到大的冒泡排序,
所以結(jié)果是C。
67.A
68.B
69.C
\n本題考查do-while循環(huán)。先執(zhí)行do的內(nèi)容,也就是printf語(yǔ)句,x=x-4=1,輸出1,判斷while循環(huán)的控制條件,--x=0,則!(--x)為非零,循環(huán)條件成立,執(zhí)行下一次循環(huán);x=x-4=-4,輸出-4,判斷while循環(huán)的條件,--X=-5,則!(--x)為零,循環(huán)條件不成立,結(jié)束循環(huán)。
70.C
71.C答案C的意思是*P指向數(shù)組的第一個(gè)值。
72.C軟件可以分為系統(tǒng)軟件和應(yīng)用軟件兩類,應(yīng)用軟件又可以分為針對(duì)具體應(yīng)用問(wèn)題而專門開(kāi)發(fā)的定制應(yīng)用軟件和在許多行業(yè)和部門中可以廣泛使用的通用應(yīng)用軟件。
73.C對(duì)a進(jìn)行右移兩位的操作,原來(lái)為1111,右移兩位后變成111100等于60.
74.C本題考查了static的用法。當(dāng)static用于局部變量中,成為靜態(tài)局部變量。靜態(tài)局部變量有兩個(gè)用法,記憶功能和全局生存期。當(dāng)static用于全局變量,主要作用是限制此全局變量被其他的文件調(diào)用。當(dāng)static用于類中的成員,表示這個(gè)成員是屬于這個(gè)類,但是不屬于類中任意特定對(duì)象。所以本題答案為C。
75.D
76.B模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性,所以A錯(cuò)誤,B正確。耦合性是模塊間互相連接的緊密程度的度量而內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素問(wèn)彼此結(jié)合
的緊密程度,所以c與D錯(cuò)誤。
77.AC語(yǔ)言中賦值運(yùn)算符的結(jié)合方向是從右向左的,變量先定義后使用。“inta=b=c=d=1;”,本條語(yǔ)句首先執(zhí)行賦值運(yùn)算“d=1”,由于變量d并未定義,故編譯不通過(guò),提示沒(méi)有定義標(biāo)識(shí)符b、c、d,A選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。
78.B本題考查for循環(huán)及if…else語(yǔ)句嵌套,第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]=p[1][0]-1=3;第2次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4;第3次執(zhí)行for循環(huán),p[1][2]=l,最后輸出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。
79.BB.【解析】數(shù)據(jù)庫(kù)設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。其中邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。
80.Cif-else語(yǔ)句時(shí)if語(yǔ)句的嵌套,也就是if-else語(yǔ)句在if語(yǔ)句的條件下執(zhí)行,所以兩個(gè)條件相同的地方都是a<b.
81.(1)錯(cuò)誤:return1;
正確:return3;
(2)錯(cuò)誤:return3;
正確:return1;
【解析】本題利用if語(yǔ)句判斷三條邊的關(guān)系,根據(jù)判斷的結(jié)果,返回題干中要求的值。
(1)第一個(gè)標(biāo)識(shí)下的語(yǔ)句“if(x==y&&y==z)”說(shuō)明x,y,z三個(gè)值相等,即等邊三角形,所以應(yīng)該返回3,將“1”改成“3”。
(2)第二個(gè)標(biāo)識(shí)下的else語(yǔ)句應(yīng)該是除了等邊及等腰三角形之外的三角形,所以應(yīng)該返回1,應(yīng)將“3”改成“1”。
82.\n\tvoidproc(intm,int*a,int*n)
\n{
\ninti,j=0;
\nfor(i=1;i<=m;i++)//進(jìn)行m次循環(huán)
\nif(i%7==0||i%11==0)//能被7或11整除的所有整數(shù)
\na[j++]=i;//符合條件的數(shù)放在數(shù)組a中
\n*n=j;//返回這些數(shù)的個(gè)數(shù)
\n}
\n【解析】本題需要先判斷1~m每一個(gè)整數(shù)能否被7或11整除,然后將符合條件的整數(shù)放在數(shù)組a中,最后將符合條件的數(shù)的個(gè)數(shù)通過(guò)形參n返回主函數(shù)。\n</b.
</b)2021-2022年黑龍江省綏化市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>main(){char*p=“6938”;inti,s=0;for(i=3;i>=0;i--)s=10*s+p[i]-‘0’;printf(“%d\n”,s);}程序運(yùn)行后的輸出結(jié)果是()。
A.8396B.6938C.3869D.3689
2.最小堆[0,3,2,5,7,4,6,8],在刪除堆頂元素0之后,其結(jié)果是()
A.[3,2,5,7,4,6,8]
B.[2,3,5,7,4,6,8]
C.[2,3,4,5,7,8,6]
D.[2,3,4,5,6,7,8]
3.以下敘述中正確的是()。
A.C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方
B.花括號(hào)"{"和"}"只能作為函數(shù)體的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號(hào)是C語(yǔ)句之間的分隔符,不是語(yǔ)句的一部分
4.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
5.
有以下程序
#include<stdio.h>
main
{inta=1,b=2,c=3,x;
x=(a^b)&C;printf("%d",x);
}
程序的運(yùn)行結(jié)果是()。
A.0B.1C.2D.3
6.有以下函數(shù)定義:voidfun(intn,doubx){……}若以下選項(xiàng)中的變量都已正確定義并賦值,則對(duì)函數(shù)fun的正確調(diào)用語(yǔ)句是()。
A.fun(inty,doublem);
B.k=fun(10,12.5);
C.fun(x,n);
D.voidfum(n,x);
7.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。
A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)
8.設(shè)有下列二叉樹(shù):
對(duì)此二叉樹(shù)后序遍歷的結(jié)果為
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
9.
10.有以下程序段:intx=3;do{printf("%d",x-=2);)while(!(--x));其輸出結(jié)果是()。A.1B.30C.1-2D.死循環(huán)
11.向一個(gè)棧頂指針為HS的鏈?zhǔn)綏V胁迦胍粋€(gè)s所指的結(jié)點(diǎn)時(shí),則執(zhí)行()。
A.HS->next=s
B.S->next=HS->nextHS->next=s
C.s->next=HSHS=s
D.S->next=HSHS=HS->next
12.
13.若變量x、y已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。
A.X+1=yB.++X.Y=X一一C.X=X+10=X+YD.double(X)/10
14.棧和隊(duì)列的共同點(diǎn)是()。
A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同特點(diǎn)
15.
16.已知各變量的類型說(shuō)明如下則以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=f1oat(i)
17.運(yùn)行下列程序,若從鍵盤輸入字符“a”,則輸出結(jié)果是()。
charc;
c=getchar;
if(c>=a&&c<=g)c=c+4:
elseif(c>=9&&c<=2)c=c-21:
elseprintf("inputerror!\n");
putchar(c);
A.fB.tC.eD.d
18.
19.若k是int類型變量,且有以下for語(yǔ)句:for(k=-1;k<O;k++)printf("****\n");下面關(guān)于語(yǔ)句執(zhí)行情況的敘述中正確的是()。、A.循環(huán)體執(zhí)行一次B.循環(huán)體執(zhí)行兩次C.循環(huán)體一次也不執(zhí)行D.構(gòu)成無(wú)限循環(huán)
20.在n個(gè)結(jié)點(diǎn)的線性表的數(shù)組實(shí)現(xiàn)中,算法的時(shí)間復(fù)雜度是O(1)的操作是()。
A.訪問(wèn)第i(1<=i<=n)個(gè)結(jié)點(diǎn)和求第i個(gè)結(jié)點(diǎn)的直接前驅(qū)(1<i<=n)
B.在第i(1<=i<=n)個(gè)結(jié)點(diǎn)后插入一個(gè)新結(jié)點(diǎn)
C.刪除第i(1<=i<=n)個(gè)結(jié)點(diǎn)
D.以上都不對(duì)
二、2.填空題(20題)21.下列程序中的數(shù)組a包括10個(gè)整數(shù)元素,分別將前項(xiàng)和后項(xiàng)之和存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b。請(qǐng)?zhí)羁铡?/p>
#include<stdioh>
main()
{inta[10],b[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(i;0;i<9;i++)
{if(i%4==0)primf("\n");
printf("%3d",b[i];
}
}
22.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
23.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的【】。
24.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==0‖x==1)
return(1);
p=x*func(x-1);
return(p);
}
main()
{printf("%d\n",func(4));
}
25.若輸入Ihaveatest.#,則以下程序的運(yùn)行結(jié)果為【】。
#include<stdio.h>
main()
{FILE*fp;
charstr[100],filename[10];
inti=0;
if((fp=fopen("test","w"))==NULL)
{printf("cannotopenthefile!\n");
exit(0);
}
getchar();
gets(str);
while(str[i]!='#')
{if(str[i]>='a'&&str[i]<='z')
str[i]=str[i]-32;
fputc(str[i],fp);
i++;
}
fclose(fp);
fp=fopen("test","r");
fgets(str,strlen(str)+1,fp);
printf("%s\n",str);
fclose(fp);
}
26.下面函數(shù)用來(lái)求兩個(gè)單精度數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>
voidsub(floatx,floaty,【】z)
{【】=x+y;}
27.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>
My_cmp(char*s,char*t)
{while(*s==*t)
{if(*s==′\0)return0;
++s;++t;
}return【】;
}
28.fseek函數(shù)的正確調(diào)用形式是【】。
29.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inta=l,b=3,c=5;
if(C=a+b)printf("yes\n");
elseprintf("no\n");
}
30.若a是int型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為_(kāi)_____。
31.以下程序的功能是輸出如下形式的方陣:
13141516
9101112
5678
1234
請(qǐng)?zhí)羁铡?/p>
main()
{inti,j,x;
for(j=4;j>0;j--)
{for(i=1;i<=4;i++)
{x=(j-1)*4+【】;
printf("%4d",x);
}
printf("\n");
}
}
32.多媒體計(jì)算機(jī)所用的CD-ROM是【】。
33.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:
case2:return1;}
return(fib(g-1)+fib(g-2));}
main()
{longk;
k=fib(5);
printf("k=%5ld\n",k);}
34.以下程序運(yùn)行后的輸出結(jié)果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}
35.用樹(shù)形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是()。
36.下列程序的輸出結(jié)果是______。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0‖x==1)
return3;
else
p=x-fun(x-2);
returnp;
}
voidmain()
{printf("\n%d",fun(11));
}
37.本程序用改進(jìn)冒泡法對(duì)數(shù)組a[n]的元素從小到大排序,請(qǐng)?jiān)诔绦蚩瞻滋幪羁铡?/p>
voidbubble(inta[],intn)
{intj,k,jmax,temp;
jmax=【】;
do{
k=0;
for(j=0;j<jmax;j++)
if(a[j]>a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;
jmax=k;
}while(jmax>0);}
38.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
39.以下程序運(yùn)行結(jié)果是【】。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==0‖x==1)return(2);
p=x*func(x-1);
return(p);}
main()
{printf("%d\n",func(4));}
40.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫適當(dāng)內(nèi)容,使程序能正確運(yùn)行。
【】(double,double);
main()
{doublex,y;
seanf("%1f%1f",&x,&y);
pfintf("%1f\n",max(x,y));
}
doublemax(doublea,doubleb)
{return(a>b?a:b);}
三、1.選擇題(20題)41.下列程序的輸出結(jié)果是______。main(){char*s="1221";intk=0,a=0,b=0;do{if(k%2==0){a=a+s[k]-'0';continue;}b=b+s[k]-'0';}while(s[++k]);printf("k=%da=%db=%d\n",k,a,b);}
A.k=3a=4b=3B.k=3a=3b=3C.k=4a=3b=3D.k=4a=2b=3
42.以下不合法的用戶標(biāo)識(shí)符是______。A.j2KEYB.DoubleC.4dD._8_
43.下列程序的輸出結(jié)果是()。#include<stdio.h>#include<string.h>main(){chara[]="\n123\\";printf("%d,%d\n",strlen(a),sizeof(a));}
A.5,6B.5,5C.6,6D.6,5
44.對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
45.下列函數(shù)調(diào)用中,不正確的是______。
A.max(a,b);B.max(3,a+b);C.max(3,5);D.intmax(a,b);
46.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):
inti=8,j=9;
則下列語(yǔ)句:
printf("i=%u,j%x\n",i,j);
輸出的結(jié)果是()。
A.i=8,j=9B.8.9C.89D.i=8,j=8
47.目前因特網(wǎng)(Internet)尚未提供的服務(wù)是()
A.電子郵件B.文件傳送C.遠(yuǎn)程使用計(jì)算機(jī)D.電視廣播
48.若有下列說(shuō)明和語(yǔ)句,則對(duì)結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
49.有下列二叉樹(shù),對(duì)此二叉樹(shù)前序遍歷的結(jié)果為()。
A.ACBEDGFHB.ABDGCEHFC.HGFEDCBAD.ABCDEFGH
50.下述程序文件輸出的結(jié)果是______。#inelude<stdio.h>voidmain(){FILE*fp=fopen("TEST","wb");fprintf(fp,"%d5.of%c%d",58,76273.0,'-',2278);fclose(fp);}
A.5876273-2278
B.5876273.000000-2278
C.5876273-2278
D.因文件為二進(jìn)制文件而不可讀
51.有下列程序段:intn,t=1,s=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。
A.4,4B.2,2C.4,5D.2,4
52.在微機(jī)中,微處理器的主要功能是()
A.算術(shù)邏輯運(yùn)算B.算術(shù)運(yùn)算C.存儲(chǔ)程序和數(shù)據(jù)D.算術(shù)邏輯運(yùn)算及全機(jī)的控制
53.設(shè)有定義:inta=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是()。
A.(!a==1)&&(!b==0)B.(a<B)&&!c||1C.a&&bD.a||(b+B)&&(c-A)
54.軟件開(kāi)發(fā)離不開(kāi)系統(tǒng)環(huán)境資源的支持,其中必要的測(cè)試數(shù)據(jù)屬于A.硬件資源B.通信資源C.支持軟件D.輔助資源
55.有以下程序:intf1(doubleA){returna*a;}intf2(intx,inty){doublea,b;a=f1(x);b=f1(y);returna+b;}main(){doublew;w=f2(2.1,4.0);}程序執(zhí)行后,變量w的值是()。
A.20.21B.20C.20.0D.0.0
56.下面程序運(yùn)行后的輸出結(jié)果是______。structabc{inta,b,c;}main(){structabcs[2]={{1,2,3},{4,5,6}};intt=-s[0].a+s[1].b;printf("%d\n",t);}
A.5B.6C.7D.8
57.有以下程序段:intn,t=1,s=0;scanf("%d",&n);do{s=s+t;t=t-2;)while(t!=n);為使程序不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是______。
A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)
58.若運(yùn)行以下程序時(shí),從鍵盤輸入ADescriptor<回車>,則下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do{switch(c=getehar()){case'a':case'A':case'e':case'E':case'i':case'I':case'o':case'O':case'u':case'U':v1+=1default:v0+=1;v2+=1;}}while(c!='\n');printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
59.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):
inti=8,j=9;
則下列語(yǔ)句:
printf("i=%u,j=%x\n".i,j);
輸出的結(jié)果是()。
A.i=8,j=9B.8.9C.89D.i=8,i=8
60.假定int類型變量占用兩個(gè)字節(jié),若有定義:intx[10]{0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是______。
A.3B.6C.10D.20
四、選擇題(20題)61.有如下程序
voidfunc1(intst[],inti)
{printf("%c",st[i]);
if(i<3){i+=2;func2(st,i);}
}
voidfunc2(intst[],inti)
{printf("%c",st[i]);
if(i<3){i+=2;func1(st,i);}
}
main()
{charst[]="hello,friend!";
inti=0;func1(st,i);
printf("\n");}
程序執(zhí)行后輸出的結(jié)果是
A.helloB.hel
C.hloD.編譯出錯(cuò)
62.面向?qū)ο蠓椒ㄖ?,繼承是指()。
A.一組對(duì)象所具有的相似性質(zhì)B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)C.各對(duì)象之間的共同性質(zhì)D.類之間共享屬性和操作的機(jī)制
63.有以下程序:
#include<stdio.h>
main()
{inta=12,C;
c=(a<<2)<<1;
printf("%d\n",c);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.3B.50C.2D.96
64.運(yùn)行下列程序時(shí),若輸入的數(shù)據(jù)為“1,2,3”,則輸出結(jié)果是()。main{floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a<b){t=a;a=b.b=t;)if(a<c){t=a;a=c;c=t;)it(b<c){t=b;b=C;c—=;)printf("%f\n%f\n%f\n",a,b,c);}A.1.002.003.00B.1.003.002.00C.132D.3.000002.000001.00000
65.
66.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.2,3,1,6,8,7,5,4,10,9,
B.10,9,8,7,6,5,4,3,2,l,
C.1,2,3,4,5,6,7,8,9,10,
D.10,9,8,7,6,1,2,3,4,5,
67.
68.設(shè)有定義:longx=-123456L;則以下能夠正確輸出變量x值的語(yǔ)句是_______。
A.printf(“x=%d\n”,x)
B.printf(“x=%ld\n”,x)
C.printf(“x=?l\n”,x)
D.printf(“x=%D\n”,x);
69.
有下列程序:
main
{intx=5;
do
{printf("%d",X-=4);)
while(!(--x));
}
程序的輸出結(jié)果是()。
A.1B.20C.1-4D.死循環(huán)
70.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鞏固知識(shí)2024年福建事業(yè)單位考試試題及答案
- 福建事業(yè)單位考試信息素養(yǎng)試題及答案
- 農(nóng)業(yè)職業(yè)經(jīng)理人考試常見(jiàn)題型與解答技巧分析試題及答案
- 緊跟步伐2024年福建事業(yè)單位考試試題及答案
- 基于成果導(dǎo)向2024年園藝師考試的創(chuàng)新思維試題及答案
- 花藝師考試知識(shí)的應(yīng)用與實(shí)踐分析試題及答案
- 協(xié)辦員考試試題及答案
- 全面提升花藝師專業(yè)技能的學(xué)習(xí)思維試題及答案
- 2024年園藝師考試氣候適應(yīng)性試題及答案
- 2024年花藝師備考過(guò)程中的注意事項(xiàng)試題及答案
- 玉盤二部合唱正譜
- 華東醫(yī)藥股份有限公司放射性核素暫存庫(kù)建設(shè)項(xiàng)目報(bào)告表
- 2025年官方策劃標(biāo)準(zhǔn)離婚協(xié)議書(民政局版)
- 放射防護(hù)知識(shí)培訓(xùn)課件
- 2025年度離婚協(xié)議書有子女撫養(yǎng)權(quán)及財(cái)產(chǎn)分割協(xié)議
- 2023年普通高等學(xué)校招生全國(guó)統(tǒng)一考試全國(guó)乙英語(yǔ)試題含答案
- 《臨床急救》課件
- 2024年洛陽(yáng)科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)標(biāo)準(zhǔn)卷
- 安保服務(wù)智慧安防平臺(tái)構(gòu)建及管理策略實(shí)施計(jì)劃
- 江銅集團(tuán)招聘筆試沖刺題2025
- 道德經(jīng)與職業(yè)生涯管理知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋上海應(yīng)用技術(shù)大學(xué)
評(píng)論
0/150
提交評(píng)論