版權(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.若有函數(shù)內(nèi)部說(shuō)明:inta[3][4];則數(shù)組a中各元素
A.可在程序的運(yùn)行階段得到初值0
B.可在程序的編譯階段得到初值0
C.不能得到確定的初值
D.可在程序的編譯或運(yùn)行階段得到初值0
2.在循環(huán)隊(duì)列中,若front與rear分別表示對(duì)頭元素和隊(duì)尾元素的位置,則判斷循環(huán)隊(duì)列空的條件是()。
A.front==rear+1B.rear==front+1C.front==rearD.front==0
3.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
4.在軟件開發(fā)過程中,軟件結(jié)構(gòu)設(shè)計(jì)是描述______。
A.數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)B.軟件體系結(jié)構(gòu)C.軟件結(jié)構(gòu)測(cè)試D.軟件控制過程
5.
6.下列敘述中錯(cuò)誤的是()。
A.可以用typedef將已存在的類型用一個(gè)新的名字來(lái)代表
B.可以通過typedef增加新的類型
C.用typedef定義新的類型名后,原有類型名仍有效
D.用typedef可以為各種類型起別名,但不能為變量起別名
7.設(shè)線性鏈表中結(jié)點(diǎn)的結(jié)構(gòu)為(data,next)。已知指針q所指結(jié)點(diǎn)是指針結(jié)點(diǎn)p的直接前驅(qū),若在*q與*p之間插入結(jié)點(diǎn)*s,則應(yīng)執(zhí)行下列()操作。
A.s->next=p->next;p->next=s;
B.q->next=s;s->next=p;
C.p->next=s->next;s->next=p;
D.p->next=s;s->next=q;
8.
9.該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是()A.intn,*p=NULL;
B.*p=&n;.
C.scanf("%d",&p)
D.printf("%d\n",p);
10.計(jì)算機(jī)算法指的是()。
A.計(jì)算方法B.排序方法C.解決問題的有限運(yùn)算序列D.調(diào)度方法
11.下面排序算法中,初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o(wú)影響的是()
A.堆排序B.插入排序C.冒泡排序D.快速排序
12.算法應(yīng)該是()
A.程序B.問題求解步驟的描述C.要滿足五個(gè)基本特性D.B和C
13.有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%if",&x);x=fun(x);printf("%d\n",x);}執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是()。A.55B.54C.65D.45
14.人們提出了用______的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程學(xué)誕生的基礎(chǔ)。
A.計(jì)算機(jī)科學(xué)B.數(shù)學(xué)C.工程學(xué)D.運(yùn)籌學(xué)
15.對(duì)于int*pa[5];的描述,()是正確的。
A.pa是一個(gè)指向數(shù)組的指針,所指向的數(shù)組是5個(gè)int型元素
B.pa是一個(gè)指向某數(shù)組中第5個(gè)元素的指針,該元素是int型變量
C.pa是一個(gè)具有5個(gè)元素的指針數(shù)組,每個(gè)元素是一個(gè)int型指針
D.pa[5]表示某數(shù)組的第5個(gè)元素的值
16.設(shè)森林F對(duì)應(yīng)的二叉樹為B,它有m個(gè)結(jié)點(diǎn),B的根為p,p的右子樹的結(jié)點(diǎn)個(gè)數(shù)為n,森林F中第一棵樹的結(jié)點(diǎn)的個(gè)數(shù)是()。
A.m-nB.m-n-1C.n+1D.不能確定
17.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printf("%d,",k);k=fun(j,m);printf("%d\n",k);}執(zhí)行后的輸出結(jié)果是()。
A.5,5B.5,11C.11,11D.11,5
18.下面程序的運(yùn)行結(jié)果是()#include<stdio.h>#include<string.h>main(){char*a="AbcdEf",*b="aBcD"a++;b++;printf("%d\n",strcmp(a,b));}
A.0B.負(fù)數(shù)C.正數(shù)D.無(wú)確定值
19.
20.算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性的是A.A.有零個(gè)輸入或多個(gè)輸入B.高效性C.有窮性D.確定性
二、2.填空題(20題)21.語(yǔ)句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語(yǔ)句(不得與列舉的相同)【】。
22.有以下程序:
#include<stdio.h>
main()
{charch1,ch2;intn1,n2
ch1=getchar();ch2=getchar();
n1=ch1-'0';n2=n1*10+(ch2-'0');
printf("%d\n",n2);
}
程序運(yùn)行時(shí)輸入:12<回車>,執(zhí)行后的輸出結(jié)果是【】。
23.若有如下定義,則該數(shù)組的第一維大小為【】。
intb[][4]={1,2,3,4,5,6,7,8,9);
24.若有定義語(yǔ)句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請(qǐng)?zhí)羁找詫?shí)現(xiàn)拷貝。(注:不使用逗號(hào)表達(dá)式)
while(s[i]){d[j]=【】;j++;}
d[j]=0;
25.在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
26.有下列程序;
#include<stdio.h>
main()
{charc;
while((c=getchar())!=',')putchar(++C);
}
程序運(yùn)行時(shí),如果從鍵盤輸入:A,B,<CR>,則輸出結(jié)果為______。
27.下列程序運(yùn)行后的輸出結(jié)果是______。
#include<stdio.h>
main()
{chars[20];
scanf("%s",s);
printf("%s",s);
}
運(yùn)行程序,輸入HOWAREYOU。
28.設(shè)y為血型變量,請(qǐng)寫出描述“y是偶數(shù)”的表達(dá)式______。
29.下面的函數(shù)strcat(str1,str2)實(shí)現(xiàn)將字符串str2拼接到字符串str1后面的功能。請(qǐng)?zhí)羁帐怪暾?/p>
char*strcat(str1,str2)
char*str1,*str2;
{char*t=str1;
while(【】)str1++;
while(【】);
return(t);}
30.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
31.在兩種基本測(cè)試方法中,【】測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑至少要執(zhí)行一次。
32.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=3,y=2,z=1;
if(x<y)
if(y<0)z=0;
elsez+=1;
printf("%d\n",z);
}
33.以下程序的輸出結(jié)果是______。
voidreverse(inta[],intn)
{inti,t;
for(i=0;i<n/2;i++)
{t=a[i];a[i]=a[n+1+i];a[n-1-i]=t;}
}
main()
{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf("%d\n",s);
}
34.在面向?qū)ο蠓椒ㄖ校尽棵枋龅氖蔷哂邢嗨茖傩耘c操作的一組對(duì)象。
35.對(duì)軟件是否能達(dá)到用戶所期望的要求的測(cè)試稱為【】。
36.【】是指一個(gè)數(shù)據(jù)對(duì)象中的各個(gè)數(shù)據(jù)元素之間存在的聯(lián)系。
37.以下函數(shù)用來(lái)求出兩整數(shù)之和,并通過形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>
voidfunc(intx,inty,【】z)
{*z=x+y;}
38.樹中度為零的結(jié)點(diǎn)稱為______。
39.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。
40.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
三、1.選擇題(20題)41.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
42.函數(shù)Rell(fp)的作用是()。
A.得到fp所指向文件的當(dāng)前讀寫位置B.初始化流式文件的位置指針C.移動(dòng)流式文件的位置指針D.以上3種答案均正確
43.以下所列的c語(yǔ)言常量中,錯(cuò)誤的是______。
A.0xFFB.1.2e0.5C.2LD.'\72'
44.算法中的每一個(gè)步驟都必須是有明確意義的,不允許有模棱兩可的解釋,也不允許有多義性,這個(gè)性質(zhì)稱為
A.可行性B.有窮性C.正確性D.確定性
45.關(guān)系模型允許定義三類數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是()。A.A.實(shí)體完整性約束B.參照完整性約束C.域完整性約束D.用戶自定義的完整性約束
46.下面程序的輸出結(jié)果是()。#include"stdio.h"intsub(intm){statica=4;a+=m;returna;}voidmain(){inti=2,j=1,k;k=sub(i);k=sub(j);printf("%d",k);}
A.6B.7C.8D.9
47.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20
48.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種
A.隨機(jī)結(jié)構(gòu)B.順序結(jié)構(gòu)C.索引結(jié)構(gòu)D.散列結(jié)構(gòu)
49.在單鏈表中,增加頭結(jié)點(diǎn)的目的是______。
A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說(shuō)明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
50.設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為______。A.EOFB.非0值C.0D.NULL
51.函數(shù)ftell(fp)的作用是()。
A.得到fp所指向文件的當(dāng)前讀寫位置B.初始化流式文件的位置指針C.移動(dòng)流式文件的位置指針D.以上三種答案均正確
52.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
53.執(zhí)行以下程序段()x=-1;do{x=x*x;}while(!x);
A.循環(huán)體將執(zhí)行一次B.循環(huán)體將執(zhí)行兩次C.循環(huán)體將執(zhí)行無(wú)限次D.系統(tǒng)將提示有語(yǔ)法錯(cuò)誤
54.以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號(hào)時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。#include<stdio.h>main(){FILE*fout;charch;fout=fopen('abc.txt','w');ch=fgetc(stdin);while(ch!='#'){fputc(ch,fout);ch=fgetc(stdin);}fclose(fout);}出錯(cuò)的原因是
A.函數(shù)fopen調(diào)用形式有誤B.輸入文件沒有關(guān)閉C.函數(shù)fgetc調(diào)用形式有誤D.文件指針stdin沒有定義
55.有以下程序:voidsum(int*A){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}執(zhí)行后的輸出結(jié)果是
A.4B.3C.2D.1
56.軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成()
A.定義、開發(fā)、運(yùn)行維護(hù)
B.設(shè)計(jì)階段、編程階段、測(cè)試階段
C.總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試
D.需求分析、功能定義、系統(tǒng)設(shè)計(jì)
57.有以下程序:main(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}執(zhí)行后輸出結(jié)果是______。
A.2B.3C.4D.編譯時(shí)有錯(cuò),無(wú)結(jié)果
58.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):inti=8,j=9;則下列語(yǔ)句:printf("i=%%d,j=%%d\n”,i,j);輸出的結(jié)果是()。
A.i=8,j=9B.i=%d,j=%dC.i=%8,j=%9D.8,9
59.以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是()
A.123B.printfC.a$D.Dim
60.以下正確的數(shù)組定義語(yǔ)句是()。
A.inty[1][4]={1,2,3,4,5,};
B.floatx[3][]={{l},{2},{3}};
C.longs[2][3]={{1},{1,2}{1,2,3,}};
D.doublet[][3]={0}
四、選擇題(20題)61.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。
A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)
62.以下選項(xiàng)中,能定義S為合法的結(jié)構(gòu)體變量的是()。
A.
B.
C.
D.
63.若要求從鍵盤讀人含有空格字符的字符串,應(yīng)使用函數(shù)()。
A.getc()B.gets()C.getchar()D.scanf()
64.
65.
66.在以下給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。
67.
下列程序執(zhí)行后的輸出結(jié)果是()。
main
{charx=0xFFFF;printf("%d\n",x--);}
A.-32767B.FFFEC.1D.32768
68.算法的空間復(fù)雜度是指()。
A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.算法執(zhí)行過程中所需要的存儲(chǔ)空間
69.整型變量X和Y的值相等,且為非0值,則以下選項(xiàng)中結(jié)果為0的表達(dá)式是()。
A.X‖YB.X|YC.X&YD.X^Y
70.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.x=y*5=x+z
B.int(15.8%5.
C.x=y+z+5,++y
D.x=25%5.0
71.
72.有兩個(gè)關(guān)系R、S如下:
由關(guān)系R通過運(yùn)算得到關(guān)系s,則所使用的運(yùn)算為()。
A.選擇B.投影C.插入D.連接
73.
74.(24)對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是()
A.程序應(yīng)簡(jiǎn)單、清晰、可讀性好
B.符號(hào)名的命名要符合語(yǔ)法
C.充分考慮程序的執(zhí)行效率
D.程序的注釋可有可無(wú)
75.下列關(guān)于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是______。
A.文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫文本文件
B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫二進(jìn)制文件
C.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
D.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
76.
77.以下敘述中錯(cuò)誤的是()。
A.對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出
B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變
C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”的出錯(cuò)信息
D.可以通過賦初值的方式確定數(shù)組元素的個(gè)數(shù)
78.已知大寫:字母A的ASCIl碼是65,小寫字母a的ASCIl碼是97。以下不能將變量c中的大寫字母轉(zhuǎn)換為對(duì)應(yīng)小寫字母的語(yǔ)句是()。
79.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為()。
A.125B.n/2C.nD.n+1
80.下列函數(shù)的類型是()。fun(doublex){floaty;y=3*x-4;returny;}
A.intB.不確定C.voidD.float
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:將str所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(Z轉(zhuǎn)換A,z轉(zhuǎn)換a),其他字符不變。
請(qǐng)修改函數(shù)fun()中的錯(cuò)誤,得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放人結(jié)構(gòu)體數(shù)組stu中。請(qǐng)編寫函數(shù)proc(),它的功能是:函數(shù)返回指定成績(jī)的學(xué)生數(shù)據(jù),指定的成績(jī)?cè)谥骱瘮?shù)中輸入。若沒找到指定的成績(jī),在結(jié)構(gòu)體變量中給學(xué)號(hào)置空串,給成績(jī)置-1,作為函數(shù)值返回。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫的若干語(yǔ)句。試題程序:
參考答案
1.C本題主要考查數(shù)組的定義及初始化。在對(duì)數(shù)組進(jìn)行定義和初始化時(shí),需要注意以下事項(xiàng)。
(1)數(shù)組的內(nèi)存空間在編譯時(shí)確定,定義數(shù)組時(shí)的n值只能使用常量,不能使用變量。
(2)定義數(shù)組時(shí)可以不標(biāo)明數(shù)組元素的個(gè)數(shù),而是通過賦初值的方式確定,編譯系統(tǒng)將自動(dòng)計(jì)算花括號(hào)內(nèi)的數(shù)據(jù)數(shù)量作為數(shù)組的元素個(gè)數(shù)。
(3)數(shù)組初始化時(shí),當(dāng)初值的個(gè)數(shù)小于整型常量n時(shí),編譯系統(tǒng)會(huì)自動(dòng)補(bǔ)0。一旦給定初值數(shù)超過n,編譯系統(tǒng)將報(bào)錯(cuò)。
(4)初始化數(shù)組的元素類型,必須與定義數(shù)組時(shí)的類型一致。
(5)數(shù)組名記錄了數(shù)組在內(nèi)存中的首地址,其值不能更改。
(6)除字符數(shù)組外,不能直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出。
本題中定義了一個(gè)3行4列的數(shù)組,但沒有對(duì)其進(jìn)行賦初值操作,可能我們會(huì)想在系統(tǒng)編譯時(shí)會(huì)自動(dòng)補(bǔ)0,這只是在初值個(gè)數(shù)小于數(shù)組定義大小的情況下的操作,如果沒有進(jìn)行賦初值操作,數(shù)組中的元素值是不能被確定的。因此,本題答案選C。
2.C
3.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)。
4.B解析:從工程管理解度來(lái)看,軟件設(shè)計(jì)分兩步完成:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)(又稱結(jié)構(gòu)設(shè)計(jì))將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級(jí)接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫(kù)模式。
5.D
6.Btypedef并不是增加一種新的類型,而是對(duì)已存在的類型用一個(gè)新的名字來(lái)代表,所以B選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。
7.B
8.C
9.A[解析]選項(xiàng)B)的正確寫法應(yīng)為p=&n;選項(xiàng)C)的正確寫法應(yīng)為scanf("%d",p);選項(xiàng)D)的正確寫法應(yīng)為printf("%d\\n",*p)。
10.C
11.A
12.B
13.A函數(shù)fun()通過遞歸調(diào)用實(shí)現(xiàn)的功能為n+(n-1)+…+1,故程序的輸出結(jié)果為55。
14.C
15.A
16.A
17.B解析:子函數(shù)fun(intx,inty),將變量m和i聲明為局部靜態(tài)變量,因此第1次調(diào)用主函數(shù)后,局部靜態(tài)變量m和i的值為5和3,第1次函數(shù)調(diào)用結(jié)束時(shí),它們的值不釋放保持不變,所以第2次調(diào)用時(shí),局部靜態(tài)變量m和i的初始值分別為5和3,即在執(zhí)行“i+=m+1”時(shí),i的值為9,因此最終m的值為11。
18.C
19.A
20.B
21.x+=1;
22.1212解析:本題中n1='1'-'0'=1,n2=1×10+('2'-'0')=10+2=12。
23.33解析:在初始化一個(gè)含有未指定維度的數(shù)組時(shí),C語(yǔ)言總是在能完全容納初始化列表的基礎(chǔ)上盡可能小地設(shè)定該維度,來(lái)作為指定維度的標(biāo)準(zhǔn)。本題有9個(gè)初始值,若指定第一維度為2,則數(shù)組含有2*4=8個(gè)元素,容納不下,所以指定維度為3,3*4=12,足夠容納了。故應(yīng)該填3。
24.s[i++]s[i++]解析:本題中為了能實(shí)現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應(yīng)使用i的自增后置來(lái)實(shí)現(xiàn)。
25.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),仍然光遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。
26.BB解析:因?yàn)閏是字符類型變量,它只能接收一個(gè)字符,所以c=A,字符型變量在參與算術(shù)運(yùn)算的時(shí)候是用其相應(yīng)的ASCII碼參與運(yùn)算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應(yīng)的字符,所以是B。
27.HOWHOW解析:在scanf()函數(shù)中,使用空格作為分隔符,如果輸入含有空格的字符中,則不能使用scanf()數(shù),所以本題中輸入空格就返回了'\\0\\,s數(shù)組也就確定了,后面的輸入就不再讀入數(shù)組s中。
28.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。
29.*str1或*str1!='\0'或*str1!=0或*str1!=NUL*str1++=*str2++或*str1++=*str2*str2++*str1或*str1!='\\0'或*str1!=0或*str1!=NUL\r\n*str1++=*str2++或*str1++=*str2,*str2++解析:函數(shù)strcat(str1,str2)實(shí)現(xiàn)將字符串str2連接到字符串str1后面,所以首先要找到字符串str1的串尾,根據(jù)C語(yǔ)言的語(yǔ)法規(guī)定,一個(gè)串的串尾—定是—個(gè)隱含字符“\\0”,而在程序中,對(duì)字符串中字符的訪問是通過兩個(gè)指針變量來(lái)完成的,因此要找到字符串str1的串尾,要判斷:str1是否為“\\0”,要找到字符串str2的串尾,要判斷*str2是否為“\\0”,程序中必須以使字符串中字符逐—順序體現(xiàn),所以在題中我們應(yīng)填寫“*str1”和“*str1++=*str2++”。
30.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。
31.白盒或白箱或白盒子或WhiteBox白盒或白箱或白盒子或WhiteBox解析:本題考查軟件工程的測(cè)試。測(cè)試一般有兩種方法:黑盒測(cè)試和白盒測(cè)試。黑盒測(cè)試不考慮程序的內(nèi)部邏輯結(jié)構(gòu)和處理過程,只著眼于程序的外部特性。用黑盒測(cè)試來(lái)發(fā)現(xiàn)程序中的錯(cuò)誤,必須用所有可能的輸入數(shù)據(jù)來(lái)檢查程序能否都能產(chǎn)生正確的輸出。白盒測(cè)試是在了解程序內(nèi)部結(jié)構(gòu)和處理過程的基礎(chǔ)上,對(duì)程序的所有路徑進(jìn)行測(cè)試,檢查路徑是否都能按預(yù)定要求正確工作。因此,劃線處應(yīng)填入“白盒(箱)”或“WhiteBox”。
32.11解析:ifelse語(yǔ)句的功能是:若表達(dá)式的值為真,執(zhí)行語(yǔ)句1,并跳過其他語(yǔ)句,執(zhí)行ifelse語(yǔ)句的下一條語(yǔ)句,若表達(dá)式的值為假,跳過語(yǔ)句1,執(zhí)行語(yǔ)句2,依次往下判斷。題中,x=3,y=2,第一個(gè)if語(yǔ)句的控制條件x<y就不滿足,又沒有與之配對(duì)的else語(yǔ)句,所以直接執(zhí)行printf語(yǔ)句,在整個(gè)過程中變量z的值都沒發(fā)生變化。
33.在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個(gè)成員進(jìn)行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結(jié)構(gòu),將b[6],b[7]…b[9]的值相加,結(jié)果為盟。\r\n\r\n
34.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似屬性與操作的一組對(duì)象。
35.有效性測(cè)試有效性測(cè)試
36.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)
37.int*int*解析:從題中代碼可知:z應(yīng)該是一個(gè)整型指針,因此應(yīng)填int*。
38.葉子結(jié)點(diǎn)葉子結(jié)點(diǎn)解析:樹中度為零的結(jié)點(diǎn),也就是沒有后件的結(jié)點(diǎn),稱為葉子結(jié)點(diǎn)。
39.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。其中的每一個(gè)加工對(duì)應(yīng)一個(gè)處理模塊。
40.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)
41.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)系。
42.A解析:位置指針當(dāng)前值函數(shù)ftell()的基本調(diào)用格式為:ftell(fp)。
fiell()函數(shù)的參數(shù)說(shuō)明:'fp'是指向文件的文件型指針。
ffell函數(shù)的功能:得到fp所指向文件的當(dāng)前讀寫位置,即位置指針的當(dāng)前值,如果函數(shù)的返回值為-1L,表示出錯(cuò)。
43.B解析:在C語(yǔ)言中常量可以用十進(jìn)制數(shù)、八進(jìn)制數(shù)、十六進(jìn)制數(shù)來(lái)表示:也可以用轉(zhuǎn)義字符、長(zhǎng)整型、科學(xué)計(jì)數(shù)法等來(lái)表示。選項(xiàng)A為十六進(jìn)制表示法正確,故選項(xiàng)A正確。選項(xiàng)B為科學(xué)計(jì)數(shù)法,但在選項(xiàng)B中的科學(xué)計(jì)數(shù)的表示形式是錯(cuò)誤的,指數(shù)不能為小數(shù),故選項(xiàng)B的表示法是錯(cuò)誤的。選項(xiàng)C為長(zhǎng)整型表示法正確,故C正確。選項(xiàng)D為轉(zhuǎn)義字符表示正確,故選項(xiàng)D的表示法是正確的。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
44.D解析:算法中的每一個(gè)步驟都必須是有明確意義的,不允許有多義性。算法的這個(gè)性質(zhì)即為算法的確定性。
45.C數(shù)據(jù)約束是用來(lái)確保數(shù)據(jù)的準(zhǔn)確性和一致性的。常見的四種數(shù)據(jù)約束如下:
(1)實(shí)體完整性約束:規(guī)定表的每一行在表中是唯一的實(shí)體。
(2)域完整性約束:是指表中的列必須滿足某種特定的數(shù)據(jù)類型約束,其中約束又包括取值范圍、精度等規(guī)定。
(3)參照完整性約束:是指兩個(gè)表的主關(guān)鍵字和外關(guān)鍵字的數(shù)據(jù)應(yīng)一致,保證了表之間數(shù)據(jù)的一致性,防止了數(shù)據(jù)丟失或無(wú)意義的數(shù)據(jù)在數(shù)據(jù)庫(kù)中擴(kuò)散。
(4)用戶定義的完整性約束:不同的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對(duì)某個(gè)特定關(guān)系數(shù)據(jù)庫(kù)的約束條件,它反映某一具體應(yīng)用必須滿足的語(yǔ)義要求。
在上述四種數(shù)據(jù)約束中,不屬于關(guān)系模型定義的三種數(shù)據(jù)約束的是域完整性約束。
46.B解析:在函數(shù)sub()的函數(shù)體中定義了一個(gè)靜態(tài)存儲(chǔ)變量a,a的值在函數(shù)調(diào)用完畢返回主函數(shù)后仍存在。第一次調(diào)用sub(i),a=a+m=4+2=6,返回值為6。第二次調(diào)用sub(j),a=a+m=6+1=7,返回值為7,最后輸出k的值為7。
47.B
48.B解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的每一個(gè)存儲(chǔ)結(jié)點(diǎn)不僅含有一個(gè)數(shù)據(jù)元素,還包括指針,每一個(gè)指針指向一個(gè)與本結(jié)點(diǎn)有邏輯關(guān)系的結(jié)點(diǎn)。此類存儲(chǔ)方式屬于順序存儲(chǔ)。
49.A\nA。【解析】頭結(jié)點(diǎn)不僅標(biāo)識(shí)了表中首結(jié)點(diǎn)的位置,而且根據(jù)單鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。
\n
50.B(27)B)解析:函數(shù)feof的功能是:測(cè)試fp所指的文件的位置是否已達(dá)到文件尾,如果達(dá)到文件尾,則函數(shù)返回非0值,否則返回0,表示文件尚未結(jié)束。
51.A解析:位置指針當(dāng)前值函數(shù)ftell()的基本調(diào)用格式為:fiell(fp)。
fiell()函數(shù)的參數(shù)說(shuō)明:“fp”是指向文件的文件型指針。
fiell函數(shù)的功能:得到fp所指向文件的當(dāng)前讀寫位置,即位置指針的當(dāng)前值,如果函數(shù)的返回值為-1L,表示出錯(cuò)。
52.B數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的邏輯設(shè)計(jì)包括數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)事務(wù)概要設(shè)計(jì)和應(yīng)用程序概要設(shè)計(jì)三方面。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對(duì)初始關(guān)系模式進(jìn)行優(yōu)化,檢查關(guān)系表對(duì)數(shù)據(jù)庫(kù)事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計(jì)基于關(guān)系模式的用戶視圖。
53.A
54.A解析:本題考核的知識(shí)點(diǎn)是文件的簡(jiǎn)單應(yīng)用。stdin是標(biāo)準(zhǔn)輸入設(shè)備的文件指針,不需定義直接可以使用,它隨系統(tǒng)的啟動(dòng)而打開,隨系統(tǒng)的關(guān)閉而關(guān)閉,fgetc()函數(shù)的作用是從某個(gè)文件中讀取一個(gè)數(shù)據(jù),其參數(shù)為要讀取文件的文件指針,所以本題中的調(diào)用形式是正確的。fopen()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是打開的文件名,第二個(gè)參數(shù)是文件打開模式,兩個(gè)參數(shù)都是字符串,本例中'fout=fopen(\'abc.txt\',\'w’);”語(yǔ)句的fopen()函數(shù)參數(shù)是錯(cuò)誤的,應(yīng)該用雙引號(hào)'''',正確的應(yīng)改為fout=fopen(“abc.txt”,“w”);。所以,A選項(xiàng)為所選。
55.A解析:本題考核的知識(shí)點(diǎn)是數(shù)組的定義、賦初值以及函數(shù)調(diào)用的組合應(yīng)用.本題中函數(shù)sum(int*A)的作用是:將形參a所指的數(shù)組中的第二個(gè)元素的值a[1]賦給第一個(gè)元素a[0]。主函數(shù)中定義一個(gè)長(zhǎng)度為10的整型數(shù)組并賦初值,接著執(zhí)行一個(gè)for循環(huán),該循環(huán)共執(zhí)行了3次.當(dāng)i=2時(shí),調(diào)用函數(shù)sum(&aa[2]),主函數(shù)中將&aa[2]作為實(shí)參傳給行參a,所以此時(shí)形參a所指的數(shù)組的第一個(gè)元素和第二個(gè)元素分別為aa[2]和aa[3],故執(zhí)行完該函數(shù)后將aa[3]的值賦給aa[2],即aa[1]=aa[3]=4,當(dāng)i=1時(shí),調(diào)用函數(shù)sum(&aa[1]),主函數(shù)中將&aa[1]作為實(shí)參傳給行參a,所以此時(shí)形參a所指的數(shù)組的第一個(gè)元素和第二個(gè)元素分別為aa[1]和aa[2],故執(zhí)行完該函數(shù)后將aa[2]的值賦給aa[1],即aa[1]=aa[2]=4;當(dāng)i=0時(shí);調(diào)用函數(shù)sum(&aa[0]),,主函數(shù)中將&aa[0]作為實(shí)參傳給行參a,所以此時(shí)形參a所指的數(shù)組的第一個(gè)元素和第二個(gè)元素分別為aa[0]和aa[1],故執(zhí)行完該函數(shù)后將aa[1]的值賦給aa[0],即aa[0]=aa[1]=4;故最后輸出的aa[0]的值為4,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
56.A解析:通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。它可以分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。
57.B解析:C語(yǔ)言規(guī)定else總是和離它最近的if語(yǔ)句配對(duì)。故第一個(gè)else和第一個(gè)if配對(duì),第二個(gè)else和第二個(gè)if配對(duì)。首先計(jì)算第一個(gè)if后面的表達(dá)式“a>b>c”,表達(dá)式“a>b”是為1,表達(dá)式“1>c”為0,所以執(zhí)行else后面的語(yǔ)句。先執(zhí)行if后面的表達(dá)式,“c-1>d”為真,值為1。“1==1”為真,執(zhí)行printf語(yǔ)句。
58.B解析:本題考查printf函數(shù)的格式。在printf函數(shù)中,如果格式說(shuō)明符中有兩個(gè)%說(shuō)明,則將第1個(gè)%后面的字符原樣輸出,并不輸出其對(duì)應(yīng)的變量值。
59.C
60.D解析:選項(xiàng)A定義了一個(gè)1行4列的二維數(shù)組,只有4個(gè)元素,而初始化列表有5個(gè)初始值,所以不正確。定義二維數(shù)組時(shí)只能省略第二維的長(zhǎng)度,選項(xiàng)B省略的是第一維的長(zhǎng)度,所以不正確。選項(xiàng)C定義了一個(gè)2行3列的二維數(shù)組,但初始值列表中使用了3個(gè)大括號(hào),使行數(shù)超出定義范圍,所以不正確。故正確答案是選項(xiàng)D。
61.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)。
62.B本題的考查點(diǎn)是結(jié)構(gòu)體變量的定義。定義一個(gè)結(jié)構(gòu)體類型的變量,可采用三種方法:
(1)先定義結(jié)構(gòu)體類型再定義變量;
(2)在定義類型的同時(shí)定義變量;
(3)直接定義結(jié)構(gòu)體類型變量,.即不出現(xiàn)結(jié)構(gòu)體名。選項(xiàng)B)符合第三種定義方法。
63.Bscanf語(yǔ)句用”空格”區(qū)別不同的字符串,遇到空格結(jié)束,所以不能讀人空格;getc與getchar語(yǔ)句不能用于字符串的讀入。
64.B\r\n
65.D
66.Bwhile語(yǔ)句中條件表達(dá)式E的值不為0即為真,認(rèn)為滿足條件,所以與B選項(xiàng)中表達(dá)式的含義正好相反,選擇B選項(xiàng)。
67.C
\n因?yàn)閤=0xFFFF=11111111,因此當(dāng)以整型形式輸出時(shí)對(duì)應(yīng)的數(shù)為一1。
\n
68.D【解析】算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。一個(gè)算法所占用的存儲(chǔ)空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行中所需要的額外空間。其中額外空間包括算法程序執(zhí)行過程中的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲(chǔ)空間。如果額外空間量相對(duì)于問題規(guī)模來(lái)說(shuō)是常數(shù),則稱該算法是原地工作的。在許多實(shí)際問題中,為了減少算法所占的存儲(chǔ)空間,通常采用壓縮存儲(chǔ)技術(shù),以便盡量減少不必要的額外空間。
69.DX||Y是將X和Y作邏輯或運(yùn)算,因?yàn)槎际欠?,所以結(jié)果為1,X|Y是做位或運(yùn)算,即相同位置的數(shù)字只要有一個(gè)為1,結(jié)果為1,其結(jié)果也為非0,X&Y是為與運(yùn)算,相同位置的數(shù)字都為1的時(shí)候才為1,其結(jié)果為非0,X^Y做位異或運(yùn)算,即同0異1,因?yàn)閄與Y的值相等,所以相同位置的數(shù)字一定相同。
70.C解析:
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年模具行業(yè)產(chǎn)學(xué)研合作項(xiàng)目合同4篇
- 通風(fēng)和防排煙課程設(shè)計(jì)
- 觀察日記課程設(shè)計(jì)
- 二零二五年度面料印刷與包裝服務(wù)合同4篇
- 2025年度魚塘承包與漁業(yè)產(chǎn)業(yè)發(fā)展規(guī)劃合作協(xié)議4篇
- 二零二五版公司在職分紅與員工職業(yè)規(guī)劃協(xié)議3篇
- 二零二五年度高端酒店管理咨詢合同4篇
- 自動(dòng)化儀表課課程設(shè)計(jì)
- 二零二五版建筑廢棄物資源化利用建設(shè)工程擔(dān)保服務(wù)合同3篇
- 2024版輕鋼房屋建造協(xié)議模板協(xié)議版B版
- 《工貿(mào)企業(yè)有限空間作業(yè)安全規(guī)定》知識(shí)培訓(xùn)
- 高層次人才座談會(huì)發(fā)言稿
- 垃圾清運(yùn)公司管理制度(人員、車輛、質(zhì)量監(jiān)督、會(huì)計(jì)管理制度)
- 《建筑工程設(shè)計(jì)文件編制深度規(guī)定》(2022年版)
- 營(yíng)銷人員薪酬考核方案
- 2024年版的企業(yè)績(jī)效評(píng)價(jià)標(biāo)準(zhǔn)
- 2024至2030年中國(guó)it外包服務(wù)行業(yè)市場(chǎng)深度分析及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 工程項(xiàng)目計(jì)價(jià)結(jié)算付款情況統(tǒng)計(jì)表
- GB/T 20554-2024海帶
- 廣東廣州中醫(yī)藥大學(xué)第一附屬醫(yī)院招聘筆試真題2022
- ISO 15189醫(yī)學(xué)實(shí)驗(yàn)室認(rèn)可內(nèi)審員培訓(xùn)試題附答案
評(píng)論
0/150
提交評(píng)論