版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國計算機等級考試C語言程序設計真題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.層次型、網(wǎng)狀型和關系型數(shù)據(jù)庫劃分原則是()。
A.記錄長度B.文件的大小C.聯(lián)系的復雜程度D.數(shù)據(jù)之間的聯(lián)系方式
3.
4.下面關于線性表的敘述中,錯誤的是哪一個()。
A.線性表采用順序存儲,必須占用一片連續(xù)的存儲單元
B.線性表采用順序存儲,便于進行插入和刪除操作
C.線性表采用鏈式存儲,不必占用一片連續(xù)的存儲單元
D.線性表采用鏈式存儲,便于進行插入和刪除操作
5.有定義:“inta=2,b=3,c=4;”,則下列選項中值為0的表達式是()。A.(!a==1)&&(!b==0)B.(a<b)&&!c‖1C.a&&bD.a||(b+b)&&(c-a)
6.算法的時間復雜度是指A.算法的執(zhí)行時間B.算法所處理的數(shù)據(jù)量C.算法程序中的語句或指令條數(shù)D.算法在執(zhí)行過程中所需要的基本運算次數(shù)
7.有以下程序main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運行后的輸出結果是(選項D中的第一行是空行)A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No
8.可用作C語言用戶標識符的一組標識符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof
9.
讀取二進制文件的函數(shù)調(diào)用形式為:fread(buffersize,count,fp);,其中buffer代表的是()。
A.一個文件指針,指向待讀取的文件
B.一個整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)
C.一個內(nèi)存塊的首地址,代表讀人數(shù)據(jù)存放的地址
D.一個內(nèi)存塊的字節(jié)數(shù)
10.對于循環(huán)隊列()。
A.無法判斷隊列是否為空B.無法判斷隊列是否為滿C.隊列不可能滿D.以上說法都不對
11.設有序表中的元素為(13,18,24,35,47,50,62),則在其中利用二分法查找值為24的元素需要經(jīng)過()次比較容易
A.1B.2C.3D.4
12.
13.有以下程序
#include<stdio.h>
voidfun(char*t,char*s)
{while(*t!=0)t++;
while((*t++=*s++)!=0);
}
main()
{charss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);printf("%s,%s\n",ss,aa);
}
程序的運行結果是
A.accxyy,bbxxyy
B.acc,bbxxyy
C.accxxyy,bbxxyy
D.accbbxxyy,bbxxyy
14.下列描述中正確的是()。
A.軟件工程只是解決軟件項目的管理問題
B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題
C.軟件工程的主要思想是強調(diào)在軟件開發(fā)過程中需要應用工程化原則
D.軟件工程只是解決軟件開發(fā)過程中的技術問題
15.若變量已正確定義,要求程序段完成5!的計算,不能完成此操作的程序段是______。
A.for(i=1,p=1;i<=5;i++)p*=i;
B.for(i=1;i<=5;i++){p=1;p*=i;}
C.i=1;p=1;while(i<=5){p*=i;i++;}
D.i=1;p=1;do{p*=i;i++;}while(i<=5);
16.以下敘述中錯誤的是()。
A.由3種基本結構構成的程序只能解決簡單問題
B.結構化程序由順序、分支、循環(huán)3種基本結構組成
C.C語言是一種結構化程序設計語言
D.結構化程序設計提倡模塊化的設計方法
17.
18.下列二維數(shù)組的說明中,不正確的是()。
A.floata[][4]={0,1,8,5,9};
B.inta[3][4]
C.#defineN5floata[N][3]
D.inta[2][9.5];
19.以下不能將s所指字符串正確復制到t所指存儲空間的是()。A.while(*t=*s){t++;s++;}
B.for(i=0;t[i]=s[i];i++);
C.do{*t++:*s++;}while(*s);
D.for(i=0,j=0;t[i++]=s[j++];);
20.
二、2.填空題(20題)21.strcmp函數(shù)的功能是【】。
22.如下圖所示的二叉樹后序遍歷序列是【】。
23.若有定義floatb[15],*p=b;,且數(shù)組b的首地址為200H,則p+13所指向的數(shù)組元素的地址為______。
24.已知字符'A'的ASCII碼值為65,以下語句的輸出結果是【】。
charch='B';
printf("%c%d\n",ch,ch);
25.下面的程序用來統(tǒng)計文件中字符的個數(shù)。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fP;
longnum=0;
if((fp=fopen("fname.dat","r"))==NULL)
{printf("Can'topenfile!\n");sxit(0);}
while【】
{fgetc(fp);num++;}
printr("num=%d\n",num);
fclose(fp);
}
26.算法復雜度主要包括時間復雜度和【】復雜度。
27.下列程序的運行結果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-b,a+b));
printf("%d\n",a-b?a-b:a+b);
}
28.若有以下程序
main()
{inta=4,b=3,c=5,t=0;
if(a<b)t=a;a=b;b=t;
if(a<c)t=a;a=c;c=t;
printf("%d%d%dln",a,b,c);
}
執(zhí)行后輸出結果為______。
29.在軟件開發(fā)中,結構化方法包括結構化分析方法、結構化設計方法和結構化程序設計方法。詳細設計階段所采用的是【】方法。
30.程序測試分為靜態(tài)分析和動態(tài)測試。其中【】是指不執(zhí)行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。
31.以下程序運行后的輸出結果是______。
structNODE
{inthum;structNODE*next;
};
main()
{structNODEs[3]={{1,'\0'},{2,'\0'},{3,'\0'}},*p,*q,*r;
intsum=0;
s[0].next=s+1;s[1].next=s+2;s[2].next=s;
p=S;q=p->next;r=q->next;
sum+=q=>next->num;sum+=r->next->next->num;
32.某二叉樹中度為2的結點有n個,則該二叉樹中有【】個葉子結點。
33.下列程序的功能是將字符串s中所有的字符c刪除。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c')
s[j]='\0';
puts(s);
}
34.源程序文檔化要求程序應加注釋。注釋一般分為序言性注釋和【】。
35.下面程序的運行結果是【】。
#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--;}}
36.在深度為5的完全二叉樹中,度為2的結點數(shù)最多為【】。
37.數(shù)據(jù)庫技術的主要特點為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨立性和數(shù)據(jù)統(tǒng)一管理與控制。
38.下列程序的輸出結果是______。
main()
{inta[]={31,27,20,12,6,1),*p=a;
p++;
printf("%d\n",*(p+2));
}
39.()的目的是分析數(shù)據(jù)間內(nèi)在語義關聯(lián),在此基礎上建立一個數(shù)據(jù)的抽象模型。
40.以下程序的功能是:從低位開始取出長整型變量s中奇數(shù)位上的數(shù),依次構成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。請?zhí)羁铡?include<stdio.h>main(){longs,t,s1=10;pfintf("\n.Pleaseenters:");scanf("%1d",&s);t=s%10;while(s>0){s=s/100;t=();s1=s1*10;}printf("Theresultis:%1d\n",t);}
三、1.選擇題(20題)41.有以下程序:main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}程序運行后的輸出結果是______。
A.隨機值B.0C.5D.6
42.如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
43.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。
A.控制程序的執(zhí)行順序B.模塊之間的調(diào)用關系C.數(shù)據(jù)的流向D.程序的組成成分
44.設有以下定義和語句,輸出的結果是(用small模式編譯,指針變量占2個字節(jié))______。structdate{long*cat;structdate*next;doubledog;}too;printf("%d",sizeof(too));
A.20B.16C.14D.12
45.關系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關系運算包括()。
A.排序、索引、統(tǒng)計B.選擇、投影、連接C.關聯(lián)、更新、排序D.顯示、打印、制表
46.以下有4組用戶標識符,其中合法的—組是______。
A.FOR-subCase
B.4dDOSize
C.f2_G3IFabc
D.WORDvoiddefine
47.#define能作簡單的替代,用宏來替代計算多項式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
48.下列程序的運行結果是#include"stdio.h"main(){intx=-9,y=5,z=8;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);}
A.6B.7C.8D.9
49.字符串"\\\"ABCDEF\"\\"的長度是()。
A.15B.10C.7D.8
50.若程序中已包含頭文件stdio.h,以下選項中,正確運用指針變量的程序段是()。
A.int*i=NULL;
B.float*f=NULL;
C.chart='m',*c=&t;
D.long*Lscanf("%d",i);*f=10.5;*c=&t;L='\0';
51.有如下程序段:inta=14,b=15,x,charc='A';x=(a&&B)&&(c<'B');執(zhí)行該程序段后,x的值為()
A.1B.0C.FALSED.TRUE
52.設有下列語句inta=1,b=2,c;c=a^(b《2);執(zhí)行后,C的值為()。
A.6B.7C.8D.9
53.若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組元素的地址為()。
A.334HB.30DHC.352HD.31AH
54.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
55.下列函數(shù)的運行結果是
main()
{inti=2,p;
intj,k;
j=i;k=++i;p=f(j,k);
printf("%d",p);}
intf(inta,intb)
{intc;
if(a>b)c=1;
elseif(a==b)c=0;
elsec=-1;
return(c);}
A.-1B.1C.2D.編譯出錯,無法運行
56.以下數(shù)據(jù)結構中不屬于線性數(shù)據(jù)結構的是______。
A.隊列B.線性表C.二叉樹D.棧
57.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*P,*q,*r;P=&a;q=&b;r=f(p,q);print("%d,%d,%d\n",*P,*q,*r);}執(zhí)行后的輸出結果是______。
A.7,8,8B.7,8,7C.8,7,7D.8,7,8
58.有以下程序
#include<stdio.h>
#include<string.h>
typedefstruct{charname[9];charsex;floatscore[2];}STU;
voidf(STUa)
{STUb={"Zhao",′m′,850,900};inti;
strcpy(,);
a.sex=b.sex;
for(i=0;i<2;i++)a.score[i]=b.score[i];
}
main()
{STUc={"Qian",′f′,95.0,92.0};
f(c);
printf("%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]);
}
程序的運行結果是
A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,90
59.棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A.ABCEDB.DCBEAC.DBCEAD.CDABE
60.在下列選項中,沒有構成死循環(huán)的是()。
A.inti=100;while(1){i=i%100+1;if(i>100)break;}
B.for(;;);
C.intk=10000;do{k++;}while(k>10000);
D.ints=36;while(s)--s;
四、選擇題(20題)61.有以下程序(注:字符a的ASCIl碼值為97)
#include<stdio.h>
main()
{char*s={"abc")
do
{printf("%d",*S%10");++S;}
while(*s);
}
隉序運行后的輸出結果是()。
A.abcB.789C.7890D.979899
62.
63.
64.
65.
66.
67.已有定義:chara[]="xyz",b[]={′x′,′y′,′z′};,以下敘述中正確的是()。
A)數(shù)組a和b的長度相同B)a數(shù)組長度小于b數(shù)組長度
C)a數(shù)組長度大于b數(shù)組長度D)上述說法都不對
68.有以下程序程序運托舌的輸出結果是()。
A.1,2B.1,0C.3,2D.0,0
69.
70.有以下程序:
程序執(zhí)行后的輸出結果是()。
A.y=一1B.Y=0C.y=1D.while構成無限循環(huán)
71.有以下程序:
程序運行后的輸出結果是()。
A.OB.2C.3D.5
72.
73.
74.
75.下面敘述正確的是______。A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結構無關
B.算法的空間復雜度是指算法程序中指令(或語句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止
D.以上三種描述都不對
76.現(xiàn)有如下程序段:
則程序的輸出結果為()。
A.78B.23C.21D.28
77.有以下程序:
#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);
}
編譯時編譯器提示錯誤信息,你認為出錯的語句是()。
A.a=/*pl-m;
B.b=*p1+*p2+6;
C.k=1,m=8;
D.pl=&k,p2-&m;
78.
79.以下選項中,能表示邏輯值“假”的是()
A.1B.0.000001C.0D.100.0
80.專門的關系運算不包括下列的()運算。
A.連接運算B.選擇運算C.投影運算D.并運算
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將m(1≤m≤10)個字符串反著連接起來,組成一個新串,放入pt所指字符串中,例如,把“ab、cd、ef9”3個字符串反著串連起來,結果是efgcdab。
請修改程序中的錯誤,使它能得出正確的結果。
注意:不要改動main()函數(shù),不得增行或者刪行,也不得改變程序的結構!
試題程序:
六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是將a、b兩個兩位正整數(shù)合并成一個新的整數(shù)放在c中。合并的方式是將a中的十位數(shù)和個位數(shù)依次放在變量c的千位和十位上,b中的十位數(shù)和個位數(shù)依次放在變量c的個位和百位上。例如,當a=45,b=12,調(diào)用該函數(shù)后c=4251。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#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.D
2.D層次模型的基本結構是樹形結構,網(wǎng)狀模型是一個不加任何條件限制的無向圖,關系模型采用二維表來表示,所以三種數(shù)據(jù)庫的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。
3.B
4.B
5.A本題考查邏輯與運算“&&”與邏輯或運算“||”。在選項A中,因為!a=0,所以關系表達式!a=1為0,又因為邏輯與運算符“&&”兩邊的表達式只要一個等于零,則整個表達式為零,所以選項A正確。在選項8中,關系表達式a<b為真,表達式(a<b)&&!C為假,而表達式(a<b)&&!||1為真,所以整個表達式的值為真。選項C中,a&&b的結果為真。在選項D中,a||(b+b)&&(C-a)的結果為真。
6.DD?!窘馕觥克惴ǖ臅r間復雜度是指算法需要消耗的時間資源。一般來說,計算機算法是問題規(guī)模。09函數(shù)fin),算法的時間復雜度也因此記做T(n)=O(f(n))。因此,問題的規(guī)模n越大,算法執(zhí)行的時間的增長率與f(n)的增長率正相關,稱作漸進時間復雜度(AsymptoticTimeComplexity)。簡單來說就是算法在執(zhí)行過程中所需要的基本運算次數(shù)。
7.B本題考核的知識點是puts()函數(shù)的應用。主函數(shù)中定義了一個字符數(shù)組s并賦初值,一個字符串指針變量ps并讓它指向s。程序中p+4的地址為數(shù)組第5個元素的地址,而調(diào)用put(str_adr)函數(shù)時,將從str_adr這一地址開始,依次輸出存儲單元中的字符,遇到第一個“\\0”時結束輸出,并自動輸出一個換行符。所以put(p++4)將輸出n/No,put(s)將從s第一個元素開始輸出到第3個元素結束(因為執(zhí)行*(p4)c0語句后s中的第5個元素的值為0,而s中的第4個元素為“\\”,puts將遇到“\\0”,結束輸出),即輸出yes。所以,4個選項中選項B符合題意。
8.B
9.Cfread函數(shù)中的參數(shù)buffer是內(nèi)存塊的首地址,輸入的數(shù)據(jù)存入此內(nèi)存塊中。
10.D
11.C
12.A
13.D解析:本題中fun函數(shù)實現(xiàn)了字符串函數(shù)strcat的功能,將字符串a(chǎn)a連接到字符串ss的末尾。調(diào)用fun函數(shù)時,形參t和s分別指向了字符串ss和aa,然后通過一個while循環(huán)使t指向字符串ss的結束符的位置,第二個while循環(huán)將字符串a(chǎn)a中的字符(包括結束符'\\0')逐個復制到字符串ss的末尾處。
14.CC?!窘馕觥寇浖こ淌侵笇⒐こ袒乃枷霊糜谲浖拈_發(fā)、應用和維護的過程,包括軟件開發(fā)技術和軟件工程管理。
15.B解析:選項B中每次執(zhí)行循環(huán)體都要執(zhí)行p=1,無法保存上次的運算結果,執(zhí)行完while循環(huán)后p=5。
16.A由順序、選擇(分支)、循環(huán)3種基本結構構成的程序可以解決所有問題,而不只是解決簡單問題,所以A選項錯誤。故本題答案為A選項。
17.C
18.D解析:C語言規(guī)定,對于二維數(shù)組,只可以省略第一個方括號中的常量表達式,而不能省略第二個方括號中的常量表達式:二維數(shù)組的一般定義格式是:類型說明符數(shù)組名[常量表達式][常量表達式]。
19.C解析:C項復制時沒有復制結束串“\0”。
20.A
21.字符串的比較strcmp函數(shù)的原型是intstrcmp(char*s1,char*s2);功能是對s1和s2所指字符串進行比較,若s1<s2返回負數(shù),若s1==s2返回0,若s1>s2返回正數(shù)。
22.GDBHIEFCAGDBHIEFCA解析:后序遍歷二叉樹的順序為:后序遍歷左子樹→后序遍歷右子樹→訪問根結點。按照定義,后序遍歷序列是GDBHIEFCA。
23.252H252H解析:要解答本題,首先要明白在對指針進行加,減運算時,數(shù)字“1”不是十進制數(shù)的“1”,而是指“1”個存儲單元長度。1個存儲單元長度占存儲空間的多少,應該視具體情況而定,如果存儲單元的基類型是血型,則移動1個存儲單元的長度就是位移2個字節(jié);如果存儲單元基類型是float型,則移動1個存儲單元的長度就是位移4個字節(jié)。所以p+13所指向的數(shù)組元素的地址為:200H+(13*4)H=252H。
24.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結果為:B66。
25.(!feof(fp))或feof(fp):=0(!feof(fp))或feof(fp):=0
26.空間空間解析:程序在計算機上運行時所耗費的時間由程序運行時所需輸入的數(shù)據(jù)總量、對源程序進行編譯所需時間、計算機執(zhí)行每條指令所需時間、程序中的指令重復執(zhí)行的次數(shù)等決定。習慣上常常把語句重復執(zhí)行的次數(shù)作為算法運行時間的相對量度,稱作算法的時間復雜度。算法在運行過程中需輔助存儲空間的大小稱為算法的空間復雜度。
27.11371,13,7解析:本題考查3個知識點:①余數(shù)的計算,題中的a=10,b=3,a%b=1;②(表達式1,表達式2)形式的結果為最后一個表達式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結果為7。
28.503503解析:此處需注意的是:如果if后面的條件為真,只執(zhí)行其后的一條語句或一條復合語句,如果if后面的條件為假,只執(zhí)行else后面的一條語句或一條復合語句。先判斷表達式“a<b”為假,不執(zhí)行“t=a”,但執(zhí)行“a=b;b=t;”,s的值為3,b的值為0。在判斷表達式“a<c”,值為真,所以執(zhí)行后面的3條語句“t=a;a=c;c=t”,結果a的值為5,c的值為3,所以最后輸出的結果為5、0和3。
29.結構化設計結構化設計解析:在軟件開發(fā)中,結構化方法包括結構化分析方法、結構化設計方法和結構化程序設計方法。詳細設計階段所采用的是結構化設計方法。
30.靜態(tài)分析靜態(tài)分析解析:程序測試分為靜態(tài)分析和動態(tài)測試。其中,靜態(tài)分析是指不執(zhí)行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。
31.解析:程序通過語句“s[0]next=s+1;s[1].next=s+2;s[2].next=s;”將結構體變量s中各結點連接成了一個循環(huán)鏈表,即最后一個結點的指針域指向了頭結點,整個鏈表形成了一個環(huán),并通過語句“p=s;q=p->next;r=q->next;”將結構體指針變量p、q、r指向了各結點。
32.n+1n+1解析:在任意一棵二叉樹中,度為0的結點(即葉子結點)總是比度為0的結點多一個。
33.S[j++]=s[i]S[j++]=s[i]解析:循環(huán)開始后如果數(shù)組s中儲存值與字符c相同,則i++直接跳過當前值;如果不相同,則將當前值賦予數(shù)組指定位置,并通過j++將下標加1,指向下一元素要存儲的位置。
34.功能性注釋功能性注釋解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個程序的開頭部分,它給出程序的整體說明;功能性注釋的位置一般嵌在源程序體之中戶主要描述其后的語句或程序做什么。
35.abcdefglkjihabcdefglkjih解析:本題主要考查了字符變量可參與的運算。因為字符在計算機中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來處理,如參與算術運算等,某字符的大寫字母的ASCII碼值比它對應的小寫字母ASCII碼值小32。
36.1515解析:在深度為5的完全二叉樹中,度為2的結點數(shù)最多的是深度為5的滿二叉樹。在深度為5的滿二叉樹中,前4層中所有結點的度為2。即在深度為5的完全二叉樹中,度為2的結點數(shù)最多相當于深度為4的滿二叉樹中的結點數(shù)。深度為4的滿二叉樹中的結點數(shù)為24(上標)-1=15。
37.共享性共享性解析:數(shù)據(jù)庫技術的主要特點有以下幾個方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨立性,數(shù)據(jù)統(tǒng)一管理與控制。
38.1212解析:本題考查如何用指針引用數(shù)組元素。分析程序,首先定義了一個指向數(shù)組a的指針p,p指向數(shù)組的首地址,通過p++,將p指向a[1],p+2是將指針后移2位指向a[3],*(p+2)即是取a[3]的值12。
39.數(shù)據(jù)庫概念設計數(shù)據(jù)庫概念設計解析:數(shù)據(jù)庫概念設計的目的是分析數(shù)據(jù)間內(nèi)在語義關聯(lián),在此基礎上建立一個數(shù)據(jù)的抽象模型。
40.s%10*s1+t
41.B解析:本題定義了數(shù)組x[8]和指針變量s,由C語言規(guī)定,指針加1的含義是使指針指向數(shù)組的下一個元素,而不是指針值簡單的加1,因此通過s=x+3;使s指向數(shù)組元素x[3]。由于指向數(shù)據(jù)的指針變量可以帶下標表示,如s[i]與*(s+i)等價。因此題目要求輸出s[2]的值,即*(s+2)的值,也就是x[5]的值,為0。
42.D解析:在最壞情況下,快速排序、冒泡排序和直接插入排序需要的比較次數(shù)都為n(n-1)/2,堆排序需要的比較次數(shù)為nlogn2。
43.C解析:數(shù)據(jù)流相當于一條管道,并有一級數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實體流向系統(tǒng)或從系統(tǒng)流向外部實體。
44.D解析:sizeof函數(shù)計算已知類型所占的字節(jié)數(shù)。結構體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。指針變量占2個字節(jié),所以cat和*next各占2個字節(jié);double型占8個字節(jié),故too共占12個字節(jié)。
45.B解析:此題為數(shù)據(jù)庫的基本概念,可以對照辦工軟件的電子表格進行如下理解:選擇:我們根據(jù)某條件選擇出一行或多行元組(一個元組即為二維表中的一行)。投影:按字段(也稱屬性,比如學生關系(學號,姓名,出生年月,性別),學號、姓名…都是屬性)選取一列或多列(一個二維表中所有元組在某一列或幾列上截取出來)。連接:2個或2個以上的表連接組成一張新的表,通常有條件連接。比如學生關系(學號,姓名,系號),又有一張系表(系號,系名,主任),2張表可以合并為一張這樣的表(學號,姓名,系號,系名,主任)。
46.C解析:C語言的標識符的定義為:以字母或下劃線開頭的由字母、數(shù)字字符、下劃線組成的字符串。而且標識符不能與關鍵字相同。
47.C解析:帶參數(shù)宏的格式為:#define標識符(形參表)形參表達式。其功能是:在預處理程序中將程序中出現(xiàn)的所有帶實參的宏名,展開成由實參組成的表達式。
48.D解析:if...else語句的執(zhí)行過程如下,首先計算if后面一對圓括號內(nèi)表達式的值,若表達式的值為非0,執(zhí)行if子句,然后跳過else子句,去執(zhí)行if語句后的下一條語句;若表達式的值為0,跳過if子句,去執(zhí)行else子句,接著去執(zhí)行if語句后的下一條語句。C語言的語法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書寫格式無關,本題目的后一個ifelse相當于嵌套在第一個if子句里,相當于x<y&&y<0時,z=0;當x<y&&y>=0時,z=z+1。
49.B解析:本題涉及字符串最基本的兩個概念:①字符串的長度是指字符串中字符的個數(shù),但不包括字符串結束符;②以反斜杠“\\”開頭的特殊字符序列,意思是把反斜杠后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來的含義,不包含在字符串長度之內(nèi),“\\”連同后面的字符為一個長度。
50.D解析:選項A定義了一個整型變量i,并且初始化讓它指向NULL,接著通過scanf()函數(shù),改變i指向的存儲空間的值,選項A中首先定義了整型指針變量i并初始化為NULL,即表示指針i不指向任何內(nèi)存,即此時程序還沒有為i在內(nèi)存中開辟存儲單元,而在scanf0函數(shù)中第二個參數(shù)是地址參數(shù),顯然在這里i不在表示地址,所以下面的scanf('%d',i)語句足不正確的,故選項A不正確;選項B定義了一個浮點型變量f并初始化讓它指向NULL,而當一個指針變量指向NULL以后不能在給它賦值,而接下來的程序中為其賦了一值;故選項B錯誤;選項C中首先定義了一個字符變量t并給它賦初值\'m\',然后定義個字符型指針c并讓它指向了變量t,這一部分正確,然后接著用了—個語句“*c=&t;”應該將該語句中c前的“,”去掉,故選項C運用指針變量不正確。所以,4個選項中選項D符合題意。
51.A解析:a=14,b=15,第一個&&兩側均為非零值。c='A',表達式c<'B'的值為真即1,第二個&&兩側也均為非零值。表達式(a&&b)&&(c<'B')的值為1,賦值給變量x。
52.D解析:變量b的初值等于2,所以表達式b<<2表示b的值二進制左移兩位,即擴大4倍,所以變量b的等于8。然后與a的值1進行異或運算,得9。
53.C解析:解答本題,首先要明白在對指針進行加、減運算的時候,數(shù)字“1”不是十進制的數(shù)“1”,而是指'1'個存儲單元長度,而1個存儲單元長度占多少存儲空間,應該視具體情況而定。如果基本類型是int型,移動1個存儲單元的長度就是位移2個字節(jié),如果基本類型是float型,移動1個存儲單元的長度就是位移4個字節(jié)。所以p+13所指向的數(shù)組元素的地址:300H+(13*上標)4)H=352H。
54.A解析:數(shù)據(jù)流圖包括4個方面,即加工(轉(zhuǎn)換)(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標注數(shù)據(jù)流名)、存儲文件(數(shù)據(jù)源)(表示處理過程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體)。不包括選項中的控制流。
55.A解析:函數(shù)調(diào)用相當于f(2,3),程序運算應得結果為'-1'。
56.C解析:線性表、棧和隊列所表達和處理的數(shù)據(jù)以線性結構為組織形式。棧是一種特殊的線性表,它只能在固定的一端進行插入和刪除操作,又稱后進先出表(LastInFirstOut);隊列是插入在一端進行,刪除在另一端進行的線性表,又稱先進先出表(FirstInFirstOut)。
57.B解析:函數(shù)f是一個返回值為指針的函數(shù),其功能是比較兩個數(shù)中的最小值,并返回最小值的
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030新能源汽車產(chǎn)業(yè)鏈市場現(xiàn)狀分析及增長潛力與投資機會研究報告
- 2026年西寧市城東區(qū)城市管理局面向退役士兵招聘執(zhí)法輔助人員備考題庫及一套參考答案詳解
- 2026年西安全路通號器材研究有限公司招聘備考題庫及一套完整答案詳解
- 2025-2030中國重鋼結構產(chǎn)業(yè)競爭力策略分析與投資戰(zhàn)略研究研究報告
- 南京市雨花臺區(qū)醫(yī)療保險管理中心等單位2025年公開招聘編外工作人員備考題庫及1套參考答案詳解
- 2025-2030中國無縫鋼管行業(yè)發(fā)展格局與供需平衡狀況分析研究報告
- 2026年西安市灃西新城第二學校招聘備考題庫及一套答案詳解
- 2026年西安市雁塔區(qū)第一小學教師招聘備考題庫完整參考答案詳解
- 2026年西安旅游股份有限公司招聘備考題庫含答案詳解
- 中國重汽集團福建海西汽車有限公司2026屆校園招聘25人備考題庫及一套參考答案詳解
- GB/T 16288-2024塑料制品的標志
- 卡西歐圖形計算器fx-9860GII SD軟件說明書
- 電力工程施工組織措施
- 五年級數(shù)學上冊計算題專項練習
- 人工智能賦能制造業(yè)的變革
- 腹腔鏡下前列腺癌根治術護理查房課件
- 肛周膿腫的教學查房
- GB/T 11345-2023焊縫無損檢測超聲檢測技術、檢測等級和評定
- 國家開放大學電大《外國文學專題》期末考試題題庫及答案匯總
- 三層建筑拆除施工方案
- GB/T 5568-2022橡膠或塑料軟管及軟管組合件無曲撓液壓脈沖試驗
評論
0/150
提交評論