版權(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ì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>structnode{charid;structnode*next;}a={‘A’},b={‘B’},c={‘C’},*p=&a,*pt;main(){p->next=&b;p=p->next;p->next=&c;p=p->next;p->next=NULL;p=&a;}若程序經(jīng)運(yùn)行后形成下圖所示的數(shù)據(jù)結(jié)構(gòu)。則以下可以刪除中間節(jié)點(diǎn)b的正確選項(xiàng)是()。
A.pt=p->next;p->next=p->next->next;free(pt);
B.pt=p->next;p->next=p->next->next->next;free(pt);
C.pt=&b;free(pt);
D.pt=&b;p->next=p->next->next->next;free(pt);
2.數(shù)據(jù)字典(DD)所定義的對(duì)象都包含于()。
A.軟件結(jié)構(gòu)圖B.方框圖C.數(shù)據(jù)流圖(DFD圖)D.程序流程圖
3.以下敘述中錯(cuò)誤的是()。
A.C程序中的#include和#define行均不是C語(yǔ)句
B.除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低
C.C程序中,j++;是賦值語(yǔ)句
D.C程序中,+、-、*、/、%是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算
4.
5.允許對(duì)隊(duì)列進(jìn)行的操作有()。
A.對(duì)隊(duì)列中的元素排序B.取出最近進(jìn)隊(duì)的元素C.在隊(duì)頭元素之前插入元素D.刪除隊(duì)頭元素
6.C語(yǔ)言中函數(shù)返回值的類型是由()決定的。
A.return語(yǔ)句中的表達(dá)式類型B.調(diào)用該函數(shù)的主調(diào)函數(shù)類型C.定義函數(shù)時(shí)所指定的函數(shù)類型D.以上說(shuō)法都不正確
7.程序設(shè)計(jì)方法要求在程序設(shè)計(jì)過(guò)程中,()。
A.先編制出程序,經(jīng)調(diào)試使程序運(yùn)行結(jié)果正確后再畫(huà)出程序的流程圖
B.先編制出程序,經(jīng)調(diào)試使程序運(yùn)行結(jié)果正確后再在程序中的適當(dāng)位置處加注釋
C.先畫(huà)出流程圖,再根據(jù)流程圖編制出程序,最后經(jīng)調(diào)試使程序運(yùn)行結(jié)果正確后再在程序中的適當(dāng)位置處加注釋
D.以上3種說(shuō)法都不對(duì)
8.
9.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30
10.在c語(yǔ)言中,變量的隱含存儲(chǔ)類別是()。
A.autoB.staticC.externD.無(wú)存儲(chǔ)類別
11.下列敘述中正確的是()。
A.有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)
B.只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)
C.循環(huán)鏈表是非線性結(jié)構(gòu)
D.雙向鏈表是非線性結(jié)構(gòu)
12.有定義語(yǔ)句:inta=1,b=2,c=3,x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;
B.if(a<3)x=3;elseif(b<a)x=2;elsex=1;
C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;
D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;
13.下列程序的運(yùn)行結(jié)果為()。
#deflneMAX(x,y)(x)>(y)(x):(y)
main()
{inta=2,b=3,c=1,d=3,t;
printf("%d\n",(MAX(a+b,c+D))*100);
}A.A.500B.5C.4D.400
14.數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)器內(nèi)表示時(shí),如果元素在存儲(chǔ)器中的相對(duì)位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱這種存儲(chǔ)結(jié)構(gòu)為()。
A.存儲(chǔ)結(jié)構(gòu)B.邏輯結(jié)構(gòu)C.順序存儲(chǔ)結(jié)構(gòu)D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
15.一棵二叉樹(shù)中共有70個(gè)葉子結(jié)點(diǎn)與80個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中的總結(jié)點(diǎn)數(shù)為A.219B.221C.229D.231
16.
17.下列敘述中正確的是A.C語(yǔ)言中既有邏輯類型也有集合類型
B.C語(yǔ)言中沒(méi)有邏輯類型但有集合類型
C.C語(yǔ)言中有邏輯類型但沒(méi)有集合類型
D.C語(yǔ)言中既沒(méi)有邏輯類型也沒(méi)有集合類型
18.
有以下程序:
main
{intnum[4][4]={1,2,3,4},{5,6,7,8},{9,10,11,
12,},{13,14,15,16}},i,j;
for(i=0;i<4;i++)
{for(j=0;j<i;j++)printf("%4c",);
for(j=________;J<4;j++)printf("%4d",num
[i][j]);
printf("\n");}}
若要按以下形式輸出數(shù)組右上半三角
1234
678
1112
16
則在程序下劃線處應(yīng)填入的是()。
A.i-1B.iC.i+1D.4一i
19.對(duì)包含N個(gè)元素的散列表進(jìn)行檢索,平均檢索長(zhǎng)度________
A.為o(log2N)B.為o(N)C.不直接依賴于ND.上述三者都不是
20.有以下程序:#include<stdio.h>main(){intx=1,y=2,z=3;if(x>y)if(y<z) printf(“%d”,++z);else printf(“%d”,++y);printf(“%d\n”,x++);}程序的運(yùn)行結(jié)果是()。
A.1B.41C.2D.331
二、2.填空題(20題)21.函數(shù)調(diào)用語(yǔ)句:“fgets(buf,n,fp);”從fp指向的文件中讀入,n個(gè)字符放到buf字符數(shù)組中,函數(shù)返回值為_(kāi)_____。
22.以下程序中函數(shù)fun的功能是:構(gòu)成一個(gè)如圖所示的帶頭結(jié)點(diǎn)的單詞鏈表,在結(jié)點(diǎn)的數(shù)據(jù)域中放入了具有兩個(gè)字符的字符串。函數(shù)disp的功能是顯示輸出該單鏈表中所有結(jié)點(diǎn)中的字符串。請(qǐng)?zhí)羁胀瓿珊瘮?shù)disp。[*]
#include<stdio.h>
typedefstructnode/*鏈表結(jié)點(diǎn)結(jié)構(gòu)*/
{charsub[3];
structnode*next;
}Node;
Nodefun(chars)/*建立鏈表*/
{…}
voiddisp(Node*h)
{Node*
23.軟件測(cè)試分為白箱(盒)測(cè)試和黑箱(盒)測(cè)試?;韭窂綔y(cè)試方法屬于()測(cè)試。
24.在循環(huán)中,continue語(yǔ)句與break語(yǔ)句的區(qū)別是:______語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。
25.以下程序的功能是:輸出100以內(nèi)(不含100)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?zhí)羁铡?/p>
main()
(inti,j;
for(i=0;i<i0;i++)
{j=i*10+6;
if(())continue;
printf("%d",j);
}
}
26.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“真”的C語(yǔ)言表達(dá)式是【】。
27.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
28.以下程序的輸出結(jié)果是【】。
#defineMCRA(m)2*m
#defineMCRB(n,m)2*MCRA(n)+m
main()
{
inti=2,j=3;
printf("%d\n",MCRB(j,MCRA(i)));
}
29.若a=1,b=2,c=3,d=4;則條件表達(dá)式a>b?a:c<d?c:d的結(jié)果為()。
30.在關(guān)系模型中,二維表的行稱為_(kāi)_____。
31.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。
32.按照“先進(jìn)先出”的原則組織數(shù)據(jù)的結(jié)構(gòu)是______。
33.若有以下程序
main()
{chara;
a='H'-'A'+'0';
printf("%c\n",A);
}
執(zhí)行后輸出結(jié)果是【】。
34.x和y都是double型變量,x的初值為4.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為_(kāi)_____。
35.有以下程序段,且變量已正確定義和賦值
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
請(qǐng)?zhí)羁眨瓜旅娉绦蚨蔚墓δ芘c之完全相同
s=1.0;k=1;
while(【】){s=s+1.0/(k*(k+1));【】;}
printf("s=%f\n\n",s);
36.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為_(kāi)_____。
37.以下程序的運(yùn)行結(jié)果是【】。
#defineMAX(a,b)(a>b?a:b)+1
main()
{inti=6,j=8,k;
printf("%d\n",MAX(i,j));
}
38.數(shù)據(jù)庫(kù)系統(tǒng)在其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,【】給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)和物理存取方法。
39.以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫(xiě)字母A開(kāi)始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:
ABCDE
FGHI
JKL
MN
O
請(qǐng)?zhí)羁胀瓿稍摮绦颉?/p>
main()
{inti,j,n;charch='A';
scanf("%d",&n);
if(n<11)
{for(i=1;i<=n;i++)
{for(j=1;j<=n-i+1;j++)
{printf("%2c",ch);
【】;
}
【】;
}
}
elseprintf("nistoolarge!\n")
printf("\n"0);
}
40.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{inta=2,b=-1,c=2;
if(a<b)
if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
三、1.選擇題(20題)41.語(yǔ)句int(*ptr)()的含義是()。
A.(!a==1)&&(!b==0)
B.(a<b)&&!c‖1
C.a&&b
D.a‖(b+b)&&(c-a)
42.以下程序的運(yùn)行結(jié)果為_(kāi)_____。main(){inti,f1,f2;f1=f2=1;for(i=0;i<4;i++){printf("%d%d",f1,f2);f1+=f2;f2+=f1;}}
A.1123581321
B.1122551010
C.1258981321
D.0112451521
43.函數(shù)fun的返回值是fun(char*a,char*b){intnum=0,n=0;while(*(a+num)!='\0')num++;while(b[n]){*(a+num)=b[n];num++;n++;}returnnum;}
A.字符串a(chǎn)的長(zhǎng)度B.字符串b的長(zhǎng)度C.字符串a(chǎn)和b的長(zhǎng)度之差D.字符串a(chǎn)和b的長(zhǎng)度之和
44.下列選項(xiàng)中合法的賦值語(yǔ)句是()。
A.a=b=34B.a=34,b=34C.i-1;D.m=(int)(x+y);
45.下列程序執(zhí)行后的輸出結(jié)果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}
A.6B.7C.8D.9
46.以下合法的十六進(jìn)制數(shù)是()。
A.0xB.0x4deC.0x1hD.oX77
47.下列程序執(zhí)行后的輸出結(jié)果是()。#include<stdio.h>main(){inta[3][3],*p,i;p=&a[0][0];for(i=1;i<9;i++)p[i]=i+1;printf("%d\n",a[1][2]);}
A.3B.6C.9D.隨機(jī)數(shù)
48.變量m的值為8,m的地址為1010,若欲使p為指向m的指針變量,則下列賦值正確的是()。
A.&m=8B.*p=8C.*p=1010D.p=&m
49.判斷字符串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))
50.有以下程序:inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t+=a++;}else{inta;7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是______。
A.24B.28C.32D.36
51.已有定義:inti,a[10],*p;則合法的賦值語(yǔ)句是()。
A.p=100;B.p=a[5];C.p=a[2]+2;D.p=a+2;
52.一顆二叉樹(shù)中共有70個(gè)葉子節(jié)點(diǎn)與80個(gè)度為1的節(jié)點(diǎn),則二叉樹(shù)的總節(jié)點(diǎn)數(shù)為()。
A.219B.221C.229D.231
53.有以下程序
#include<string.h>
main()
{charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};
printf("%d%d\n",strlen(p),strlen(q));}
以下敘述中正確的是
A.在給p和q數(shù)組置初值時(shí),系統(tǒng)會(huì)自動(dòng)添加字符串結(jié)束符,故輸出的長(zhǎng)度都為3
B.由于p數(shù)組中沒(méi)有字符串結(jié)束符,長(zhǎng)度不能確定,但q數(shù)組中字符串長(zhǎng)度為3
C.由于q數(shù)組中沒(méi)有字符串結(jié)束符,長(zhǎng)度不能確定,但p數(shù)組中字符串長(zhǎng)度為3
D.由于p和q數(shù)組中都沒(méi)有字符串結(jié)束符,故長(zhǎng)度都不能確定
54.設(shè)一棵滿二叉樹(shù)共有15個(gè)結(jié)點(diǎn),則在該滿二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為()
A.7B.8C.9D.10
55.下圖
所示二叉樹(shù)的中序遍歷結(jié)果為()。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
56.若有如下程序:main(){inta=6;charch=c;printf("%d\n",(a&2)&&(ch<'m'));}則程序運(yùn)行后的輸出結(jié)果是()
A.0B.1C.2D.3
57.有以下程序,其中函數(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++)if(strcmp(p[i],p[j])>0){t=p[i];p[i]=p[j];p[j]=t;}}main(){char*p[5]={"abc"
A.2B.3C.6D.4
58.下面程序的運(yùn)行結(jié)果是()。y=5;x=14;y=((x=3*y,x+6),x-1);printf("x=%d,y=%d”,x,y);
A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27
59.有以下程序
voidss(char*s,chart)
{while(*s)
{if(*s==t)*s=t-′a′+′A′;
s++;}}
main()
{charstr1[100]="abcddfefdbd",c=′d′;
ss(str1,c);printf("%s\n",str1);}
程序運(yùn)行后的輸出結(jié)果是
A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd
60.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()
A.便于用戶,開(kāi)發(fā)人員進(jìn)行理解和交流
B.反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開(kāi)發(fā)人員進(jìn)行需求分析
四、選擇題(20題)61.
62.
63.
64.在面向?qū)ο蠓椒ㄖ?,不屬于“?duì)象”基本特點(diǎn)的是A.一致性B.分類性C.多態(tài)性D.標(biāo)識(shí)唯一性
65.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}執(zhí)行后的結(jié)果是()。
A.輸出字符a的ASCII碼B.輸出字符c的ASCII碼C.輸出字符cD.程序出錯(cuò)
66.
67.
68.
69.有如下程序段:
其輸出結(jié)果是()。
A.123.141593B.1,23.141593C.12,3.141593D.123.1415930
70.下列是用戶自定義標(biāo)識(shí)符的是
A._w1B.3_xyC.intD.LINE-3
71.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+C—k值的類型為:()。
A.intB.doubleC.floatD.char
72.
73.有以下程序:
在VC6.0平臺(tái)上編譯運(yùn)行,程序運(yùn)行后的輸出結(jié)果是()。
A.10,6B.4,4C.2,4D.4。8
74.
75.有定義:“inta=2,b=3,c=4;”,則下列選項(xiàng)中值為0的表達(dá)式是()。A.A.(a<b)&&!c‖1
B.(!a==1)&&(!b==0)
C.a&&b
D.a||(b+b)&&(c-a)
76.設(shè)已有定義:floatx;,則以下對(duì)指針變量P進(jìn)行定義且賦初值的語(yǔ)句中正確的是()。
A.int*p=(float)x;
B.float*p=&x;
C.floatp=&x;
D.float=1024;
77.下面敘述中,正確的是
A.C語(yǔ)言編譯時(shí)不檢查語(yǔ)法B.C語(yǔ)言的子程序有過(guò)程和函數(shù)兩種
C.C語(yǔ)言的函數(shù)可以嵌套定義D.C語(yǔ)言的函數(shù)可以嵌套調(diào)用
78.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
79.下列選項(xiàng)中,能夠滿足“若字符串sl等于字符串s2,則執(zhí)行ST”要求的是()。
A.if(stremp(s2,s1)==0)ST;
B.if(s1==s2)ST;
C.if(strcpy(sl,s2)==l)ST;
D.if(sl,s2==O)ST;
80.選出下列標(biāo)識(shí)符中不是合法的標(biāo)識(shí)符的是()。
A.hot_doB.cat1C._priD.2ab
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:求兩個(gè)非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若nmnl和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸也的最大公約數(shù)為27。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或硼行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是計(jì)算:s=(1-1n(1)-1n(2)-1n(3)-…-1n(m))2s作為函數(shù)值返回。在C語(yǔ)言中可調(diào)用log(n)函數(shù)求1n(n)。log函數(shù)的引用說(shuō)明是doublelog(doublex)。例如,若m的值為10,則proc()函數(shù)值為l98.934454。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.A題干中,a、b、c3個(gè)節(jié)點(diǎn)都是node類型,它們都有兩個(gè)成員:字符成員id,node類型指針成員next。由于a的next指向b,b的next指向c,因此a、b、c構(gòu)成了鏈表。要想刪除b節(jié)點(diǎn),只需要將a節(jié)點(diǎn)的next(p->next)指向c(p->next->next),然后將節(jié)點(diǎn)b的存儲(chǔ)空間釋放即可。所以刪除b節(jié)點(diǎn)的語(yǔ)句為“pt=p->next;p->next=p->next->next;free(pt);”。故本題答案為A選項(xiàng)。
2.C數(shù)據(jù)字典(DD)是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說(shuō)明。
3.D解析:“%”是求余運(yùn)算符,其兩側(cè)的數(shù)值只能為整型,不能用于實(shí)型數(shù)據(jù)的運(yùn)算。
4.D
5.D
6.C
7.D解析:程序設(shè)計(jì)的過(guò)程應(yīng)是先畫(huà)出流程圖,然后根據(jù)流程圖編制出程序,所以選項(xiàng)A錯(cuò)誤。程序中的注釋是為了提高程序的可讀性,注釋必須在編制程序的同時(shí)加入,所以,選項(xiàng)B和選項(xiàng)C錯(cuò)誤。綜上所述,本題的正確答案為選項(xiàng)D。
8.A
9.B本題考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語(yǔ)句執(zhí)行6次,第二條for語(yǔ)句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。
10.A解析:auto變量:無(wú)static聲明的局部變量。用auto作存儲(chǔ)類別的聲明時(shí),可以不寫(xiě)auto,存儲(chǔ)類別隱含確定為auto(自動(dòng)存儲(chǔ)類別),是動(dòng)態(tài)存儲(chǔ)方式。大多數(shù)變量是自動(dòng)變量。用static聲明的局部變量是靜態(tài)局部變量。函數(shù)調(diào)用結(jié)束后靜態(tài)局部變量占據(jù)的內(nèi)存存儲(chǔ)單元空間不釋放,局部變量保留原值,下次調(diào)用時(shí)可以繼續(xù)使用該值。用extern聲明外部變量,外部變量即全局變量,可以用extern聲明來(lái)改變?nèi)肿兞康淖饔糜?實(shí)際上,關(guān)鍵字'auto'可以省略,auto不寫(xiě)則隱含確定為'自動(dòng)存儲(chǔ)類別',屬于動(dòng)態(tài)存儲(chǔ)方式。
11.B解析:如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足以下兩個(gè)條件:(l)有且只有一個(gè)根結(jié)點(diǎn);(2)每個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu)。如果一個(gè)數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu),則稱之為非線性結(jié)構(gòu),故A項(xiàng)錯(cuò)誤。有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu),如二叉樹(shù),B項(xiàng)說(shuō)法正確。循環(huán)鏈表和雙向鏈表都屬于線性鏈表。故C、D項(xiàng)錯(cuò)誤。
12.C解析:選項(xiàng)A),B)考查了多分支結(jié)構(gòu)的用法,選項(xiàng)A)中的程序段執(zhí)行時(shí),c<a,b<a條件均不成立,故執(zhí)行else后的語(yǔ)句,x值為3;選項(xiàng)B)中a<3條件成立,執(zhí)行x=3;而選項(xiàng)C),D)是單分支結(jié)構(gòu)的用法,選項(xiàng)C)中程序段執(zhí)行時(shí),a<3條件成立,x=3,但條件a<2也成立,此時(shí)執(zhí)行x=2,下一個(gè)條件不成立,不再執(zhí)行其后的語(yǔ)句。
13.A解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:(x)>(y)(x):(y)是x>y時(shí)輸出x,否則輸出y,調(diào)用(MAX(a+b,c+d))*100時(shí),(a+b=5)>(c+d=4),所以輸出a+b=5,所以x=5*100。
14.C
15.A本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹(shù)的性質(zhì)。二叉樹(shù)滿足如下一條性質(zhì),即:對(duì)任意一棵二叉樹(shù),若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n0,而其度數(shù)為2的結(jié)點(diǎn)數(shù)為n2,則n0=n2+l。根據(jù)這條性質(zhì)可知,若二叉樹(shù)中有70個(gè)葉子結(jié)點(diǎn),則其度為2的結(jié)點(diǎn)數(shù)為70-1,即69個(gè)。二叉樹(shù)的總結(jié)點(diǎn)數(shù)是度為2、度為1和葉子結(jié)點(diǎn)的總和,因此,題目中的二叉樹(shù)總結(jié)點(diǎn)數(shù)為69+80+70,即219。因此,本題的正確答案是選項(xiàng)A。
16.C
17.D解析:在C語(yǔ)言中沒(méi)有邏輯類型,邏輯類型用整型來(lái)表示,故選項(xiàng)A和選項(xiàng)C不正確,C語(yǔ)言中沒(méi)有集合類型,故選項(xiàng)B不正確。所以,D選項(xiàng)為所選。
18.B
\n本題中要求輸出右上半角的數(shù),對(duì)角線上的數(shù)的下標(biāo)相同,所以j=i。
\n
19.C
20.Aelse總是與離它最近的if配對(duì),所以當(dāng)?shù)?個(gè)if語(yǔ)句的判斷條件不成立時(shí),不再執(zhí)行第2個(gè)if語(yǔ)句以及與第2個(gè)if語(yǔ)句配對(duì)的else語(yǔ)句,而是直接執(zhí)行“x++”,輸出1。故本題答案為A選項(xiàng)。
21.buf的首地址buf的首地址解析:考查fgets()函數(shù)的功能,fgets()函數(shù)用來(lái)從文件中讀入字符串。調(diào)用格式為:fgets(buf,n,fp)。此處,fp是文件指針,buf是存放字符串的起始地址,n是一個(gè)int型變量。調(diào)用函數(shù)fgets()時(shí),最多能讀入n-1個(gè)字符,系統(tǒng)自動(dòng)在最后加字符串結(jié)束標(biāo)志,并以buf作為函數(shù)值返回。
22.
23.自盒自盒解析:自盒測(cè)試法即結(jié)構(gòu)測(cè)試,它與程序內(nèi)部結(jié)構(gòu)相關(guān),要利用程序結(jié)構(gòu)的實(shí)現(xiàn)細(xì)節(jié)設(shè)計(jì)測(cè)試實(shí)例。白盒測(cè)試法主要有邏輯覆蓋、基本路徑測(cè)試等。
24.continuecontinue解析:continue語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。break語(yǔ)句是終止整個(gè)循環(huán)的執(zhí)行,不再進(jìn)行條件判定。
25.j%3!=0j%3!=0解析:for循環(huán)語(yǔ)句中表達(dá)式“j=i*10+6;”可以給出100以內(nèi)個(gè)位數(shù)為6的所有整數(shù),因此if語(yǔ)句只需判斷該數(shù)能否被3整除即可,可應(yīng)用取余運(yùn)算表達(dá)式“j%3!=0”判斷。
26.x>5||x<-5或abs(x)>5x>5||x<-5或abs(x)>5解析:要使整數(shù)x的絕對(duì)值大于5,則x大于5或x小于-5,用C語(yǔ)言表示即為:x>5||x<-5或者abs(x)>5。
27.軟件開(kāi)發(fā)
28.1616解析:首先用j和MCRA(i)替換MCRB(n,m)中的參數(shù)n和m,變成2*MCRA(j)+MCRA(i),再用j和i替換MCRA(m)中的參數(shù)m,變成2*2*j+2*i=2*2*3+2*2=16。
29.3
30.元組元組解析:在關(guān)系型數(shù)據(jù)庫(kù)中,用二維表來(lái)表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱為關(guān)系的元組,二維表的列,稱為關(guān)系的屬性。
31.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見(jiàn)的線性結(jié)構(gòu)有線性表、棧和隊(duì)列等,常見(jiàn)的非線性結(jié)構(gòu)有樹(shù)、二叉樹(shù)等。
32.隊(duì)列隊(duì)列解析:隊(duì)列是一種特殊的線性表,只允許在表的一端插入元素,在表的另一端刪除元素,插入元素的一端叫做“隊(duì)尾”,刪除元素的一端叫做“隊(duì)頭”,先插入的元素先被刪除,是按先進(jìn)先出的原則組織數(shù)據(jù)的。
33.77解析:字符型數(shù)據(jù)可作為整型參加算術(shù)運(yùn)算,其值為其對(duì)應(yīng)的ASCII碼。'H'-'A',的結(jié)果是7,加'0'后是'7'的ASCII碼,所以輸出的是字符'7'。
34.1616解析:函數(shù)運(yùn)算不改變數(shù)據(jù)類型,所以結(jié)果也是double型,fabs(x)是對(duì)x取絕對(duì)值,pow(y,fabs(x))是y的labs(x)次冪,即2.04。0=16.000000(注意;結(jié)果為double型)。
35.k<=nk++k<=n\r\nk++解析:本題要求將一個(gè)for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會(huì)加1,而while循環(huán)則沒(méi)有,故需在循環(huán)體中增加改變k數(shù)值的語(yǔ)句“k++;”。
36.繼承繼承
37.99解析:本題考查宏定義與三目運(yùn)算符的綜合用法,宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則為b+1的值為整個(gè)表達(dá)式的值,(應(yīng)注意后面的加1)。
38.內(nèi)模式內(nèi)模式解析:內(nèi)模式又稱為物理模式,它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。
39.ch++;或++ch;或ch=ch+1;或ch=1+ch;或ch+=1;priintf("\n");或putchar('\n');ch++;或++ch;或ch=ch+1;或ch=1+ch;或ch+=1;\r\npriintf('\\n');或putchar(\'\\n\');解析:因?yàn)閏h被初始化為\'A\',而內(nèi)循環(huán)中有—條輸出ch的語(yǔ)句,整個(gè)程序都沒(méi)有一條改變ch值的語(yǔ)句。所以,第1空應(yīng)該填ch++或其它類似的表達(dá)式,以使每次輸出一個(gè)字母后ch都能變?yōu)橄乱粋€(gè)字母。內(nèi)循環(huán)結(jié)束后,代表這一行已經(jīng)輸出完畢,此時(shí)即將開(kāi)始下一行的輸出,所以在第2空位置應(yīng)該輸出一個(gè)換行符,故應(yīng)填入printf('\\n');或其他等價(jià)形式。
40.22解析:分析程序,a=2,b=-1,c=2時(shí),if語(yǔ)句的表達(dá)式a<b不成立,不再往下判斷,直接退出if語(yǔ)句,執(zhí)行后面的輸出語(yǔ)句,程序結(jié)束。在這個(gè)程序中a、b、c的值沒(méi)做任何改變。
41.A解析:在選項(xiàng)A)中,因?yàn)?a=0,所以關(guān)系表達(dá)式!a==1的值為0,又因?yàn)檫壿嬇c運(yùn)算符“&&”兩邊的表達(dá)式只要一個(gè)等于零,則整個(gè)表達(dá)式為零,所以選項(xiàng)A)正確。在選項(xiàng)B)中,關(guān)系表達(dá)式a<b為真,表達(dá)式(a<b)&&!c為假,而表達(dá)式(a<b)&&!c‖1為真,所以整個(gè)表達(dá)式的值為真。選項(xiàng)C)中,a&&b的結(jié)果為真。在選項(xiàng)D)中,a‖(b+b)&&(c-a)的結(jié)果為真。
42.A
43.D解析:第一個(gè)while循環(huán)是字符串a(chǎn)的長(zhǎng)度,第二個(gè)while是將字符串b接在a的后面,num在a串長(zhǎng)度上繼續(xù)累計(jì),為兩個(gè)字符串長(zhǎng)度之和。
44.D解析:選項(xiàng)A)是一個(gè)合法的賦值表達(dá)式,但結(jié)尾沒(méi)加分號(hào),所以它不是一個(gè)賦值語(yǔ)句;選項(xiàng)B)是一個(gè)逗號(hào)表達(dá)式,也因?yàn)榻Y(jié)尾沒(méi)有加分號(hào)而不是合法的賦值語(yǔ)句,選項(xiàng)C)是一個(gè)算術(shù)表達(dá)式,雖然有分號(hào),但這個(gè)表達(dá)式?jīng)]有賦值操作,因此,也不是一條賦值語(yǔ)句。
45.A解析:函數(shù)的參數(shù)不僅可以是整型、實(shí)型、字符型等數(shù)據(jù),還可以是指針型。它的作用是將一個(gè)變量的地址傳遞到另一個(gè)函數(shù)中。當(dāng)數(shù)組名作參數(shù)時(shí),如果形參數(shù)組中的各元素的值發(fā)生變化,實(shí)參數(shù)組元素的值也將隨之發(fā)生變化。
46.B解析:考查十六進(jìn)制數(shù)的表示方法。十六進(jìn)制數(shù)以0x開(kāi)頭,后面跟著若干位1f的數(shù),所以正確答案為B)。整形常量、實(shí)型常量和字符型常量的合法性判斷。
47.B解析:本題中,a[1][2]是二維數(shù)組中的第6個(gè)元素,對(duì)應(yīng)for循環(huán)中i的值為5,p[5]=5+1。
48.D解析:指針變量是通過(guò)指向變量地址來(lái)指定變量值的。這里只要取m的地址賦給p,即可實(shí)現(xiàn)使p為指向m的指針變量。
49.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è)字符串的大小)。
50.B解析:在主函數(shù)main()中定義了兩個(gè)變量s和i,同時(shí)給s賦初值a=4,i賦初值0。當(dāng)i=0時(shí)。執(zhí)行“s+=f(i);”語(yǔ)句,調(diào)用f()并將i的初值0傳遞給形參n。首先執(zhí)行if語(yǔ)句中內(nèi)條件:n%2,若條件為假。則執(zhí)行else下的語(yǔ)句,a=7,t=7+0=7,使用return返回t,t=7+(a++)=7+5=12,此時(shí)a運(yùn)算完后自增1,變?yōu)?;返回主函數(shù)中,s=4+12=16。當(dāng)i=1時(shí),執(zhí)行“s+=f(i);”語(yǔ)句,調(diào)用f()并將i的初值1傳遞給形參n。首先執(zhí)行if語(yǔ)句中的條件:n%2,條件為真,執(zhí)行if
51.D解析:本題考核的知識(shí)點(diǎn)是指針變量的賦值。本題中定義了一個(gè)整型數(shù)組a和一個(gè)整型指針變量P。選項(xiàng)A中將一個(gè)整型數(shù)賦值給一個(gè)指針變量,C語(yǔ)言規(guī)定,只能特地址賦給指針指針變量,故選項(xiàng)A不正確:選項(xiàng)B中a[5]為一數(shù)組元素,同樣不是一個(gè)地址,故選項(xiàng)B不正確;選項(xiàng)c中a[2]為一數(shù)組元素,同樣是一個(gè)整型數(shù)據(jù),不是個(gè)地址,故選項(xiàng)C不正確:選項(xiàng)D中數(shù)蛆名a代表數(shù)組首地址加2,代表第三個(gè)元素的地址,故選項(xiàng)D正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
52.A解析:樹(shù)的結(jié)點(diǎn)數(shù)等于所有結(jié)點(diǎn)的度與對(duì)應(yīng)的結(jié)點(diǎn)個(gè)數(shù)乘積之和加1。對(duì)任何一棵二叉樹(shù)T,如果其葉子結(jié)點(diǎn)數(shù)為n0,度為2的結(jié)點(diǎn)數(shù)為n2,則n0=n2+1,即葉子結(jié)點(diǎn)數(shù)總是比度為2的結(jié)點(diǎn)數(shù)多1。由于葉子結(jié)點(diǎn)個(gè)數(shù)為70,則度為2的結(jié)點(diǎn)數(shù)為70-1=69,所以總結(jié)點(diǎn)個(gè)數(shù)為69×2+80×1十1=219。
53.A解析:在給p和q數(shù)組賦初值時(shí),系統(tǒng)會(huì)自動(dòng)添加字符串結(jié)束符,從題目中可以看出數(shù)組p和q都有3個(gè)字符,所以長(zhǎng)度均為3。
54.BB)【解析】在具有11個(gè)結(jié)點(diǎn)的滿二叉樹(shù),其非葉子結(jié)點(diǎn)數(shù)為int(n/2),而葉子結(jié)點(diǎn)數(shù)等于總結(jié)點(diǎn)數(shù)減去葉子結(jié)點(diǎn)數(shù)。本題n=15,故非葉子結(jié)點(diǎn)數(shù)等于int(15/2)=7,葉子結(jié)點(diǎn)數(shù)等于15-7=8。
55.B解析:中序遍歷首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù),并且在遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。
56.A解析:表達(dá)式a&2的值為0,不必再計(jì)算表達(dá)式ch<'m',整個(gè)邏輯表達(dá)式的值為0。
57.D解析:函數(shù)f的功能是將字符串?dāng)?shù)組中的每個(gè)字符串元素按照由小到大的順序進(jìn)行排列,調(diào)用f(p,5)后,字符串?dāng)?shù)組p變?yōu)閧“aabdfg”,“abbd”,“abc”,“cd”,“dcdbe”},所以最后輸出p[1]即'abbd'的長(zhǎng)度應(yīng)為4。
58.C解析:本題考查的是逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的求解步驟是先求解表達(dá)式1,然后依次求解表達(dá)式2,直到表達(dá)式N的值。整個(gè)逗號(hào)表達(dá)式的值就是最后一個(gè)表達(dá)式N的值。表達(dá)式(x=3*y,x+6)中,x=15。表達(dá)式y(tǒng)=x-1=14。
59.B解析:在內(nèi)存中,字符數(shù)據(jù)以ASCII碼存儲(chǔ),它的存儲(chǔ)形式與整數(shù)的存儲(chǔ)形式類似。C語(yǔ)言中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用,也可以對(duì)字符型數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,此時(shí)相當(dāng)于對(duì)它們的ASCII碼進(jìn)行算術(shù)運(yùn)算,在本題中,s++相當(dāng)于s=s+1,即讓s指向數(shù)組中的下一個(gè)元素。
60.D解析:軟件需求規(guī)格說(shuō)明書(shū)SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶、開(kāi)發(fā)人員進(jìn)行理解和交流;②反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。
61.C
62.B
63.C
64.A對(duì)象具有如下特性:標(biāo)識(shí)唯一性、分類性、多態(tài)性、封裝性、模塊獨(dú)立性。
65.D解析:因?yàn)樽址麛?shù)組s1)中的數(shù)組名s表示的是一個(gè)地址常量。所以語(yǔ)句“s+=2;”不能將指針在當(dāng)前位置的基礎(chǔ)上再向后移動(dòng)兩位,因而程序編譯時(shí)出錯(cuò)。
66.B
67.D
68.C
69.Aprintf函數(shù)中格式字符“%8.6”的含義是:變量Y的輸出寬度為8(包括小數(shù)點(diǎn)),小數(shù)點(diǎn)后面保留6位小數(shù),且右對(duì)齊。所以選擇A。
70.A本題主要考查標(biāo)識(shí)符的定義。對(duì)標(biāo)識(shí)符的定義是考試中常考的內(nèi)容之一。標(biāo)識(shí)符主要由數(shù)字、下畫(huà)線和字母組成,其中數(shù)字不能放在首位,另外,用戶自定義標(biāo)識(shí)符時(shí),不能將標(biāo)識(shí)符定義為C語(yǔ)言中已定義的關(guān)鍵字,如int、while等。
根據(jù)上面對(duì)標(biāo)識(shí)符的分析,我們不難看出本題的正確答案是A。在選項(xiàng)B中,3_xy以數(shù)字開(kāi)頭,不符合標(biāo)識(shí)符定義的規(guī)定;在選項(xiàng)C中,int是C語(yǔ)言系統(tǒng)中已經(jīng)定義了的關(guān)鍵字;在選項(xiàng)D中,LINE-3使用的數(shù)字、下畫(huà)線和字母以外的字符,因此不
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 冠狀病毒考試題目及答案
- 妊娠合并微重復(fù)綜合征的圍產(chǎn)期管理策略
- 妊娠合并Angelman的產(chǎn)前咨詢心理干預(yù)策略
- 婦產(chǎn)科學(xué)精準(zhǔn)醫(yī)學(xué):圍產(chǎn)期多組學(xué)監(jiān)測(cè)與管理
- 大數(shù)據(jù)驅(qū)動(dòng)共病風(fēng)險(xiǎn)預(yù)警系統(tǒng)
- 多靶點(diǎn)CRISPR策略逆轉(zhuǎn)糖尿病肝胰島素抵抗-1
- 幼師考試高頻題目及答案
- omm考試試題及答案
- 2025年高職糧食工程(糧食工程基礎(chǔ))試題及答案
- 2025年中職園林(設(shè)計(jì)技巧)試題及答案
- 2026屆川慶鉆探工程限公司高校畢業(yè)生春季招聘10人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 醫(yī)療器械法規(guī)考試題及答案解析
- 2025年河南體育學(xué)院馬克思主義基本原理概論期末考試筆試題庫(kù)
- 2026年廣西出版?zhèn)髅郊瘓F(tuán)有限公司招聘(98人)考試參考題庫(kù)及答案解析
- 2026年中國(guó)鐵路上海局集團(tuán)有限公司招聘普通高校畢業(yè)生1236人備考題庫(kù)及答案詳解1套
- 2025首都醫(yī)科大學(xué)附屬北京康復(fù)醫(yī)院招聘36人(第三批)筆試參考題庫(kù)附答案解析
- 電力系統(tǒng)經(jīng)濟(jì)學(xué)原理(全套課件)
- 水廠及管網(wǎng)改擴(kuò)建工程施工節(jié)能降耗主要措施
- 2023-2024學(xué)年貴州省遵義市小學(xué)語(yǔ)文六年級(jí)期末評(píng)估測(cè)試題詳細(xì)參考答案解析
- 變態(tài)反應(yīng)課件
- 果蔬包裝課件
評(píng)論
0/150
提交評(píng)論