




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年安徽省合肥市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain{intb[6]={2,4,6,8,10,12);int*p=b,**q=&p;printf("%d,",*(p++));printf("%d,",**q);}A.4,4B.2,2C.4,5D.2,4
2.有以下語句:intb;charc[10];,則正確的輸入語句是______。
A.scanf("%d%s",&b,&c);
B.scanf("%d%s",&b,c);
C.scanf("%d%s",b,c);
D.scanf("%d%s",b,&c);
3.有以下程序:#include<stdio.h>voidfun(doublex,double*y,double*z){*y=*y-1.0;*z=*z+x;}main(){doublea=2.5,b=9.0,*pa,*pb;pa=&a;pb=&b;fun(b-a,pa,pb);printf(“%f\n”,a);}程序運行后的輸出結(jié)果是()。
A.8.000000B.9.000000C.1.500000D.10.500000
4.對含有16個元素的有序表進行二分查找,關(guān)鍵字比較次數(shù)最多是()
A.3B.4C.5D.6
5.樹的度為3,且有9個度為3的節(jié)點,5個度為1的節(jié)點,但沒有度為2的節(jié)點。則該樹中的葉子節(jié)點數(shù)為()。
A.18B.33C.19D.32
6.若有說明“chars1[30]="abc",s2[]="defghi";",則在使用函數(shù)stoat(s1,s2)后,結(jié)果是()。
A.s1的內(nèi)容更新為abcdefghi
B.s1的內(nèi)容更新為defghi\0
C.s1的內(nèi)容更新勾defghiabc\0
D.s1的內(nèi)容更新為abcdefghi\0
7.有下列程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.6,5,4,4,5,6,
B.1,2,3,4,5,6,
C.4,5,6,4,5,6,
D.1,2,3,6,5,4,
8.設(shè)有以下定義uniondata{intd1;floatd2;)demo;則下面敘述中錯誤的是()。A.變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同
B.變量demo中各成員的地址相同
C.變量demo和各成員的地址相同
D.若給demo.d1賦99后,demo.d2中的值是99.0
9.若有如下定義,則__________是對數(shù)組元素的正確的引用。.
inta[10],*p;p=a;
A.*&a[10]B.a[11]C.*(p+11)D.*p*p*p
10.以下正確的字符串常量是()。A.“\\\”B.‘a(chǎn)bc’C.OlympicGamesD.“”
11.以下選項中非法的表達式是()。
A.a+1=a+1
B.a=b==0
C.(Char.(100+100.
D.7<=X<60
12.以下敘述中錯誤的是()。
A.非零的數(shù)值型常量有正值和負值的區(qū)分
B.常量是在程序運行過程中值不能被改變的量
C.定義符號常量必須用類型名來設(shè)定常量的類型
D.用符號名表示的常量叫符號常量
13.若有定義“int*p[3];”,則以下敘述中正確的是()。A.定義了一個指針數(shù)組p,該數(shù)組含有3個元素,每個元素都是基類型為int的指針
B.定義了一個基類型為int的指針變量p,該變量具有3個指針
C.定義了一個名為*p的整型數(shù)組,該數(shù)組含有3個int類型元素
D.定義了一個可指向一維數(shù)組的指針變量p,所指一維數(shù)組應具有3個int類型元素
14.表示關(guān)系a≤b≤c的C語言表達式為()。
A.(a<=B)&&(b<=C)
B.(a<=B)and(b<=C)
C.(a<=b<=C)
D.(a<=B)&(b<=C)
15.
16.
17.數(shù)據(jù)流圖(DFD)的作用是()。
A.描述軟件系統(tǒng)的控制流B.支持軟件系統(tǒng)的功能建模C.支持軟件系統(tǒng)的面向?qū)ο蠓治鯠.描述軟件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)
18.有以下程序:#include<stdio.h>structstu{intnum;charname[l0];intage;};voidfun(structstu*p){printf("%s\n",p->name);}main(){structstux[3]={{01,"Zhang",20),{02,"Wang",l9},{03,"Zha0",l8}};fun(x+2);}程序運行后的輸出結(jié)果是()。A.ZhangB.ZhaoC.WangD.19
19.有以下程序:
程序運行后的輸出結(jié)果是()。
A.abc+abc=defdef
B.abc+ABC=DEFdef
C.abcABCDEFdef
D.abcabcdefdef
20.a、b、c、d變量均為float類型且已正確賦值,下列選項中與數(shù)學式子“2ab/(5cd)”等價的C語言表達式是()。
A.2/5*a/c*d/b
B.a/(5*c*d)*(2*b)
C.2*a*b/5*c*d
D.2/5*a*d*(1/c*d)
二、2.填空題(20題)21.以下程序段的輸出結(jié)果是【】。
inta=1234;
printf("%2d\n",a);
22.以下程序的運行結(jié)果是#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf(:Y=%d\t",Y)main(){inta=1,b=2,c=3,d=4,t;t:MAX(a+b,c+d);PRINT(t);}
23.設(shè)有下列宏定義:#defineA2
#defineBA+3
則執(zhí)行賦值語句:t=b*2;t為血型變量后的值是______。
24.一棵二叉樹第6層(根結(jié)點為第一層)的結(jié)點最多為______個。
25.已知字符A的ASCⅡ代碼值為65,以下程序運行時若從鍵盤輸入:B33<回車>.則輸出結(jié)果是()。
#include
main()
{chara,b;
a=getchar();scanf("%d",&B);
a=a-'A'+'0';b=b*2;
printf("%c%c\n",a,B);
}
26.下列程序的運行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
27.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inti;
for(i-'a';i<'f';i++,i++)printf("%c",i-'a'+'A');
printf("\n");
}
28.以下函數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。
#defineN4
voidrotate(inta[][N],intb[][N])
{inti,j;
for(i=0;i<N;i++)
{b[i][N-1]=a[0][i];【】=a[N-1][i];}
}
29.在具有n個單元、順序存儲的循環(huán)隊列中,隊滿時,共有【】個元素。
30.在面向?qū)ο蟮某绦蛟O(shè)計中,類描述的是具有相似性質(zhì)的一組【】。
31.在關(guān)系運算中,【】運算是對兩個具有公共屬性的關(guān)系所進行的運算。
32.算法的復雜度主要包括時間復雜度和______復雜度。
33.排序是計算機程序設(shè)計中的一種重要操作,常見的排序方法有插入排序、______和選擇排序。
34.以下程序運行后的輸出結(jié)果是______。
main()
{
charc1,c2;
for{c1='0',c2='9';c1<c2;c1++,C2--)
printf("%c%c",c1,c2);
printf("\n");
}
35.閱讀下列程序,則程序的輸出結(jié)果為【】。
#include"stdio.h"
structty
{intdata;
charc;};
main()
{structtya={30,′x′};
fun(a);
printf("%d%c",a.data,a.c);}
fun(structtyb)
{b.data=20;
b.c=′y′;}
36.下列表達式用于判斷y是否為閏年。閏年的判斷條件是:年號能被4整除但不能被100整除或年號能被400整除,請?zhí)羁誣_____。
37.下列程序的運行結(jié)果是______。
#definePOWER(x)((x)*(x))
main()
{inti=1;
printf("%d,%d",POWER(i++),i);
}
38.已知字母A的ASCII碼為65。以下程序運行后的輸出結(jié)果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
39.下列程序的運行結(jié)果是_______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
primf("%d,",z<y?x++:y++);
primf("%d,%d",x,y);
}
40.已知字符'A'的ASCII代碼值為65,以下程序運行時若從鍵盤輸入:B33<回車>,則輸出結(jié)果是【】。
#include<stdio.h>
main()
{chara,b;
a=getchar();seanf("%d",&b);
a=a-'A'+'0';b=b*2;
prinff("%c%c\n",a,b);
}
三、1.選擇題(20題)41.程序中若有如下說明和定義語句:charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;┆}以下選項中對函數(shù)fun的正確調(diào)用語句是()。
A.(*f1)(a);B.*f1(*s);C.fun(&a);D.ch=*f1(s)
42.假設(shè)有語句sizeof(double),則它是()。
A.一個整型表達式B.一個雙精度浮點型表達式C.一種函數(shù)調(diào)用D.一種函數(shù)定義
43.下列與表達式“b=(a<0?-1:a>0?1:0)”的功能等價選項是()
A.b=0;if(a>=0)if(a>0)b=1;elseb=-1;
B.if(a>0)b=1;elseif(a<0)b=-1;elseb=0;
C.if(A)if(a<0)b=-1;elseif(a>0)b=1;elseb=0;
D.b=-1;if(A)if(a>0)b=1;elseif(a==0)b=0;elseb=-1;
44.有如下程序#defineN2#defineMN+1#defineNUM2*M+1main(){inti;for(i=1;i<=NUM;i++)printf("%d\n"i)}該程序中的for循環(huán)執(zhí)行的次數(shù)是______。
A.5B.6C.7D.8
45.以下能正確定義一維數(shù)組的選項是A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
46.有以下程序main(){char*s[]={"one","two","three"},*P;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}執(zhí)行后輸出結(jié)果是
A.n,twoB.t,oneC.w,oneD.o,two
47.以下函數(shù)返回a所指數(shù)組中最小的值所在的下標值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)If(a[i]<a[p])______,return(p);}在橫線處應填入的是______。
A.i=pB.a[p]=a[i]C.p=jD.p=i
48.有以下程序intb=2;intfunc(int*A){b+=*a;return(B);}main(){inta=2,res=2;res+=rune(&A);printf("%d\n",res);}程序運行后的輸出結(jié)果是()
A.4B.6C.8D.10
49.有以下程序: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]);}程序運行后的輸出結(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,
50.軟件生命周期中所花費用最多的階段是()。
A.詳細設(shè)計B.軟件編碼C.軟件測試D.軟件維護
51.若變量已正確定義,下列正確的程序段是()。
A.while(ch=getchar()=='\N')putchar(ch);
B.while((ch=getchar())=='\n')putchar(ch);
C.while((ch=getchar())!='\N')putchar(ch);
D.while((ch=getchar())!='\n')putchar(ch);
52.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則
A.運行程序段后輸出0B.運行程序段后輸出1C.程序段中的控制表達式是非法的D.程序段執(zhí)行無限次
53.若以下選項中的變量已正確定義,則正確的賦值語句是()。
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
54.下列程序中c的二進制值是()。
chara=2,b=4,C;
c=a^b>>2;
A.00000011B.00010100C.00011100D.00011000
55.對下面的程序進行編譯與連接生成可執(zhí)行文件c.exe,并在DOS命令提示符下輸入:cIsaid"IloveChina"!程序代碼如下:main(intargc,char*argv[]){printf("%d",argC);}其輸出結(jié)果為______。
A.4B.5C.6D.7
56.有以下程序:main(){unsignedchara,b,c;a=0x3;b=a|0x8;c=b<<1;printf("%d%d\n",b,C);}程序運行后的輸出結(jié)果是()。
A.-1112B.-6-13C.1224D.1122
57.函數(shù)調(diào)用strcat(strcpy(str1,str2),str3)的功能是()。
A.將字符串str1復制到字符串str2中后再連接到字符串str3之后
B.將字符串str1連接到字符串str2之后再復制到字符串str3之后
C.將字符串str2復制到字符串sir1中后再將字符串str3連接到字符串str1之后
D.將字符串str2連接到字符串str1之后再將字符串str1復制到字符串str3中
58.視圖設(shè)計一般有3種設(shè)計次序,下列不屬于視圖設(shè)計的是______。
A.自頂向下B.由外向內(nèi)C.由內(nèi)向外D.自底向上
59.下列說法正確的是()。
A.在C語言中,可以使用動態(tài)內(nèi)存分配技術(shù),定義元素個數(shù)可變的數(shù)組
B.在C語言中,數(shù)組元素的個數(shù)可以不確定,允許隨機變動
C.在C語言中,數(shù)組元素的數(shù)據(jù)類型可以不一致
D.在C語言中,定義了一個數(shù)組后,就確定了它所容納的元素的個數(shù)
60.具有3個結(jié)點的二叉樹有
A.2種形態(tài)B.4種形態(tài)C.7種形態(tài)D.5種形態(tài)
四、選擇題(20題)61.下列敘述中正確的是()。
A.程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)
B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)
C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量
D.以上三種說法都不對
62.若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
63.
64.下列敘述中正確的是()。A.算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)
B.算法的時間復雜度是指執(zhí)行算法所需要的計算工作量
C.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應的
D.算法的時間復雜度與空間復雜度一定相關(guān)
65.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點是()。
A.文件開始B.文件末尾C.文件當前位置D.以上都不對
66.設(shè)變量x和y均已正確定義并賦值,以下if語句中,在編譯時將產(chǎn)生錯誤信息的是
67.模塊獨立性是軟件模塊化所提出的要求,衡量模塊獨立性的一般度量標準是
A.抽象和信息隱蔽B.局部化和封裝化C.內(nèi)聚性和耦合性D.激活機制和控制方法
68.
69.
有下列程序:
main
{intx=5;
do
{printf("%d",X-=4);)
while(!(--x));
}
程序的輸出結(jié)果是()。
A.1B.20C.1-4D.死循環(huán)
70.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項中錯誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])
B.doublefun(double*a)
C.doublefun(doublea[])
D.doublefun(doublea)
71.
72.
73.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
voidp(int*x)
{printf("%d¨,++*x);
}
voidmain()
{inty=3;
p(&y);
}
A.3B.4C.2D.5
74.若在定義語句:
75.
76.有以下程序程序執(zhí)行后的輸出結(jié)果是()
A.60B.50C.45D.55
77.以下敘述中正確的是()。A.A.break語句只能用在循環(huán)體內(nèi)和switch’語句體內(nèi)
B.continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同
D.break語句只能用于switch語句體中
78.
79.
80.
五、程序改錯題(1題)81.已知一個數(shù)列,從0項開始的前3項為0、0、1,以后的各項都是其相鄰的前3項之和。下列給定的程序中,函數(shù)proc()的功能是:計算并輸出該數(shù)列前n項的平方根之和sum。n的值通過形參傳入。例如,當n=11時,程序的輸出結(jié)果應為32.197745。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。此程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)該函數(shù)的功能是使數(shù)組下三角元素中的值乘以n。注意:部分源程序給出如下。請勿改動函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineN5voidfun(inta[][N],intn){}main(){inta[N][N],n,i,j;printf(“*****Thearray*****\n”);for(i=0;i<n;i++)<p=""></n;i++)<>{for(j=0;j<=""p="">{a[i][j]=rand()%10;printf(“%4d”,a[i][j]);}printf(“\n”);}n=rand()%4;printf(“n=%4d\n”,n);fun(a,n);printf(“*****TheResult*****\n”);for(i=0;i<=""p="">{for(j=0;j<=""p="">printf(“%4d”,a[i][j]);printf(“\n”);}}
參考答案
1.D首先定義了一個指向一維數(shù)組b的指針P,一個指向指針P的指針變量q;輸出*(p++)是先輸出*p,即b[O]的值,再將指針P指向數(shù)組的下一個元素b[1];輸出**q是輸出指針P所指單元的內(nèi)容。
2.B解析:b是整型數(shù),在輸人語句中要加取地址符,而c是數(shù)組名,本身就是數(shù)組的首地址,因此不用加取地址符。
3.Cmain函數(shù)定義兩個double類型的變量a、b,分別賦初值為2.5、9.0。另外定義兩個double類型的指針變量pa、pb,其中pa指向a,pb指向b。然后將b-a、pa、pb傳給函數(shù)fun,此時x的值為6.5,y指向a,z指向b?!?y=*y-1.0;”是將變量a的值減去1.0賦給a,a的值為1.5;“*z=*z+x;”是將變量b的值加上6.5賦給b,b的值為15.5。fun函數(shù)執(zhí)行完畢后,輸出a的值為1.5。故本題答案為C選項。
4.C
5.C設(shè)葉子結(jié)點數(shù)為〃,則該樹的結(jié)點數(shù)為n+9+5=n+\n14,根據(jù)樹中的結(jié)點數(shù)=樹中所有結(jié)點的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,則n=19。本題選擇C選項。
6.Dstrcat(s1,s2)函數(shù)的功能是把s2字符串連接到s1字符串的末尾,要保證s1有足夠的空間容納下連接后的字符串。
7.D程序定義數(shù)組a,使用6個元素對其初始化,接著以寫二進制方式打開文件d.dat。調(diào)用fwrite函數(shù)將a的6個元素逆序(654321)寫入文件,接著調(diào)用rewind函數(shù),將文件指針移動到文件開始位置。調(diào)用fread函數(shù)讀入3個整數(shù),逐個存放到a開始下標為3的3個位置,即a[3]=6,a[4]=5,a[5]=4,關(guān)閉文件。再次調(diào)用for循環(huán)輸出a,結(jié)果為:1,2,3,6,5,4,。本題答案為D選項。
8.D共用體變量中的所有成員共享一段公共存儲區(qū),所有成員的首地址相同。在每一個時刻所有的成員中只有一個有效,即只有最后一個被賦值的成員有效,其余的成員無效。
9.D
10.D在C語言中,字符串常量是用雙引號標注的字符序列,因此B選項和C選項不正確。字符序列中可包含一些轉(zhuǎn)義字符,轉(zhuǎn)義字符以“\\”開頭。A選項中包含3個前兩個(\\\\)代表一個“\\”字符,后面一個為“””。因為\\”被看作一個“””,所以該字符串缺少一個結(jié)束的“””。因此A選項不正確。D選項的兩個“”之間沒有任何字符,代表的是一個空串,是合法的字符串常量,因此D選項正確。B選項的abc應該使用雙引號標注。故本題答案為D選項。
11.A賦值運算符的左邊只能是變量,而不能是常量或表達式。
12.C在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:#define標識符常量。
13.Aint*p[3]含義是定義一個指針數(shù)組p,數(shù)組中包含3個元素,每個元素都是int*類型的指針。本題答案為A選項。
14.A解析:本題考查邏輯與運算符&&。在C語言中使用運算符“&&”連接兩個表達式,也可以表示邏輯與運算符。在C語言中不允許出現(xiàn)a<=b<=c這種格式。
15.A
16.A
17.B數(shù)據(jù)流圖是系統(tǒng)邏輯模型的圖形表示,從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變化過程,它直接支持系統(tǒng)的功能建模。本題答案為B選項。
18.Bfun(x+2)表示的是結(jié)構(gòu)體數(shù)組中的第3個元素即{03,"Zhao",l8),而輸出的是name元素,所以答案為B。
19.A題干中,函數(shù)fun的功能是:判斷形參ch是否為大寫字母,若是大寫字母則改寫成小寫字母,其他字符不變。main函數(shù)中,通過while循環(huán),調(diào)用fun函數(shù),將字符數(shù)組s中的各個字符傳入,將s中的大寫字母改成小寫字母,程序輸出:abc+abc=defdef。本題答案為A選項。
20.B解析:選項A和選項D中首先計算2/5,因為兩個計算分量都是整型,所以結(jié)果為2,與實際運算不符;選項B中因為乘除法滿足交換律,所以2*b放前面和放后面都是一樣的,所以滿足題目要求;選項C中的表達式等價于2abcd/5,所以不滿足題目要求。故應該選擇B。
21.12341234解析:在%與格式符之間插入一個整型數(shù)來指定輸出寬度,當指定寬度小于輸出數(shù)的實際寬度時,則按實際寬度輸出。
22.C
23.88解析:本題考查帶參數(shù)的宏定義及相關(guān)運算。運算過程為:t=-B*2=A+3*2=2+3*2=8。
24.3232解析:二叉樹第k層上,最多有2k-1(k≥1)個結(jié)點。第6層的結(jié)點數(shù)最多是26-1=32。注意區(qū)別“二叉樹的結(jié)點最多數(shù)”和“某一層的結(jié)點最多數(shù)”。前者的計算是深度為m的二叉樹最多有2m-1個結(jié)點。
25.1B
26.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運算。運算過程為:t=POW(x+y)=(2+3)*(2+3)=25。
27.ACEACE解析:題目中for循環(huán)的循環(huán)變量i從字符'a'變到字符'e',但由于每次循環(huán)后都連續(xù)執(zhí)行了兩次i++,所以for循環(huán)將執(zhí)行3次,循環(huán)變量i的值依次為'a'、'c'、'e'。循環(huán)體中是一條輸出語句,按字符輸出表達式i-'a'+'A'。因為大小寫字母的ASCII碼是連續(xù)的,例如'b'+1='c'、'W'-1='V',而且小寫字母的ASCII碼比大寫字母的大。所以,同一個字母的大小寫字符之差是一個固定值。由此可見,將一個字符從小寫轉(zhuǎn)換為大寫,只需將其減去這個固定值,而將大寫轉(zhuǎn)為小寫可以加上這個固定值。固定值可以通過任一字符的小寫減去大寫來得到。所以本題的i-'a'+'A'=i-('a'-'A'),即讓i減去了此固定值,從而使整個表達式的值為i所代表的小寫字母的大寫形式。故本題的輸出結(jié)果是ACE。
28.b[i][0]b[i][0]解析:因為要將a的最后一行放在b的第0列中,【】應填b的第0列的元素。
29.n-1
30.對象對象解析:將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。
31.自然連接自然連接解析:在關(guān)系運算中,自然連接運算是對兩個具有公共屬性的關(guān)系所進行的運算。
32.空間空間解析:算法的復雜度主要包括時間復雜度和空間復雜度。所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量。一個算法的空間復雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。
33.交換排序交換排序解析:所謂排序是指將一個無序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。
34.918273645918273645解析:題目中為for循環(huán)定義了兩個字符型循環(huán)變量c1和c2,循環(huán)開始時分別初始化為字符'0'和'9',然后每次循環(huán)結(jié)束給c1增1、c2減1,循環(huán)條件為c1<c2,即讓c1的值依次為'0'、'1'、'2'…,c2的值依次為'9'、'8'、'7'…,直到兩個數(shù)相遇時結(jié)束循環(huán)。又因為該循環(huán)的循環(huán)體每次按字符形式輸出c1和c2的值.所以最終的輸出結(jié)果為:0918273645。
35.30x30x解析:本題的參數(shù)傳遞屬于值傳遞,所以被調(diào)用函數(shù)內(nèi)不能改變調(diào)用函數(shù)中的數(shù)據(jù)。
36.(y%4==0)&&(y%100!=0)||(y%400==0)(y%4==0)&&(y%100!=0)||(y%400==0)解析:考查邏輯表達。年號能被4整除(y%4==0)但不能被100整除(y%100!=0),兩者是與的關(guān)系,年號能被400整除即y%400==0,與前兩項是或的關(guān)系。
37.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。
38.67G67G解析:字符型變量中保存的是某個字符的ASCII碼值,是一個整數(shù),因此字符型變量的算術(shù)運算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進制整數(shù)和字符形式輸出a和b的值為:67G。
39.22132,2,1,3解析:本題考查++,--運算符和條件運算符的使用。
“表達式1?表達式2:表達式3”的功能是:表達式1的值若非0,則計算表達式2的值,且表達式2的值為最終結(jié)果;若表達式1的值為0,則計算表達式3的值,且為最終結(jié)果。
本題中,x=1,y=2時,x<y成立,輸出y的值2;y=2,z=3時,z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個輸出x的值不變?yōu)?,y的值為增加后的3。
40.1B1B解析:本題輸入B33,字符'B'被輸入給字符變量a,33賦給b,執(zhí)行a=a-'A'+'0';得到a的值'1';執(zhí)行b=b*2;得到b值66,最后以字符型輸出為1B。
41.A解析:程序中定義的n是一個指向函數(shù)fun的指針變量,即將函數(shù)fun的人口地址賦給指針變量f1,這時f1和fun都指向函數(shù)的開頭,調(diào)用*f1就是調(diào)用函數(shù)fun。注意,此時用函數(shù)指針變量調(diào)用函數(shù)時,只需用(*f1)代替函數(shù)名fun即可,再在(*f1)后的括號中根據(jù)需要寫上實參,所以(%f1)(a);相當于fun(a);故選項A)是正確的。
42.A解析:sizeof(double)是C語言內(nèi)部規(guī)定的一個計算參數(shù)(double)在計算機的內(nèi)存中所占用的字節(jié)數(shù)量的函數(shù),它返回一個整數(shù)值。
43.B
44.B解析:該題目測試考生對宏替換的理解。這是一種簡單的情況:不帶參數(shù)的宏。關(guān)鍵要注意在對2*M+1進行宏替換時,要將宏名M原封不動地代進去,得到NUM的形式為2*N+1+1(千萬不要隨意給N+1加上小括號,使NUM變?yōu)?。(N+1)+1,這就是宏名和變量名之間的區(qū)別),在將N代進去,得到NUM的值為6。
45.B解析:選項A定義數(shù)組時省略了長度,而C語言中規(guī)定,只有在定義并同時進行初始化時,數(shù)組的長度才可以省略,數(shù)組的長度為初始化時候的成員個數(shù),故選項A錯誤;在C語言中規(guī)定,數(shù)組的長度必須是一個整數(shù)或整型常量表達式,故選項C不正確:定義時數(shù)組的長度不能使用變量表示,故選項D不正確,所以,4個選項中選項B符合題意。
46.C解析:本題考核的知識點是指針數(shù)組。本崽首先定義了一個有3個元素的指針數(shù)組s,并遭過賦值使s[0]指向字符串“one”s[1]指向字符串“two”,s[2]指向字符串“three”,然后通過賦值語句“p=s[1]”,使p指向了字符串“two”,故”(p+1)”就是字符“w”。所以,C選項為所選。
47.D解析:該程序先判斷a[i]<a[p],如果條件為真,則a[i]比當前設(shè)定的最小值小(p保留的當前最小元素的下標),那么將i賦給p,即將比較過的最小元素下標保留在p中,作為下面判斷的標準。
48.B
49.B解析:題目中定義了一個指針變量作為函數(shù)f()的參數(shù)。主函數(shù)main()中調(diào)用f()函數(shù),當i=0時,執(zhí)行語句“(*q)++;”,此處*q就代表數(shù)組a[0]的地址,也即將q進行加1操作;當i=1時,q仍指向數(shù)組元素a[0]的地址,因為在函數(shù)f()中并未對指針變量q做任何變動,即*q仍代表數(shù)組元素a[0]的值,所以此次(*q)++即為2+1,a[0]的值變?yōu)?;直到i=4時,執(zhí)行(*q)++后a[0]的值變?yōu)?,最后輸出數(shù)組a的結(jié)果為6、2、3、4、5。
50.D解析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。本題中,詳細設(shè)計、軟件編碼和軟件測試都屬于軟什開發(fā)階段;維護是軟件生命周期的最后一個階段,也是持續(xù)時間最長,花費代價最大的一個階段.軟件工程學的一個目的就是提高軟件的可維護性,降低維護的代價。
51.D解析:本題考查兩個知識點:①C語言用'\\n'這個字符常量表示換行;②函數(shù)getchar()的作用是從終端輸入一個字符,當遇到換行時結(jié)束輸入。
52.B解析:本題考查while語句的使用。本題考查邏輯非運算符和不等于運算符的區(qū)別,邏輯非運算符'!'的優(yōu)先級大于不等于運算符'!='的優(yōu)先級。
53.C解析:賦值的一般形式為:變量名:表達式;,賦值的方向為由右向左,即將:右側(cè)表達式的值賦給:左側(cè)的變量,執(zhí)行步驟是先計算再賦值。選項A中運算符%的運算對象必須為整數(shù),而選項A中26.8不為整數(shù),故選項A不正確;選項B將一個變量賦值給一個常量,這在C語言中是不允許的,故選項B不正確;選項D中也是將一個常量3賦值給一個常量,故選項D不正確;所以,4個選項中選項C符合題意。
54.A解析:本題主要考查按位異或和右移運算。b=4的二進制為00000100,b>>2后為00000001,a=2的二進制為00000010,兩者異或為00000011。
55.B解析:帶參數(shù)的main()函數(shù)常用形式為:main(intargc,char*argv[])其中,參數(shù)的個數(shù)由C程序運行時自動計算出來。字符型指針數(shù)組argv的第一個元素存放命令名,其后各個元素依次存放命令行中各個參數(shù)的首地址:整型變量argc用來記錄命令行中的參數(shù)個數(shù),文件名也作為一個參數(shù),對于命令行中雙引號內(nèi)的字符串,即使空格分開,也只算是一個參數(shù),同時雙引號本身不算參數(shù)的內(nèi)容,因此本題argc的值等于5。
56.D解析:將a的值用二進制表示:00000011。a與Ox8(二進制表示為00001000)按位或,得到結(jié)果00001011賦值給b,b的值為11。再將b左移一位得到:00010110,賦值給c,c的值為22。所以最后輸出的b,c的值為11,22。
57.C解析:strcat(s1,s2)是把s2字符串連接到s1字符串末尾,strcpy(s1,s2)是把s2字符串復制給s1字符串,要保證s1能容納下連接或復制后的字符串。
58.B解析:視圖設(shè)汁一般有3種設(shè)計次序,它們分別是自頂向下、自底向上和由內(nèi)
向外,它們又為視圖設(shè)計提供了具體的操作方法,設(shè)計者可根據(jù)實際情況靈活掌握,可以
單獨使用也可混合使用。
注意:數(shù)據(jù)庫概念設(shè)計的過程:首先選擇局部應用,再進行局部視圖設(shè)計,最后
對局部視圖進行集成得到概念模式。
59.D解析:本題考查數(shù)組的兩個知識點:①在C語言中,數(shù)組元素的個數(shù)是確定的,不允許隨機變動,數(shù)組定義好之后,它所能容納的元素的個數(shù)也就確定了;②同一個數(shù)組中所有元素的類型是一樣的。
60.D解析:因為二叉樹有左、右子樹之分,所以有3個結(jié)點的二叉樹具有5種不同的形態(tài)。
61.A本題考查程序效率。程序效率是指程序運行速度和程序占用的存儲空間。影響程序效率的因素是多方面的,包括程序的設(shè)計、使用的算法、數(shù)據(jù)的存儲結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)的基礎(chǔ)上,選擇一種合適的存儲結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費的時間少,占用的存儲空間少,即提高程序的效率。因此,本題選項A的說法是正確的。
62.B本題考查for循環(huán)的使用。對于第1個for循環(huán),任何一個i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語句執(zhí)行6次,第二條for語句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。
63.B
64.B解析:本題考查數(shù)據(jù)結(jié)構(gòu)中有關(guān)算法的基本知識和概念。數(shù)據(jù)的結(jié)構(gòu),直接影響算法的選擇和效率。而數(shù)據(jù)結(jié)構(gòu)包括兩方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲結(jié)構(gòu)。因此,數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)都影響算法的效率。選項A的說法是錯誤的。算法的時間復雜度是指算法在計算機內(nèi)執(zhí)行時所需時間的度量;與時間復雜度類似,空間復雜度是指算法在計算機內(nèi)執(zhí)行時所需存儲空間的度量。因此,選項B的說法是正確的。
數(shù)據(jù)之間的相互關(guān)系稱為邏輯結(jié)構(gòu)。通常分為四類基本邏輯結(jié)構(gòu),即集合、線性結(jié)構(gòu)、樹型結(jié)構(gòu)、圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)。存儲結(jié)構(gòu)是邏輯結(jié)構(gòu)在存儲器中的映象,它包含數(shù)據(jù)元素的映象和關(guān)系的映象。存儲結(jié)構(gòu)在計算機中有兩種,即順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)??梢姡壿嫿Y(jié)構(gòu)和存儲結(jié)構(gòu)不是一一對應的。因此,選項C的說法是錯誤的。
有時人們?yōu)榱颂岣咚惴ǖ臅r間復雜度,而以犧牲空間復雜度為代價。但是,這兩者之間沒有必然的聯(lián)系。因此,選項D的說法是錯誤的。
65.B解析:SEEK
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年惡臭監(jiān)測試題及答案
- 2025年醫(yī)美知識考試題及答案
- 2025年臨床輸血學考試題及答案
- 2025年痕跡檢驗考試題及答案
- 2025年核酸采集員面試題及答案
- 2025年后備村干面試題及答案
- 2025年單向鏈表面試題及答案
- 2025年??瞥杀緯嬙囶}及答案
- 2025年精英班籃球測試題及答案
- 2025年布藝溫馨面試試題及答案
- 《中國十大元帥》課件
- 舌癌預防好口腔疾病遠離舌癌威脅
- 《微生物限度檢查法》課件
- 云南民族民間工藝的分類及其初步研究
- 駕駛員的責任和義務
- 預防艾梅乙母嬰傳播課件
- 寶寶雙排牙介紹演示培訓課件
- 新課程關(guān)鍵詞
- DB3402-T 59-2023 露天礦山無人駕駛礦車作業(yè)通用要求
- 2022中國腦性癱瘓康復指南(第一章)
- 糧油倉儲企業(yè)一規(guī)定兩守則試題(新改版附答案)
評論
0/150
提交評論