




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年廣東省潮州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.如有inta=11;則表達(dá)式(a/1)的值是()。
A.0B.3C.4D.11
2.已知一個(gè)無(wú)向圖(邊為正數(shù))中頂點(diǎn)A,B的一條最短路P,如果把各個(gè)邊的權(quán)重(即相鄰兩個(gè)頂點(diǎn)的距離)變?yōu)樵瓉?lái)的2倍,那么在新圖中,P仍然是A,B之間的最短路,以上說(shuō)法是()A.錯(cuò)誤B.正確
3.若有如下程序:#definePI3.1415926#defineA(r)2*PI*rmain(){floata,1;a=3.0;1=A(a);printf("r=%.2f,1=%.2f\n",a,1);}則程序運(yùn)行后的輸出結(jié)果是()
A.r=3.001=18.85
B.3.00,18.85
C.r=3.0000001=18.8495555
D.r=3.01=18.8495555
4.已知函數(shù)的調(diào)用形式為fread(buf,size,count,fp),參數(shù)buf的含義是
A.一個(gè)整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)
B.一個(gè)文件指針,指向要讀的文件
C.一個(gè)指針;指向要讀入數(shù)據(jù)的存放地址
D.一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)
5.以下選項(xiàng)中,值為1的表達(dá)式是()。
A.1-‘0’B.1-‘\0’C.‘1’-0D.‘\0’-‘0’
6.線性結(jié)構(gòu)是數(shù)據(jù)元素之間存在一種()。
A.一對(duì)多關(guān)系B.多對(duì)多關(guān)系C.多對(duì)一關(guān)系D.一對(duì)一關(guān)系
7.if語(yǔ)句的基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表達(dá)式”值的敘述中正確的是A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值
8.有如下說(shuō)明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
9.以下敘述正確的是()。
A.表達(dá)式“sizeof(FILE*)==sizeof(int*)”的值為真
B.文件指針的值是一個(gè)整數(shù),它的值一定小于文件字節(jié)數(shù)
C.文件指針的值是所指文件的當(dāng)前讀取位置
D.使用fscanf函數(shù)可以向任意類型的文件中寫入任意數(shù)量的字符
10.若要求從鍵盤讀入含有空格字符的字符串,應(yīng)該使用函數(shù)______。A.getc()B.gets()C.getchar()D.scanf()
11.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])
B.doublefun(double*a)
C.doublefun(doublea[])
D.doublefun(doublea)
12.以下程序的輸出結(jié)果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1];a[3][0]);}
A.650B.1470C.5430D.輸出值不定
13.一個(gè)C語(yǔ)言程序總是從()開始執(zhí)行。
A.書寫順序的第一函數(shù)B.書寫順序的第一條執(zhí)行語(yǔ)句C.主函數(shù)main()D.不確定
14.設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如T=R×S,則T的元組的個(gè)數(shù)為()。A.6B.8C.9D.12
15.運(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
16.第
4
題
棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A.ABCEDB.DCBEAC.DBCEAD.CDABE
17.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是()。
A.a++;B.b++;C.c++;D.d++;
18.在學(xué)生管理的關(guān)系數(shù)據(jù)庫(kù)中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是()。
A.文件B.數(shù)據(jù)庫(kù)C.字段D.記錄
19.下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘中正確的是______。
A.數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D.數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
20.需求分析階段的任務(wù)是確定()
A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費(fèi)用D.軟件系統(tǒng)功能
二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{intp[7]={11,13,14,15,16,17,18};
inti=0,j=0;
while(i<7&&p[i]%2==1)j+=p[i++];
printf("%d\n",j);
}
22.下面程序的運(yùn)行結(jié)果是______。
#defineDOUBLE(x,y)x/y
main()
{intx=4,y=2,t;
t=DOUBLE(x+y,x-y);
printf("%d",t);
}
23.下列程序的運(yùn)行結(jié)果是______。
main()
{inta=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf("%d,%d\n",a,b);
}
24.閱讀下面程序,則程序的執(zhí)行結(jié)果為【】。
#include"stdio.h"
main()
{inta=30,b=20,z;
z=fun(a+b,a-b);
printf("%d\n",z);}
fun(inta,intb)
{intz;
z=a/b;
returnz;}
25.在軟件生命周期中,【】階段是花費(fèi)最多、持續(xù)時(shí)間最長(zhǎng)的階段。
26.下列程序的輸出結(jié)果【】。
#definePR(ar)printf("ar=%d",ar)
main()
{intj,a[]={1,3,5,7,9,1l,13,1},*p=a+5;
for(j=3;j;j--)
switch(j)
{case1:
case2:PR(*p++);break;
case3:PR(*(--p));}}
27.若有下列定義:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,則值為3的表達(dá)式為:______。
28.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
29.下面程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
30.數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為【】。
31.若a是int型變量,則下列表達(dá)式的值為______。
(a=2*3,a*2),a+4
32.下列程序執(zhí)行后輸出的結(jié)果是【】。
main()
{intarr[10],i,k=0);
fot(i=0;i<10;i++)art[i]=i;
for(i=1:i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
}
33.樹中度為零的結(jié)點(diǎn)稱為______。
34.設(shè)有下列的程序段:
charstr[]="Hello";
char*ptr;
ptr=-str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
35.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。
a=15;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
36.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指向內(nèi)存空間中,形成一個(gè)新的字符串s。請(qǐng)?zhí)羁铡?/p>
voidsstrcpy(char*s,char*t)
{while(*s++=______);}
main()
{charstr1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
}
37.若有如下程序:
main()
{ints=8,a=3,b=5,c=6;
if(a>b)s=a;a=b;b=s;
if(a>c){s=a;a=c;b=s);
if(b>c)s=b;b=c;c=s;
printf("%d,%d,%d\n",a,b,c);
}
則程序運(yùn)行后的輸出結(jié)果是【】。
38.在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
39.注釋一般分為序言性注釋和______注釋。
40.以下程序的輸出結(jié)果為【】。
#defineJFT(x)x*x
main()
{inta,k=3;
a=++JFT(k+1);
printf("%d",a);
}
三、1.選擇題(20題)41.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。
A.存儲(chǔ)在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲(chǔ)空間量C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
42.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
43.若有說(shuō)明:inta[][3]={1,2,3,4,5,6,7};則數(shù)組a第一維的大小是()。
A.2B.3C.4D.無(wú)確定值
44.
(2)
A.*sB.sC.*s++D.(*s)++
45.在軟件設(shè)計(jì)中,不屬于過(guò)程設(shè)計(jì)工具的是()。
A.PDL(過(guò)程設(shè)計(jì)語(yǔ)言)B.PAD圖C.N-S圖D.DFD圖
46.以下程序的輸出結(jié)果是______。#include<stdio>main(){inta=200;#definea100printf("%d",a);#undefaprintf("%d",a);}
A.200100B.100100C.100200D.200200
47.順序查找一個(gè)具有n個(gè)元素的線性表,二分查找一個(gè)具有n個(gè)元素的有序表,其時(shí)間復(fù)雜性為______。
A.O(n)
B.O(log2n)
C.O(n2)
D.O(nlog2n)
48.有以下程序:voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(A);for(i=0;i<5;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是()。
A.2,2,3,4,5,B.6,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,
49.在下列字符序列中,不可用做C語(yǔ)言標(biāo)識(shí)符的是()
A.student___numB.classC.#88D.month___12
50.下列描述中正確的是()。
A.在C語(yǔ)言程序中預(yù)處理是指完成宏替換和文件包含指定的文件的調(diào)用
B.預(yù)處理指令只能位于C源程序文件的首部
C.預(yù)處理命令可以放在程序中的任何位置
D.預(yù)處理命令結(jié)尾需要加分號(hào)
51.有以下程序:main(){char*p[10]={"abc","aabdfg","dcdbe","abbcf',"cd"};printf("%d\n",strlen(p[4]));}執(zhí)行后的輸出結(jié)果是______。
A.2B.3C.4D.5
52.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為()。
A.125B.n/2C.nD.n+1
53.以下程序的輸出結(jié)果是______。main(){charstr[12]={'s','t','r','i','n','g'};printf("%d/n",strlen(str));}
A.6B.7C.11D.12
54.有以下程序main(){chara,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%c\n",a,b,c,d);}若運(yùn)行時(shí)從鍵盤上輸入:6,5,65,66<回車>。則輸出結(jié)果是
A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,6
55.若有下列說(shuō)明和語(yǔ)句,則對(duì)結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。
Stmctstu
{inti;
intname;
}st,*p;
p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
56.下列程序的執(zhí)行結(jié)果是______。#include<stdio.h>unionun{inti;charc[2];};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;printf("\n%d",x.i)}
A.266B.11C.265D.138
57.有以下函數(shù)char*fun(char*p){returnp;}該函數(shù)的返回值是______。
A.無(wú)確切的值B.形參p中存放的地址值C.一個(gè)臨時(shí)存儲(chǔ)單元的地址D.形參p自身的地址值
58.下面一組中都是C語(yǔ)言關(guān)鍵字的是______。
A.doubleIntfor
B.mainwhilegoto
C.volatilebreakstatic
D.mallocsizeofnew
59.下述語(yǔ)句中,_____中的if語(yǔ)句語(yǔ)法是錯(cuò)誤的。()
A.if(x>y);
B.if(x==y(tǒng))x+=y(tǒng);
C.if(x!=y(tǒng))seanf("%d",&x)elsescanf("%d",&y);
D.if(x<y){x++;y++;}
60.下列敘述中,不屬于測(cè)試的特征的是
A.測(cè)試的挑剔性B.完全測(cè)試的不可能性C.測(cè)試的可靠性D.測(cè)試的經(jīng)濟(jì)性
四、選擇題(20題)61.以下選項(xiàng)中不屬于字符常量的是()。
A.
B.
C.
D.
62.
63.
64.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.4B.3C.1D.9
65.(42)希爾排序法屬于哪一種類型的排序法()
A.交換類排序法
B.插入類排序法
C.選擇類排序法
D.建堆排序法
66.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.a=2,b=2B.a=2,b=1C.a=1,b=1D.a=1,b=0
67.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.OB.2C.3D.5
68.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.y=OS)y=一1B.0C.y=1D.while構(gòu)成無(wú)限循環(huán)
69.若以下選項(xiàng)中的變量已正確定義,則正確的賦值語(yǔ)句是()。
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
70.以下程序的輸出結(jié)果是()。
A.678910
B.13579
C.12345
D.62345
71.
72.若有以下語(yǔ)句:typedefstructS{int9;charh;}T;以下敘述中正確的是()。
A.可用s定義結(jié)構(gòu)體變量B.可用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量
73.一棵二叉樹共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為l的結(jié)點(diǎn)數(shù)為()。
A.16B.10C.6D.4
74.
75.有以下程序
.程序運(yùn)行后的輸出結(jié)果是()。
A.6B.9C.11D.7
76.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.*****a*bB.a*bC.a*b****D.ab
77.以下關(guān)于字符串的敘述中正確的是()。
78.
79.以下敘述中正確的是()。
A.c語(yǔ)言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行
B.可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行
C.c語(yǔ)言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開始執(zhí)行、
D.main的各種大小寫拼寫形式都可以作為主函數(shù)名,如MAIN,Main等
80.
五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc的功能是:用選擇法對(duì)數(shù)組中的m個(gè)元素按從小到大的順序進(jìn)行排序。例如,排序前的數(shù)據(jù)為:1132-5214則排序后的數(shù)據(jù)為:-52111432請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#defineM20voidproc(inta[],intn){inti,j,t,P;//****found****for(j=0;j<n-1;j++);{p=j;for(i=j;i<n;i++)if(a[[i]<a[p])p=i;t=a[p];a[p]=aEj3;//****found****a[p]=t;}}voidmain{intarr[M]={11,32,-5,2,14},i,m=5;printf("排序前的數(shù)據(jù):");for(i=0;i<m;i++)printf("%d",arr[i]);printf("\n");proc(arr,m);printf("排序后的順序:");for(i=0;i<m;i++)printf("%d",arr[i]);printf("\n");}
六、程序設(shè)計(jì)題(1題)82.有一個(gè)一維數(shù)組,內(nèi)放10個(gè)學(xué)生成績(jī),寫一個(gè)函數(shù),求出平均分。
參考答案
1.D
2.B
3.A
4.C解析:這是一道考查fread函數(shù)的題。buf是一個(gè)指針,fread是讀入數(shù)據(jù)的存放地址;fwrite是輸出數(shù)據(jù)的地址(以上指的是起始地址)。
5.B字符‘\\0’為空值,其ASCII值為0,所以B選項(xiàng)的值為1。字符‘0’的ASCII值為48,所以A、C、D選項(xiàng)的值均不為1。故本題答案為B選項(xiàng)。
6.D
7.D
8.B解析:在C語(yǔ)言的數(shù)組元素的引用方法,我們?cè)谇懊嬉呀?jīng)講過(guò)了,比如數(shù)組元素a[0],可以用表達(dá)式*(p+0),即*p來(lái)引用,對(duì)于數(shù)組元素a[1],可以用表達(dá)式*(p+1)來(lái)引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對(duì)此地址使用“間接訪問(wèn)運(yùn)算符”:*(p+1)就代表存儲(chǔ)單元a[1],注意:一對(duì)圓括號(hào)不可少。同樣,對(duì)于數(shù)組元素a[2],則可以用表達(dá)式。(p+2)來(lái)引用…,對(duì)于數(shù)組元素a[9],可以用表達(dá)式,(p+9)來(lái)引用。因此,當(dāng)指針變量p指向a數(shù)組的起始地址時(shí),若0≤i<10,則數(shù)組元素a[i]可以用*(p+i)來(lái)表示。
9.A“sizeof(FILE*)=4”,因?yàn)椤癴ile*”為指針,指針變量占用字節(jié)數(shù)為4,所以“sizeof(int*)=4”,選項(xiàng)A正確。文件指針的值是地址,是一個(gè)十六進(jìn)制數(shù),它的值不一定小于文件字節(jié)數(shù),因此選項(xiàng)B錯(cuò)誤。文件指針是所指文件的當(dāng)前讀取位置,而不是文件指針的值,因此選項(xiàng)C錯(cuò)誤?!癷ntfscanf(FILE*Stream,constchar*format,[argument...]);”,fScanf函數(shù)可以向任意類型的文件寫入任意數(shù)量的數(shù)據(jù)(不能超過(guò)系統(tǒng)的緩沖區(qū)),寫文件先寫入緩沖區(qū),最后一起寫入文件,因此選項(xiàng)D錯(cuò)誤。故本題答案為A選項(xiàng)。
10.B解析:函數(shù)getchar()的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符,且只能接受—個(gè)字符(回車符也算是—個(gè)字符),所以getchar()不能用宋讀入字符串。scanf()函數(shù)要求按—定的格式來(lái)輸入,若同時(shí)輸入多個(gè)字符串,則以空格或回車分割,所以空格不能被識(shí)別為—個(gè)字符,也就無(wú)法讀入空格字符。函數(shù)gets()的作用是從終端輸入—個(gè)字符串\u3000(包括空格)至字符數(shù)組,直到遇到換行符為止,所以可以用來(lái)鍵盤讀入空格字符。
11.A由題可知fun的參數(shù)為變量,而a[15]為常量,所以答案為A。
12.A解析:對(duì)未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。
13.C
14.CC。R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是q×p。所以T的元組的個(gè)數(shù)為9個(gè)。
15.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按從大到小排序。
16.B解析:棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個(gè)元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)棧。所以出棧時(shí)一定是先出D,再出C,最后出A。
17.D解析:本題考核的知識(shí)點(diǎn)是在自加運(yùn)算符的運(yùn)算對(duì)象。自加運(yùn)算對(duì)象可以是整型變量也可以是實(shí)型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能在對(duì)d進(jìn)行自加運(yùn)算.故選項(xiàng)D是個(gè)不正確的語(yǔ)句,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
18.D解析:在關(guān)系數(shù)據(jù)表中,行稱為元組,對(duì)應(yīng)存儲(chǔ)文件中的記錄,列稱為屬性,對(duì)應(yīng)存儲(chǔ)文件中的字段,所以本題答案為D。
19.A解析:由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個(gè)應(yīng)用所共享,特別是在網(wǎng)絡(luò)發(fā)達(dá)的今天,數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)的結(jié)合擴(kuò)大了數(shù)據(jù)關(guān)系的應(yīng)用范圍。數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值,而數(shù)據(jù)的不一致性指的是同一個(gè)數(shù)據(jù)在系統(tǒng)的不同拷貝處有不同的值。
20.D解析:結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說(shuō)明書
評(píng)析,需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織,部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能.選項(xiàng)A)軟件開發(fā)方法是在總體設(shè)計(jì)階段完成的任務(wù);選項(xiàng)B)軟件開發(fā)工具是在實(shí)現(xiàn)階段需完成的任務(wù):選項(xiàng)C)軟件開發(fā)費(fèi)用是在可行性研究階段需完成的任務(wù)。
21.24
22.2
23.282,8解析:do…while語(yǔ)句的功能是:首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán)。這里程序初始時(shí)a=1,b=10,經(jīng)過(guò)操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8。
24.55解析:函數(shù)調(diào)用的時(shí)候,函數(shù)名字必須與所調(diào)用的函數(shù)名完全一致,形參與實(shí)參類型要一致,在沒有給出函數(shù)返回值類型的情況下,默認(rèn)為整形,當(dāng)返回值為整型的函數(shù)放到主函數(shù)后面時(shí),可以不需要事先說(shuō)明就調(diào)用這個(gè)函數(shù)。return既可以返回一個(gè)普通常量,也可以返回一個(gè)指針變量。
25.維護(hù)維護(hù)
26.ar=9ar=9ar=11ar=9ar=9ar=11解析:本題綜合考查了for循環(huán),switch語(yǔ)句及宏替換等幾個(gè)知識(shí)點(diǎn)。j=3時(shí),執(zhí)行PR(*(--p));輸出數(shù)組元素a[4]的值;j=2時(shí),執(zhí)行PR(*p++);取出p所指位置的元素a[4],然后p++;當(dāng)j=1時(shí),執(zhí)行PR(*p++);取得是數(shù)組元素a[6]的值11。
27.p+=2*(p++)p+=2,*(p++)解析:由題可知a[2]=3,因此只要使指針p指向a[3],然后再引用指針的值就可以了。
28.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。
29.
30.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為物理獨(dú)立性。
31.1010解析:此題考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以追回值a+4=6+4=10。
32.1212解析:本題的第一個(gè)for循環(huán)用于給數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。
33.葉子結(jié)點(diǎn)葉子結(jié)點(diǎn)解析:樹中度為零的結(jié)點(diǎn),也就是沒有后件的結(jié)點(diǎn),稱為葉子結(jié)點(diǎn)。
34.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在c語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0',所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組s仕的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
35.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)。
36.*t++或*(t++)*t++或*(t++)解析:主函數(shù)中定義了兩個(gè)字符型數(shù)組st1l和str2,并且給str2賦初值“abcdefgh”,接著調(diào)用函數(shù)sstrcpy(str1,str2),將字符串str2的值賦給str1.在函數(shù)sstrcpy(*s,*t)中,用了一個(gè)while循環(huán),每循環(huán)一次將形參指針t所指的字符賦給形參指針s所指向的存儲(chǔ)空間,然后指針s和指針t都下移到下一個(gè)元素。所以空格處應(yīng)該填*t++或*(t++)。
37.5685,6,8解析:首先要清楚當(dāng)滿足第1個(gè)if的判斷條件時(shí)只執(zhí)行一條語(yǔ)句“s=a;”,當(dāng)滿足第2個(gè)if的判斷條件時(shí)執(zhí)行一條復(fù)合語(yǔ)句“{s=a;a=c;b=s};”,當(dāng)滿足第3個(gè)if的判斷條件時(shí)只執(zhí)行一條語(yǔ)句“s=b;”。執(zhí)行程序:判斷a>b,由于a=3,b=5則3>5為假,不執(zhí)行“s=a;”,執(zhí)行“a=b;”和“b=s;”,則a=5,b=8。判斷a>c,由于a=5,c=6則5>6為假,不執(zhí)行“{s=a;a=c;b=s};”。判斷b>c,由于b=5,c=6則5>6為假,不執(zhí)行“s=b;”,執(zhí)行“b=c;”和“c=s;”,則b=6,c=8。最后輸出5,6,8。
38.中序中序解析:在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),仍然光遍歷右子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹。
39.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開頭部分,給出程序的整體說(shuō)明;功能性注釋一般嵌在源程序體之中,主要描述其后的語(yǔ)句或程序做什么,
40.99解析:本題中首先將宏替換掉,則表達(dá)式為a=++k+1*k+1=4+1*4+1=9,故最后輸出a的值為9。
41.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的物理實(shí)現(xiàn),有時(shí)也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲(chǔ)結(jié)構(gòu)則涉及到如何在計(jì)算機(jī)中通過(guò)對(duì)數(shù)據(jù)的物理存儲(chǔ)進(jìn)行組織來(lái)表達(dá)數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲(chǔ)中是利用物理存儲(chǔ)空間上的連續(xù)性來(lái)表達(dá)線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈?zhǔn)酱鎯?chǔ)中是通過(guò)指針域構(gòu)成的邏輯鏈條來(lái)表達(dá)數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對(duì)應(yīng)的物理實(shí)現(xiàn),即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不止一種。因此選項(xiàng)D正確。
42.A解析:本題考查如何通過(guò)地址來(lái)引用數(shù)組元素。通過(guò)地址來(lái)引用數(shù)組元素的方法有下列5種:
①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];⑤*(&a[0][0]+3*i+j)。
43.B解析:本題考查二維數(shù)組的定義方式。第一維的大小由以下方法判斷:
①當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大?。?/p>
②當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),則第一維的大?。核玫纳虜?shù)+1。
44.A
45.D解析:PDL一種設(shè)計(jì)性語(yǔ)言,用于書寫軟件設(shè)計(jì)規(guī)約。它是軟件設(shè)計(jì)中廣泛使用的語(yǔ)言之一。N-S圖是無(wú)線的流程圖,是算法描述工具;PAD圖是問(wèn)題分析圖,它用二維樹狀結(jié)構(gòu)的圖表示程序的控制流,將這種圖轉(zhuǎn)換為程序代碼比較容易。此3類均是過(guò)程設(shè)計(jì)工具,數(shù)據(jù)流圖(DataFunctionDiagram):又名數(shù)據(jù)功能圖表,簡(jiǎn)稱DFD,是采用圖形方式來(lái)表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過(guò)程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。
46.C解析:#define宏名的有效范圍為定義命令之后到本源文件結(jié)束,可以在程序中使用#undef命令終止宏定義的作用域。本題由于#undef的作用,使a的作用范圍在#definea100到#undefa之間,故答案為C。
47.B
48.B解析:題目中定義了一個(gè)指針變量作為函數(shù)f()的參數(shù)。主函數(shù)main()中調(diào)用f()函數(shù),當(dāng)i=0時(shí),執(zhí)行語(yǔ)句“(*q)++;”,此處*q就代表數(shù)組a[0]的地址,也即將q進(jìn)行加1操作;當(dāng)i=1時(shí),q仍指向數(shù)組元素a[0]的地址,因?yàn)樵诤瘮?shù)f()中并未對(duì)指針變量q做任何變動(dòng),即*q仍代表數(shù)組元素a[0]的值,所以此次(*q)++即為2+1,a[0]的值變?yōu)?;直到i=4時(shí),執(zhí)行(*q)++后a[0]的值變?yōu)?,最后輸出數(shù)組a的結(jié)果為6、2、3、4、5。
49.C
50.C解析:本題考查預(yù)處理命令的特點(diǎn),編譯預(yù)處理命令的特點(diǎn):①為了區(qū)別一般的語(yǔ)句,預(yù)處理命令行都必須以“#”號(hào)開始,結(jié)尾不加分號(hào);②預(yù)處理命令可以放在程序中的任何位置;③在程序中凡是以“#”號(hào)開始的語(yǔ)句行都是預(yù)處理命令行。
51.A解析:本題中p[4]='cd',所以strlen(p[4])=2。
52.CC。【解析】對(duì)線性表進(jìn)行順序查找時(shí),從表中的第一個(gè)元素開始,將給定的值與表中逐個(gè)元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個(gè)元素或查找失敗,這兩種情況都需要將這個(gè)元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。
53.A解析:在C語(yǔ)言中,字符串的長(zhǎng)度是其首字符到NULL(不含)字符的總字符個(gè)數(shù)。本題定義字符數(shù)組str的同時(shí),對(duì)第7個(gè)元素,由系統(tǒng)自動(dòng)添加上“\\0”,故字符串的長(zhǎng)度為6。
54.A解析:主函數(shù)中首先定義了4個(gè)字符變量a、b、cd,然后通過(guò)scanf()函數(shù)輸入a、b、c、d輸入中a和b是按字符格式c輸入的,c和d是按整型符號(hào)d輸入的。在看下面的printf()函數(shù)中,要求a、b、c、d都按字符輸出,故a和b原樣輸出為6、5,c和d將把與其ASCII碼對(duì)應(yīng)的字符輸出,65和66的ASCII碼對(duì)應(yīng)字符A和B,故最后的輸出為6,5,A,B。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合愿意。
55.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪問(wèn)結(jié)構(gòu)體的成員,可以通過(guò)結(jié)構(gòu)變量訪問(wèn),即st.i,也可以用等價(jià)的指針形式即(*p).i和p->i。
56.A解析:由于本題定義的是共用體,所以成員表列中的整型變量x與字符數(shù)組c共占用同一個(gè)存儲(chǔ)單元,且此存儲(chǔ)單元為2個(gè)字節(jié),通常c[0]位于低字節(jié),c[1]位于高字節(jié),所以x.i的值為266。
57.B解析:p本身就是一個(gè)字符型指針變量,返回p也就是返回變量p中存放的地址值。
58.C解析:C語(yǔ)言中的關(guān)鍵字有32個(gè)關(guān)鍵字(參見C語(yǔ)言教程),本題中只有C符合題意。
59.C
60.C解析:軟件測(cè)試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯(cuò)誤,給出程序可靠性的鑒定。它有3個(gè)方面的重要特征,即測(cè)試的挑剔性、完全測(cè)試的不可能性及測(cè)試的經(jīng)濟(jì)性。其中沒有測(cè)試的可靠性這一說(shuō)法。注意:軟件測(cè)試與軟件調(diào)試的概念,以及相應(yīng)的方法。
61.A在c語(yǔ)言程序中,用單引號(hào)把一個(gè)字符或反斜線后跟一個(gè)特定的字符括起來(lái)表示一個(gè)字符常量。選項(xiàng)B)、c)和D)為正確的字符常量,而選項(xiàng)A)是用雙引號(hào)括起來(lái)的字符,表示一個(gè)字符串常量。
62.D
63.D
64.A每次內(nèi)循環(huán)只循環(huán)一次就結(jié)束,第一次外循環(huán)時(shí)t=t+b[o][b[o][0]]=1+h[0][O]-1+0=1;第二次外循環(huán)時(shí)t=t“[l][b[1][1]]-1+b[1][l]-1+1=2;第三次外循環(huán)時(shí)t=t+b[2][b[2][2]]=2+b[2][2]=2+2=4。故本題答案為A)。
65.B
66.BC88e常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是該處進(jìn)行條件判斷。在執(zhí)行switch語(yǔ)句時(shí),根據(jù)switch的表達(dá)式,找到與之匹配的Case語(yǔ)句,就從此case子句執(zhí)行下去,不在進(jìn)行判斷,直到碰到break或函數(shù)結(jié)束為止。所以執(zhí)行內(nèi)層switch(y)時(shí)只執(zhí)行了a++,此時(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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- emc買斷合同范本
- 代款合作合同范本
- 2025年抗風(fēng)濕類藥品合作協(xié)議書
- 合同范本網(wǎng)翻譯
- 合同范本全是正式合同
- 雙方交付款合同范例
- 2025年分離純化控制系統(tǒng)項(xiàng)目合作計(jì)劃書
- 中英日文合同范本
- 合同范本模板去石墻
- 叉車置換銷售合同范本
- 陳獨(dú)秀生平事跡
- 2024年人教版初三數(shù)學(xué)(下冊(cè))模擬試卷及答案(各版本)
- 《大學(xué)美育》高職全套教學(xué)課件
- 醫(yī)院CT機(jī)房裝飾改造工程施工組織設(shè)計(jì)
- 軟件工程自考02333重點(diǎn)難點(diǎn)匯集
- 護(hù)理技能操作案例分析
- DZ∕T 0213-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 石灰?guī)r、水泥配料類(正式版)
- 《行政倫理學(xué)教程(第四版)》課件 張康之 第8-13章 行政組織倫理-技術(shù)時(shí)代的行政倫理
- 《水電廠應(yīng)急預(yù)案編制導(dǎo)則》
- GB/T 2471-2024電阻器和電容器優(yōu)先數(shù)系
- 國(guó)際安保行業(yè)分析
評(píng)論
0/150
提交評(píng)論