




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021年湖北省武漢市全國計算機(jī)等級考試C語言程序設(shè)計真題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.若有定義;intw[3][5];,則以下不能正確表示該數(shù)組元素的表達(dá)式是()。A.*(*w+3)B.*(w+1)[4]C.*(*(w+1))D.*(&w[0][0]+1)
3.以下敘述中錯誤的是()。
A.線性結(jié)構(gòu)也能采用鏈?zhǔn)酱鎯Y(jié)構(gòu)
B.線性結(jié)構(gòu)一定能采用順序存儲結(jié)構(gòu)
C.有的非線性結(jié)構(gòu)也能采用順序存儲結(jié)構(gòu)
D.非線性結(jié)構(gòu)一定不能采用順序存儲結(jié)構(gòu)
4.若變量已正確定義,有以下程序段
A.0,0B.0,1C.1,1D.程序進(jìn)入無限循環(huán)
5.在圖采用鄰接表存儲時,求最小生成樹的Prim算法的時間復(fù)雜度為()。
A.O(n)B.O(n+e)C.O(n2)D.O(n3)
6.若長度為n的線性表采用順序存儲結(jié)構(gòu),在其第i個位置插入一個新元素的算法的時間復(fù)雜度為()。
A.O(0)B.O(1)C.O(n)D.O(n2)
7.下面不正確的字符賦值或賦初值的方式為()。
A.chars[10]=”hello!”
B.chars[10]={‘h’,‘e’,‘l’,‘l’,‘o’,‘!’}
C.chars[10];s=”hello”
D.char[]=”hello!”
8.用C語言編寫的代碼程序
A.可立即執(zhí)行B.是一個源程序C.經(jīng)過編譯即可執(zhí)行D.經(jīng)過編譯解釋即可執(zhí)行
9.下列程序的運(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
10.有一個有序表為{1,3,9,12,32,41,45,62,75,77,82,95,100},當(dāng)折半查找值為82的結(jié)點時,()次比較后查找成功。
A.11B.5C.4D.8
11.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.存儲在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲空間量C.數(shù)據(jù)在計算機(jī)中的順序存儲方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示
12.若有定義“intx=10;”,則表達(dá)式“x-=x+x”的值為()。
A.0B.-20C.-10D.10
13.以下敘述中正確的是()。
A.C語言編譯系統(tǒng)對標(biāo)識符的長度沒有規(guī)定
B.C語言標(biāo)識符的規(guī)定長度因系統(tǒng)而異
C.C語言規(guī)定標(biāo)識符長度最多允許16個字符,超長報錯
D.C語言規(guī)定以下劃線開頭的標(biāo)識符長度必須大于1
14.用單鏈表方式存儲的線性表,存儲每個結(jié)點需要兩個域,一個數(shù)據(jù)域,另一個是()。
A.當(dāng)前結(jié)點的所在地址B.后繼結(jié)點的所在地址C.空指針域D.空閑域
15.下列選項中,能夠滿足“只要字符串s1等于字符串S2,則執(zhí)行ST”要求的是()。
A.if(s1-s2==0)ST;
B.if(s1==s2)ST;
C.if(strcpy(s1,s2)==1)ST;
D.if(strcmp(s2,s1)==0)ST;
16.數(shù)據(jù)結(jié)構(gòu)若采用鏈?zhǔn)酱鎯Y(jié)構(gòu),要求內(nèi)存中可用存儲單元的地址()。
A.必須是連續(xù)的B.部分地址必須是連續(xù)的C.一定是不連續(xù)的D.連續(xù)不連續(xù)都可以
17.已知小寫母a的ASCII碼為97,大寫字母A的ASCII碼為65,以下程序的結(jié)果是_______。main(){unsignedinta=32,b=66;printf("%c\n",a|B);}
A.66B.98C.bD.B
18.設(shè)有宏定義:#defineIsDIV(k,n)((k%n==1)?1:0)且變量m已正確定義并賦值,則宏調(diào)用:IsDIV(m,5)&&IsDIV(m,7)為真時所要表達(dá)的是A.判斷m是否能被5或者7整除
B.判斷m是否能被5和7整除
C.判斷m被5或者7整除是否余1
D.判斷m被5和7整除是否都余1
19.有以下程序
main()
{inti;
for(i=1;i<=40;i++)
{if(i++%5==0)
if(++i%8==0)printf("%d",i);
}
printf("\n");
}
執(zhí)行后的輸出結(jié)果是
A.5B.24C.32D.40
20.有以下程序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++)printf("%d",aa[i]);printf("\n");}其輸出結(jié)果是
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.9,2,7,4,5,6,3,8,1,10,
D.1,10,3,8,5,6,7,4,9,2,
二、2.填空題(20題)21.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。
22.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
inta[4]]4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
inti=0.j=0,s=0;
while(i++<4}
if(i==2||i==4)continue;
j=0;
do
{
s+=a[i][j]:
j++;
}while(j<4);
}
printf("%d\n",s);
}
voidfun(intx,inty)
}
23.x和y都是double型變量,x的初值為4.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為______。
24.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
25.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inta=1,b=3,c=5;
if(c=a+b)printf("yes\n");
elseprintf("no\n");
}
26.符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、()和循環(huán)結(jié)構(gòu)。
27.層次模型的典型代表是IBM公司的【】數(shù)據(jù)庫管理系統(tǒng)。
28.在數(shù)據(jù)庫理論中,數(shù)據(jù)物理結(jié)構(gòu)的改變,如存儲設(shè)備的更換、物理存儲的更換、存取方式改變等都不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,稱為______。
29.買來一張新盤后,在存入文件前,必須進(jìn)行【】處理。
30.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{charc;intn=100;
floatf=10;doublex;
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
31.x、y、x均為int型變量,描述“x、y和z中至少有兩個為正數(shù)”的表達(dá)式是______。
32.軟件測試中路徑覆蓋測試是整個測試的基礎(chǔ),它是對軟件【】進(jìn)行測試。
33.算法的復(fù)雜度主要包括空間復(fù)雜度和______復(fù)雜度。
34.若有以下程序:
main()
{chara;
a='H'-'A'+'0';
printf("%c\n",a);
}
執(zhí)行后的輸出結(jié)果是【】。
35.以下程序輸出的結(jié)果是【】。
#include<stdio.h>
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
36.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請?zhí)羁铡?/p>
#include<stdio.h>
#include<string.h>
main()
{chara[]="clanguage",t;
inti,j,k;
k=strlen(a);
for(i=0;i<=k-2;i+=2)
for(j=i+2;j<=k;j+=2;)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);
printf("\n");
}
37."printf("%d\n",strlen("\t\"'\023\xABC\n"));"語句的輸出結(jié)果是______。
38.若a是int型變量,則下列表達(dá)式的值為______。
(a=2*3,a*2),a+4
39.數(shù)據(jù)庫系統(tǒng)階段的數(shù)據(jù)具有較高獨立性,數(shù)據(jù)獨立性包括物理獨立性和【】兩個含義。
40.以下程序的功能是計算。補(bǔ)足所缺語句。
longf(intn)
{inti;longs;
s=【】;
for(i=1;i<=n;i++)s=【】;
returns;
}
main()
{longs;intk,n;
scanf("%d",&n);
s=【】;
for(k=0;k<=n,k++)s=s+【】;
printf("%1d\n",s);
}
三、1.選擇題(20題)41.系統(tǒng)軟件中最重要的是
A.操作系統(tǒng)B.語言處理程序C.工具軟件D.數(shù)據(jù)庫管理系統(tǒng)
42.有以下程序:main(){inta[3][3],*p.i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);}程序運(yùn)行后的輸出結(jié)果是()。
A.012B.123C.234D.345
43.結(jié)構(gòu)化程序設(shè)計主要強(qiáng)調(diào)的是
A.程序的規(guī)模B.程序的效率C.程序設(shè)計語言的先進(jìn)性D.程序易讀性
44.數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是()
A.概念設(shè)計和邏輯設(shè)計B.模式設(shè)計和內(nèi)模式設(shè)計C.內(nèi)模式設(shè)計和物理設(shè)計D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
45.下列各數(shù)據(jù)類型不屬于構(gòu)造類型的是()。
A.枚舉型B.共用型C.結(jié)構(gòu)型D.數(shù)組型
46.有以下程序main(){inta=666,b=888;printf("%d\n",a,B);}程序運(yùn)行后的輸出結(jié)果是
A.錯誤信息B.666C.888D.666,888
47.以下說法正確的是()
A.宏定義是C語句,所以要在行末加分號
B.可以使用#undef命令來終止宏定義的作用域
C.在進(jìn)行宏定義時,宏定義不能層層置換
D.對程序中用雙引號括起來的字符串內(nèi)的字符,與宏名相同的要進(jìn)行置換
48.有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x>10.0)y=1.0/x;
elsey=1.0;
printf("%f\n",y);}
該程序的輸出結(jié)果是
A.0.000000B.0.250000C.0.500000D.1.000000
49.以下程序運(yùn)行后,輸出結(jié)果是#definePT5.5#defineS(x)PT*x*x#include<stdio.h>main(){inta=1,b=2;printf("%4.1f\n",s(a+b));}
A.49.5B.9.5C.22D.45.0
50.下列關(guān)于線性表的敘述中,不正確的是()
A.線性表可以是空表
B.線性表是一種線性結(jié)構(gòu)
C.線性表的所有結(jié)點有且僅有一個前件和后件
D.線性表是由n個元素組成的一個有限序列
51.有三個關(guān)系R、s和T如下:
由關(guān)系R和s通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.并B.自然連接C.笛卡爾積D.交
52.以下敘述中正確的是______。A.調(diào)用printf函數(shù)時,必須要有輸出項
B.使用putchar函數(shù)時,必須在之前包含頭文件stdio.h
C.在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D.調(diào)用getchar函數(shù)讀入字符時,可以從鍵盤上輸入字符所對應(yīng)的ASCII碼
53.以下程序的輸出結(jié)果是______。main(){charch[3][4]={"123","456","78"},*p[3];inti;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf("%s",p[i]);}
A.123456780B.123456780C.12345678D.147
54.以下程序的輸出結(jié)果是()#include<stdlib.h>inta[3][3]={1,2,3,4,5,6,7,8,9},*p;main(){p=(int*)malloc(sizeof(int));f(p,a);printf("%d\n",*p);}f(int*s,intp[][3]){*s=p[1][1];}
A.1B.4C.7D.5
55.有以下程序main(){inti,n=0;for(i=2;i<5;i++){do{if(i%3)continue;n++;}while(!i);n++;}printf("n=%d\n",n);}程序執(zhí)行后輸出結(jié)果是
A.n=5B.n=2C.n=3D.n=4
56.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}
A.7B.8C.9D.10
57.設(shè)有定義:inta=2,b=3,c=4;,則以下選項中值為0的表達(dá)式是
A.(!a==1)&&(!b==0)
B.(a<b)&&!c‖1
C.a&&b
D.all(b+b)&&(c-a)
58.下列程序的輸出結(jié)果是()。voidf(int*x,int*y){intt;t=*x,*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q--;}for(i=0;i<8;i+)printf("%d,",a[i]);}
A.8,2,3,4,5,6,7,1
B.5,6,7,8,1,2,3,4
C.1,2,3,4,5,6,7,8
D.8,7,6,5,4,3,2,1
59.有以下程序
#include<stdio.h>
main()
{inta[]={1,2,3,4},y,*p=&a[3];
--p;y=*p;printf("y=%d\n",y);
}
程序的運(yùn)行結(jié)果是
A.y=0B.y=1C.y=2D.y=3
60.對于下列定義,不正確的敘述是()。uniondata{inta;charb;doublec;}x=y;
A.變量x所占內(nèi)存的長度等于成員c的長度
B.變量x的地址和它的各成員地址都是相同的
C.可以在定義時對x初始化
D.不能對變量x賦值,故x=y非法
四、選擇題(20題)61.下面不屬于需求分析階段任務(wù)的是()。
A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.制定軟件集成測試計劃D.需求規(guī)格說明書評審
62.
63.有以下程序:
程序運(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
64.有以下程序l
該程序試圖通過指針P為變量n讀人數(shù)據(jù)并輸出,但程序有多處錯誤,以下語句正確的是()。
65.下面程序段的輸出為()。
#include"stdio.h"
main
{
printf("%d\n",12<<2);
}
A.0B.47C.48D.24
66.
67.以下程序的輸出結(jié)果是()。
main()
{char*s="12134211";
intv1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{case’1’:v1++;
case’3’:v3++;
case’2’:v2++;
defaule:v4++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n,v1,v2,v3,v4);
}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
D.v1=4,v2=7,v3=5,v4=8
68.有下列程序:
main
{inty=10;
do{y--;}while(--y);
printf("%d\n",--y);
)
當(dāng)執(zhí)行程序時,輸出的結(jié)果是()。
A.-1B.1C.4D.0
69.
70.下面程序段的運(yùn)行結(jié)果是()。
A.8B.12C.4D.7
71.以下說法錯誤的是A.A.高級語言都是用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
B.計算機(jī)只能處理由0和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)
C.C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個后綴為.EXE的二進(jìn)制文件
D.每一種高級語言都有它對應(yīng)的編譯程序
72.設(shè)有表示學(xué)生選課的三張表,學(xué)生s(學(xué)號,姓名,性別,年齡,身份證號),課程c(課號,課名),選課SC(學(xué)號,課號,成績),則表sc的關(guān)鍵字(鍵或碼)為()。
A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,成績
73.
74.有下列程序:
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í)行后的輸出結(jié)果是()。
A.35B.37C.39D.3975
75.下列關(guān)于棧的描述中錯誤的是()。
A.棧是先進(jìn)先出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入刪除操作中,不需要改變棧底指針
76.
77.以下程序運(yùn)行后的輸出結(jié)果是()。
A.eelcomwB.weoclnleC.welcomeD.emoclew
78.
79.有以下程序
80.已知
則以下敘述正確的是()。
A.循環(huán)控制表達(dá)式不合法B.循環(huán)控制表達(dá)式的值為0C.循環(huán)控制表達(dá)式的值為lD.以上說法都不對
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從字符串str中,刪除所有大寫字母'F'。
請修改程序中的錯誤,使它能得到正確結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),它的功能是求小于形參n同時能被3與7整除的所有自然數(shù)之和的平方根,并將其作為函數(shù)值返回。例如,若n為1000時,程序輸出應(yīng)為s=153.909064。注意:部分源程序在文件prog1.c中。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.D
2.B通過—維數(shù)組名或指向維數(shù)組元素的指針來引用數(shù)組元素有兩種寫法:a[i]和*(a+i),它們是等價的。這是一種運(yùn)算符之間的等價轉(zhuǎn)換,就好像a-(b-C)等價于a-b+c一樣。知道了這種轉(zhuǎn)換,我們可以將之?dāng)U展到二維數(shù)組甚至任意維數(shù)組上來。因為[]運(yùn)算符的結(jié)合性是從左至右的,所以w[i][j]等價于(w[i][j],此時可以先將任意一個[]運(yùn)算符轉(zhuǎn)換為指針形式為:(*(w+i)[j]或*(w[i]+j),或者同時轉(zhuǎn)換:*(*(w+i)+j)。上述幾種形式都完全等價于w[i][j]。選項A中,*(*w+3)可以看成*(*(w+0)+3),即w[0][3],是正確的。選項B小,因為[]運(yùn)算符的優(yōu)先級高于*運(yùn)算符,所以*(w+1)[4]等價于*((w+1)[4]等價于*(*((w+1)+4)),即*(*(w+5)+0),它等價于w[5][0],很明顯它超過數(shù)組的范圍了,故不正確。選項C等價于w[1][0],是下確的。選項D中,&w[0][0]是數(shù)組w第1個元素的地址,它等價于&*(*(w+0)+0),外面的&和*可以抵消,就好像先乘以個數(shù),然后再除以這個數(shù)一樣。所以,&w[0][0]等價于*(w+0)+0。即*w。所以原式就變?yōu)?(*w+1)等價于w[0][1],這個也是合法的。綜上所述,本題應(yīng)該選擇B。
3.D滿二叉樹與完全二叉樹均為非線性結(jié)構(gòu),但可以按照層次進(jìn)行順序存儲。本題答案為D選項。
4.Bdo…while循環(huán)的執(zhí)行過程如下:①執(zhí)行do后面的循環(huán)體中的語句。②計算while后一對圓括號中表達(dá)式的值。當(dāng)值為非0時,轉(zhuǎn)去執(zhí)行步驟①;當(dāng)值為0時,執(zhí)行步驟③。③退出do…while循環(huán)。對于本題變量i的初始值等于“0”,接著執(zhí)行do后面的循環(huán)體中的語句,輸出變量i的值0。再判斷while后面括號中表達(dá)式i十的值,其值為0,所以循環(huán)結(jié)束。.此時變量i的值經(jīng)過自加已經(jīng)變?yōu)?,所以再次輸出i的值“1”。
5.B
6.C
7.C
8.B解析:C語言一種高級語言,C語言源程序經(jīng)過C語言編譯程序編譯之后,生成一個后綴為。OBJ的二進(jìn)制文件(稱為目標(biāo)文件),最后還要由稱為“連接程序”(Link)的軟件,把此。OBJ文件與C語言提供的各種庫函數(shù)連接在一起,生成一個后綴.EXE的可執(zhí)行文件。顯然C語言不能立即執(zhí)行,故選項A錯誤;根據(jù)以上定義,選項C和選項D錯誤,所以,4個選項中選項B符合題意。
9.A解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:(x)>(y)(x):(y)是x>y時輸出x,否則輸出y,調(diào)用(MAX(a+b,c+d))*100時,(a+b=5)>(c+d=4),所以輸出a+b=5,所以x=5*100。
10.C
11.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的物理實現(xiàn),有時也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲結(jié)構(gòu)則涉及到如何在計算機(jī)中通過對數(shù)據(jù)的物理存儲進(jìn)行組織來表達(dá)數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲中是利用物理存儲空間上的連續(xù)性來表達(dá)線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈?zhǔn)酱鎯χ惺峭ㄟ^指針域構(gòu)成的邏輯鏈條來表達(dá)數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對應(yīng)的物理實現(xiàn),即數(shù)據(jù)的存儲結(jié)構(gòu)不止一種。因此選項D正確。
12.C算術(shù)運(yùn)算符“+”的優(yōu)先級高于,且“-=”的結(jié)合方向為自右向左。所以表達(dá)式“x-=x+x”可以表示成“x=x-(x+x)=10-(10+10)=-10”。故本題答案為C選項。
13.B對于標(biāo)識符的長度(即一個標(biāo)識符允許的字符個數(shù)),C語言編譯系統(tǒng)是有規(guī)定的,即標(biāo)識符的前若干個字符有效,超過的字符將不被識別。不同的C語言編譯系統(tǒng)所規(guī)定的標(biāo)識符有效長度是不同的。故本題答案為B選項。
14.B
15.D在C語言中,對兩個字符串進(jìn)行比較,使用字符串比較函數(shù)strcmp。如果這個函數(shù)的返回值等于0,說明兩個字符串相等。故本題答案為D選項。
16.D
17.C解析:位運(yùn)算符“|”的作用是按位或,即兩個二進(jìn)制數(shù)的相應(yīng)位中只要有一個為1,該位的結(jié)果值為1。最后以字符型輸出,98對應(yīng)的字符“b”
18.D
19.C解析:當(dāng)for循環(huán)執(zhí)行到第30次時,i的值為30能被5整除,然后繼續(xù)執(zhí)行兩次if語句,i經(jīng)過兩次自加1運(yùn)算,值變?yōu)?2,能被8整除,故此時第一次執(zhí)行'printf('%d',i);'語句,即輸出32。
20.C解析:本題考核的知識點是程序中算法的基本分析。sort()函數(shù)作用是將數(shù)組aa中的下標(biāo)為偶數(shù)的元素按大到小排序.主函數(shù)中首先定義了一個長度為10的數(shù)組并賦值,然后調(diào)用sort()函數(shù),將數(shù)組aa中奇數(shù)個元素的值按大到小排序,因此執(zhí)行完該函數(shù)后,數(shù)組中奇數(shù)個元素的值為9,7、5、3和1,故主函數(shù)中最后通過一個for循環(huán)輸出數(shù)組aa中各元素的值為9、2、7、4、5、6、3、8、1和10,所以,4個選項中選項C符合題意。
21.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見的線性結(jié)構(gòu)有線性表、棧和隊列等,常見的非線性結(jié)構(gòu)有樹、二叉樹等。
22.9292解析:本主函數(shù)中首先定義了一個4行4列的二維數(shù)組,然后執(zhí)行一個while循環(huán),該循環(huán)中又嵌套了一個do-while循環(huán)。現(xiàn)看while循環(huán),該循環(huán)通過i++的值來判斷是否結(jié)束循環(huán)當(dāng)i++的值為4的時候結(jié)束循環(huán),當(dāng)i=0時,執(zhí)行while的循環(huán)體,顯然if語句條件不滿足不執(zhí)行,接著讓j=4,然后執(zhí)行do-while循環(huán)體,我們不難看出do-while循環(huán)的功能是將笫i+1行的所有元素加起來,所以這時s的值為s=a[1][0]+a[1][1]+a[1][2]+a[1][3]26,當(dāng)i=1時,i+1=2,if后面括號里的表達(dá)式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán);當(dāng)i=2時,i加1變?yōu)?,把笫3+1行的所有元素的加到s上,此時s=s+a[2][0]+a[2][1]a[2][2]+a[2][3]=92,當(dāng)i=3時,3+1=4,if后面括號里的表達(dá)式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán),當(dāng)i=3時,if后面括號里的表達(dá)式的值為真執(zhí)行后面的confulue語句,結(jié)束該次循環(huán)當(dāng)i=4時while循環(huán)結(jié)束,所以最后輸出的s的值為92。
23.1616解析:函數(shù)運(yùn)算不改變數(shù)據(jù)類型,所以結(jié)果也是double型,fabs(x)是對x取絕對值,pow(y,fabs(x))是y的labs(x)次冪,即2.04。0=16.000000(注意;結(jié)果為double型)。
24.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
25.yesyes解析:if語句的條件語句為c=a+b=1+3=4,即條件為真,執(zhí)行語句printf('yes\\n');,輸出結(jié)果為yes。
26.選擇結(jié)構(gòu)選擇結(jié)構(gòu)解析:程序設(shè)計語言僅僅使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計方法。遵循程序結(jié)構(gòu)化的設(shè)計原則,按結(jié)構(gòu)化程序設(shè)計方法設(shè)計出的程序易于理解、使用和維護(hù);可以提高編程工作的效率,降低軟件的開發(fā)成本。
27.IMS(informationManagementSystem)
28.物理獨立性物理獨立性解析:數(shù)據(jù)的物理結(jié)構(gòu)改變,不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,這種性質(zhì)叫做物理獨立性。
29.格式化(或初始化、FORMAT)格式化(或初始化、FORMAT)
30.220.000000220.000000解析:注意區(qū)分運(yùn)算符的優(yōu)先級。先是給c賦值,然后計算x=f*=n/=50,得x=f*=2,最后有x=20。x輸出是按浮點數(shù)的形式輸出的,小數(shù)點后的0不能少。
31.((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個為正數(shù)”,即x、y和x這3個數(shù)中必須有兩個是正數(shù),且這3個數(shù)中的哪兩個數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。
32.結(jié)構(gòu)結(jié)構(gòu)解析:路徑測試是白盒測試方法中的—種,它要求對程序中的每條路徑最少檢查一次,目的是對軟件的結(jié)構(gòu)進(jìn)行測試。
33.時間時間解析:算法的復(fù)雜度主要指時間復(fù)雜度和空間復(fù)雜度。
34.77解析:本題考查英文字母ASCII碼值的概念。字符參與運(yùn)算的值是其對應(yīng)的ASCII碼,字符H的ASCII碼為72,A的ASCII碼為65,0的ASCII碼為48,所以a=72-65+48=55,ASCII碼值為55的字符是7。
35.00解析:在本題中,d=(a>b>c);相當(dāng)于d=(5>4>3);其計算過程為:先算5>4,結(jié)果為真,得1,即d=(1>3);然后計算1>3,結(jié)果為假,得0。
36.a[i]>a[j]a[i]>a[j]解析:本題中的嵌套的循環(huán)結(jié)構(gòu)用在了數(shù)組元素的排序上。本題需要注意的一點是:由于題目只要求將下標(biāo)值為偶數(shù)的元素從小到大排序,所以內(nèi)外層for循環(huán)的條件變量變更條件都是+=2。最后通過條件a[i]>a[j]對元素大小進(jìn)行判斷并交換。
37.66解析:strlen()函數(shù)的作用是計算字符串的長度并作為函數(shù)的返回值,這里的長度不包括串尾的結(jié)束標(biāo)志\'\\0\'。
\'\\t\'是轉(zhuǎn)義字符,代表橫向跳若干格:\'\\\''是轉(zhuǎn)義字符,代表雙引號:\'\\023\'只代表一個字符,而不管轉(zhuǎn)義字符后面有幾個字符;\'\\xAB\'是以兩位十六進(jìn)制數(shù)AB表示的ASCII碼字符,只代表一個字符;\'\\n\'是轉(zhuǎn)義字符,代表回車換行。
5個字符常量各代表一個字符,再加上字母C,所以返回的長度是6。
38.1010解析:此題考查逗號表達(dá)式。逗號表達(dá)式的值是最后一個表達(dá)式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以追回值a+4=6+4=10。
39.邏輯獨立性邏輯獨立性解析:數(shù)據(jù)獨立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨立于應(yīng)用程序而不依賴于應(yīng)用程序。數(shù)據(jù)獨立性一般分為物理獨立性與邏輯獨立性兩個含義。注意:在人工管理階段,文件系統(tǒng)階段和數(shù)據(jù)庫管理階段中數(shù)據(jù)獨立性的特點。
40.1s*i0f(k)
41.A提示:應(yīng)用軟件一般是以操作系統(tǒng)為開發(fā)平臺的。
42.D解析:本題中定義的二維數(shù)組a[3][3]中9個元素在內(nèi)存中的排列順序是:a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2]。在主函數(shù)中,首先定義了二維數(shù)組a[3][3],然后定義了—個指針p指向數(shù)組a的第1個元素a[0][0]在第一個for循環(huán)中,依數(shù)組a在內(nèi)存中的排列順序為其元素賦從0~8九個值,然后用第二個for循環(huán)依次輸出a[1][0],a[1][1],a[1][2]三個元素的值。所以,4個選項中選項D符合題意。
43.D結(jié)構(gòu)化程序設(shè)計由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主張“清晰第一,效率第二”,以模塊化設(shè)計為中心,將待開發(fā)的軟件系統(tǒng)劃分為若干個相互獨立的模塊,這樣使完成每一個模塊的工作變得單純而明確,為設(shè)計一些較大的軟件打下了良好的基礎(chǔ)。
由于模塊相互獨立,因此,在設(shè)計其中一個模塊時,不會受到其他模塊的牽連,因而可將原來較為復(fù)雜的問題化簡為一系列簡單模塊的設(shè)計。模塊的獨立性還為擴(kuò)充已有的系統(tǒng)、建立新系統(tǒng)帶來了不少的方便,因為可以充分利用現(xiàn)有的模塊作為積木式的擴(kuò)展。
結(jié)構(gòu)化程序設(shè)計的基本思想是采用“自頂向下,逐步求精”的程序設(shè)計方法和“單入口單出口”的控制結(jié)構(gòu)。自頂向下、逐步求精的程序設(shè)計方法從問題本身開始,經(jīng)過逐步細(xì)化,將解決問題的步驟分解為由基本程序結(jié)構(gòu)模塊組成的結(jié)構(gòu)化程序框圖;“單入口單出口”的思想認(rèn)為一個復(fù)雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結(jié)構(gòu)通過組合、嵌套構(gòu)成,那么這個新構(gòu)造的程序一定是一個單入口單出口的程序。據(jù)此就很容易編寫出結(jié)構(gòu)良好、易于調(diào)試的程序。
44.A解析:模式設(shè)計和內(nèi)模式設(shè)計是概念設(shè)計的兩種方法。物理設(shè)計是根據(jù)特定的計算機(jī)系統(tǒng),對數(shù)據(jù)的存儲結(jié)構(gòu)和存取方法進(jìn)行設(shè)計,從而實現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結(jié)構(gòu)特性設(shè)計和行為特性-設(shè)計是數(shù)據(jù)庫應(yīng)用系統(tǒng)所具有的兩個特性。結(jié)構(gòu)特性的設(shè)計,設(shè)計各級數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設(shè)計,改變實體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動態(tài)特性)。
45.A本題考查高級語言的數(shù)據(jù)類型。其中屬于構(gòu)造類型的主要有結(jié)構(gòu)體類型、聯(lián)合體類型,即共用體類型和數(shù)組類型。
46.B解析:程序中的printf()函數(shù)的輸出格式部分只說明了一個%d,而輸出成員列表卻有兩個成員a和b,在這里將只輸出第一個成員a值為666,所以,4個選項中選項B符合題意。
47.B
48.D解析:本題考查if語句中的一種表達(dá)方式,即:if卐lseif叀
該表達(dá)式的語句是:
if(表達(dá)式1)
語句1
elseif(表達(dá)式2)
語句2
elseif(表達(dá)式3)
語句3
else
語句4
厖
本題執(zhí)行elsey=1.0,并且以'%f'輸出。
49.A
50.CC)【解析】線性表是一種線性結(jié)構(gòu),由n(n≥O)個元素組成,所以線性表可以是空表。但是性表中,第一個結(jié)點沒有前件,最后一個結(jié)點沒有后件,其他結(jié)點有且只有一個前件和后件,所以選項C)是錯誤的。
51.D關(guān)系R與s經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。
52.B解析:本題考查了C語言的一些基本概念.printf()函數(shù)可以只有控制項而沒有輸出項,例如:printf('Hello!');,所以選項A不正確。C語言中不支持整數(shù)以十二進(jìn)制輸出,因此選項C不正確。getchar()函數(shù)從鍵盤讀入一個字符,而不管該字符為數(shù)字還是字母,因此輸入ASCII碼的話,只能讀到第1個數(shù)字字符,所以選項D不正確。故應(yīng)該選擇B,putchar是C語宮中的庫函數(shù),使用時必須包含sMio.h。
53.C解析:p是指針數(shù)組,通過第1個循環(huán)的賦值,p[0]、p[1]、p[2]分別指向二維數(shù)組ch的第1行、第2行、第3行,因此輸出字符串“12345678”。
54.D
55.D解析:do…while的結(jié)構(gòu)形式為:do循環(huán)體,while(條件表達(dá)式),當(dāng)程序執(zhí)行到do后,先執(zhí)行循環(huán)體一次,然后才對條件表達(dá)式進(jìn)行計算、判斷。若條件表達(dá)式的值為真,則重復(fù)執(zhí)行一次循環(huán)體;否則退出,與while結(jié)構(gòu)相比,do…while結(jié)構(gòu)至少要執(zhí)行一次循環(huán)體;運(yùn)算符%是求模運(yùn)算,即求兩個數(shù)相除的余數(shù)。continue語句的作用時結(jié)束本次循環(huán),即跳過本次循環(huán)中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判定。本題中,當(dāng)i=2時,執(zhí)行do循環(huán)。由于if表達(dá)式的條件為真,執(zhí)行continue語句,結(jié)束本次循環(huán),判斷while循環(huán)條件為假,故退出while循環(huán),執(zhí)行n++,此時n的值為1,當(dāng)i=3時,執(zhí)行do循環(huán)。由于if(3%3)為假,執(zhí)行下面的n++語句,此時n的值為2,結(jié)束本次循環(huán),繼續(xù)判斷while循環(huán)條件為假,故退出while循環(huán),執(zhí)行n++語句,此時n的值為3;當(dāng)i=4時,執(zhí)行do循環(huán)。由于if(4%3)為真,執(zhí)行continue語句,結(jié)束本次循環(huán),繼續(xù)判斷while循環(huán)條件為假,故退出while循環(huán),執(zhí)行n++,此時n的值為4;當(dāng)i=5時,退出for循環(huán),因此最后輸出的n的值為4。
56.B
57.A解析:計算邏輯表達(dá)式要注意的問題有三個:一、3個邏輯表達(dá)式的優(yōu)先級從高到低依次是!(邏輯非)、&&(邏輯與)、‖(邏輯或);二、運(yùn)算符&&或‖的左邊運(yùn)算分量分別為“假”或“真”的時候已經(jīng)能夠得出整個表達(dá)式的值,故右邊運(yùn)算分量將被“短路”,即忽略右邊的表達(dá)式.三、邏輯值能夠自動轉(zhuǎn)換為整數(shù)值:“真”=1、“假’=0;整數(shù)值也能自動轉(zhuǎn)換為邏輯值:0=“假”,非0=“真”。選項A中(!a=1)&&(!b==0)→(12==1)&&(!b==0)→(0==1)&&(!b==0)→0&&(!b==0)→0(&&右邊表達(dá)式(!b==0)被“短路”);選項B中(a<b)&&!c‖1→(2<3)&&!4‖1→1&&0‖→0‖→1;選項C中a&&b→2&&3→1選項Da‖(b+b)&&(c-a)→2‖(b+b)&&(c,a)→1(‖右邊表達(dá)式(b+b)&&(c-a)被“短路”)。所以本題選A。
58.D解析:函數(shù)f()的功能是對兩個數(shù)據(jù)互換。在主函數(shù)中指針變量p和q分別指向數(shù)組a[8)的首和尾,在while循環(huán)中實現(xiàn)從首尾開始數(shù)組元素的互換操作。
59.D解析:在程序中指針變量p初始指向a[3],執(zhí)行p減1后,p指向a[2],語句y=*p的作用是把a(bǔ)[2]的值賦給變量y,所以輸出為y=3。
60.C解析:本題主要考查的知識點是聯(lián)合體的內(nèi)存使用。聯(lián)合體所占用的內(nèi)存空間為最長的成員所占用的空間,各個成員分量全部是從低地址方向開始使用內(nèi)存單元。不能在定義共用體變量時對它初始化。
61.C【答案】:C
【知識點】:需求分析階
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 油槽施工方案怎么寫
- 項目任務(wù)分配最佳實踐試題及答案
- 微生物生成物的檢驗技術(shù)與試題及答案
- 糧食儲備的緊急調(diào)配機(jī)制考核試卷
- 2024年項目管理應(yīng)對突發(fā)事件試題及答案
- 項目質(zhì)量控制過程中的挑戰(zhàn)試題及答案
- 煤炭批發(fā)商品牌建設(shè)與推廣考核試卷
- 2024年項目管理全時期試題及答案
- 水利施工機(jī)械管理考核試卷
- 漁船自動導(dǎo)航系統(tǒng)考核試卷
- (完整版)電路基礎(chǔ)選擇題100題
- 民族學(xué)考試試題和參考答案
- 日本工業(yè)標(biāo)準(zhǔn)JISH8641中文
- 專題五新文化運(yùn)動與五四運(yùn)動課件
- 盤磨機(jī)傳動裝置設(shè)計
- 后交叉韌帶損傷的診療
- LY/T 3292-2021自然保護(hù)地生態(tài)旅游規(guī)范
- GB/T 918.1-1989道路車輛分類與代碼機(jī)動車
- GB/T 6365-2006表面活性劑游離堿度或游離酸度的測定滴定法
- GB/T 12496.19-2015木質(zhì)活性炭試驗方法鐵含量的測定
- 核反應(yīng)堆熱工課件
評論
0/150
提交評論