版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年廣東省深圳市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.計(jì)算機(jī)算法必須具備輸入、輸出和()等5個(gè)特性。
A.可行性、可移植性和可擴(kuò)充性B.可行性、確定性和有窮性C.確定性、有窮性和穩(wěn)定性D.易讀性、穩(wěn)定性和安全性
2.若已定義:“inta[9],*p=a;”,并在以后的語(yǔ)句中未改變p的值,不能表示a[1]地址的表達(dá)式是______。
A.p+1B.a+1C.a++D.++p
3.在E-R圖中,用來(lái)表示實(shí)體的圖形是______。A.矩形B.橢圓形C.菱形D.三角形
4.若有如下函數(shù)定義:doublefun(intx,inty){return(x+y);}return語(yǔ)句中表達(dá)式值的類型與說明的類型不一致,則以下敘述中正確的是()。
A.運(yùn)行時(shí)出錯(cuò)B.函數(shù)返回的值為int型C.編譯出錯(cuò)D.函數(shù)返回的值為double型
5.以下四個(gè)選項(xiàng),不能看作一條語(yǔ)句的是()。
A.{;}B.a=0,b=0,c=0;C.if(a>0);D.if(b==0)m=1;n=2;
6.以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是()。
A._0_B.8_8C.voidD.unsigned
7.已知有double型變量x=2.5,y=4.7,整型變量a=7,則表達(dá)式x+a%3*(int)(x+y)%2/4的值是()。
A.2.4B.2.5C.2.75D.0
8.將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串時(shí),選用()函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()
9.有以下程序voidf(int*x,int*y){intt;t=*x;*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q--;}for(i=0;i<8;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是
A.8,2,3,4,5,6,7,1,
B.5,6,7,8,1,2,3,4,
C.1,2,3,4,5,6,7,8,
D.8,7,6,5,4,3,2,1
10.對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
11.若有定義“doublex,y,*px,*py;”,執(zhí)行了“px=&x;py=&y;”之后,正確的輸入語(yǔ)句是()。
A.scanf(“%lf%le”,px,py);
B.scanf(“%f%f”,&x,&y);
C.scanf(“%f%f”,x,y);
D.scanf(“%lf%lf”,x,y);
12.有以下程序:Main(){{intx,y,z;x=y=1;z=x++,y++,++y;print(“%d,%d,%d”,x,y,z);}程序運(yùn)行后的輸出結(jié)果是()。A.2,3,3B.2.3.2C.2,3.1D.2.2.1
13.若有定義語(yǔ)句:“charsE10]="1234567\0\0";”,則strlen(s)的值是()。
A.7B.8C.9D.10
14.以下敘述中正確的是()。
A.無(wú)論指針變量P具有何種基類型,表達(dá)式“p=p+1”都代表指針P移動(dòng)1個(gè)字節(jié)
B.指針變量具有基類型,基類型不同的指針變量不能直接相互賦值
C.指針變量的賦值操作“p=0;”是非法的
D.通過指針變量存取某個(gè)變量值的方式稱為“直接存取”方式
15.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
16.以下敘述錯(cuò)誤的是()。
A.算術(shù)運(yùn)算符中不包含“=”運(yùn)算符
B.模運(yùn)算符“%”是c語(yǔ)言基本的算術(shù)運(yùn)算符
C.算術(shù)運(yùn)算符中只有“*”、“/”優(yōu)先級(jí)高于關(guān)系運(yùn)算符
D.自加和自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式
17.有以下程序:#include<stdio.h>voidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}main(){charss[10]=“acc”,aa[10]=“bbxxyy”;fun(ss,aa);printf(“%s,%s\n”,ss,aa);}程序的運(yùn)行結(jié)果是()。
A.acc,bbxxyy
B.accbbxxyy,bbxxyy
C.accxxyy,bbxxyy
D.accxyy,bbxxyy
18.
19.有以下程序:#include<stdio.h>intchange(int*data){*data=*data%2;return(*data)+1;}main(){intdata=12;change(&data);printf(“%d,”,data);data=change(&data);printf(“%d,”,data);}程序運(yùn)行后的輸出結(jié)果是()。
A.0,0,B.1,2,C.12,13,D.0,1,
20.下列關(guān)于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是A.文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫文本文件
B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫二進(jìn)制文件
C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
二、2.填空題(20題)21.在面向?qū)ο蠓椒▽W(xué)中,直接反映了用戶對(duì)目標(biāo)系統(tǒng)的要求的模型是【】。
22.語(yǔ)句printf("%f\n",13.0*(1/5));的輸出結(jié)果為【】。
23.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請(qǐng)?zhí)羁铡?/p>
main()
{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
}
}
24.以下程序的輸出結(jié)果是()。
#include<stdio.h>
main()
fintx=0;
sub(&x,16,2);
printf("%d\n",x);
}
sub(int*a,intn,intk)
{if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
25.問題處理方案的正確而完整的描述稱為______。
26.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。
27.下列程序執(zhí)行輸出的結(jié)果是______。
#include<stdio.h>
f(intA)
{intb=0;
staticc=7;
a=c++;b++;
return(A);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
}
28.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c;
a=3;b=4;c=5;
if(a>b)
if(a>c)
printf("%d",a);
elseprintf("%d",b);
printf("%d\n",c);
}
29.下面程序的運(yùn)行結(jié)果是:【】。
fun(intt[],intn)
{inti,m;
if(n==1)returnt[0];
elseif(n>=2){m=fun(t,n-1);returnm;}
}
main()
{inta[]={11,4,6,3,8,2,3,5,9,2};
printf("%d\n",fun(a,10));
}
30.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。
31.當(dāng)運(yùn)行以下程序時(shí),輸入abcd,程序的輸出結(jié)果是:()。
insert(charstr[])
{inti;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",str);insert(str);
}
32.x、y、x均為int型變量,描述“x、y和z中至少有兩個(gè)為正數(shù)”的表達(dá)式是______。
33.軟件的可移植性是用來(lái)衡量軟件【】的重要尺度之一。
34.在關(guān)系模型中,二維表的行稱為______。
35.設(shè)有如下宏定義
#defineMYSWAP(z,x,y)
{z=x;x=y;y=z;}
以下程序段通過宏調(diào)用實(shí)現(xiàn)變量a,b內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>
floata=5,b=16,c;
MYSWAP(【】a,b);
36.數(shù)據(jù)模型是用來(lái)描述數(shù)據(jù)庫(kù)的結(jié)構(gòu)和語(yǔ)義的,數(shù)據(jù)模型有概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型兩類,E-R模型是【】
37.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。
a=15;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
38.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{ints[]={1,2,3,4},i;
intx=0;
for(i=0;i<4;i++)
{x=sb(s,x);
printf("%d",x);}
printf("\n");}
sb(s1,y)
int*s1,y;
{staticinti1=3;
y=s1[i1];
i1--;
return(y);}
39.下列程序運(yùn)行后的輸出結(jié)果是______。
#include<stdio.h>
main()
{chars[20];
scanf("%s",s);
printf("%s",s);
}
運(yùn)行程序,輸入HOWAREYOU。
40.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件是______。
三、1.選擇題(20題)41.下面語(yǔ)句的輸出結(jié)果是_______。printf("%d\n",strlen("\t\"\065\xff\n"));
A.14B.8C.5D.輸出項(xiàng)不合怯,無(wú)正常輸出
42.下列程序執(zhí)行后輸出的結(jié)束是______。intd=1;fun(intp){intd=5;d+=p++;printf("%d,",d);}main(){inta=3;fun(a);d+=a++;printf("%d\n",d);}
A.8,12B.9,13C.8,4D.9,5
43.已定義c為字符型變量,則下列語(yǔ)句中正確的是()。
A.c='97'B.c="97"C.c=97D.c="a"
44.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.軟件工具D.數(shù)據(jù)庫(kù)
45.設(shè)有下列二叉樹:
對(duì)此二叉樹后序遍歷的結(jié)果為
A.ABCDEFB.BDAECFC.ABDCEFD.DBEFCA
46.若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;則與上述程序段功能等價(jià)的賦值語(yǔ)句是()。
A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;
47.以下敘述中錯(cuò)誤的是______。
A.用戶所定義的標(biāo)識(shí)符允許使用關(guān)鍵字
B.用戶所定義的標(biāo)識(shí)符應(yīng)盡量做到“見名知意”
C.用戶所定義的標(biāo)識(shí)符必須以字母或下劃線開頭
D.用戶所定義的標(biāo)識(shí)符中,大、小寫字母代表不同標(biāo)識(shí)
48.數(shù)字字符0的ASCⅡ值為48,若有以下程序:main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-A);}程序運(yùn)行后的輸出結(jié)果是()。
A.3,2B.50,2C.2,2D.2,50
49.以下程序的輸出結(jié)果是______。main(){char*s="121";intk=0,a=0,b=0;do{k++;if(k%2==0){a=a+s[k]-'\0';continue;}b=b+s[k]-'\0';a=a+s[k]-'\0';}while(s[k+1]);printf("k=%da=%db=%d\n",k,a,b);}
A.k=3a=98b=49
B.k=3a=99b=50
C.k=2a=99b=50
D.k=2a=98b=49
50.標(biāo)有/$$$/的語(yǔ)句的執(zhí)行次數(shù)是______。inty,i;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/$$$/;}
A.20B.19C.10D.9
51.有以下程序:#include<stdio.h>main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。
A.6,1B.2,1C.6,0D.2,0
52.在C語(yǔ)言中,形參的缺省存儲(chǔ)類是
A.autoB.registerC.staticD.extern
53.下面程序段中,輸出*的個(gè)數(shù)是char*s="\ta\018bc";for(;*s!='\0';s++)printf("*");
A.9B.5C.6D.7
54.設(shè)有定義:inta=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是
A.(!a==1)&&(!b==0)
B.(a<b)&&!c‖1
C.a&&b
D.all(b+b)&&(c-a)
55.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inta,i;a=0;for(i=1;i<5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf("%d\n",a);}
A.31B.13C.10D.20
56.下列程序的運(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
57.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序運(yùn)行后的輸出結(jié)果是
A.編譯出錯(cuò)B.9C.21D.9
58.在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為______。
A.2B.3C.4D.5
59.sizeof(float)是()。
A.一種函數(shù)調(diào)用B.一種函數(shù)定義C.一個(gè)浮點(diǎn)表達(dá)式D.一個(gè)整型表達(dá)式
60.以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是______。
A.隊(duì)列B.線性表C.二叉樹D.棧
四、選擇題(20題)61.若要求定義具有10個(gè)int型元素的一維數(shù)組a,則以下定義語(yǔ)句中錯(cuò)誤的是()。
62.
63.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.Zha0,m,85,90,Qian,f,95,92
B.Zha0,m,85,90,Zha0,m,85,90
C.Qian.f,95,92,Qian,f,95,92
D.Qian,f,95,92,Zha0,m,85,90
64.對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下'比較次數(shù)不是n(n一1),2的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
65.
66.
67.面向?qū)ο蠓椒ㄖ?,繼承是指()。
A.一組對(duì)象所具有的相似性質(zhì)B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)C.各對(duì)象之間的共同性質(zhì)D.類之間共享屬性和操作的機(jī)制
68.
69.
70.
71.(12)下列敘述中正確的是______。
A.線性表是線性結(jié)構(gòu)
B.棧與隊(duì)列是非線性結(jié)構(gòu)
C.線性鏈表是非線性結(jié)構(gòu)
D.二叉樹是線性結(jié)構(gòu)
72.
73.有以下程序:
#include<stdio.h>
main()
{chara[20],b[20],c[20];
scanf("%s%s",a,b);
gets(c);
printf("%S%S%s\n",a,b,c);
}
程序運(yùn)行時(shí)從第一列開始輸入:
Thisisacat!<回車>
則輸出結(jié)果是()。
A.Thisisacat!
B.Thisisa
C.Thisisacat!
D.Thisisacat!
74.以下不能輸出字符A的語(yǔ)句是()。(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)
75.有如下程序:
main()
{intx=1,a=0,b=0;
switch(x)
{
case0:b++;
casel:a++;
case2:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
該程序的輸出結(jié)果是()。
A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
76.有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和s得到關(guān)系T的操作是()。
A.自然連接B.并C.交D.差
77.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12
78.
79.有以下程序:
以上程序執(zhí)行后abc.dat文件的內(nèi)容是()。
A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina
80.以下程序的輸出結(jié)果是______。main(){charst[20]="hello'、0\t\\";printf("%d%d\n",strlen(st),sizeof(st));}
A.99B.520C.1320D.2020
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:將長(zhǎng)整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為87653142時(shí),t中的數(shù)為7531。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)存放在形參n所指的存儲(chǔ)單元中。例如,若二維數(shù)組中的數(shù)據(jù)為:132333431424344415253545則一維數(shù)組中的內(nèi)容應(yīng)該是132333431424344415253545。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.B
2.C
3.A解析:在E-R圖中,用三種圖框分別表示實(shí)體、屬性和實(shí)體之間的聯(lián)系,其規(guī)定如下:用矩形框表示實(shí)體,框內(nèi)標(biāo)明實(shí)體名;用橢圓狀框表示實(shí)體的屬性,框內(nèi)標(biāo)明屬性名;用菱形框表示實(shí)體間的聯(lián)系,框內(nèi)標(biāo)明聯(lián)系名。所以,選項(xiàng)A正確。
4.D題干中“x+y”是整型,函數(shù)的返回值是double類型,由于整型可以自動(dòng)轉(zhuǎn)換成double類型,因此函數(shù)值返回時(shí)自動(dòng)轉(zhuǎn)換成double類型。故本題答案為D選項(xiàng)。
5.D解析:在if后面只能有一條語(yǔ)句,或一條復(fù)合語(yǔ)句,即用花括號(hào)將多條語(yǔ)句括起來(lái)。選項(xiàng)D)中沒有將兩條語(yǔ)句括起來(lái),不能看成一條語(yǔ)句。
6.AC語(yǔ)言的標(biāo)識(shí)符由字母、數(shù)字、下劃線組成,且第1個(gè)字符必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識(shí)符。B選項(xiàng)中以數(shù)字8開頭,所以錯(cuò)誤。C選項(xiàng)與D選項(xiàng)中用的是關(guān)鍵字“void”與“unsigned”,所以錯(cuò)誤。故本題答案為A選項(xiàng)。
7.B
8.C將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串,選用strcat函數(shù)來(lái)連接。
9.D解析:本題考查循環(huán)和指針做函數(shù)參數(shù),程序的功能是將a[0]和a[7]對(duì)換,a[1]和a[6]對(duì)換,a[2]和a[5]對(duì)換,a[3]和a[4]對(duì)換,最后輸出。
10.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)
11.A因?yàn)閤和y都是double型數(shù)據(jù),輸入時(shí)的格式字符應(yīng)為%lf,B、C選項(xiàng)錯(cuò)誤。D選項(xiàng)中的“scanf(“%lf%lf”,x,y);”應(yīng)為“scanf(“%lf%lf”,&x,&y);”。故本題答案為A選項(xiàng)。
12.C整型變量x、y的初值都為1,“x++,y++,++y”是一個(gè)逗號(hào)表達(dá)式,程序執(zhí)行“z=x++,y++,++y”之后,x的值為2,y的值為3,z取逗號(hào)表達(dá)式中的第二個(gè)表達(dá)式的值,為1。因此本題的答案為選項(xiàng)C。
13.A"\0"表示空字符,strlen函數(shù)求得的是不包括字符串結(jié)束符\0的長(zhǎng)度。故選A。
14.B指針自增或自減1,移動(dòng)的字節(jié)數(shù)與指針變量的基類型有關(guān),假設(shè)指針變量p基類型為int類型,那么“p=p+1”表示指針P移動(dòng)4個(gè)字節(jié)(通常int類型占4個(gè)字節(jié)),選項(xiàng)A錯(cuò)誤;指針變量具有基類型,基類型不同的指針變量不能直接相互賦值,選項(xiàng)B正確;將0賦給指針變量,表示指針變量的值為空,這是合法的,選項(xiàng)C錯(cuò)誤;通過指針變量存儲(chǔ)指向變量的地址并通過指針存取變量的值,稱為“間接存取”方式,選項(xiàng)D錯(cuò)誤。故本題答案為B選項(xiàng)。
15.A解析:本題考查如何通過地址來(lái)引用數(shù)組元素。通過地址來(lái)引用數(shù)組元素的方法有下列5種:
①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];⑤*(&a[0][0]+3*i+j)。
16.C
17.B在函數(shù)fun中,前一個(gè)while循環(huán)的作用是,如果形參指針t所指內(nèi)容不為0,則讓t增1,直到它指向0;后一個(gè)while循環(huán)的作用是,將s所指內(nèi)容賦給t所指地址,然后兩者同時(shí)增1,直到賦給t的內(nèi)容為0。由此可見,函數(shù)fun的作用就是將形參s所指字符串連接到形參t所指字符串末尾,相當(dāng)于庫(kù)函數(shù)strcat。主函數(shù)中使用fun將數(shù)組aa中的字符串連接到數(shù)組ss中原有字符串之后,所以執(zhí)行完后,ss中的字符串為“accbbxxyy”。程序最后輸出的結(jié)果是accbbxxyy,bbxxyy。故本題答案為B選項(xiàng)。
18.D
19.Dchange函數(shù)接收一個(gè)整型指針data,然后將data指向的數(shù)對(duì)2求余,求余后的值重新賦給data指向的變量,最后將data指向的變量值加1后返回。注意,此處data指向的數(shù)對(duì)2求余會(huì)改變實(shí)參指針指向的值,但返回值并不影響data指向的值。程序第1次調(diào)用change函數(shù),傳入實(shí)參data的地址,將data的值修改為0(12%2=0),此時(shí)輸出data的值是0;再次調(diào)用change傳入data的地址,將data的值修改為0(0%2=0),然后將返回值1重新賦給主函數(shù)變量data,所以此時(shí)輸出data的值是1。綜上,程序輸出0,1,。故本題答案為D選項(xiàng)。
20.D解析:C語(yǔ)言把文件看成是一個(gè)字符(字節(jié))的序列,即由一個(gè)一個(gè)字符(字節(jié))的數(shù)據(jù)順序組成。根據(jù)數(shù)據(jù)的組織形式,可分為ASCII文件和二進(jìn)制文件。ASCII文件又稱文本文件,它的每一個(gè)字節(jié)放一個(gè)ASCII代碼,代表一個(gè)字符。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式原樣輸出到磁盤上存放。
21.功能模型功能模型
22.00解析:/表示整除,1/5為0,0乘以任何數(shù)都得零,但是與浮點(diǎn)型相乘,要轉(zhuǎn)化為浮點(diǎn)型,所以結(jié)果為0.000000。注意:在一個(gè)運(yùn)算符的兩邊如果一個(gè)是字符型,一個(gè)是整型,則把字符型轉(zhuǎn)換為整型之后再進(jìn)行運(yùn)算。
23.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識(shí)。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。
24.1414解析:本題考查遞歸函數(shù)的調(diào)用。在主函數(shù)中調(diào)用sub(&x,16,2)函數(shù),此時(shí)n=16,k=2,if語(yǔ)句的控制的條件k<=n成立,所以執(zhí)行下面的語(yǔ)句,調(diào)用sub(x,8,4),此時(shí)n=8,k=4,if語(yǔ)句的控制條件k<=n成立,所以執(zhí)行下面的語(yǔ)句,調(diào)用sub(x,4,8),此時(shí)n=4,k=8,if語(yǔ)句控制的條件k<=n不成立,因此,最后得x=2+4+8=14。
25.算法或程序或流程圖算法或程序或流程圖解析:算法是問題處理方案正確而完整的描述。
26.存儲(chǔ)結(jié)構(gòu)
27.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類型,所以c=8:第2次for循環(huán),i=1,調(diào)用函數(shù)f(3),然后將a的值加1,調(diào)用函數(shù)f(3)時(shí),a=c++=8,所以k=8。
28.55解析:分析程序,當(dāng)a=3;b=4;c=5時(shí),判斷語(yǔ)句a>b不成立,所以不執(zhí)行后面的語(yǔ)句,直接執(zhí)行“printf('%d\\n',c);”語(yǔ)句,輸出c的值,輸出結(jié)果為5。
29.1111解析:此題涉及函數(shù)的調(diào)用和if語(yǔ)句。程序先執(zhí)行第二個(gè)if語(yǔ)句,然后再執(zhí)行第一個(gè)if語(yǔ)句,最后用return返回?cái)?shù)值。
30.交換排序交換排序解析:常見的排序方法有插入排序(包括簡(jiǎn)單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡(jiǎn)單選擇排序和堆排序等)。注意:常見的排序方法及其作用機(jī)制和區(qū)別。
31.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測(cè)試字符串常量的長(zhǎng)度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實(shí)現(xiàn)了將字符數(shù)組中每個(gè)非‘\\0’的字符后插入字符‘*’的功能。故輸出結(jié)果是a*b*c*d*。
32.((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個(gè)為正數(shù)”,即x、y和x這3個(gè)數(shù)中必須有兩個(gè)是正數(shù),且這3個(gè)數(shù)中的哪兩個(gè)數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。
33.質(zhì)量質(zhì)量
34.元組元組解析:在關(guān)系型數(shù)據(jù)庫(kù)中,用二維表來(lái)表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱為關(guān)系的元組,二維表的列,稱為關(guān)系的屬性。
35.cc解析:該題考查以下兩個(gè)知識(shí)點(diǎn):
(1)用一個(gè)指定的標(biāo)識(shí)符(即名字)來(lái)代表一個(gè)字符串,它的一般形式為#define標(biāo)識(shí)符字符串
(2)在MYSWAP宏定義中,利用中間變量z來(lái)交換x和y的值,所以要實(shí)現(xiàn)a和b的交換,只需通過中間變量即可,所以,此處應(yīng)填c。
36.概念數(shù)據(jù)模型概念數(shù)據(jù)模型
37.33解析:本題考查do…while語(yǔ)句形式:
do循環(huán)體
while表達(dá)式
首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時(shí)再判斷循環(huán)條件不滿足,退出循環(huán)。
38.43214321解析:靜態(tài)存儲(chǔ)類的局部變量其生存期為整個(gè)程序的運(yùn)行期間,作用域卻只是定義它的函數(shù)或局部范圍。注意:局部變量和全局變量的作用域。
39.HOWHOW解析:在scanf()函數(shù)中,使用空格作為分隔符,如果輸入含有空格的字符中,則不能使用scanf()數(shù),所以本題中輸入空格就返回了'\\0\\,s數(shù)組也就確定了,后面的輸入就不再讀入數(shù)組s中。
40.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)解析:數(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ù)等。
41.C解析:在C語(yǔ)言中,以“\\”開頭的字符均為轉(zhuǎn)義字符,其中“\\”后可跟1~3位八進(jìn)制數(shù)或在“\\”后跟字母x及1~2位十六進(jìn)制數(shù),以此來(lái)代表一個(gè)特定的字符。
42.C解析:本題執(zhí)行過程如下:首先調(diào)用fun函數(shù),使得實(shí)參a的值3傳遞給形參p,得到局部變量d=8,打印出局部變量d的值8:返回主函數(shù)執(zhí)行“d+=a++”,此處的d為全局變量,所以d=1+3=4(由于本題是值傳遞,所以在函數(shù)fun中對(duì)p值的改變并不能引起a的改變),故本題的輸出是8,4。
43.C解析:本題考核的知識(shí)點(diǎn)是字符型變量的基本概念。用單引號(hào)括起來(lái)的一個(gè)字符稱為字符常量,而選項(xiàng)B和選項(xiàng)D中用的是雙引號(hào),而用雙引號(hào)括起來(lái)的字符為字符串常量,故選項(xiàng)B和選項(xiàng)D不正確。因?yàn)樵贑語(yǔ)言中,字符常量在存儲(chǔ)時(shí),并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的相應(yīng)的ASCII代碼放到存儲(chǔ)單元中,所以C語(yǔ)言使字符型數(shù)據(jù)和整形數(shù)據(jù)之間可以通用,選項(xiàng)C正確.而選項(xiàng)A中,給字符型變量賦值時(shí)只能賦一個(gè)字符,而9,7作為字符時(shí)為兩個(gè)字符且必須分別為單引號(hào)括起來(lái),故選項(xiàng)A不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
44.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í)行,最終都必須通過DBMS。另外,DBMS還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照DBA所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。
45.D解析:二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷,其遍歷順序應(yīng)該為:后序遍歷左子樹→后序遍歷右子樹→訪問根結(jié)點(diǎn)。按照定義,后序遍歷序列是DBEFCA,故答案為D。
46.B解析:本題考核的知識(shí)點(diǎn)是for循環(huán)次數(shù)的計(jì)算.本程序中for循環(huán)的次數(shù)為c-1+1共循環(huán)了c次,而每循環(huán)一次s的值加1,所以s的值為s+c.而最開始s的值為a,故4個(gè)選項(xiàng)中選項(xiàng)B符合題意.
47.A解析:在C語(yǔ)言中,用戶所定義的標(biāo)識(shí)符不能使用關(guān)鍵字。
48.C
49.C解析:第1次循環(huán)中,k=1,不執(zhí)行if分支,s[k]=‘2’,因此b=2,a=2因s[k+1]=‘1’進(jìn)入第2次循環(huán),k=2,執(zhí)行if分支,s[k]=‘1’,使a=3,進(jìn)而提前結(jié)束本次循環(huán),s[k+1]=‘\\0’,則退出循環(huán),所以k=2,a=3,b=2。
50.C解析:程序中標(biāo)有/$$$/的語(yǔ)句y+=i在for循環(huán)中,由于該語(yǔ)句前面的條件語(yǔ)句使循環(huán)變量i在對(duì)2求余為0時(shí)就結(jié)束本次循環(huán),直接跳過標(biāo)有/$$$/的語(yǔ)句,因此該語(yǔ)句執(zhí)行了10次。
51.B解析:“/”表示整除,“%”表示求余。程序中表達(dá)式a=d/10%9的值為25/10%9=2,則b=a&&(-1)=2&&(-1)=1(注意:-1表示真,0表示假),所以a,b的值分別為2,1。
52.A解析:本題考核的知識(shí)點(diǎn)是定義函數(shù)時(shí)形參的缺省存儲(chǔ)類。在C語(yǔ)言中,形參的缺省存儲(chǔ)類為auto。
53.C解析:本題中,格式符。表示的是八進(jìn)制無(wú)符號(hào)形式輸出整型數(shù)(不帶前導(dǎo)0),字符常量在內(nèi)存中占一個(gè)字節(jié),存放的是ACSII碼代碼值。C語(yǔ)言規(guī)定,所有字符常量都作為整型量來(lái)處理,在計(jì)算機(jī)內(nèi)部,其對(duì)應(yīng)的整數(shù)值就是ACSII字符集中該字符的序號(hào),即&*s中有幾個(gè)字符就輸出幾個(gè)*。
54.A解析:計(jì)算邏輯表達(dá)式要注意的問題有三個(gè):一、3個(gè)邏輯表達(dá)式的優(yōu)先級(jí)從高到低依次是!(邏輯非)、&&(邏輯與)、‖(邏輯或);二、運(yùn)算符&&或‖的左邊運(yùn)算分量分別為“假”或“真”的時(shí)候已經(jīng)能夠得出整個(gè)表達(dá)式的值,故右邊運(yùn)算分量將被“短路”,即忽略右邊的表達(dá)式.三、邏輯值能夠自動(dòng)轉(zhuǎn)換為整數(shù)值:“真”=1、“假’=0;整數(shù)值也能自動(dòng)轉(zhuǎn)換為邏輯值:0=“假”,非0=“真”。選項(xiàng)A中(!a=1)&&(!b==0)→(12==1)&&(!b==0)→(0==1)&&(!b==0)→0&&(!b==0)→0(&&右邊表達(dá)式(!b==0)被“短路”);選項(xiàng)B中(a<b)&&!c‖1→(2<3)&&!4‖1→1&&0‖→0‖→1;選項(xiàng)C中a&&b→2&&3→1選項(xiàng)Da‖(b+b)&&(c-a)→2‖(b+b)&&(c,a)→1(‖右邊表達(dá)式(b+b)&&(c-a)被“短路”)。所以本題選A。
55.A解析:多分支選擇switch語(yǔ)句的一般形式為:
switch(表達(dá)式)
{case常量表達(dá)式1:語(yǔ)句1;
case常量表達(dá)式2:語(yǔ)句2;
┆
case常量表達(dá)式n:語(yǔ)句n;
default:語(yǔ)句n+1;
}
其語(yǔ)義是:計(jì)算表達(dá)式的值,并逐個(gè)與其后的常量表達(dá)式值相比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語(yǔ)句,不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有case后的語(yǔ)句。如果表達(dá)式的值與所有case后的常量表達(dá)式均不相同時(shí),則執(zhí)行default后的語(yǔ)句。
56.B解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:S=m+n+m+n*k=1+2+1+2*3=10。
57.B解析:本題考查函數(shù)的綜合知識(shí)。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式轉(zhuǎn)換成所需類型。如:(double)a是將a轉(zhuǎn)換成double類型;(int)(x+y)是將x+y的值轉(zhuǎn)換成整型。
本題可按部就班地逐步運(yùn)算:
fun((int)fun(a+c,b),a-c)
fun((int)fun(10,5),2-8)
fun((int)15.000000,-6)
fun(15,-6)
9
58.C解析:二分法查找是一種線性查找方法,其基本方法是:首先要用要查找的關(guān)鍵碼與線性表中間位置結(jié)點(diǎn)的關(guān)鍵碼值進(jìn)行比較,這個(gè)中間結(jié)點(diǎn)把線性表分為兩個(gè)子表,比較相等則查找完畢,不等則根據(jù)查找結(jié)果確定下一步的查找應(yīng)該在哪一個(gè)子表中進(jìn)行,如此下去,直到找到滿足條件的結(jié)點(diǎn):或者確定表中沒有這樣的結(jié)點(diǎn)。用二分法查找關(guān)鍵碼值11的順序如下所示,其中[]內(nèi)為本次栓索的子表,()內(nèi)為該子表的中間結(jié)果。從圖中可以看出,經(jīng)四次查找后,確定表中沒有這樣的結(jié)點(diǎn)。因此本題正確答案為選項(xiàng)C(4)。
第一次:[3,6,8,10,12,(15),16,18,21,25,30]
第二次:[3,6,(8),10,12],15,16,18,21,25,30
第三次:[3,6,8,[(10),(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版家電產(chǎn)品消費(fèi)者滿意度調(diào)查服務(wù)合同2篇
- 二零二五版房地產(chǎn)融資居間代理合同范本3篇
- 二零二五年電影聯(lián)合制作與市場(chǎng)推廣合同2篇
- 二零二五版茶葉茶具專賣店加盟管理合同3篇
- 二零二五版汽車購(gòu)置貸款保證擔(dān)保合同3篇
- 二零二五年度化肥原料進(jìn)口與分銷合同3篇
- 二零二五年度航空航天股權(quán)買賣合同范本3篇
- 二零二五版戶外廣告牌定期檢查與維修合同3篇
- 二零二五年度駕校車輛購(gòu)置稅承包合同3篇
- 國(guó)際貿(mào)易第六章出口合同訂立2025年綠色貿(mào)易標(biāo)準(zhǔn)與認(rèn)證3篇
- 水泥廠鋼結(jié)構(gòu)安裝工程施工方案
- 2023光明小升初(語(yǔ)文)試卷
- 三年級(jí)上冊(cè)科學(xué)說課課件-1.5 水能溶解多少物質(zhì)|教科版
- GB/T 7588.2-2020電梯制造與安裝安全規(guī)范第2部分:電梯部件的設(shè)計(jì)原則、計(jì)算和檢驗(yàn)
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
- 小學(xué)道德與法治學(xué)科高級(jí)(一級(jí))教師職稱考試試題(有答案)
- 河北省承德市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 實(shí)用性閱讀與交流任務(wù)群設(shè)計(jì)思路與教學(xué)建議
- 應(yīng)急柜檢查表
- 通風(fēng)設(shè)施標(biāo)準(zhǔn)
- 酒店市場(chǎng)營(yíng)銷教案
評(píng)論
0/150
提交評(píng)論