版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2021年廣東省清遠市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運行后的輸出結果是______。A.2,3,3B.2,3,2C.2,3,1D.2,2,1
2.在一個鏈式隊列中,假設f和r分別為隊頭和隊尾指針,則插入S所指結點的運算是()。
A.f->next=s;f=s;
B.r->next=s;r=s;
C.S->next=rr=s;
D.r->next=f;f=s;
3.設有如下定義語句:intm[]={2,4,6,8,10},*k=m;以下選項中,表達式的值為6的是()。
A.*(k+2)B.k+2C.*k+2D.*k+=2
4.具有10個葉子結點的二叉樹中有()個度為2的結點。
A.8B.9C.10D.11
5.要求當A的值為奇數(shù)時,表達式的值為“真”,A的值為偶數(shù)時,表達式的值為“假”,以下不滿足要求的表達式是()。A.A%2==1B.!(A%2==0)C.A%2D.!(A%2)
6.設有關鍵碼初始化序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P,A,M,Q,R,S,Y,X}是采用()方法對初始序列精細第一堂排序的結果。
A.直接插入排序B.二路歸并排序C.快速排序D.基數(shù)排序
7.假設線性表的長度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為
A.log2nB.n2C.O(n1.5)D.n(n-1)/2
8.是哈希查找的沖突處理方法()。
A.求余法B.平均取中法C.二分法D.開放地址法
9.設有定義:“inta=1,b=2,C=3;”,以下語句中執(zhí)行效果與其他三個不同的是()。
A.if(a>b)c=a,a=b,b=C;
B.if(a>b){c=a,a=b,b=C;}
C.if(a>b)c=a;a=b;b=C;
D.if(a>b){c=a;a=b.b=C;)
10.以下關于字符串的敘述中正確的是()。
A.C語言中有字符串類型的常量和變量
B.兩個字符串中的字符個數(shù)相同時才能進行串符串大小的比較
C.可以用關系運算符對字符串的大小進行比較
D.空串一定比空格打頭的字符串小
11.以下選項中是非轉(zhuǎn)義字符的是()。
A.‘\d’B.‘\t’C.‘\b’D.‘\r’
12.下列程序的輸出結果是()。#include<stdio.h>main{inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1;case2:a+=2;default:a+=3;}}printf("%d",a);}A.19B.1C.6D.8
13.若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是()。
A.x+1=yB.++x,y=x--C.x=x+10=x+yD.double(x)/10
14.下述哪一個是順序存儲結構的優(yōu)點()。
A.存儲密度大B.插入運算方便C.刪除運算方便D.可方便地用于各種邏輯結構的存儲表示
15.在下列定義語句中,編譯時會出現(xiàn)編譯錯誤的是()。
A.chara=‘\x2d’;B.chara=‘\n’;C.chara=‘a(chǎn)’;D.chara=“aa”;
16.以下敘述中錯誤的是()。
A.通過指針變量存取某個變量值的方式稱為“直接存取”方式
B.在程序的開頭包含頭文件stdio.h后,可以給指針變量賦NULL值
C.將一個指針變量中的值賦給另一個指針變量,則這兩個指針變量指向同一地址
D.C語言中函數(shù)返回值的類型可以是簡單的數(shù)據(jù)類型,也可以是指針類型
17.C語言中的變量只能由字母、數(shù)字和下劃線組成,且第一個字符()。
A.必須是字母B.必須是下劃線C.必須是下劃線和字母D.可以是字母.數(shù)字或下劃線中任一一種
18.
19.串是一種特殊的線性表,其特殊性體現(xiàn)在()。
A.可以順序存儲B.數(shù)據(jù)元素是一個字符C.可以鏈接存儲D.數(shù)據(jù)元素可以是多個字符
20.設有定義“intx[2][3];”,則以下選項中不能表示數(shù)組元素x[0][1]的是()。
A.*(*x+1)B.*(*(x+1)C.(*x)[1]D.*(&x[0][0]+1)
二、2.填空題(20題)21.常用的黑箱測試有等價分類法、【】、因果圖法和錯誤推測法4種。
22.設有以下定義和語句,則*(*(p+2)+1)的值為【】。
inta[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
23.下列程序中的數(shù)組a包括10個整數(shù)元素,分別將前項和后項之和存入數(shù)組b,并按每行4個元素輸出數(shù)組b。請?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];
}
}
24.以下程序運行后的輸出結果是______。
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);
}
25.以下程序運行后的輸出結果是【】
#include<stdio.h>
main()
{chara[]="123456789",*p;
inti=0;
p=a;
while(*p)
{if(i%2==0)*p='*';
p++;i++;
}
puts(a);
}
26.下面函數(shù)的功能是:找出一維數(shù)組元素中最大的值和它所在的下標,最大的值和它所在的下標通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個數(shù),max存放最大值,index存放最大值所在元素的下標。請?zhí)羁铡?/p>
#include<stdlib.h>
#include<stdio.h>
voidfun(inta[],intn,int*max,int*d)
{intI;
*max=a[0];
*d=0;
for(I=0;【】;I++)
if(*max<【】)
{*max=a[I];*d=i;}}
main()
{inti,x[20],max,index,n=10;
randomize();
for(i=0;i<n;i++)
{x[i]=rand()%50;printf("%4d",x[i]);}
printf("\n");
fun(x,n,&max,&index);
printf("Max=%5d,Index=%4d\n",max,index);}
27.下面程序的運行結果是【】。
#include<stdio.h>
#defineSIZE12
main()
{chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+321;
sub(s,7,SIZE-1);
for(i=0;i<SIZE;i++)printf("%c",s[i]);
printf("\n");}
sub(char*a,intt1,intt2)
{charch;
while(t1<t1)
{ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;}}
28.以下程序運行時若從鍵盤輸入:102030<回車>。輸出結果是【】。
#include<stdio.h>
main()
{
inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
29.下列程序執(zhí)行后輸出的結果是【】。
f(inta)
{staticc=0;
c=a+c++;
return(c);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
prinf("%d\n",k);
}
30.下述函數(shù)通過遞歸方法將字符串倒置,使用時需要指定字符數(shù)組的首地址、起始下標和終止下標。請?zhí)羁眨?/p>
#include<stdio.h>
voidfun(char*s,intlow,inthigh)
{if(【】)
return;
else
{chart;
fun(【】);
t=s[low];
s[low]=s[high];
s[high]=t;}}
31.【】是從二維表列的方向進行的運算。
32.在對文件進行操作的過程中,若要求文件的位置指針重新指向文件的開頭,應當調(diào)用的函數(shù)是【】函數(shù)。
33.以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當前文件位置指針的具體位置,從而確定文件長度,請?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,(),SEEK_END;f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
34.下列二維數(shù)組初始化語句中,正確且與語句floata[][3]={0,3,8,0,9};等價的是
35.診斷和改正程序中錯誤的工作通常稱為【】。
36.一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【】。
37.請選出以下程序的輸出結果#include<stdio.h>main(){inta[]={1,2,3,4},i;intx=0;for(i=0;i<4;i++){sub(a,x);Printf("%d",x);}printf("\n");}sub(S,y)int*s,y;{staticintt=3;y=s[t];t--;}
38.以下程序的輸出結果是【】。
main()
{inta=0;
a+=(a=8);
printf("%d\n",A);
}
39.對于一棵具有n個結點的樹,該樹中所有結點的度為【】。
40.以下程序用來統(tǒng)計文件中字符的個數(shù)。請?zhí)羁铡?/p>
#include“stadio.h”
main()
{FILE*fp;longnum=0L;
if((fp=fopen(“fname.dat”,“r”))==NULL);
{printf(“0penerror\n”);exit(0);}
while(【】)
{fsetc(fp);num++;}
printf(“num=%1d\n”,num-1);
fclose(fp);
}
三、1.選擇題(20題)41.有以下程序:#include<stdio.h>voidfun(char*c,intD){*c=*c+1;d+=1;printf("%c,%c",*c,D;}main(){chara='F',b='f';fun(&b,A);printf("%c,%c\n",a,B);}程序的輸出結果為()。
A.g,GF,gB.g,FF,gC.G,fF,GD.f,gf,g
42.算法的空間復雜度是指()。
A.算法程序的長度B.算法程序中的指令條數(shù)C.算法程序所占的存儲空間D.算法執(zhí)行過程中所需要的存儲空間
43.先用以下語句定義字符型變量:charc;然后要將字符a賦給變量c,則下列語句中正確的是()
A.c='a';B.c="a";C.c="97";D.c='97'
44.若有下列定義(設int類型變量占2個字節(jié)):inti=8,j=9;則下列語句:printf("i=%u,j=%x\n",i,j);輸出的結果是()。
A.i=8,j=9B.8.9C.89D.i=8,j=8
45.有下列二叉樹,
對此二叉樹前序遍歷的結果為()。
A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI
46.下列選項中不符合良好程序設計風格的是A.源程序要文檔化B.數(shù)據(jù)說明的次序要規(guī)范化C.避免濫用goto語句D.模塊設計要保證高耦合、高內(nèi)聚
47.設有下列語句inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,C的值為()。
A.6B.7C.8D.9
48.下面語句的輸出結果是______。printf("%d\n",strlen("\t\"\065\xff\n"));
A.14B.8C.5D.輸出項不合法,無正常輸出
49.下列程序的輸出結果是______。main(){floatx=3.6;inti;i=(int)x;printf("x=%f,i=%d",x,i);}
A.x=3.600000,i=4B.x=3i=3C.x=3.600000,i=3D.x=3i=3.600000
50.以下敘述中錯誤的是A.gets函數(shù)用于從終端讀入字符串
B.getchar函數(shù)用于從磁盤文件讀入字符
C.fputs函數(shù)用于把字符串輸出到文件
D.fwrite函數(shù)用于以二進制形式輸出數(shù)據(jù)到文件
51.以下程序的輸出結果是______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;printf("%d%d%d",a[a],a[5],a[8]);}
A.258B.741C.852D.369
52.以下4個選項,不能看作一條語句的是()。
A.{;}B.intx=0,y=1,z=0;C.if(!A);D.if(b==0)m=1;n=2;
53.已有定義int(*q)(),指針q可以()。
A.指向函數(shù)的入口地址B.代表函數(shù)的返回值C.表示函數(shù)的類型D.表示函數(shù)返回值的類型
54.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()
A.便于用戶,開發(fā)人員進行理解和交流
B.反映出用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據(jù)
C.作為確認測試和驗收的依據(jù)
D.便于開發(fā)人員進行需求分析
55.下列程序的輸出結果是()。#include<stdio.h>main(){inta=4printf("%d\n",(a+=a-=a*A));}
A.-8B.14C.0D.-24
56.請讀程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若運行時從鍵盤上輸入9876543210,↓,則上面程序的輸出絡果是_______。
A.a=98,b=765,c=4321
B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000
D.a=98,b=765.0,c=4321.0
57.下列選項中,合法的C語言關鍵字是______。
A.VARB.cherC.integerD.default
58.兩次運行下面的程序,如果從鍵盤上分別輸入3和2,則輸出結果是()。#include<stdio.h>main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);elseprintf(“%d\n",x--);}
A.4和3B.4和2C.4和1D.3和2
59.以下合法的十六進制數(shù)是()。
A.0xB.0x4deC.0x1hD.oX77
60.如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是()
A.e3,e1,e4,e2B.e2,e4,e3,e1C.e3,e4,e1,e2D.任意順序
四、選擇題(20題)61.若有以下程序
#include<stdio.h>
voidf(intn);
main()
{voidf(intn);
f(5);
}
voidf(intn)
{printf("%d\n",n);}
則以下敘述中不正確的是
A.若只在主函數(shù)中對函數(shù)f進行說明,則只能在主函數(shù)中正確調(diào)用函數(shù)f
B.若在主函數(shù)前對函數(shù)f進行說明,則在主函數(shù)和其他函數(shù)中都可以正確調(diào)用函數(shù)f
C.對于以上程序,編譯時系統(tǒng)會提示出錯信息:對f函數(shù)重復說明
D.函數(shù)f無返回值,所以,可用void將其類型定義為無返回值型
62.下列敘述中正確的是()。
A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化
D.上述三種說法都不對
63.有以下程序:
程序的運行結果是()。
A.0B.9C.6D.8
64.設intx=7,則~x的值是()。
A.-8B.7C.-1D.1
65.若有定義語句:intm[]={1,2,3,4,5},i=4;,則下面對m數(shù)組元素的引用中錯誤的是
A.m[++i]B.m[1*2]
C.m[m[0]]D.m[m[--i]]
66.源程序的文檔不包括()。
A.符合號名的命名要有實際意義B.正確的文檔形式C.良好的視覺組織D.正確的程序注釋
67.有以下計算公式:
若程序前面已在命令行中包含math.h文件,不能夠正確計算上述公式的程序段是
([answer]
68.
69.在深度為7的滿二叉樹中,葉子結點的個數(shù)為______。A.32B.31C.64D.63
70.
71.
72.
73.
74.瀏覽器中用于負責向用戶顯示數(shù)據(jù)的是()。
A.WWWB.IP地址C.HTMLD.DNS
75.下列能正確進行字符串賦值的是()。A.A.chars[5]={”ABCI)E”);
B.chars[5]={'A','B','C','D','E'};
C.char*s;s="ABCDE";
D.char*s;printf("%S",s);
76.
77.以下()不是標準的HTTP消息頭字段。
A.StatusB.HostC.AcceptD.Referer
78.
79.在數(shù)據(jù)管理技術的發(fā)展過程中,先后經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)管理階段。其中數(shù)據(jù)獨立性最高的階段是
A.數(shù)據(jù)庫系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項管理
80.有下列程序:
main()
{char*P[]={"3697","2584");
inti,j;longnum=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=\0)
{if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;
j+=2;
}
}
printf("%d\n",num);
}
程序執(zhí)行后的輸出結果是()。
A.35B.37C.39D.3975
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:判斷一個整數(shù)m是否是素數(shù),若是返回1,否則返回0。在main()函數(shù)中,若proc()返回1,則輸出″YES″;若proc()返回0,則輸出″NO″!
請修改程序中的錯誤,使它能得出正確的結果。
注意:不要改動main)函數(shù),不得增行或刪行,也不得,t更改程序的結構。
試題程序:
六、程序設計題(1題)82.某學生的記錄由學號、8門課程成績和平均分組成,學號和8門課程的成績已在主函數(shù)中給出,請編寫函數(shù)fun,其功能是:求出該學生的平均分,并放人記錄的ave成員中。
例如,學生的成績是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應為78.875。注意:部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun部位中填入你編寫的若干語句。
參考答案
1.C解析:x++:表示在使用x之后,使x的值加1;y++:表示在使用y之后,使y的值加1;++y:表示在使用y之前,使\u3000y的值加1。此題中執(zhí)行z=x++,是將x的值先賦給z,所以z=1,接下來x自行加1,其結果為2:執(zhí)行y++后,y=2,執(zhí)行++后,y=3;故答案選C。
2.B
3.A本題考查數(shù)組和指針,*k指針是指向rn數(shù)組的首地址,所以要使表達武的值為6,只需要指針指向第m[2],所以答案選擇A。-
4.B
5.D
6.C
7.D解析:假設線性表的長度為n,則在最壞情況下,冒泡排序要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。
8.D
9.C本題判斷結果。選項A中,如果(a>b),則執(zhí)行“c=a,a=b,b=c”這個語句(注意分號的位置,如果條件成立,將會執(zhí)行第一個分號前的語句),顯然if不成立,則a,b,C原樣輸出。選項B和選項D是同理,而選項C因為條件不成立,則不執(zhí)行第一條語句“c=a”,接著執(zhí)行“a=b”,將b的值賦給a,a的值為2;“b=C”,b的值為3,C的值原樣輸出,結果為2,3,3。
10.D解析:C語言中只有字符串常量而沒有字符串變量,故選項A不正確:字符串比較大小是以第1個不相同字符的大小為標準的,跟長度沒有關系,故選項B不正確:字符串比較大小除了使用庫函數(shù)stremp()以外,就只能靠自己寫代碼來實現(xiàn)了,而不能通過關系運算符來比較大小,因為字符串在表達式中相當于coostchar*,即常字符指針,代表的是字符串的首地址,關系運算符會將兩個字符串的首地址值比較大小,這是毫無意義的。所以選項C也不正確??沾拈L度為0,而以空格打頭的字符串的長度至少為1,故選項D正確,本題應該選擇D。
11.AC語言中,轉(zhuǎn)義字符又稱反斜線字符,這些字符常量總是以一個反斜線開頭后加一個特定的字符。題干中,‘\\t’表示橫向跳若干格,‘\\b’表示退格符,‘\\r’表示回車符,選項B、C、D正確,選項A錯誤。故本題答案為A選項。
12.A本題考查switch語句。當i一1時,執(zhí)行case1,因為沒有遇到break語句,所以依次往下運行,“a=a+2=2,a=a+3=5”;當i=2時,執(zhí)行case2,因為沒有遇到break語句,所以依次往下執(zhí)行,“a=a+2=7,a=a+3=10”;當i=3時,執(zhí)行case3,a=a+1=11,因為沒有遇到break語句,所以依次往下運行,a—a+2—13,a—a+3一l6:當i=4時,執(zhí)行default,a=a+3=19,結束循環(huán)。
13.B不能將變量賦給表達式,故A、C選項錯誤。D選項中強制類型轉(zhuǎn)換表達式應寫成“(double)x/10”。故本題答案為B選項。
14.A
15.DD選項中將字符串常量“aa”賦給字符變量a是錯誤的。故本題答案為D選項。
16.A通過指針變量存取某個變量值的方式稱為“間接存取”方式,選項A錯誤;頭文件stdio.h中定義了NULL,在程序的開頭包含stdio.h后,可以給指針變量賦NULL值,表示一個空指針,選項B正確;將一個指針變量中的值賦給另一個指針變量,這兩個指針變量指向同一地址,選項C正確;C語言中函數(shù)返回值的類型可以是簡單的數(shù)據(jù)類型,也可以是指針類型,選項D正確。故本題答案為A選項。
17.C
18.D
19.B
20.B選項A中*x等價于x[0],*x+1等價于x[0]+1,*(x[0]+1)等價于x[0][1],正確;選項B中,*(x+1)等價于x[1],*(*(x+1))等價于x[1][0],錯誤;選項C中,*x等價于x[0],(*x)[1]等價于x[0][1],正確;選項D中,&x[0][0]等價于x[0],&[0][0]+1等價于x[0]+1,*(x[0]+1)等價于x[0][1],正確。故本題答案為B選項。
21.邊值分析法邊值分析法解析:本題考查了黑箱測試的方法。黑箱測試方法完全不考慮程序的內(nèi)部結構和內(nèi)部特征,而只是根據(jù)程序功能導出測試用例。常用的黑箱測試有等價分類法、邊值分析法、因果圖法和錯誤推測法。
22.6060解析:程序中定義a是一個3行2列的二維數(shù)組,p是指向兩個元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。
23.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]小即可實現(xiàn)將一個數(shù)組的前項和后項之和存入另一數(shù)組。
24.24
25.*2*4*6*8**2*4*6*8*解析:程序中指針p指向數(shù)組a,while(*P)語句的循環(huán)條件是*p!=\'\\0\',在循環(huán)體中,當i=0,2,4,6,8時,i%2=0,執(zhí)行*p=\'*\',即a[i]=\'*\',繼續(xù)執(zhí)行p++;i++;使i為奇數(shù);當i=1,3,5,7時,i%2=1,繼續(xù)執(zhí)行p++;i++;使i為偶數(shù)??梢?,程序在字符串'123456789',的下標為偶數(shù)的位置上賦值\'*\',代替原字符串中的1,3,5,7,9。所以,程序輸出結果為*2*4*6*8*。
26.I<na[I]I<n,a[I]解析:該程序直接使用形參max和d,由于它們都是指針變量,所以要引用它們所指向的變量時,要對它們進行指針運算,即*號運算。
27.abcdefglkjihabcdefglkjih解析:本題主要考查了字符變量可參與的運算。因為字符在計算機中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來處理,如參與算術運算等,某字符的大寫字母的ASCII碼值比它對應的小寫字母ASCII碼值小32。
28.1030010300解析:本題的scanf()函數(shù)要求用戶輸入三個十進制整數(shù),但只接受第一和第三個到函數(shù)的第二和第三個參數(shù)所指的內(nèi)存地址中。所以本題的輸出為:10300。
29.77解析:在程序執(zhí)行時,static變量僅初始化一次,下次使用時將使用上次保存的值。
30.low>=highscow+1high-1low>=high\r\ns,cow+1,high-1解析:本題考查了用指針引用一維數(shù)組元素的方法。函數(shù)fun()通過遞歸調(diào)用的方式將字符串的首位和末位互換,第二位和倒數(shù)第二位互換……,從而實現(xiàn)了字符串倒置的功能。low和high是字符數(shù)組的下標。
31.投影投影解析:在關系模型的數(shù)據(jù)語言中,一般除了運用常規(guī)的集合運算,(并、交,差、笛卡爾積等)外,還定義了一些專門的關系運算,如投影、選擇、連接等。投影是從二維表的列方向上進行的運算。
32.rewind或fseekrewind或fseek解析:本題考查文件的定位。在對文件進行操作的過程中,若要求文件的位置指針回到文件的開頭,可以調(diào)用rewind函數(shù)或fseek函數(shù)來完成。其中,rewind函數(shù)的作用是將位置指針重新返回文件的開頭;而fseek函數(shù)也可以實現(xiàn)文件指針的定位。
33.fopenfopen解析:C語言中的文件分為:ASCII文件與二進制文件。文件在使用前打開,使用后要關閉。打開文件的函數(shù)為:fopen(),調(diào)用形式為:fp=fopen(“文件名”,“使用文件方式”);關閉文件的函數(shù)為:fclose(),調(diào)用形式為:fclose(fp);其中fp為文件指針。
34.B
35.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務是診斷和改正程序中的錯誤。程序調(diào)試與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯誤。先要發(fā)現(xiàn)軟件的錯誤,然后借助于調(diào)試工具找出軟件錯誤的具體位置。軟件測試貫穿整個軟件生命期,而調(diào)試主要在開發(fā)階段。
36.可重用性繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結構,從而大大減少了程序中的冗余,提高軟件的可重用性。
37.C
38.1616解析:在程序中首先將8賦值給變量a,然后在進行復合賦值運算。即a=a+a=8+8=16,所以該空格處應該填16。
39.n-1n-1解析:設該樹中所有結點的度為x,因為,在樹的結點中,除了根結點以外,其余結點都有一個分支進入,所以,n=x+1,所以x=n-1。
40.!feof(fP)!feof(fP)解析:統(tǒng)計文件中字符個數(shù)的算法可描述如下:首先判斷文件位置指針是否指向了文件尾,如果不是則讀出一個字符,同時字符的個數(shù)加1,再判斷文件位置指針是否位于文件尾,如此循環(huán),直到文件位置指針位于文件尾為止。本題首先以讀文件的方式打開了文件“fname.dar”,如果打開成功則把返回的文件型指針賦值給fp,然后通過循環(huán)求文件中的字符數(shù)。首先判斷文件位置指針是否位于文件尾,如果不是則循環(huán)讀取字符,每次字符數(shù)加1。所以下劃處應填循環(huán)條件,文件位置指針不是指向文件尾,即“!feof(fp)”。
41.A
42.D【解析】算法的空間復雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行中所需要的額外空間。其中額外空間包括算法程序執(zhí)行過程中的工作單元以及某種數(shù)據(jù)結構所需要的附加存儲空間。如果額外空間量相對于問題規(guī)模來說是常數(shù),則稱該算法是原地工作的。在許多實際問題中,為了減少算法所占的存儲空間,通常采用壓縮存儲技術,以便盡量減少不必要的額外空間。
43.A
44.A解析:本題考查函數(shù)printf()的格式?!?x”表示以十六進制輸出整型數(shù)據(jù);“%u”表示以十進制無符號型輸出整型數(shù)據(jù)。printf函數(shù)中格式說明符之前插入的任何字符都原樣輸出。
45.C解析:對二叉樹的前序遍歷是指先訪問根結點,然后訪問左子樹,最后訪問右子樹,并且,在訪問左、右子樹時,先訪問根結點,再依次訪問其左、右子樹。
46.D解析:編程風格是在不影響性能的前提下,有效地編排和組織程序,以提高可讀性和可維護性。更直接地說,風格就是意味著要按照規(guī)則進行編程。這些規(guī)則包括:(1)程序文檔化。就是程序文檔包含恰當?shù)臉俗R符、適當?shù)淖⒔夂统绦虻囊曈X組織等。(2)數(shù)據(jù)說明。出于閱讀理解和維護的需要,最好使模塊前的說明語句次序規(guī)范化。此外,為方便查找,在每個說明語句的說明符后,數(shù)據(jù)名應按照字典順序排列。(3)功能模塊化。即把源程序代碼按照功能劃分為低耦合、高內(nèi)聚的模塊。(4)注意goto語句的使用。合理使用goto語句可以提高代碼的運行效率,但goto語句的使用會破壞程序的結構特性。因此,除非確實需要,否則最好不使用goto語句。因此,本題的正確答案是D。
47.D解析:變量b的初值等于2,所以表達式b<<2表示b的值二進制左移兩位,即擴大4倍,所以變量b的等于8。然后與a的值1進行異或運算,得9。
48.C解析:在C語言中,以“\\”開頭的字符均為轉(zhuǎn)義字符,其中“\\”后可跟1~3位八進制數(shù)或在“\\”后跟字母x及1~2位十六進制數(shù),以此來代表一個特定的字符。
49.C
50.B其中B選項的getchar函數(shù)用于從終端讀入字符。故本題答案為B選項。
51.C解析:在本題運行時主要注意的是當i=9時,a[i]=10-9=1;i=8時,a[i]=10-8=2;i=7時,a[i]=10-7=3;……依此類推,直到i=0時,a[i]=10-0=10;此時,i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。
52.D語句是用來判定所給的條件是否滿足,根據(jù)判定的結果(真或假)決定執(zhí)行給出的兩種操作之一。在if和else后面可以只含一個內(nèi)嵌的操作語句,也可以有多個操作語句,此時用花括號“{}”將幾個語句括起來成為一個復合語句。選項D)中沒有將兩個操作語句括起來,不能看作一條語句。
53.A解析:本題考查的是指向函數(shù)的指針。函數(shù)指針的定義方式是:類型標識符(*指針變量名)()。其中,“類型標識符”為函數(shù)返回值的類型;“指針”指向函數(shù)的入口地址。
54.D解析:軟件需求規(guī)格說明書SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個方面的作用,①便于用戶、開發(fā)人員進行理解和交流;②反映出用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據(jù);③作為確認測試和驗收的依據(jù)。
55.D解析:表達式a+=a-=a*a看起來復雜,其實將它分成兩個表達式來計算就簡單了:①第一個表達式(a-=a*a)=(a=a-a*a=-12);②第二個表達式(a+=a-=a*a)=(a=a+a=-24)。
56.C解析:scanf()把用戶從鍵盤錄入的數(shù)字第1、2位存入整型變量a;把第3、4、5位存入單精度實型變量b,把第6、7、8、9位存入單精度實型變量c,用戶錄入的第10位被scanf()遺棄。這時變量a、b、c的值分別為:98、765.000000、4321.0000000。
57.D解析:選項A中的VAR不是C語言中關鍵字,故選項A不正確:選項B中cher,應改char,char才是C語言中的關鍵字,故選項B不正確;選項C中integer在C語言中簡化為int,這里應該將integer改為int,int才是C語言中的關鍵字,選項D中default為C語言中默認的關鍵字,故選項D正確。所以,4個選項中選項D符合題意。
58.A解析:本題考查if-else語句。首先,scanf函數(shù)通過鍵盤讀入x的值。當x=3時,第一個if語句先判斷條件,取x的值3和2比較,然后將x的值加1,if條件成立,執(zhí)行下面的printf語句,輸出x的值4。當x=2時,第一個if語句先判斷條件,先取x的值2和2比較,然后將x的值加1(x的值變?yōu)?),if條件不成立,執(zhí)行下面的else語句,先輸出x的值3,再將x的值減1。
59.B解析:考查十六進制數(shù)的表示方法。十六進制數(shù)以0x開頭,后面跟著若干位1f的數(shù),所以正確答案為B)。整形常量、實型常量和字符型常量的合法性判斷。
60.B解析:由?!昂筮M先出”的特點可知:A中e1不可能比e2先出,C中e3不可能比e4先出,且e1不可能比e2先出,D中棧是先進后出的,所以不可能是任意順序。所以B是正確的。它執(zhí)行的順序是:e1進?!鷈2進棧→e2出?!鷈3進?!鷈4進棧→e4出?!鷈3出棧→e1出棧,所以只看出棧序列應為e2,e4,e3,e1。
61.C本題主要考查函數(shù)說明的位置及調(diào)用。
函數(shù)的說明有時可以缺省,在缺省時,必須先被定義后被調(diào)用。函數(shù)說明的位置可以是所有函數(shù)定義的外部,也可以是某一函數(shù)內(nèi)部,對于后者,函數(shù)說明的作用域?qū)⒈幌拗圃谠摵瘮?shù)定義內(nèi)部。函數(shù)說明是一條獨立的語句,其中<形式參數(shù)>部分可以省略。當函數(shù)在調(diào)用時,如果實參的數(shù)據(jù)類型與函數(shù)說明中對應的形參數(shù)據(jù)類型不兼容,C語言將不能編譯通過。不管函數(shù)被說明在哪里,我們需要注意的是:函數(shù)在被調(diào)用前必須先被說明或定義。
在本題中,程序首先說明了一個無返回值的函數(shù)f,然后在主函數(shù)中又說明了這個函數(shù)f,接著調(diào)用這個函數(shù),雖然函數(shù)被重復說明,但其符合先說明后調(diào)用的規(guī)定。程序執(zhí)行時,編譯系統(tǒng)不報錯。
根據(jù)上面的分析我們可以知道,本題四個選項中,描述不正確的是C,雖然函數(shù)被重復說明,但編譯系統(tǒng)不報錯。其他說法都正確。因此本題答案選C。
62.C棧是限定在一端進行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。當有新元素進棧時,棧頂指針向上移動;當有元素出棧時,棧頂指針向下移動。在棧中棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化。
63.C函數(shù)intf(intx)是一個遞歸函數(shù)調(diào)用,
64.A本題主要考查按位求反運算和C語言正負數(shù)的表示,“O”代表正數(shù),“1”代表負數(shù);x=7的二進制為00111,第一個0代表正數(shù),~x為11000,第一個l代表負數(shù),值為8。
65.A本題考查一維數(shù)組的引用。一維數(shù)組表示為數(shù)組名[下標],下標可以是整型常量或整型表達式,題目中給出的四個選項,在格式上都是正確的。A選項中,首先進行++i運算,運算的結果為5,而該數(shù)組初始化后有效取值范圍為m[0]~m[4],m[5]不存在,引用錯誤。B選項引用的是m[2]中的數(shù)值3。C選項先計算m[0]中的數(shù)據(jù),得到1,隨后計算m[1]中的數(shù)值,可得2。D選項先計算m[--i],得到m[3]中的數(shù)據(jù)4,隨后計算m[4]中的數(shù)值,可得5。
66.B本題主要考查源程序的定義:①符號名應具有一定實際的含義;②正確的程序注釋;③良好的視覺組織。
67.B從本題給出的計算公式我們可以看出,這個公式的作用是:無論變量x的值是大于零或小于零,都取其絕對值。知道公式的作用后,再分析選項。
在選項A中,當變量x的值小于0時,對其取絕對值操作,而當變量x的值大于0時,取其本身,與公式描述的內(nèi)容完全一致。
在選項B中,首先對變量x進行取絕對值操作,將結果賦值給變量y,然后當x小于0時,將小于0的x重新賦值給變量y,使變量y中含有賦值,與公式描述的內(nèi)容不一致。
在選項C中,如果變量x的值大于等于0,則將其值賦給變量y,否則,當x的值小于0時,取反再賦值給變量y,這也相當于取絕對值,能正確表示公式的內(nèi)容。
在選項D中,與選項C所表述的意思完全一樣,能正確表示公式的內(nèi)容。
68.B
69.C在滿二叉樹中每層的結點數(shù)都達到最大值,而且葉子結點全部出現(xiàn)在最底層。第l層(根結點所在的層)有20個結點,第2層有21個結點,……第n層有2n-1個結點。在深度為7的滿二叉樹中,第7層有27-l=64個結點(全部是葉子結點)、在深度為7的滿二叉樹中,共有27—1=127個結點、因此本題的正確答案是C
70.B
71.A
72.B
73.A
74.C
75.C選項A、B的空間不夠;字符串存儲要有結束符'\0',且要占用一個空間,printf用來輸出字符,不能輸入字符串。
76.B
77.A
78.C
79
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年安徽工業(yè)職業(yè)技術學院單招職業(yè)技能考試備考試題含詳細答案解析
- 2026中國歌劇舞劇院招募舞蹈演員(實習生)參考考試題庫及答案解析
- 2026年廣西交通職業(yè)技術學院單招職業(yè)技能考試模擬試題含詳細答案解析
- 2026年貴州工貿(mào)職業(yè)學院高職單招職業(yè)適應性測試備考試題及答案詳細解析
- 2026年江西交通職業(yè)技術學院單招綜合素質(zhì)考試模擬試題含詳細答案解析
- 2026年長春師范高等??茖W校單招綜合素質(zhì)筆試模擬試題含詳細答案解析
- 2026年重慶護理職業(yè)學院單招職業(yè)技能考試參考題庫含詳細答案解析
- 2026年石家莊郵電職業(yè)技術學院單招綜合素質(zhì)筆試參考題庫含詳細答案解析
- 2026年黑河北安市鐵南街道辦事處公開招聘公益性崗位人員1人考試重點試題及答案解析
- 2026年武夷學院單招綜合素質(zhì)考試模擬試題含詳細答案解析
- 數(shù)據(jù)恢復協(xié)議合同模板
- 地下礦山職工安全培訓課件
- 供熱安全培訓課件
- 穿越機組裝教學課件
- 培訓意識形態(tài)課件
- 招聘專員基本知識培訓課件
- 2025年麒麟運維考試題庫
- 綿陽北控水務污泥減量化及資源化中心項目環(huán)評報告
- 南通市城市綠化養(yǎng)護質(zhì)量等級標準(試行)
- 正念認知療法實證研究-洞察及研究
- cnc工廠刀具管理辦法
評論
0/150
提交評論