版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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.設(shè)有條件表達(dá)式:(EXP)?i++;j--,則以下表達(dá)式中(EXP)完全等價(jià)的是()。
A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)
2.下面程序的運(yùn)行結(jié)果是()。
A.gaeB.gaC.LanguageD.有語(yǔ)法錯(cuò)
3.下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}
A.-1B.1C.8D.0
4.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒(méi)有任何關(guān)系
5.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;
6.若有定義“inta;longb;doublex,y;”,則以下選項(xiàng)中正確的表達(dá)式是()。
A.a=x<>yB.a%(int)(x-y)C.(a*y)%bD.y=x+y=x
7.若有以下定義;chara;intb;floatc;doubled;則表達(dá)式“a*b+d-c”值的類型為()
A.floatB.intC.charD.double
8.以下不能定義為用戶標(biāo)識(shí)符的是()。
A.scanfB.VoidC.3comD.int
9.設(shè)二叉樹的中序序列為BCDA,前序序列為ABCD,則后序序列為()。
A.CBDAB.DCBAC.BCDAD.ACDB
10.用單鏈表方式存儲(chǔ)的線性表,存儲(chǔ)每個(gè)結(jié)點(diǎn)需要兩個(gè)域,一個(gè)數(shù)據(jù)域,另一個(gè)是()。
A.當(dāng)前結(jié)點(diǎn)的所在地址B.后繼結(jié)點(diǎn)的所在地址C.空指針域D.空閑域
11.有以下函數(shù):intfun(char*x,char*y)intn=0;while((*x==*y)&&*x!=‘\0’)∣x++;y++;n++;∣returnn;函數(shù)的功能是()。A.將y所指字符串賦給x所指存儲(chǔ)空間
B.查找和y所指字符串中是否有‘\0’
C.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)
D.統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)
12.若有說(shuō)明chars1[30]="Thecity",s2[]="isbeautiful";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。
A.s1的內(nèi)容更新為Thecityisbeautiful\0
B.s1的內(nèi)容更新為isbeaut\0
C.s1的內(nèi)容更新為Thecity\0isbeautiful\0
D.s1的內(nèi)容更新為Thecityisbeautiful\0
13.
14.計(jì)算機(jī)算法指的是()。
A.計(jì)算方法B.排序方法C.解決問(wèn)題的有限運(yùn)算序列D.調(diào)度方法
15.
16.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
17.下列二叉排序樹中查找效率最高的是()
A.平衡二叉樹B.二叉查找樹C.沒(méi)有左子樹的二叉排序樹D.沒(méi)有右子樹的二叉排序樹
18.下列敘述中正確的是A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個(gè)關(guān)系的屬性名表稱為關(guān)系模式
D.一個(gè)關(guān)系可以包括多個(gè)二維表
19.設(shè)順序表的長(zhǎng)度為n,則順序查找的平均比較次數(shù)為()
A.nB.n/2C.(n+1)/2D.(n-1)/2
20.下面合法的C語(yǔ)言字符常量是()。
A.'\t'B."A"C.65D.A
二、2.填空題(20題)21.在一個(gè)容量為25的循環(huán)隊(duì)列中,若頭指針front=16,尾指針rear=9,則該循環(huán)隊(duì)列中共有【】個(gè)元素。
22.若輸入2、2,則下列程序的運(yùn)行結(jié)果為【】。
main()
{inti,j,(*p)[4],
a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
p=a;
scanf("%d%d",&i,&j);
printf("a[%d,%d]=%d\n",i,j,*(*(p+i)+j));
}
23.設(shè)有如下程序:
main()
{intn1,n2;
scanf("%d",&n2);
while(n2!=0)
{n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序運(yùn)行后,如果從鍵盤上輸入1298,貝愉出結(jié)果為【】。
24.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。
25.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為_(kāi)_____。
26.近年來(lái)形成了軟件開(kāi)發(fā)的多種模式,大致有3種類型:基于瀑布模型的結(jié)構(gòu)化生命周期方法、基于動(dòng)態(tài)定義需求的【】方法和基于結(jié)構(gòu)的面向?qū)ο蟮能浖_(kāi)發(fā)方法。
27.若已知a=10,b=20,則表達(dá)式!a<b的值為【】。
28.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。
29.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\N,*p,*q))
}
30.fun函數(shù)的功能是:首先對(duì)a所指的N行N列的矩陣,找出各行中的最大數(shù),再求這N個(gè)最大值中的最小的那個(gè)數(shù)作為函數(shù)值返回。請(qǐng)?zhí)羁誣_____。
#include<stdio.h>
#defineN100
intfun(int(*a)[N])
{
introw,col,max,min;
for(row=0;row<N;row++)
for(max=a[row][0],col=1;col<N;col++)
if()max=a[row][col];
if(row==0)min=max;
elseif()min=max;
returnmin;
}
31.下面程序的輸出結(jié)果是【】。
charb[]="ABCD";
main()
{char*p=b;
for(;*p;p++)
printf("%s",p);
printf("\n");
}
32.若按功能劃分,軟件測(cè)試的方法通常分為白盒測(cè)試方法和【】測(cè)試方法。
33.以下說(shuō)明語(yǔ)句中,【】是結(jié)構(gòu)體類型名。
typedefstruct
{intn;
charch[8];
}PER;
34.以下和程序中,主函數(shù)調(diào)用了lineMax函數(shù),實(shí)現(xiàn)在N行M列的二維數(shù)組中,找出每一行上的最大值,請(qǐng)?zhí)羁铡?/p>
#defineN3
#defineM4
voidlineMax(intx[N][M])
{inti,j,p;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j]【】;
printf("Themaxvalueinlineis%d\n",【】);
}
{
main()
{intx[N][M]={1,5,4,2,6,4,3,8,2,3,1};
【】;
}
35.設(shè)y是int型,請(qǐng)寫出y為奇數(shù)的關(guān)系表達(dá)式【】。
36.現(xiàn)有兩個(gè)C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:
#include<stdio.h>
#include"myfun.c"
main()
{fun();printf("\n");}
myfun.c文件如下:
voidfun()
{chars[80],c;intn=0;
while((c=getchar())!=′\n′)s[n++]=c;
n--;
while(n>=0)printf("%c",s[n--]);
}
當(dāng)編譯連接通過(guò)后,運(yùn)行程序T18時(shí),輸入Thank!,則輸出結(jié)果是【】。
37.數(shù)據(jù)模型包括數(shù)據(jù)結(jié)構(gòu)、()和數(shù)據(jù)條件。
38.若變量n中的值為24,則print函數(shù)共輸出【】行,最后一行有【】個(gè)數(shù)。
voidprint(intn,intaa[])
{inti;
for(i=1;i<=n;i++)
{printf("%6d",aa[i]);
if(!(i%5))
printf("\n");
}
printf("\n");
}
39.以下函數(shù)fun的功能是返回str所指字符串中以形參c中字符開(kāi)頭的后續(xù)字符串的首地址,例如;str所指字符串為:Hello!,c中的字符為e,則函數(shù)返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL。請(qǐng)?zhí)羁铡?/p>
char*fun(char*str,charc)
{intn=0;char*p=str;
if(p!=NULL)
while(p[n]!=c&&p[n]!='\O')n++;
if(p[n]='\0')returnNULL;
return(【】);
}
40.若給fun函數(shù)的形參s傳送字符串“∪∪6354'abc"(其中∪表示空格字符),則函數(shù)的返回值是【】。
longfun(chars[])
{longn;intsign;
for(;isspace(*s);s++);
sign=(*s=='-')?-1:1;
if(*s=='+'||*s=='-')s++;
for(n=0;isdigit(*s);s++)
n=10*n+(*s-'0');
returnsign*n;
}
三、1.選擇題(20題)41.下列程序執(zhí)行后的輸出結(jié)果是:main(){chararr[2][4];strcpy(arr'"you");strcpy(arr[1],"me");arr[0][3]='&';printf("%s\n",arr);}程序的輸出結(jié)果是()。
A.you&meB.meC.youD.err
42.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
43.若a、b、c、d都是血型變量且都已經(jīng)正確賦初值,則下列不正確的賦值語(yǔ)句是()。
A.a+d;B.a++;C.a=b=c=d=100;D.a=(b=3)+(d=5);
44.在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,負(fù)責(zé)數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能的是
A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)轉(zhuǎn)換語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言
45.下面哪一個(gè)是正確的賦值語(yǔ)句?
A.a++;B.a==b;C.a+=b;D.a=1,b=1;
46.為了避免在嵌套的條件語(yǔ)句ifelse中產(chǎn)生二義性,C語(yǔ)言規(guī)定,else子句總是與()配對(duì)。
A.縮排位置相同ifB.其前面最近的ifC.其后面最近的ifD.同一行上的if
47.以下函數(shù)返回a所指數(shù)組中最小的值所在的下標(biāo)值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)If(a[i]<a[p])______,return(p);}在橫線處應(yīng)填入的是______。
A.i=pB.a[p]=a[i]C.p=jD.p=i
48.設(shè)有下列二叉樹:
對(duì)此二叉樹中序遍歷的結(jié)果為_(kāi)_____。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
49.以下對(duì)結(jié)構(gòu)體類型變量的定義中,不正確的是()
A.typedefstructaa{intn;floatm;}AA;AAtdl;
B.#defineAAstructaaAA{intn;floatm;}tdl;
C.struct{intn;floatm;}aa;structaatdl;
D.struct{intn;floatm,}tdl;
50.若定義staticinta[2][2]={1,2,3,4},則a數(shù)組的各數(shù)組元素分別為_(kāi)_____。
A.a[0][0]=1、a[0][1]=2、at[1][0]=3、a[1][1]=4
B.a[0][0]=1、a[0][1]=3、a[1][0]=2、a[1][1]=4
C.a[0][0]=4、a[0][1]=3、a[1][0]=2、s[1][1]=1
D.a[0][0]=4、a[0][1]=2、a[1][0]=3、a[1][1]=1
51.算法的時(shí)間復(fù)雜度是指()。
A.算法的長(zhǎng)度tB.執(zhí)行算法所需要的時(shí)間C.算法中的指令條數(shù)D.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
52.變量a已被定義為整型,下列表達(dá)式有錯(cuò)的是
A.a='A'+20B.a-='a'C.a=c+dD.a='c'+'d'
53.sizeof(double)是()
A.一種函數(shù)調(diào)用B.一個(gè)雙精度型表達(dá)式C.一個(gè)整型表達(dá)式D.一個(gè)不合法的表達(dá)式
54.數(shù)據(jù)庫(kù)管理系統(tǒng)中用來(lái)定義模式、內(nèi)模式和外模式的語(yǔ)言為()。
A.CB.BasicC.DDLD.DML
55.在C語(yǔ)言中,不正確的int類型的常數(shù)是______。
A.32768B.0C.37D.0xAF
56.有以下程序main(){inta=3,b=4,c=5,d=2;if(a>B)if(b>C)printf("%d",d+++1);elseprintf("%d",++d+1);printf("%d\n",D);}程序運(yùn)行后的輸出結(jié)果是
A.2B.3C.43D.44
57.若fp是指向某文件的指針,且已讀到文件末尾,則庫(kù)函數(shù)feof(fp)的返回值是______。
A.EOFB.-1C.非零值D.NULL
58.有以下程序段
main()
{inta=5,*b,**c;
c=&b;b=&a;
……
}
程序在執(zhí)行了c=&b;b=&a;語(yǔ)句后,表達(dá)式:**c的值是()
A.變量a的地址
B.變量b中的值
C.變量a中的值
D.變量b的地址
59.若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是______。
A.'a'<=c<='z'
B.(c>='a')||(c<='z')
C.('a'<=c)and('z'>=c)
D.(c>='a')&&(c<='z')
60.定義int*swap()指的是______。
A.一個(gè)返回整型值的函數(shù)swap()
B.一個(gè)返回指向整型值指針的函數(shù)swap()
C.一個(gè)指向函數(shù)swap()的指針,函數(shù)返回一個(gè)整型值
D.以上說(shuō)法均錯(cuò)
四、選擇題(20題)61.有以下程序
inta=2;
intf(int*a)
{
return(*a)++;
}
main()
{
ints=0;
{
inta=5;
s+=f(&a);
}
s+=f(&a);
printf("%d\n",s);
}
執(zhí)行后的輸出結(jié)果是
A.10B.9
C.7D.8
62.有以下程序:
若從鍵盤輸入:ijkxyz<回車>,則輸出結(jié)果是()。
A.ijkk
B.ijkxyz
C.xyzxyz
D.jj
63.已知inta=1,b=-1;則語(yǔ)句printf("%d\n",(a--,++b));的輸出結(jié)果是
A.-1B.0C.1D.語(yǔ)句錯(cuò)誤
64.若有以下程序
#include<stdio.h>
voidf(intn);
main()
{
voidf(intn);
f(5);
}
voidf(intn)
{
printf("%d\n",n);
}
則以下敘述中不正確的是
A.若只在主函數(shù)中對(duì)函數(shù)f進(jìn)行說(shuō)明,則只能在主函數(shù)中正確調(diào)用函數(shù)f
B.若在主函數(shù)前對(duì)函數(shù)f進(jìn)行說(shuō)明,則在主函數(shù)和其后的其他函數(shù)中都可以正確調(diào)用函數(shù)f
C.對(duì)于以上程序,編譯時(shí)系統(tǒng)會(huì)提示出錯(cuò)信息:對(duì)f函數(shù)重復(fù)說(shuō)明
D.函數(shù)f無(wú)返回值,所以,可用void將其類型定義為無(wú)返回值型
65.以下程序的輸出結(jié)果是()。main{inta[3][3]=“l(fā),2),{3,4),{5,6)},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(”%d\n”,s);}A.18B.19C.20D.21
66.以下敘述中正確的是()。
A.C程序中注釋部分只能放在程序最后
B.花括號(hào)“{“和”}”可以作為函數(shù)體的定界符,也可以作為復(fù)合語(yǔ)句的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號(hào)不是語(yǔ)句的一部分,是C語(yǔ)句之間的分隔符
67.
68.下列排序方法中,最壞情況下比較次數(shù)最少的是()。
A.冒泡排序B.簡(jiǎn)單選擇排序C.直接插入排序D.堆排序
69.
70.
71.
72.
73.
74.
75.
76.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta=2,b=3,P;
p=f(a,b);
printf(”%d”,p);
}
intf(a,b)
{intc;
if(a>b)c=1;
elseif(a==b)c=0;
elsec=-l;
return(c);
}
A.-lB.0C.1D.2
77.若有定義“floata=25,b,*p=&b;”,則下列對(duì)賦值語(yǔ)句“*p=a;”和“p=&a;”的正確解釋為()。
A.兩個(gè)語(yǔ)句都是將變量a的值賦予變量P
B.*p=a是使P指向變量a,而p=&a是將變量的值賦予變量指針P
C.*p=a是將變量a的值賦予變量b,而&a是使P指向變量a
D.兩個(gè)語(yǔ)句都是使P指向變量a
78.有以下程序段:
當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0
79.
80.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)句必須以分號(hào)結(jié)束
B.復(fù)合語(yǔ)句在語(yǔ)法上被看作一條語(yǔ)句
C.空語(yǔ)句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行
D.賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語(yǔ)句
五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:用選擇法對(duì)數(shù)組中的n個(gè)元素按從大到小的順序進(jìn)行排序。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)fun(),其功能是:求出1~1000中能被7或11整除,但不能同時(shí)被7和ll整除的所有整數(shù),并將其放在a所指的數(shù)組中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.B解析:條件表達(dá)式的形式為:“表達(dá)式1?表達(dá)式2:表達(dá)式3”。其含義為:當(dāng)“表達(dá)式1”的值為非零時(shí),求出“表達(dá)式2”的值,此時(shí)“表達(dá)式2”的值就是整個(gè)條件表達(dá)式的值;當(dāng)“表達(dá)式1”的值為零時(shí),求出“表達(dá)式3”的值,此時(shí)“表達(dá)式3”的值就是整個(gè)條件表達(dá)式的值。對(duì)于本題來(lái)說(shuō),當(dāng)表達(dá)式EXP為非0值時(shí)條件成立,即執(zhí)行語(yǔ)句i++;當(dāng)EXP等于0時(shí),執(zhí)行語(yǔ)句j--;這等同于條件表達(dá)式“(EXP!=0)?i++:i++;”。
2.A考查用指針來(lái)引用字符數(shù)組元素的方法。指針pl+k相當(dāng)于指針pl向后移動(dòng)了k個(gè)字符的位置,指針p2同理。
3.D解析:本題考查“++”和“--”運(yùn)算符,運(yùn)算符“++”是操作數(shù)加1,而“--”則是操作數(shù)減1。在do-while循環(huán)中,首先執(zhí)行y--,再執(zhí)行--y。當(dāng)y=2時(shí),執(zhí)行y--,y的值變?yōu)?,--y使y值變?yōu)?,循環(huán)結(jié)束。執(zhí)行輸出時(shí),先輸出y的值0,然后執(zhí)行y--,使y的值變?yōu)?1。
4.C(10)C)解析:DB即數(shù)據(jù)庫(kù)(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問(wèn)DB的方法;DBS即數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。
5.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對(duì)指針進(jìn)行賦值時(shí)沒(méi)有錯(cuò)誤。a=/*p+m賦值,在c語(yǔ)言中"/*"表示的注釋,所以答案選擇A。
6.BC語(yǔ)言中沒(méi)有“<>”運(yùn)算符,所以A選項(xiàng)錯(cuò)誤。運(yùn)算符“%”的左右兩個(gè)操作數(shù)必須為整型數(shù)據(jù),所以B選項(xiàng)正確。表達(dá)式“a*y”的結(jié)果為double型,所以C選項(xiàng)錯(cuò)誤。不能將值賦給像“x+y”這樣的表達(dá)式,所以D選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。
7.D解析:參加運(yùn)算的數(shù)據(jù)類型不同,要轉(zhuǎn)換為統(tǒng)一的數(shù)據(jù)類型,double在數(shù)據(jù)類型轉(zhuǎn)換中的級(jí)別最高,其他數(shù)據(jù)類型都要轉(zhuǎn)化為double,因此表達(dá)式值的類型為double。
8.D解析:標(biāo)識(shí)符是C語(yǔ)言中用來(lái)表示變量名、數(shù)組名、函數(shù)名、指針名、結(jié)構(gòu)名、聯(lián)合名、枚舉常數(shù)名、用戶定義的數(shù)據(jù)類型名、語(yǔ)句標(biāo)號(hào)等用途的字符序列。標(biāo)識(shí)符由1~32個(gè)字符組成,第一個(gè)字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標(biāo)識(shí)符不能與C關(guān)鍵字相同,并區(qū)分大小寫。選項(xiàng)D)錯(cuò)誤,因?yàn)閕nt是C語(yǔ)言中的關(guān)鍵字。
9.B二叉樹的前序序列為ABCD,由于前序遍歷首先訪問(wèn)根節(jié)點(diǎn),可以確定該二叉樹的根節(jié)點(diǎn)是A。再由中序序列為BCDA,可知以A為根節(jié)點(diǎn)的該二叉樹只存在左子樹,不存在右子樹,故后序序列為DCBA。本題答案為B選項(xiàng)。
10.B
11.C本題中由循環(huán)條件可知遇到‘\\0’或x與y所指的字符的值不等中的一個(gè)條件時(shí)就結(jié)束,所以功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。
12.D解析:該函數(shù)用來(lái)使兩個(gè)字符串連接成為一個(gè)字符串。strcat(str1,str2)將str2中的字符連接到str1的字符后面,并在最后加一個(gè)“\\0”。連接后新的字符串存放在strl中。注意:用于字符串處理的函數(shù)。
13.A
14.C
15.D
16.C
17.A
18.C解析:在格式化模型中,要事先根據(jù)應(yīng)用的需要,確定數(shù)據(jù)之間的邏輯關(guān)系,即先對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化。在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系。所以選項(xiàng)A錯(cuò)誤。對(duì)于一個(gè)表示關(guān)系的二維表,其最基本的要求是表中元組的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表。所以,選項(xiàng)B、D說(shuō)法是錯(cuò)誤的。一個(gè)關(guān)系的屬性名表稱為關(guān)系模式,也就是二維表的表框架,相當(dāng)于記錄型。因此,選項(xiàng)C說(shuō)法正確。
19.C
20.A
21.1818解析:設(shè)循環(huán)隊(duì)列的容量為n。若rear>front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為rear-front;若rear<front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為n+(rear-front)。題中,front=16,rear=9,即rear<front,所以,循環(huán)隊(duì)列中的元素個(gè)數(shù)為m+(rear-front)=25+(9-16)=18。
22.a[22]=11
23.89218921解析:本題的程序的功能是將輸入的整數(shù)反向輸出。
24.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。
25.整型整型解析:上面的表達(dá)式中,通過(guò)強(qiáng)制類型轉(zhuǎn)換把最后參與運(yùn)算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類型。
26.原型化原型化
27.11解析:計(jì)算表達(dá)式!a<b,先計(jì)算!a,因a的值為10,!a的值為0,而關(guān)系表達(dá)式0<20為真,所以表達(dá)式!a<b的值為1。
28.存儲(chǔ)結(jié)構(gòu)
29.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒(méi)有發(fā)生變化,所以輸出結(jié)果為35。
30.a[iow][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[iow][col]max<min或min>maX或max<=min或min>=maxa[iow][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[iow][col]\r\nmax<min或min>maX或max<=min或min>=max解析:本題有兩層for循環(huán),主函數(shù)中定義了整型變量iow、col、max和min,其中row用來(lái)存放外循環(huán)中的循環(huán)次數(shù),col用來(lái)存放內(nèi)循環(huán)中的次數(shù),max記錄每行中的最大值;min記錄所有行中最大值中的最小值。在內(nèi)循環(huán)中,首先給max賦初值為每行的第0列元素值,然后從第一列開(kāi)始依次與max進(jìn)行比較。如果大于max則將其值賦給max,當(dāng)每一行循環(huán)結(jié)束,max記錄了每一行的最大值。所以第一個(gè)空應(yīng)該填a[row][col]>max或a[row][col]=max.退出內(nèi)循環(huán),在第一次退出內(nèi)循環(huán)時(shí),將min賦初值為第0行的max,然后在每次退出內(nèi)循環(huán)時(shí),將min和每行的max比較,如果大于max,則將max值賦min,所以第二個(gè)空應(yīng)該填max<min或min>max,當(dāng)退出外循環(huán)時(shí),min為所有行中的最大值的最小值。
31.ABCDBCDCDD
32.黑盒軟件測(cè)試的方法有三種:動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和正確性證明。設(shè)計(jì)測(cè)試實(shí)例的方法一般有兩類:黑盒測(cè)試法和白盒測(cè)試法。在使用黑盒法設(shè)計(jì)測(cè)試實(shí)例時(shí),測(cè)試人員將程序看成一個(gè)“黑盒”,即不關(guān)心程序內(nèi)部是如何實(shí)現(xiàn)的,只是檢查程序是否符合它的“功能說(shuō)明”,所以使用黑盒法設(shè)計(jì)的測(cè)試用例完全是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)的。
33.PERPER解析:本題中,typedef聲明新的類型名PER來(lái)代替已有的類型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類型,此時(shí),也可以用PER來(lái)定義變量。
34.p=jx[i][p]lineMax(x)
35.y%2==1y%2==1解析:由關(guān)系運(yùn)算符組成的表達(dá)式稱為關(guān)系表達(dá)式。判斷2除y的余數(shù)是否為1,即可判斷y是否為奇數(shù)。
36.!knahT!knahT解析:此程序是一道次序顛倒題,即輸入'Thank!',則輸出'!knahT'。
37.數(shù)據(jù)操作數(shù)據(jù)操作解析:數(shù)據(jù)模型就是現(xiàn)實(shí)世界的反映,數(shù)據(jù)模型所描述的內(nèi)容有3個(gè)部分,它們是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作與數(shù)據(jù)約束。
38.54
39.&P(n)或p+n&P(n)或p+n解析:因?yàn)閚被初始化為0、p被初始化指向str所指字符串的首地址,所以while循環(huán)的功能是從str所指字符串的第1個(gè)字符開(kāi)始比較,若等于c或等于字符串結(jié)束符'\\0'就跳出循環(huán)。故循環(huán)結(jié)束后,若p[n]為'\\0',則證明str所指字符串不包含c中的字符,應(yīng)該返回NULL,否則應(yīng)該返回p[n]的地址值。返回NULL在第2條if語(yǔ)句中已經(jīng)實(shí)現(xiàn),所以我們應(yīng)該填入的表達(dá)式為p[n]的地址值,即&p[n]或p+n。
40.63546354解析:函數(shù)fun的第一個(gè)for循環(huán)跳過(guò)字符串的前導(dǎo)空白符,接著判斷第一個(gè)非空白符是否是負(fù)號(hào),若是,則置變量sign為-1;否則,置變量sign為1。接著的if語(yǔ)句在第一個(gè)非空白字符是負(fù)號(hào)或正號(hào)時(shí),跳過(guò)該字符。以后的for循環(huán)將后面的數(shù)字符當(dāng)作十進(jìn)制數(shù)的各位數(shù)字轉(zhuǎn)換為一個(gè)長(zhǎng)整數(shù)n,當(dāng)遇字符a時(shí),結(jié)束循環(huán)。最后,函數(shù)返回sign與n的乘積。所以若調(diào)用函數(shù)時(shí)提供的實(shí)參是“∪∪6354abc”,則函數(shù)的返回值是6354。
41.A解析:本題定義了一個(gè)二維字符數(shù)組arr[2][4],該二維數(shù)組可以看成一個(gè)含有兩個(gè)元素arr[0]、arr[1]的一維字符數(shù)組,分別看成是含有4個(gè)元素,也可以看成是以arr為首地址的一個(gè)一維字符數(shù)組。函數(shù)strcpy(arr,“you”)是把字符串“you”復(fù)制到arr指向的空間,strcpy(arr[1],“me”)同理,在以arr[0]為首地址的字符數(shù)組中有“you”,在以air[1]為首地址的字符數(shù)組中有“me”。arr[0][3]=‘&’;是給arr[0]為首地址的字符數(shù)組的第4個(gè)元素賦值為‘&’。因此輸出為you&me。
42.B解析:關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。
43.A解析:C語(yǔ)言規(guī)定,賦值號(hào)的右邊可以是一個(gè)賦值表達(dá)式,因此選項(xiàng)C)、選項(xiàng)D)正確;在選項(xiàng)B)中,a++是一個(gè)自加1的表達(dá)式,a被重新賦值,因此它是一個(gè)合法的賦值表達(dá)式;在選項(xiàng)A)中,a+d是一個(gè)算術(shù)表達(dá)式,雖然最后有一個(gè)分號(hào),但這個(gè)表達(dá)式中沒(méi)有賦值操作,因此它不是一條賦值語(yǔ)句。
44.D解析:在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,數(shù)據(jù)控制語(yǔ)言負(fù)責(zé)數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。
45.B解析:C語(yǔ)言中賦值語(yǔ)句是由賦值表達(dá)式加“;”構(gòu)成的。賦值表達(dá)式的形式為:變量=表達(dá)式;。選項(xiàng)A中a++相當(dāng)于a+1,是賦值語(yǔ)句;選項(xiàng)C和選項(xiàng)D也是賦值語(yǔ)句。只有選項(xiàng)B不是,因?yàn)檫x項(xiàng)B中“==”符號(hào)是等于的意思,并不是賦值運(yùn)算符。
46.B解析:本題考查ifelse語(yǔ)句。C語(yǔ)言規(guī)定,else總是與它前面的最近的if配對(duì)。
47.D解析:該程序先判斷a[i]<a[p],如果條件為真,則a[i]比當(dāng)前設(shè)定的最小值小(p保留的當(dāng)前最小元素的下標(biāo)),那么將i賦給p,即將比較過(guò)的最小元素下標(biāo)保留在p中,作為下面判斷的標(biāo)準(zhǔn)。
48.B解析:所謂中序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹;并且在遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹。
49.C解析:定義結(jié)構(gòu)體類型的變量有幾種的方法如下:
①定義結(jié)構(gòu)體類型的同時(shí),定義結(jié)構(gòu)體類型的變量,如下面的定義中在定義結(jié)構(gòu)體類型aa的同時(shí)定義了該類型的變量tdl。上述B)項(xiàng)中將宏名AA用宏體structaa替換進(jìn)去后,與該定義形式一樣,因此是正確的。這一定義形式中,結(jié)構(gòu)體類型名明是可以省略的,因此,D)項(xiàng)也是正確的。
structaa
{...
}tdl;
②先定義結(jié)構(gòu)體類型,然后再定義結(jié)構(gòu)體類型的變量,形式如下:
structaa
{
…
};
structaatdl;
這種定義形式也可演變?yōu)?,先用類型定義語(yǔ)句typedef將該結(jié)構(gòu)體類型定義成一個(gè)類型名AA,然后直接用該類型名AA去定義一個(gè)變量(這時(shí)不再需要使用關(guān)鍵字struct了)。這就是A)項(xiàng)的形式。
50.A
51.D解析:算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的工作量,可以用算法在執(zhí)行過(guò)程中所需基本運(yùn)算的執(zhí)行次數(shù)來(lái)度量算法的工作量。
52.C
53.C
54.C解析:選項(xiàng)A),B)顯然不合題意。數(shù)據(jù)定義語(yǔ)言(DataDefinitionLanguage,簡(jiǎn)稱DDL)負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語(yǔ)言(DataManipulationLanguage,簡(jiǎn)稱DML)負(fù)責(zé)數(shù)據(jù)的操縱,包括增、刪、改等操作。
55.A解析:C語(yǔ)言中int類型的常數(shù)的范圍是:-32768~32767。C整常數(shù)可用三種形式表示:十進(jìn)制整數(shù),八進(jìn)制整數(shù),十六進(jìn)制整數(shù)。選項(xiàng)A超出范圍,不正確。
56.A解析:本題考核的知識(shí)點(diǎn)是if-else語(yǔ)句的程序分析。我們首先看程序中if-else的匹配,由于C語(yǔ)言中規(guī)定else總是與最近的if搭配,因此程序中else與第二個(gè)訂搭配,即該if-else語(yǔ)句為第一個(gè)if語(yǔ)句的執(zhí)行部分,接著判斷第一個(gè)if后面括號(hào)里的表達(dá)式的值“a>b”為假('3>4'為假),因此不執(zhí)行后面if-else語(yǔ)句,程序?qū)?zhí)行下面的輸出語(yǔ)句輸出d,而d一直未被改變故為原來(lái)的值2,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
57.C
58.C*c表示c間接指向的對(duì)象的地址,而**c是c間接指向的對(duì)象的值。在c=&b中,已經(jīng)把b的地址存放在c里了,*c就指向了b的地址,b里存放的就是a的地址,那么**c應(yīng)該是變量a的值,而且也可以用排除法排除選項(xiàng)A、B,由b=&a可知,這兩個(gè)選項(xiàng)是同一個(gè)意思,變量b中的值就是變量a的地址,所以可以排除。故本題答案為C。
59.D解析:字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)部是以ASCII碼存儲(chǔ)的,英文大寫字母和小寫字母在ASCII碼表中都是連續(xù)的,大寫字母A到Z是從65到90,小寫字母a到z是97到122,所以只要變量c大于a并且小于z就能保證其為小寫字母。
60.B解析:一個(gè)函數(shù)可以帶回—個(gè)整型值、字符值、實(shí)型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號(hào)和*號(hào),由于()優(yōu)先級(jí)高于*。故它是一個(gè)返回整型指針的函數(shù)。
61.C在一個(gè)函數(shù)的內(nèi)部定義的變量是內(nèi)部變量,它只在本函數(shù)范圍內(nèi)有效,也就是說(shuō),只有在本函數(shù)內(nèi)才能使用它們,在此函數(shù)以外是不能使用這些變量的。本題中的inta=5;只在{inta=5;s+=f(&a);}內(nèi)有效。
在函數(shù)之外定義的變量稱為外部變量,外部變量是全局變量。全局變量可以為本文件中其他函數(shù)所共用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州城市職業(yè)學(xué)院《女生健美操》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽(yáng)職業(yè)技術(shù)學(xué)院《藥品與生物制品檢測(cè)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025貴州省建筑安全員《B證》考試題庫(kù)及答案
- 貴陽(yáng)人文科技學(xué)院《室內(nèi)空氣污染監(jiān)測(cè)與治理實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州珠江職業(yè)技術(shù)學(xué)院《電路分析實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025天津市安全員-C證考試題庫(kù)
- 廣州應(yīng)用科技學(xué)院《女性文學(xué)與女性文化研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州衛(wèi)生職業(yè)技術(shù)學(xué)院《城鄉(xiāng)規(guī)劃設(shè)計(jì)基礎(chǔ)II》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州鐵路職業(yè)技術(shù)學(xué)院《電化學(xué)與腐蝕原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025云南省建筑安全員-C證考試(專職安全員)題庫(kù)附答案
- 半結(jié)構(gòu)化面試題及答案
- GB/T 29084-2012航天器接地要求
- 《網(wǎng)絡(luò)文件提交系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【論文】12000字》
- 公司倉(cāng)庫(kù)檢查表
- 數(shù)字圖像處理-第2章-數(shù)字圖像處理基礎(chǔ)課件
- 礦山檔案(臺(tái)帳) 表格參照模板參考范本
- 《機(jī)械設(shè)備維護(hù)與保養(yǎng)》課程標(biāo)準(zhǔn)
- 圓管鋼立柱柱吊裝施工方案
- 河南省對(duì)口升學(xué)文秘類專業(yè)課試題卷
- 醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理體系文件(全套)
- 磷酸鐵鋰電池工商業(yè)儲(chǔ)能項(xiàng)目施工組織設(shè)計(jì)方案
評(píng)論
0/150
提交評(píng)論