版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年廣東省清遠(yuǎn)市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是()。
A.0B.‘0’C.“0”D.0.0
2.以下程序段中,與語句“k—a>b?(b>c?1:O):0;”功能相同的是()。
A.if(a>b)(b>c)k=1;elsek=0;
B.if((a>b)‖(b>c))k=1;elsek=0;
C.if(a<=b)k=0;elseif(b>c)k=1;
D.if(a>b)k=1;elseif(b<=c)k=1;elsek=0:
3.有以下程序:#include<stdio.h>main(){inty=10;while(y--);printf(“y=%d\n”,y);}程序運(yùn)行后的輸出結(jié)果是()。
A.y=0B.y=-1C.y=1D.while構(gòu)成無限循環(huán)
4.
5.以下C語言用戶標(biāo)識符中,不合法的是()。
A._1B.AaBcC.abD.a--b
6.
7.下列敘述中錯(cuò)誤的是()。
A.列表框和組合框都有List屬性
B.列表框有Selected屬性,而組合框沒有
C.列表框和組合框都有Style屬性
D.組合框有Text屬性,而列表框沒有
8.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}執(zhí)行后輸出的結(jié)果是A.11122B.12C.12020D.120
9.有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}程序的運(yùn)行結(jié)果是()。
A.7B.10C.8D.9
10.有下列程序:main{intk=5,n=0;while(k>0){switch(k){dcfault:break;case1:n=n+k;case2:case3:n+=k;}k--;}printf("%d\n".n);}程序運(yùn)行后的輸出結(jié)果足()。A.0B.4C.6D.7
11.在非線性結(jié)構(gòu)中,每個(gè)結(jié)點(diǎn)()。
A.無直接前趨
B.只有一個(gè)直接前趨和個(gè)數(shù)不受限制的直接后繼
C.只有一個(gè)直接前驅(qū)和后繼
D.有個(gè)數(shù)不受限制的直接前驅(qū)和后繼
12.
13.
14.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)次序的是()。
A.自頂而下B.由內(nèi)向外C.由外向內(nèi)D.自底向上
15.若變量已正確定義,有以下程序段
A.0,0B.0,1C.1,1D.程序進(jìn)入無限循環(huán)
16.程序運(yùn)行后的輸出結(jié)果是()。A.0304.B.2050C.3344D.3040
17.下列程序的輸出結(jié)果是()main(){intx=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf(“%d,%d,%d\n”,x,y,z);}A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5
18.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示
A.模塊之間的調(diào)用關(guān)系B.程序的組成成分C.控制程序的執(zhí)行順序D.數(shù)據(jù)的流向
19.圖的BFS生成樹的樹高比DFS生成樹的樹高()
A.小或相等B.小C.大或相等D.大
20.下列選項(xiàng)中,當(dāng)X為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。
A.x%2==0B.x/2C.x%2!=0D.x%2==1
二、2.填空題(20題)21.C語言中用______表示邏輯值為“真”,用數(shù)字“0”表示邏輯值為“假”。
22.若有如下結(jié)構(gòu)體說明:
structSIRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請?zhí)羁?,以完成對t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。
【】t[20]
23.若有下列定義:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,則值為3的表達(dá)式為:______。
24.當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算。這種情況稱為【】。
25.在計(jì)算機(jī)軟件系統(tǒng)的體系結(jié)構(gòu)中,數(shù)據(jù)庫管理系統(tǒng)位于用戶和【】之間。
26.最簡單的交換排序方法是______。
27.下面程序的輸出結(jié)果是______。
main()
{staticchara[]="language",b[]="program";
char*ptrl=a,*ptr2=b;
intk
for(k=0;k<7;k++)
if(*(ptrl+k)==*(ptr2+k))
printf("%c",*(ptr1+k));}
28.若有以下定義:
chara;intb;
floatc;doubled;
則表達(dá)式a*b+d-c值的類型為【】。
29.在數(shù)據(jù)的存儲結(jié)構(gòu)中,不僅需要存儲各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
30.當(dāng)運(yùn)行以下程序時(shí),輸入abed,程序的輸出結(jié)果是:【】。
insert(charstr[])
{inti
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",sB);insert(str);
}
31.數(shù)據(jù)庫系統(tǒng)其內(nèi)部分為三級模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
32.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下
1
11
121
1331
14641
其構(gòu)成規(guī)律是:
(1)第0列元素和主對角線元素均為1
(2)其余元素為其左卜方和正上方元素之和
(3)數(shù)據(jù)的個(gè)數(shù)每行遞增1
請將程序補(bǔ)充完整。
#defineN6
voidyanghui(intx[N][N])
{inti,j;
x[0][0]=1;
for(i=1;j<N;i++)
{x[i][0]=______=1;
for(j=1;j<i;j++)
x[i][j]=______;
}
}
33.黑盒測試是從【】觀點(diǎn)的測試。
34.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
35.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。
36.以下程序運(yùn)行后的輸出結(jié)果是【】。
voidfun()
{
staticinta=0;
a+=2;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<4,cc++)fun();
printf("\n");
}
37.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于______的聯(lián)系。
38.若有以下程序:
intf(intx,inty)
{
return(y-x)*x;
}
main()
{
inta=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
printf("%d\n",d);
}
執(zhí)行后輸出的結(jié)果是【】。
39.下面程序的功能是:計(jì)算110之間的奇數(shù)之和與偶數(shù)之和,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta,b,c,I;
a=c=0;
for(I=0;I<=10;I+=2)
{a+=I;
【】;
c+=b;}
printf("偶數(shù)之和=%d\n",a);
printf("奇數(shù)之和=%d\n",c-11);}
40.設(shè)有定義:FILE*fw;,請將以下打開文件的語句補(bǔ)充完整,以便可以向文本文件readme.txt的最后續(xù)寫內(nèi)容。
fw=fopen("readme.txt",【】);
三、1.選擇題(20題)41.下列選項(xiàng)中正確的語句組是()。
A.chars[8];s={"Beijing"};
B.char*s;s={"Beijing"};
C.chars[8];s="Beijing";
D.char*s;s="Beijing";
42.設(shè)a、b,c為int型變量,若從鍵盤給a、b,c輸入數(shù)據(jù),則正確的輸入語句是()
A.scanf("%d%d%d",a,b,c);
B.put("%d%d%d",a,b,c);
C.input("%d%d%d",a,b,c);
D.scanf("%d%d%d",&a,&b,&c);
43.有如下程序
main()
{charch[2][5]={"6937","8254"},*p[2];
inti,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>′\0′;j+=2)
s=10*s+p[i][j]-′0′;
printf("%d\n",s);}
該程序的輸出結(jié)果是
A.69825B.63825C.6385D.693825
44.當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是()。
A.(c==2)||(c==4)||(c==6)
B.(c>=2&&c<=6)||(c!=3)||(c!=5)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<=6)&&(c%2!=1)
45.下面函數(shù)的功能是()intfunl(char*X){char*y=X;whar(*y++);return(y-x-1);}
A.求字符串的長度B.比較兩個(gè)字符串的大小C.將字符串x復(fù)制到字符串y中D.將字符串x連接到字符串y后面
46.在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為______。
A.2B.3C.4D.5
47.下面程序的文件名為t.exe,在DOS下輸入的命令行參數(shù)為:ttomeetme<回車>
則程序輸出的結(jié)果是
#include"stdio.h"
main(argc,argv)
intargc;char*argv[];
{inti;
printf("%d\n",argc);}
A.3B.4C.2D.以上答案都不正確
48.設(shè)變量x和y均已正確定義并賦值。下列if語句中,在編譯時(shí)將產(chǎn)生錯(cuò)誤信息的是()。
A.if(x++);
B.if(x>y&&y!=0);
C.if(x>0)x--elsey++;
D.if(y<0){;}elsex++;
49.以下說法正確的是()
A.宏定義是C語句,所以要在行末加分號
B.可以使用#undef命令來終止宏定義的作用域
C.在進(jìn)行宏定義時(shí),宏定義不能層層置換
D.對程序中用雙引號括起來的字符串內(nèi)的字符,與宏名相同的要進(jìn)行置換
50.下列程序的運(yùn)行結(jié)果是()。main(){inta=-5,b=1,c=1;intx=0,Y=2,z=0;if(c>0)x=x+y;if(a<=0){if(b>0)if(c<=0)y=x-y;}elseif(c>0)Y=x-y;elsez=y;printf("%d,%d,%d\n",x,y,z);}
A.2,2,0B.2,2,2C.0,2,0D.2,0,2
51.若有下面的說明和定義,則sizeof(structaa)的值是______。structaa{intr1;doubler2;floatr3;unionuu{charu1[5];longu2[2]}ua;}mya;
A.30B.29C.24D.22
52.以下選項(xiàng)中,與k=n++完全等價(jià)的表達(dá)式是A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1
53.表達(dá)式'8'-'2'的值是()。
A.整數(shù)6B.字符6C.表達(dá)式不合法D.字符8
54.有如下程序:main(){inta[3][3]={{i,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);}該程序的輸出結(jié)果是______。
A.18B.19C.20D.21
55.數(shù)據(jù)流圖用于抽象描述一下軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
56.已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達(dá)式是
A.kk>=′A′&&kk<=′Z′
B.!(kk>=′A′||kk<=′Z′)
C.(kk+32)>=′a′&&(kk+32)<=′Z′
D.isalpha(kk)&&(kk<91)
57.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
58.以下定義語句中正確的是
A.inta=b=0;
B.charA=65+1,b='b';
C.floata=1,*b=&a,*c=&b;
D.doublea=0.0;b=1.1;
59.以下敘述中錯(cuò)誤的是A.計(jì)算機(jī)不能直接執(zhí)行用C語言編寫的源程序
B.C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個(gè)二進(jìn)制文件
C.后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個(gè)二進(jìn)制文件
D.后綴為.obj和.exe的二進(jìn)制文件都可以直接運(yùn)行
60.計(jì)算機(jī)軟件系統(tǒng)包括______。
A.計(jì)算機(jī)與外部設(shè)備B.硬件系統(tǒng)與軟件系統(tǒng)C.系統(tǒng)軟件與應(yīng)用軟件D.CPU與外部設(shè)備
四、選擇題(20題)61.URI的全稱是()。A.標(biāo)準(zhǔn)資源描述符B.標(biāo)準(zhǔn)資源標(biāo)識符C.通用資源描述符D.統(tǒng)一資源標(biāo)識符
62.
63.
64.
有以下程序:
main
{intk=5;
while(--k)printf("%d",k-=3);
printf("\n");
}
執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.4D.死循環(huán)
65.
66.設(shè)有定義:
則以下賦值語句中錯(cuò)誤的是()。
A.data2=datal;
B.data2=(2,6.;
C.
D.
67.設(shè)有如下定義:
若要使P指向data中的n域,正確的賦值語句是()。
A.
B.
C.
D.
68.兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度稱為()。
A.耦合度B.內(nèi)聚度C.復(fù)雜度D.數(shù)據(jù)傳輸特性
69.
70.
71.
72.
73.成功的測試是指A.A.運(yùn)行測試實(shí)例后未發(fā)現(xiàn)錯(cuò)誤
B.發(fā)現(xiàn)程序的錯(cuò)誤
C.證明程序正確
D.軟件產(chǎn)生
74.開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱為()。
A.軟件投機(jī)B.軟件危機(jī)C.軟件工程D.軟件產(chǎn)生
75.設(shè)變量x為float型且已賦值,則以下語句能將x中的數(shù)值保留到小數(shù)點(diǎn)后兩位,并將第3位四舍五入的是()。
A.
B.
C.
D.
76.一個(gè)函數(shù)內(nèi)有數(shù)據(jù)類型說明語句如下:
doublex,y,z(10)
關(guān)于此語句的解釋,下面說法正確的是()。
A.z是一個(gè)數(shù)組,它有10個(gè)元素
B.z是一個(gè)函數(shù),小括號內(nèi)的10是它的實(shí)參的值
C.x是一個(gè)變量,小括號內(nèi)的10是它的初值
D.語句中有錯(cuò)誤,因?yàn)椤皕(10)”應(yīng)該為“z[10]”
77.下列程序的輸出結(jié)果是()。
main
{inta,b,d=25;
a=d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);}A.A.6,1B.2,1C.6,0D.2,0
78.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。\\
A.Zhao,111,85,90,Qian,f,95,92
B.Zhao,m,85,90,Zha0,m,85,90
C.Qian,f,95,92,Qian,f,95,92
D.Qian,f,95,92,Zha0,m,85,90
79.下列敘述中正確的是()。
A.棧是“先進(jìn)先出”的線性表
B.隊(duì)列是“先進(jìn)后出”的線性表
C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)
D.有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)
80.
執(zhí)行下列程序中的輸出語句后,a的值是()。
main
{inta;
printf("%d\n",(a=2*3,a*5,a+7));
}
A.17B.37C.6D.13
五、程序改錯(cuò)題(1題)81.寫出下列程序的運(yùn)行結(jié)果。
main
{intn;
For(n=3;n<=10;n++)
{if(n%6==0)break;Printf(“%d”,n);}}
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的記錄已放入主函數(shù)的結(jié)構(gòu)體數(shù)組s中。請編寫函數(shù)fun(),其功能是把指定分?jǐn)?shù)范圍內(nèi)的學(xué)生記錄存放在b所指的數(shù)組中,分?jǐn)?shù)范圍內(nèi)的學(xué)生人數(shù)由函數(shù)值返回。如輸入的分?jǐn)?shù)是60、69,則應(yīng)當(dāng)把分?jǐn)?shù)在60~69的學(xué)生記錄輸出,包含60分和69分的學(xué)生記錄。主函數(shù)中把60放在low中,把69放在high中。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdio.h>#defineN16typedefstruct{ charnum[10]; ints;}STREC;intfun(STREC*a,STREC*b,intl,inth)voidmain(){ STRECs[N]={{“GA005”,85},{“GA003”,76},{“GA002”,69},{“GA004”,85},{“GA001”,96},{“GA007”,72},{“GA008”,64},{“GA006”,87},{“GA015”,85},{“GA013”,94},{“GA012”,64},{“GA014”,91},{“GA011”,90},{“GA017”,64},{“GA018”,64},{“GA016”,72}}; STRECh[N]; inti,n,low,high,t; printf(“Enter2integernumberlow&high:”); scanf(“%d%d”,&low,&high); if(high<low) {t=high;high=low;low=t;} n=fun(s,h,low,high); printf(“Thestudent’sdatabetween%d--%d:\n”,low,high); for(i=0;i<=""p=""> printf(“%s%4d\n”,h[i].num,h[i].s); printf(“\n”);}
參考答案
1.D
2.A本題考查了雙重三目運(yùn)算符的用法。例如:表達(dá)式a>b?c:d可以看成,當(dāng)a>b時(shí)取C的值,否則取d的值。在本題中k=a>b?(b>c?1:0):0可以看做:當(dāng)b>c時(shí)為真,則k=a>b?1:0。當(dāng)bb?0:0。也就是說,當(dāng)a>b并且b>C時(shí),k=1,否則k=0。所以A選項(xiàng)符合題意。
3.B執(zhí)行“y--”直到值為0。退出循環(huán)。由于“y--”是后綴自減運(yùn)算,先使用再自減,因此退出循環(huán)時(shí),y的值為-1。故本題答案為B選項(xiàng)。
4.D
5.D\n標(biāo)識符主要由英文字母、數(shù)字和下劃線構(gòu)成,但開頭字符一定是字母或下劃線。
\n
6.A
7.BB?!窘馕觥拷M合框和列表框都沒有selected屬性。
8.A解析:當(dāng)執(zhí)行switch語句時(shí),首先計(jì)算緊跟其后一對括號中的值,然后在語句體內(nèi)尋找與該值吻合的case標(biāo)號。若相等,則執(zhí)行該標(biāo)號后開始的各語句,包括在其后的所有case和default后的語句,直到switch語句體結(jié)束。
9.D在main函數(shù)中,調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,所以外層調(diào)用f(f(a,b),f(a,c)),即調(diào)用f(3,6)函數(shù)返回9。故本題答案為D選項(xiàng)。
10.D本題主要考查while循環(huán)語句和switchcase語句的使用方法。其執(zhí)行步驟為:k=5時(shí),跳出switch語句,然后k自減1;當(dāng)k=4時(shí),跳出switch語句,然后k自減1;當(dāng)k=3時(shí),n=13+k=0+3=3,跳出switch語句,然后k自減1;當(dāng)k=2時(shí)n=n+k=3+2=5,跳出switch語句,然后k自減l;當(dāng)k=1時(shí),case1:n=n+k一5+1=6,沒有break繼續(xù)執(zhí)行CaSe3;n=n+k=6+1=7,跳出switch語句,然后k自減1;當(dāng)k=0時(shí),退出循環(huán),所以輸出結(jié)果為7。
11.D
12.B
13.D
14.C視圖設(shè)計(jì)的設(shè)計(jì)次序分3種:自頂向下、自底向上和由內(nèi)向外。它們?yōu)橐晥D設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握。
15.Bdo…while循環(huán)的執(zhí)行過程如下:①執(zhí)行do后面的循環(huán)體中的語句。②計(jì)算while后一對圓括號中表達(dá)式的值。當(dāng)值為非0時(shí),轉(zhuǎn)去執(zhí)行步驟①;當(dāng)值為0時(shí),執(zhí)行步驟③。③退出do…while循環(huán)。對于本題變量i的初始值等于“0”,接著執(zhí)行do后面的循環(huán)體中的語句,輸出變量i的值0。再判斷while后面括號中表達(dá)式i十的值,其值為0,所以循環(huán)結(jié)束。.此時(shí)變量i的值經(jīng)過自加已經(jīng)變?yōu)?,所以再次輸出i的值“1”。
16.D[解析]第一次循環(huán)溈0.i%2為0.執(zhí)行switch(a[0]%62)中的case0語句后內(nèi)容即a[0]++,a[0]的值變成3;第二次循環(huán)的值為1.i%62為1.執(zhí)行case1:a[]=0;所以a[1]的值變成0;第三次循環(huán)的值為2.i%62為0.執(zhí)行switch([2]%62)中的case1語句后的內(nèi)容a[2]--,a[2]的值變成4;第四次循環(huán)的值為3.i%2為1.執(zhí)行case1:ai]=0;所以a[3]的值變成0.
17.B解析:本題的執(zhí)行過程是:
在While循環(huán)中,
比較xyz
第—次:3>0&&1<5142
第二次:2>0&&2<5231
第三次:1>0&&3<5320
判斷條件“z-->0”不成立,也不執(zhí)行“i+=2”語句,循環(huán)結(jié)束,因此,輸出結(jié)果為3,2,-1。
18.D解析:數(shù)據(jù)流相當(dāng)于一條管道,并有一級數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實(shí)體流向系統(tǒng)或從系統(tǒng)流向外部實(shí)體。
19.A
20.A算術(shù)運(yùn)算符的優(yōu)先級高于關(guān)系運(yùn)算符的優(yōu)先級。所以當(dāng)x為大于1的奇數(shù)時(shí),A選項(xiàng)的值為假,即0。B選項(xiàng)的值為不定值,但絕對不是0。C選項(xiàng)的值為真,即1。0選項(xiàng)的值為真,即1。故本題答案為A選項(xiàng)。
21.非0非0解析:邏輯運(yùn)算中,非0表示邏輯“真”,用。表示邏輯“假”。
22.structSTRUstructSTRU解析:結(jié)構(gòu)體類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。
結(jié)構(gòu)體類型的定義:
struct結(jié)構(gòu)體類型名
{
成員項(xiàng)表;
定義結(jié)構(gòu)休變量的的形式為:
struct結(jié)構(gòu)體類型名變量1,變量2,....
其中變量包括:一般變量、指針變量、數(shù)組變量等。
23.p+=2*(p++)p+=2,*(p++)解析:由題可知a[2]=3,因此只要使指針p指向a[3],然后再引用指針的值就可以了。
24.上溢上溢解析:入隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)尾加入一個(gè)新元素。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將隊(duì)尾指針進(jìn)一(即rear=rear+1),并當(dāng)rear=m+1時(shí)置rear=1;然后將新元素插入隊(duì)尾指針指向的位置。當(dāng)循環(huán)隊(duì)列非空(s=1)時(shí)且隊(duì)尾指針等于隊(duì)頭指針時(shí),說明循環(huán)隊(duì)列已滿,不能進(jìn)行入隊(duì)運(yùn)算,這種情況稱為“上溢”。
25.操作系統(tǒng)或OS操作系統(tǒng)或OS解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)。位于用戶和操作系統(tǒng)之間。
26.冒泡排序冒泡排序解析:交換排序是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法。冒泡排序是一種最簡單的交換排序方法,它是通過相鄰元素之間的相互交換逐步將線性表變成有序。
27.
28.double或雙精度型double或雙精度型解析:C語言中,如果運(yùn)算符兩邊的數(shù)據(jù)類型不同,將進(jìn)行類型轉(zhuǎn)換,根據(jù)轉(zhuǎn)換規(guī)則,短整型轉(zhuǎn)為長整型;整型轉(zhuǎn)換為實(shí)型。注意:數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)換。
29.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲結(jié)構(gòu)中,除了要存儲數(shù)據(jù),還要存儲數(shù)據(jù)的前后件關(guān)系,對于順序存儲的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過存儲空間的位置來實(shí)現(xiàn)的,而對于鏈?zhǔn)酱鎯碚f,數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來實(shí)現(xiàn)的。
30.a*b*c*da*b*c*d,解析:在insert()函數(shù),因?yàn)轭}目要求輸入的字符串為abed,所以執(zhí)行完“i=strlen(str);”后,i中存放的是字符串a(chǎn)bcd的長度值4。所以接F來的while循環(huán)會循環(huán)4次,每次讓i減1,故4次循環(huán)中i的值依次為4、3、2、1。每次循環(huán)會執(zhí)行兩條語句str[2*i]=str[i];str[2*i-1]='*',當(dāng)i=4時(shí)為:str[8]=str[4];str[7=='*';。執(zhí)行結(jié)果是將字符串a(chǎn)bed末尾的結(jié)束符'\\0'復(fù)制到其下標(biāo)值2倍的位置,并在其前1位插入—個(gè)'*'哼符。接下來i=3,執(zhí)行str[6]=str[3];str[5]='*'。執(zhí)行后會將字符串a(chǎn)bcd最后一個(gè)字符,d復(fù)制到其下標(biāo)值2倍的位置,并在其前1位插入一個(gè)'*'字符。依次類推,直到i=1,執(zhí)行str[2]=str[1];str[1]='*',將字符tb,往后移動了1位,并在原位置插入'*'字符。所以,循環(huán)結(jié)束后,字符串str會變?yōu)閍*b*c*d*。這就是程序的輸出結(jié)果。
31.外模式外模式解析:數(shù)據(jù)庫系統(tǒng)的三級模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫的物理存儲結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
32.x[i][i]x[i-1][j-1]+x[i-1]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1]或x[i-1][j]+x[i-1][j-1]解析:本題考核的知識點(diǎn)是函數(shù)與算法結(jié)合在一起的應(yīng)用。在程序中用兩重循環(huán)。在第一層循環(huán)中將每行的第0列賦值為1,對角線上的元素賦值為1顯然在第一個(gè)空中應(yīng)該填入對角線上的元素即x[i][i]在第2重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對角線的元素外其他元素為其對應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個(gè)空中應(yīng)該填入x[i-1][j-1]+x[i-1][j]。
33.用戶用戶解析:黑盒測試又稱為功能測試,黑盒測試是把程序看作一個(gè)黑盒子,完全不考慮程序內(nèi)部的結(jié)構(gòu)和處理過程。測試者只考慮該程序輸入和輸出的關(guān)系,或只考慮程序的功能。黑盒測試是一種從用戶觀點(diǎn)出發(fā)的測試。
34.1371513715解析:本題中,定義了一個(gè)整型數(shù)組n并初始化,在for循環(huán)語句中,再對數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時(shí),n[1]=n[0]*2+1=0+1=1,pnntf函數(shù)輸出1,然后i的值加1,比較i<4成立,繼續(xù)執(zhí)行循環(huán)體語句,相應(yīng)輸出3、7、15,直至i<=4不成立,退出循環(huán)。所以最后輸出為1、3、7、15。
35.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。
36.246246解析:static聲明的外部變量只限于被本文件引用,而不能被其他文件引用。用static來聲明一個(gè)變量的作用有:①對局部變量用static聲明,則為該變量分配的空間在整個(gè)程序執(zhí)行期間始終存在;②全部變量用static聲明,則該變量的作用域只限于本文件模塊(即被聲明的文件中)。
37.1對多(或1:N)1對多(或1:N)
38.99解析:在主函數(shù)中函數(shù)f(f(3,4),f(3,5))的返回值賦給do函數(shù)的第一個(gè)參數(shù)為f(3,4)的返回值,函數(shù)f(3,4)返回值為(4-3)*3=3,f(3,5)返回值為(5-3)*3=6,那么函數(shù)f(f(3,4),f(3,5))等價(jià)于函數(shù)f(3,6)其返回值為(6-3)*3=9。因此d被賦值為9,所以輸出9。
39.b=I+1b=I+1解析:本題考查了for循環(huán)語句的執(zhí)行過程。i+=2是修正表達(dá)式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2后的和累加至a,所以a的值就是110之間的偶數(shù)之和;b的值是111之間的奇數(shù)和,但在輸出b值時(shí),c去掉多加的11,即為110之間的奇數(shù)之和。
40.aa解析:本題考查的是文件的打開方式。要向文本文件的末尾續(xù)寫內(nèi)容,需要使用方式“a”(追加)打開文件。
41.D解析:字符數(shù)組初始化可以有兩種方式:方式一,按單個(gè)字符的方式賦初值。方式二,把一個(gè)字符串作為初值賦給字符數(shù)組。選項(xiàng)A定義的字符數(shù)組長度為8,由于最后還要加一個(gè)“、0”做結(jié)束標(biāo)志,所以賦給他的字符串長度應(yīng)小于等于7;在給字符數(shù)組賦初值的時(shí)候,應(yīng)該用花括號“{”和“}“將字符串括起來。將字符型指針變量指向字符串也有兩種方法,一是在定義指針變量時(shí)就給其賦初值,比如:char*p=“student”;二是給指針變量賦值,比如:p=“student”;(p已經(jīng)被定義為字符型指針變量;)。
42.D
43.C解析:該題稍微難一點(diǎn)。主要要搞清楚以下幾點(diǎn):①定義了一個(gè)指針數(shù)組char*p[2]后,程序中第一個(gè)循環(huán)for(i=0;i<2;i++)p[i]=ch[i];的作用,是使指針數(shù)組的p[0]元素(它本身是一個(gè)指針)指向了二維數(shù)組ch的第一行字符串,并使指針數(shù)組的p[1]元素指向二維數(shù)組ch的第二行字符串,這樣,就使指針數(shù)組p和二維數(shù)組ch建立起了一種對應(yīng)關(guān)系,以后對二維數(shù)組ch的某個(gè)元素的引用就有兩種等價(jià)的形式:ch[i][j]或p[i][j]。②對二維數(shù)組ch的初始化,使其第一行ch[0]中存入了字符串'6937',第二行ch[1]中的內(nèi)容為字符串'8254'。③程序中第二個(gè)循環(huán)中的循環(huán)體s=s*10+p[i][j]-\'0\';的功能是這樣的,每執(zhí)行一次,將s中的值乘以10(也即,將s中的數(shù)值整體向左移動一位,并在空出來的個(gè)位上添一個(gè)0),再將當(dāng)前p[i][j]中的字符量轉(zhuǎn)換為相應(yīng)的數(shù)字,然后把這個(gè)數(shù)字加到s的個(gè)位上。④注意到內(nèi)層循環(huán)的循環(huán)條件p[i]\ue009[j]>\'\\0\'是指p[i][j]中的字符只要不是字符串結(jié)束標(biāo)志\'\\0\'就繼續(xù)循環(huán),語句j+=2;是使下標(biāo)j每次增加2,也即一個(gè)隔一個(gè)地從p[i]所指向的字符串中取出字符。經(jīng)過上述解析后,不難看出,該程序首先從p[0]所指向的字符串'6937'中一個(gè)隔一個(gè)地取出字符,分別是\'6\'和\'3\',然后從p[1]所指向的字符串'8254'中一個(gè)隔一個(gè)地取出字符,分別是\'8\'和\'5\',同時(shí)經(jīng)過轉(zhuǎn)換和相加運(yùn)算后,結(jié)果s中的值應(yīng)該是6385。
44.B解析:選項(xiàng)A表示當(dāng)變量C的值為2、4、6中的任意一個(gè)時(shí)表達(dá)式的值為真,不滿足條件;選項(xiàng)B表示,當(dāng)C的值不等3時(shí)為真,C的值不等于5時(shí)為真,2=<c<=6時(shí)為真,可見當(dāng)c的值為2、4、6時(shí)滿足條件,c為其他的值也可滿足條件,如c=8;選項(xiàng)C表示,2=<c<=6并且c要能被2整除時(shí)表達(dá)式的值為真,滿足條件的值只有2、4、6;選項(xiàng)D中的表達(dá)式可以轉(zhuǎn)換為選項(xiàng)C,同樣是不滿足條件的。
45.A
46.C解析:二分法查找是一種線性查找方法,其基本方法是:首先要用要查找的關(guān)鍵碼與線性表中間位置結(jié)點(diǎn)的關(guān)鍵碼值進(jìn)行比較,這個(gè)中間結(jié)點(diǎn)把線性表分為兩個(gè)子表,比較相等則查找完畢,不等則根據(jù)查找結(jié)果確定下一步的查找應(yīng)該在哪一個(gè)子表中進(jìn)行,如此下去,直到找到滿足條件的結(jié)點(diǎn):或者確定表中沒有這樣的結(jié)點(diǎn)。用二分法查找關(guān)鍵碼值11的順序如下所示,其中[]內(nèi)為本次栓索的子表,()內(nèi)為該子表的中間結(jié)果。從圖中可以看出,經(jīng)四次查找后,確定表中沒有這樣的結(jié)點(diǎn)。因此本題正確答案為選項(xiàng)C(4)。
第一次:[3,6,8,10,12,(15),16,18,21,25,30]
第二次:[3,6,(8),10,12],15,16,18,21,25,30
第三次:[3,6,8,[(10),(12)],15,16,18,21,25,30]
第四次:[3,6,8,10,[(12)],(15),16,18,21,25,30]查找失敗。
47.B解析:argc中存入的是命令行中字符串的個(gè)數(shù)。argv是一個(gè)指向字符型的指針數(shù)組的指針。
48.C解析:選項(xiàng)A)和選項(xiàng)B)在條件判斷語句的后面是空語句,什么都不做;在選項(xiàng)D)if后面是一個(gè)復(fù)合空語句;而在選項(xiàng)C)中,在x--后面少了一個(gè)分號,所以程序段在編譯時(shí),會出現(xiàn)語法錯(cuò)誤。
49.B
50.A解析:本題考查ifelse語句的使用。先判斷第1個(gè)if語句,因?yàn)閏=1>0,所以x=x+y=0+2=2。第1個(gè)if語句,因?yàn)閍=-5<0,所以進(jìn)入下列的復(fù)合語句。經(jīng)判斷發(fā)現(xiàn),復(fù)合語句中第2個(gè)if語句的條件均不滿足,不執(zhí)行任何語句退出,在這個(gè)過程中y和z的值沒有發(fā)生變化。
51.D解析:結(jié)構(gòu)伸變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和,每個(gè)成員分別占有自己的內(nèi)存單元;共用體變量所占的內(nèi)存長度等于最長的成員的長度。結(jié)構(gòu)體變量aa中,成員r1占2個(gè)字節(jié),r2占8個(gè)字節(jié),r3占4個(gè)字節(jié),共用體ua占8個(gè)字節(jié),所以共占用2+8+4+8=22個(gè)字節(jié)。
52.A解析:在本題中k=n++,為后綴運(yùn)算。根據(jù)其運(yùn)算規(guī)則,首先n先加一,但n++表達(dá)式的值依然n原來的值,即k的值沒有改變。選項(xiàng)A中先給k賦值為n,然后n再加1,k值沒有變化,所以這個(gè)表達(dá)式和本題中表達(dá)式等價(jià):選項(xiàng)B中先n加1,然后將n加1后的值賦給k,k變化了比原來的值大1,所以這個(gè)表達(dá)式和本題中表達(dá)式不等價(jià):選項(xiàng)C中先計(jì)算表達(dá)式左邊的表達(dá)式++=N的值,執(zhí)行++n后,左邊的表達(dá)式的值為n的值加1,然后將n+1后的值賦給k,所以這個(gè)表達(dá)式和本題中的表達(dá)式不等價(jià);選項(xiàng)D中表達(dá)式展開為k=k+(n+1),k的值發(fā)生了變化,所以這個(gè)表達(dá)式和本題中的表達(dá)式不等價(jià)。所以4個(gè)選項(xiàng)中A正確。
53.A解析:在C語言中,雖然字符都是變?yōu)槠鋵?yīng)的ASCII碼值來參與算術(shù)運(yùn)算的,但字符間的相對位置關(guān)系還是不變的,字符8和字符2的ASCII碼值相差仍是6。
54.A解析:題中的外循環(huán)只執(zhí)行了2次:
第1次:a[1][0]=3,a[1][1]=4,所以s=7;
第2次:a[2][0]=5,a[2][1]=6,a[2][2]=0,所以s=7+5+6+0=18。
55.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。
56.B解析:C語言的字符以其ASCII碼的形式存在,所以要確定某個(gè)字符是大寫字母,只要確定它的ASCII碼在'A'和'Z'之間就可以了,選項(xiàng)A)和C)符合要求。函數(shù)isalpha用來確定一個(gè)字符是否為字母,大寫字母的ASCII碼值的范圍為65到90,所以如果一個(gè)字母的ASCII碼小于91,那么就能確定它是大寫字母。
57.B解析:關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。
58.B解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號隔開,因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。
59.D解析:一個(gè)C語言的源程序(后綴名為.c)在經(jīng)過編譯器編譯后,先生成一個(gè)匯編語言程序,然后由編譯程序再將匯編語言程序翻譯成機(jī)器指令程序,即目標(biāo)程序(后綴名為.obj),目標(biāo)程序不可以直接運(yùn)行,它
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級英語Travel課件
- 《實(shí)驗(yàn)室空調(diào)系統(tǒng)》課件
- 《檔案價(jià)值鑒定》課件
- 單位管理制度集合大全人事管理篇十篇
- 單位管理制度集粹選集人力資源管理篇十篇
- 單位管理制度匯編大全人事管理篇
- 單位管理制度合并匯編【人員管理篇】
- 單位管理制度分享合集員工管理篇
- 單位管理制度范文大合集職工管理十篇
- 單位管理制度呈現(xiàn)匯編職員管理十篇
- 小學(xué)五年級體育全冊教學(xué)設(shè)計(jì)及教學(xué)反思
- 單片集成MEMS技術(shù)中英文翻譯、外文文獻(xiàn)翻譯、外文翻譯
- 水晶能量療愈指南百度百科
- 客戶退款申請表
- 汽車概論論文-混合動力汽車的發(fā)展現(xiàn)狀和發(fā)展趨勢
- 《輔酶q10》教學(xué)講解課件
- SMT工程師工作簡歷
- 北京市海淀區(qū)2022-2023學(xué)年七年級上學(xué)期期末語文試題(含答案)
- 心血管內(nèi)科醫(yī)生成長手冊
- 國家開放大學(xué)一網(wǎng)一平臺電大《當(dāng)代中國政治制度》形考任務(wù)1-4網(wǎng)考題庫及答案
- 小企業(yè)會計(jì)準(zhǔn)則財(cái)務(wù)報(bào)表
評論
0/150
提交評論