




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022-2023年甘肅省嘉峪關(guān)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.若需要利用形參直接訪問實(shí)參,則應(yīng)把形參變量說明為____參數(shù)。
A.指針B.引用C.值D.變量
2.有以下程序#include<stdio.h>main(){inta=5,b=l;t=(a<<2)|b;printf("%d\n",t);}程序運(yùn)行后的輸出結(jié)果是______。A.21B.11C.6D.1
3.下列選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。
A.x%2==1B.x/2C.x%2!=0D.x%2==0
4.下面程序的輸出結(jié)果是______。#definea121constb=12;enumc{a1,a2};main(){printf("%d,%d,%d",sizeof(a),sizeof(b),sizeof(enumc));}
A.121,0,4B.2,2,2C.0,2,4D.0,2,2
5.以下符號(hào)中不能作為標(biāo)識(shí)符的是()。
A._256B.r32C.intD.e231
6.以下選項(xiàng)中能用作數(shù)據(jù)常量的是()。
A.115LB.0118C.1.5e1.5D.o115
7.有如下定義#defineD2intx=5;floaty=3.83;charC='D';則下面選項(xiàng)中錯(cuò)誤的是
A.x++;B.y++;C.c++;D.D++;
8.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]=“TEXT”,*b=“++”,c[3]=“1”;printf(“%d,%d,”,strlen(a),sizeof(a));printf(“%d,%d,”,strlen(b),sizeof(b));printf(“%d,%d,\n”,strlen(c),sizeof(c));}程序運(yùn)行后的輸出結(jié)果是()。A.4,5,2,4,1,3,B.4,4,2,2,1,1,C.5,5,3,3,2,2,D.4,4,2,2,1,3
9.下列敘述中錯(cuò)誤的是()。
A.C程序可以由多個(gè)程序文件組成
B.—個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法
C.C程序可以由一個(gè)或多個(gè)函數(shù)組成
D.—個(gè)C語(yǔ)言函數(shù)可以單獨(dú)作為一個(gè)C語(yǔ)言程序文件存在
10.有以下程序,其中函數(shù)f的功能是將多個(gè)字符串按字典順序排序:#include<string.h>voidf(char*p[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)ifstrcmp(p[i],p[j])>0{t=p[i]p[i]=p[j];p[j]=t;}}main(){char*p[5]=("abc","aabdfg","abbd","dcdbe","cd"};f(p,5);printf("%d\n",strlen(p[1]));}程序運(yùn)行后的輸出結(jié)果是______。A.2B.3C.6D.4
11.下列程序的輸出結(jié)果是
#include"stdio.h"
#defineN3
#defineM3
voidfun(inta[M][N])
{printf("%d\n",*(a[1]+2));}
main()
{inta[M][N];
inti,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=i+j-(i-j);
fun(a);}
A.3B.4C.5D.6
12.算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是_____。A.有窮性B.簡(jiǎn)潔性C.可行性D.確定性
13.設(shè)有以下語(yǔ)句charchl,ch2;scanf("%c%C",&chl,&ch2);若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。
A.A和B之間用逗號(hào)間隔B.A和B之間不能有任何間隔符C.A和B之間可以用回車間隔D.A和B之間用空格間隔
14.函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是______。
A.將串str1復(fù)制到串str2中后再連接到串str3之后
B.將串str1連接到串str2之后再?gòu)?fù)制到串str3之后
C.將串str2復(fù)制到串str1中后再將串sir3連接到串str1之后
D.將串str2連接到串str1之后再將串str1復(fù)制到串str3中
15.下列程序執(zhí)行后的輸出結(jié)果是()。voidfunc(int*a,intb[]){b[0]=*a+b;}main{inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}A.6B.7C.8D.9
16.下列不屬于軟件工程的3個(gè)要素的是
A.工具B.過程C.方法D.環(huán)境
17.設(shè)有如下定義:intx=10,y=3,z;則語(yǔ)句printf("%d\n",z=(x%y,x/y));的輸出結(jié)果是()。
A.1B.0C.4D.3
18.在有序表(12,24,36,48,60,72,84)中二分查找關(guān)鍵字72時(shí)所需進(jìn)行的關(guān)鍵字比較次數(shù)是()
A.1B.2C.3D.4
19.甲乙兩個(gè)聰明人上街,撿到一張10塊錢的購(gòu)物卡,兩人就想出一個(gè)辦法來分配這張卡。兩個(gè)分別將自己出的價(jià)格寫在紙上,然后看誰(shuí)出的價(jià)高就給誰(shuí),并且那個(gè)出價(jià)高的人要把出的錢給對(duì)方?,F(xiàn)在甲有6塊錢,乙有8塊錢,甲乙雙方都知道對(duì)方當(dāng)前有多少錢并且都希望自己收益高于對(duì)方。問最后誰(shuí)獲得的錢多()
A.甲多B.乙多C.一樣多D.有可能出現(xiàn)有人賠錢的情況
20.判斷一個(gè)單向鏈表中是否存在環(huán)的最佳方法是()
A.兩重遍歷B.快慢指針C.路徑記錄D.哈希表輔助
二、2.填空題(20題)21.設(shè)有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
22.以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長(zhǎng)度。請(qǐng)?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test.t","rb");
fseek(myf,0,SEEKEND);
f1=ftell(myf);
fclose(myf);
printf("%d\n",f1)
23.設(shè)C語(yǔ)言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占兩個(gè)字節(jié),則int型數(shù)據(jù)的取值范圍為【】。
24.十六進(jìn)制數(shù)100轉(zhuǎn)換成十進(jìn)制數(shù)為【】。
25.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inti;
for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');
printf("\n");
}
26.關(guān)系可以有3種類型,即基本關(guān)系(又稱基本表或基表)、查詢表和【】。
27.函數(shù)調(diào)用語(yǔ)句:“fgets(buf,n,fp);”從中指向的文件中讀入n個(gè)字符放到buf字符數(shù)組中,函數(shù)返回值為______。
28.下列程序的輸出結(jié)果是______。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
29.有如下圖所示的雙鏈表結(jié)構(gòu),請(qǐng)根據(jù)圖示完成結(jié)構(gòu)體的定義:
structaa
{intdata;
【】}node;
30.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
31.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
32.用復(fù)合的賦值運(yùn)算符將變量x中的值增大2的賦值表達(dá)式是【】。
33.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
intx=1,y=0,a=0,b=0;
switch(x)
{
case1:
switch(y)
{
case0:a++;break;
case1:b++;break;
case2:a++;b++;break;
}
printf("%d%d\n",a,B);
}
34.有以下程序:
main()
{intt=1,i=5;
for(;i>=0;i--)t*=i;
printf("%d\n",t);
}
執(zhí)行后的輸出結(jié)果是【】。
35.以下程序的輸出結(jié)果是______。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
}
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
36.下列程序的輸出結(jié)果是______。
main()
{inti,sum;
for(i=1;i<7;i++)
sum+=i;
printf("%d",sum);
}
37.若i、j為int類型,則以下程序段內(nèi)循環(huán)體的總執(zhí)行次數(shù)是【】。
for(i=5;i;i--)
for(j=0;j<3;j++)
{
}
38.下列程序執(zhí)行輸出的結(jié)果是【】。
#include<stdio.h>
f(inta)
{intb=0;
staticc=3;
a=c++,b++;
return(a);}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);}
39.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括五個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、【】和處理過程。
40.耦合和內(nèi)聚是評(píng)價(jià)模塊獨(dú)立性的兩個(gè)主要標(biāo)準(zhǔn),其中______反映了模塊內(nèi)各成分之間的聯(lián)系。
三、1.選擇題(20題)41.以下程序的輸出結(jié)果是()main(){inta[3][3]={1,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
42.在C語(yǔ)言的循環(huán)語(yǔ)句for、while、do-while中,用于結(jié)束本次循環(huán),繼續(xù)執(zhí)行下一次循環(huán)的語(yǔ)句是______。
A.switchB.breakC.continueD.goto
43.目前因特網(wǎng)(Internet)尚未提供的服務(wù)是()
A.電子郵件B.文件傳送C.遠(yuǎn)程使用計(jì)算機(jī)D.電視廣播
44.若有以下程序段(n所賦的是八進(jìn)制數(shù))intm=32767,n=032767;printf("%d,%O\n",m,n);執(zhí)行后輸出結(jié)果是
A.32767,32767B.32767,032767C.32767,77777D.32767,077777
45.已知二叉樹BT的后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是______。
A.cedbaB.acbedC.dccabD.deabc
46.對(duì)于以下程序段,設(shè)a和q都是整型變量,┇a=q;Loop:if(a==0)gotoEnd;Elseif(a>0){printf("&");a--;gotoLoop;}ElsegotoEnd;End;┇不能與上面程序等價(jià)的是()
A.a=q;do{f(a<0)break;a--;printf("*");}while(a);
B.a=q;for(;a>0;a--)printf("&");
C.a=q;while(a){printf("&");a--;}
D.for(a=q;a>0;--a,printf("*"));
47.已知下面的程序段,正確的判斷是______。#defineA3#defineB(A)((A+1)*a)inta=3;......X=3*(A+B(7));
A.程序錯(cuò)誤,不允許嵌套定義B.X=93C.X=81D.程序錯(cuò)誤,宏定義不允許有參數(shù)
48.若x=3,y=z=4,則下列表達(dá)式的值分別為()(1)(z>=y(tǒng)>=x)?1:0(2)y+=z,x*=y(tǒng)
A.024B.18C.08D.112
49.以下合法的字符型常量是
A.'\x13'B.'\081'C.'65'D.\n
50.有以下程序:#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);}程序的輸出結(jié)果為()。
A.g,GF,gB.g,FF,gC.G,fF,GD.f,gf,g
51.有以下函數(shù):mtaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下關(guān)于aaa函數(shù)的功能的敘述正確的是()。
A.求字符串s的長(zhǎng)度B.比較兩個(gè)串的大小C.將串s復(fù)制到串tD.求字符串s所占字節(jié)數(shù)
52.關(guān)系表中的每一橫行稱為一個(gè)()。A.元組B.字段C.屬性D.碼
53.下列常數(shù)中,不合法的C常量是()
A.-0x3b1B.123e+2.3C.'}'D.6e+7
54.用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是
A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是
55.字符串"\\"ABCDEF\"\\”的長(zhǎng)度是()。
A.11B.10C.5D.3
56.程序的3種基本控制結(jié)構(gòu)是
A.過程、子過程和分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊(duì)列D.調(diào)用、返回和轉(zhuǎn)移
57.判斷字符串s1是否大于字符串s2,應(yīng)該使用()。
A.if(strcmp(s1,s2)<0)
B.if(s1>s2)
C.if(strcmp(s2,s1)<0)
D.if(strcmp(s1,s2))
58.若有以下定義:
structlink
{intdata;
structlink*next;
}a,b,c,*p,*q;
且變量a和b之間已有如下圖所示的鏈表結(jié)構(gòu):
指針p指向變量a,q指向變量c。則能夠把c插入到a和b之間并形成新的鏈表的語(yǔ)句組是:
A.a.next=c;c.next=b;
B.p.next=q;q.next=p.next;
C.p->next=&c;q->next=p->next;
D.(*p).next=q;(*q).next=&b;
59.在C程序中,可將整型數(shù)以二進(jìn)制形式存放到文件中的函數(shù)是______。
A.fprint函數(shù)B.fread函數(shù)C.fwrite函數(shù)D.fputc函數(shù)
60.有以下程序: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,
四、選擇題(20題)61.
62.
63.
64.有以下程序:
#include<stdioh>
voidmain()
{
charc1,c2,c3,c4,c5,c6;
c5=getchar();c6=getchar();
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序運(yùn)行后,若從鍵盤輸入(從第1列開始),則輸出結(jié)果是()。
123<回車>
45678<回車>
A.3B.1C.3D.3456
122345
65.在軟件設(shè)計(jì)中不使用的工具是()。
A.系統(tǒng)結(jié)構(gòu)圖B.PAD圖C.數(shù)據(jù)流圖(DFD圖)D.程序流程圖
66.
67.下面的變量說明中__________是正確的。
A.char:a,b,c;
B.chara;b;c;
C.chara,b,c;
D.chara,b,c
68.以下敘述中正確的是()。A.A.當(dāng)對(duì)文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開一個(gè)已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個(gè)數(shù)據(jù)
D.c語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
69.設(shè)有下列二叉樹:對(duì)此二叉樹前序遍歷的結(jié)果為()
A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY
70.定義無符號(hào)整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是()。
A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
71.(12)下列敘述中正確的是______。
A.線性表是線性結(jié)構(gòu)
B.棧與隊(duì)列是非線性結(jié)構(gòu)
C.線性鏈表是非線性結(jié)構(gòu)
D.二叉樹是線性結(jié)構(gòu)
72.設(shè)有以下語(yǔ)句執(zhí)行后,c的值為()。
A.9B.7C.8D.6
73.有以下程序:
#include<stdio.h>
intfun()
{staticintx=1;
X*=2;returnX;
main()
inti,s=1;
for(i=1;i<=2;i++)s=fun();
printf{¨%d\n",s);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.0B.1C.4D.8
74.數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS中用來定義模式、內(nèi)模式和外模式的語(yǔ)言為()。
A.CB.BasicC.DDLD.DML
75.有以下函數(shù):
該函數(shù)的功能是()。
A.tt-gs所指字符串的長(zhǎng)度
B.比較兩個(gè)字符串的大小
C.計(jì)算s所指字符串占用內(nèi)存字節(jié)的個(gè)數(shù)
D.將s所指字符串復(fù)制到字符串t中
76.
77.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是()A.軟件過程不規(guī)范B.軟件開發(fā)生產(chǎn)率低C.軟件質(zhì)量難以控制D.軟件成本不斷提高
78.軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
79.有如下程序段:
執(zhí)行該程序段后,X的值為()。
A.trueB.falseC.0D.1
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:從低位開始依次取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),構(gòu)成一個(gè)新數(shù)存放在t中。高位仍在高位,低位仍在低位。
例如,當(dāng)s中的數(shù)為7654321時(shí),t中的數(shù)為7531。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
#include<;stdi0.h>;
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是將a、b兩個(gè)兩位正整數(shù)合并成一個(gè)新的整數(shù)放在c中。合并的方式是將a中的十位數(shù)和個(gè)位數(shù)依次放在變量c的百位和個(gè)位上,b中的十位數(shù)和個(gè)位數(shù)依次放在變量c的千位和十位上。例如,當(dāng)a=45,b=12,調(diào)用該函數(shù)后c=1425。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>voidfun(inta,intb,long*c){}main(){ inta,b; longc; printf(“Inputa,b:”); scanf(“%d%d”,&a,&b); fun(a,b,&c); printf(“Theresultis:%ld\n”,c);}
參考答案
1.A
2.A解析:本題主要考查了C語(yǔ)言的邏輯運(yùn)算符,先將變量a,b的值轉(zhuǎn)換為2進(jìn)制數(shù),a=00000101,b=00000001,a先左移2位結(jié)果為00010100,再與b按位或運(yùn)算,結(jié)果為00010101,轉(zhuǎn)換為十進(jìn)制數(shù)為21,因此,選項(xiàng)A是正確的。
3.D解析:因?yàn)閤的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1。所以選項(xiàng)D)等于關(guān)系表達(dá)式的結(jié)果為假,即等于0。
4.B解析:sizeof函數(shù)是取變量所占的存儲(chǔ)空間的字節(jié)數(shù),標(biāo)識(shí)a代表常量121;constb=12;,其中數(shù)據(jù)類型可以缺省,默認(rèn)為整型;enumc{a1,a2};定義了—個(gè)枚舉類型enumc,a1,a2為枚舉元素,在C編譯時(shí),對(duì)枚舉元素按常量處理,它們的值按定義順序依次為0,1。因此它們的字節(jié)數(shù)均為2,2,2。
5.C
6.AA選項(xiàng)中“115L”表示長(zhǎng)整型數(shù)據(jù)。B選項(xiàng)是八進(jìn)制常量的表示方法,但是在八進(jìn)制中不能含有數(shù)字8,所以B選項(xiàng)錯(cuò)誤。C選項(xiàng)中e后面應(yīng)該是整數(shù),而不能是小數(shù)1.5,所以C選項(xiàng)錯(cuò)誤。D選項(xiàng)中八進(jìn)制常量應(yīng)該是以數(shù)字“0”開始,而不是以字母“o”開始。故本題答案為A選項(xiàng)。
7.D解析:C語(yǔ)言中++運(yùn)算符的對(duì)象可以是整型、實(shí)型和字符型,但不可是常量,本題中D為常量。
8.Asizeof是運(yùn)算符,計(jì)算數(shù)組、指針、類型、對(duì)象、函數(shù)等所占的字節(jié)大小。strlen(*char)是函數(shù),參數(shù)必須是字符型指針(char*)。該函數(shù)的功能是:返回字符串的長(zhǎng)度,不包括字符串結(jié)束標(biāo)識(shí)?!皊izeof(a)”是求數(shù)組a所占空間的大小,包括字符串最后的‘\\0’。所以“sizeof(a)”=5,strlen遇到‘\\0’就結(jié)束,“strlen(a)”=4。“strier(b)”是指針指向的字符串長(zhǎng)度,“sizeof(b)”是指針的大小。“strlen(c)”是字符串的長(zhǎng)度,“sizeof(c)”是數(shù)組的長(zhǎng)度。因此,輸出結(jié)果是4,5,2,4,1,3,。故本題答案為A選項(xiàng)。
9.B在一個(gè)C語(yǔ)言程序中可以實(shí)現(xiàn)多種算法,所以B選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。
10.D解析:字符串比較函數(shù)“strcmp(char*s1,char*s2)”的比較規(guī)則是對(duì)兩個(gè)字符串自左至右逐個(gè)字符相比(按ASCII碼值大小比較),直到出現(xiàn)不同的字符或遇到到"\\0"為止。如果全部相同,則認(rèn)為相等:若出現(xiàn)不相同的字符,則以第一個(gè)不相同的字符的比較結(jié)果為準(zhǔn)。當(dāng)s1<s2,返回值<0;當(dāng)s1=s2時(shí),返回值二0:當(dāng)s1>s2時(shí),返回值>0。故本題經(jīng)過排序后,得到第二個(gè)字符串是“abbd”,所以輸出結(jié)果是4。
11.B解析:若有以下定義:inta[3][4],i,j;且當(dāng)0<=i<3,0<=j<4,則可以有以下幾種方式來引用數(shù)組中的第i行,第j列的元素:a[i][j],*(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。
12.B解析:一個(gè)算法應(yīng)當(dāng)具有以下5個(gè)特性:有窮性;確定性;可行性;有零個(gè)或多個(gè)輸入;由一個(gè)或多個(gè)輸出.簡(jiǎn)潔性不屬于這5個(gè)特性,所以本題應(yīng)該選擇B。
13.Bscanf輸入函數(shù)中,格式控制J必須嚴(yán)格按照函數(shù)中的要求進(jìn)行輸入,在scanf("%c%c",&chl,&ch2)的格式控制語(yǔ)句中沒有任何字符進(jìn)行間隔,所以在輸入時(shí)也不能使用任何字符進(jìn)行間隔,所以答案選擇B。
14.C解析:題目中所給函數(shù)的功能是;先用函數(shù)strcpy把參數(shù)串str2復(fù)制到參數(shù)串str1中去,然后用函數(shù)strcat把參數(shù)串str3連接到經(jīng)過修改后的參數(shù)串str1后,因此選項(xiàng)C正確。
15.A本題考查函數(shù)的調(diào)用,從主函數(shù)傳遞到調(diào)用函數(shù)中,*a的值為0,因此當(dāng)執(zhí)行完調(diào)用函數(shù)后,b[0]的值為6。
16.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個(gè)要素,即方法、工具和過程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制和管理。
17.D
18.B
19.C
20.B
21.'\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ù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
22.fopenfopen解析:函數(shù)fopen的原型為FILE*fopen(char*filename,char*mode),功能為以mode指定的方式打開名為filename的文件;函數(shù)fseek的原型為intfseek(FILE*fp,longoffset,intbase),功能為將fp所指向的文件的位置指針移到以base所指出的位置為基準(zhǔn),offset為位移量的位置;函數(shù)ftell的原型為longftell(FILE*fp),功能為返回fp所指向的文件中當(dāng)前的讀寫位置;函數(shù)fclose的原型為intfclose(FILE*fp),功能為關(guān)閉fp所指的文件,釋放文件緩沖區(qū)。
23.-32768~32767
24.256
25.ACEACE解析:在本題中,for循環(huán)體每執(zhí)行完一次,變量i的值自加兩次。i的初值為“a”,執(zhí)行一次循環(huán)后變?yōu)椤癱”,之后再變成“e”,當(dāng)其變?yōu)椤癵”時(shí),循環(huán)條件若不滿足,循環(huán)終止,故本題共輸出3個(gè)字符。表達(dá)式“i-'a'+'A'”即表示輸出i對(duì)應(yīng)的大寫字母,結(jié)果為ACE。
26.視圖表視圖表解析:關(guān)系數(shù)據(jù)庫(kù)中通常有3種關(guān)系,即基本關(guān)系(又稱基本表或基表)、查詢表和視圖表。基本表是在機(jī)器中實(shí)際存儲(chǔ)數(shù)據(jù)的表。查詢表是查詢的結(jié)果所對(duì)應(yīng)的臨時(shí)表。視圖表是由基本表或其他視圖表導(dǎo)出的表,是不實(shí)際存儲(chǔ)數(shù)據(jù)的表。視圖表是一個(gè)虛表。
27.buf的首地址buf的首地址解析:考查fsets()函數(shù)的功能,f8ets()函數(shù)用來從文件中讀入字符串。調(diào)用格式為:f8ets(buf,n,fp)。此處,fp是文件指針,buf是存放字符串的起始地址,n是一個(gè)int型變量。調(diào)用函數(shù)fsets()時(shí),最多能讀入n-1個(gè)字符,系統(tǒng)自動(dòng)在最后加字符串結(jié)束標(biāo)志,并以buf作為函數(shù)值返回。
28.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值,若為真,則執(zhí)行循環(huán)體語(yǔ)句,執(zhí)行完畢,再計(jì)算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,直到表達(dá)式的值為假時(shí),結(jié)束while語(yǔ)句的執(zhí)行,繼續(xù)執(zhí)行while語(yǔ)句后面的語(yǔ)句:i=0時(shí)滿足循環(huán)條件,也滿足if的條件,執(zhí)行語(yǔ)句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。
29.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對(duì)鏈表的定義。
30.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
31.軟件開發(fā)
32.x+=2
33.2121解析:本題考核的知識(shí)點(diǎn)是switch語(yǔ)句的嵌套應(yīng)用。外層switch語(yǔ)句后面括號(hào)里的x的值為1,所以執(zhí)行從case1:后面的語(yǔ)句開始執(zhí)行,而case1:后面語(yǔ)句也為switch語(yǔ)句,這個(gè)switch語(yǔ)句后面括號(hào)里的y的值為0,所以從該switch語(yǔ)句里的case():開始執(zhí)行即執(zhí)行a++,這時(shí)a的值變?yōu)?,執(zhí)行完畢,遇到break語(yǔ)句,退出內(nèi)層switch語(yǔ)句,又回到外層switch語(yǔ)句,繼續(xù)執(zhí)行case1:下面的語(yǔ)句即case2:執(zhí)行完畢后,a自加1變?yōu)?,b自加1變1。所以最后輸出的a和b的值為21。
34.00解析:for循環(huán)執(zhí)行完成后t=5×4×3×2×1×0=0。
35.
36.無定值無定值解析:for(i=1;i<7;i++)決定了循環(huán)次數(shù)為6次,每次執(zhí)行的操作是sum+=i,但由于sum沒有初始化,并不知道sum的初值是多少,所以結(jié)果無定值。
37.1515解析:執(zhí)行二重循環(huán)時(shí),外循環(huán)每執(zhí)行一次,內(nèi)循環(huán)將循環(huán)一遍。本題的程序段中外循環(huán)執(zhí)行了5次,內(nèi)循環(huán)執(zhí)行了3次,所以程序段內(nèi)循環(huán)體的總執(zhí)行次數(shù)是15。
38.44解析:本題考查了靜態(tài)存儲(chǔ)類別的局部變量的特點(diǎn)。靜態(tài)存儲(chǔ)類別的局部變量在程序的整個(gè)生存周期內(nèi)都存在,但作用域卻只局限于定義它的函數(shù)或局部范圍。當(dāng)i=0時(shí)執(zhí)行第一次for循環(huán),k=f(2),a=c++,b++;因?yàn)橘x值運(yùn)算符的優(yōu)先級(jí)高于逗號(hào)運(yùn)算符,所以a=3,c=4;當(dāng)i=1時(shí)執(zhí)行第二次for循環(huán),k=f(3),a=c++,b++;因?yàn)閏為靜態(tài)局部變量所以保留著這一次執(zhí)行的結(jié)果值4,所以a=4,c=5,所以函數(shù)f()返回a的值為4。
39.數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)
40.內(nèi)聚內(nèi)聚
41.A
42.C解析:循環(huán)輔助控制語(yǔ)句有continue;和break;,前者跳過本次循環(huán),進(jìn)行下一次循環(huán),后者跳出整個(gè)循環(huán)語(yǔ)句。
43.D
44.A解析:本題考核的知識(shí)點(diǎn)是scanf()函數(shù)及printf()函數(shù)的輸出格式。程序在定義時(shí),以十進(jìn)制形式為m賦初值,以八進(jìn)制的形式為n賦初值.輸出的時(shí)候m以十進(jìn)制形式輸出,n以八進(jìn)制形式輸出,因此輸出的結(jié)果為32767和32767。所以,A選項(xiàng)為所選。
45.A解析:二叉樹BT的后序遍歷序列為dabec,故BT的根結(jié)點(diǎn)為c;而BT的中序遍歷序列是debac,即遍歷序列中最后—個(gè)結(jié)點(diǎn)為跟結(jié)點(diǎn),說明BT的右子樹為空。由BT的的后序遍歷序列和中序遍歷序列可知BT的左子樹(LST)的后序遍歷序列和中序遍歷序列分別為dabe和deba(樹是遞歸定義的):故LST的根結(jié)點(diǎn)是e,在由LST的中序遍歷序列可知其左子樹為d。因此BT的前序遍歷序列為cedba。
46.C
47.C解析:本題的宏定義是合法的,宏定義展開為3*(3+((A+1)*a))=3*(3+((7+1)*3))=81。
48.A
49.A解析:C語(yǔ)言的字符常量是用單引號(hào)(即撇號(hào))括起來的一個(gè)字符。除此之外,在C語(yǔ)言中還允許用一個(gè)“\\”開頭的字符序列來表示字符常量。其中,形式“\\ddd'表示1到3位8進(jìn)制數(shù)所代表的字符;形式“\\xhh'表示1到2位16進(jìn)制數(shù)所代表的字符。在本題中,\'\\x13\'表示回車符,是一個(gè)字符常量;\'\\081\'用8進(jìn)制數(shù)所代表的字符,但形式不正確,因?yàn)?進(jìn)制數(shù)所代表的字符中不會(huì)出現(xiàn)數(shù)字“8”;\'5\'不是一個(gè)字符,而是一個(gè)十進(jìn)制數(shù)字;\'\\n\'是用雙引號(hào)括起來的一個(gè)字符,表示一個(gè)字符串,而不是字符常量。
50.A
51.A解析:aaa()函數(shù)中,首先定義了一個(gè)字符指針t指向形參s,然后通過一個(gè)while循環(huán)讓指針t不斷遞增,直到t指向字符串結(jié)束標(biāo)志處。當(dāng)t指向結(jié)束標(biāo)志處時(shí),由于后綴4-+運(yùn)算符的原因,它還會(huì)被再遞增1,所以接下來的t--;語(yǔ)句讓它回到結(jié)束標(biāo)志處。最后返回t-s,因此s還是指向字符串第1個(gè)字符處,而t指向了字符串結(jié)尾,故返回值為字符串的長(zhǎng)度值。
52.A解析:關(guān)系表中,每一行稱為一個(gè)元組,對(duì)應(yīng)表中的一條記錄;每一列稱為表中的一個(gè)屬性,對(duì)應(yīng)表中的一個(gè)字段;在二維表中凡能惟一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。
53.B
54.C解析:在數(shù)據(jù)庫(kù)系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有三種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實(shí)體之間的聯(lián)系是用樹形結(jié)構(gòu)來表示的,其中實(shí)體集(記錄型)是樹中的結(jié)點(diǎn),而樹中各結(jié)點(diǎn)之間的連線表示它們之間的關(guān)系。因此,本題的正確答案是C。
55.B解析:本題涉及字符串的兩個(gè)最基本的概念。①字符串的長(zhǎng)度是指字符串中字符的個(gè)數(shù),但不包含字符串結(jié)束符;②以反斜線“\\”開頭的特殊字符序列,意思是把反斜線后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來的含義,不包含在字符串長(zhǎng)度之內(nèi),“\\”連同后面的字符為一個(gè)長(zhǎng)度。
56.B解析:采用結(jié)構(gòu)化程序設(shè)計(jì)方法編寫程序,可使程序結(jié)構(gòu)良好、易讀、易理解、易維護(hù),它包括3種基本控制結(jié)構(gòu),分別是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)(又稱循環(huán)結(jié)構(gòu))。注意:控制程序結(jié)構(gòu)的方法和作用。
57.C解析:本題考查字符串比較函數(shù)strcmp()。調(diào)用形式:strcmp(s1,s2),其中s1、s2分別是字符串存儲(chǔ)區(qū)的首地址。函數(shù)功能:比較字符串str1和str2,當(dāng)str1<str2時(shí),返回值為負(fù)數(shù);當(dāng)str1=str2時(shí),返回0;當(dāng)str1>str2,返回值為正數(shù)(注意:不能使用關(guān)系運(yùn)算符比較兩個(gè)字符串的大小)。
58.D解析:本題考查鏈表的數(shù)據(jù)結(jié)構(gòu),必須利用指針變量才能實(shí)現(xiàn),即一個(gè)結(jié)點(diǎn)中應(yīng)包含一個(gè)指針變量,用它存放下一結(jié)點(diǎn)的地址。
59.C
60.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。
61.C
62.A
63.A
64.A嚴(yán)格按照格式進(jìn)行輸入和輸出,當(dāng)我們輸入123時(shí),題目會(huì)將1賦給c5,2賦給c6,3賦給c1,回車符賦給c2…….
65.C在軟件開發(fā)的各個(gè)階段經(jīng)常會(huì)使用到一些圖形工具,如在需求分析階段使用數(shù)據(jù)流圖,在概要設(shè)計(jì)階段使用系統(tǒng)結(jié)構(gòu)圖,在詳細(xì)設(shè)計(jì)階段使用程序流程圖、N-S圖或者PAD圖等。
66.B
67.B
68.AB)選項(xiàng)中打開一個(gè)已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對(duì)源文件進(jìn)行追加操作等。c)選項(xiàng)中在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,不用先關(guān)閉該文件然后再打開,才能讀到第1個(gè)數(shù)據(jù),可以用fseek()函數(shù)進(jìn)行重新
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中藥代理合同樣本
- 代理委托采購(gòu)合同標(biāo)準(zhǔn)文本
- 保溫紗窗采購(gòu)合同樣本
- led燈具安裝合同標(biāo)準(zhǔn)文本
- 供水運(yùn)營(yíng)合同標(biāo)準(zhǔn)文本
- 中英愛守護(hù)合同樣本
- 井下電纜采購(gòu)合同樣本
- 中級(jí)收入建筑合同樣本
- 供暖換熱站安裝合同樣本
- 公司審計(jì)合同樣本
- 消防更換設(shè)備方案范本
- 合伙開辦教育培訓(xùn)機(jī)構(gòu)合同范本
- 嵌入式機(jī)器視覺流水線分揀系統(tǒng)設(shè)計(jì)
- 《電力建設(shè)工程施工安全管理導(dǎo)則》(nbt10096-2018)
- 江蘇省鹽城市東臺(tái)市第一教育聯(lián)盟2024-2025學(xué)年七年級(jí)下學(xué)期3月月考英語(yǔ)試題(原卷版+解析版)
- 湖南省2025屆高三九校聯(lián)盟第二次聯(lián)考?xì)v史試卷(含答案解析)
- 2024年全國(guó)職業(yè)院校技能大賽(高職組)安徽省集訓(xùn)選拔賽“電子商務(wù)”賽項(xiàng)規(guī)程
- 2025年中考數(shù)學(xué)復(fù)習(xí):翻折問題(含解析)
- 唐太宗-李世民
- 項(xiàng)目部二級(jí)安全教育內(nèi)容
- 統(tǒng)編(部編)五年級(jí)語(yǔ)文下冊(cè)全冊(cè)教學(xué)反思
評(píng)論
0/150
提交評(píng)論