版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
2022年安徽省宿州市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.函數(shù)fun的功能是在a所指的具有n個元素的數(shù)組中查找最大值并返回給調(diào)用函數(shù),但函數(shù)不完整:intfun(int*a,intn){int*p,*s;for(p=a,s=a;p-a<=""p="">if(________)s=p;return*s;}在if語句下劃線處應(yīng)填入的選項是()。
A.p>sB.*p>*sC.a[p]>a[s]D.p-a>p-s
2.若有定義語句“chars[10]=“1234567\0\0”;”,則Strlen(s)的值是()。
A.7B.8C.9D.10
3.閱讀以下程序:#include<stdio.h>main(){intcase;floatprintF;printf("請輸人2個數(shù):");scanf("%d%fl"&case,&printF);printf("%dofof\n",case,printF);}該程序在編譯時產(chǎn)生錯誤,其出錯原因是()。A.定義語句出錯,case是關(guān)鍵字,不能用做用戶自定義標(biāo)識符
B.定義語句出錯,printF不能用做用戶自定義標(biāo)識符
C.定義語句無錯,scanf不能作為輸入函數(shù)使用
D.定義語句無錯,printf不能輸出case的值
4.下列敘述中正確的是()。
A.只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句
B.eotinue語句的作用是結(jié)束整個循環(huán)的執(zhí)行
C.在循環(huán)體內(nèi)使用break語句或continue語句的作用相同
D.從多層循環(huán)嵌套中退出時,只能使用got0語句
5.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.0,1,0B.0,1,1C.0,0,1D.0,0,0
6.有以下程序
#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);
}
程序的運行結(jié)果是
A.accxyy,bbxxyy
B.acc,bbxxyy
C.accxxyy,bbxxyy
D.accbbxxyy,bbxxyy
7.已定義以下函數(shù)fun(char*p2,char*p1){while((*p2=*p1)!='0'){P1++;p2++;}}函數(shù)的功能是
A.將p1所指字符串復(fù)制到p2所指內(nèi)存空間
B.將P1所指字符串的地址賦給指針p2
C.對p1和p2兩個指針?biāo)缸址M行比較
D.檢查P1和p2兩個指針?biāo)缸址惺欠裼?\0'
8.
9.能正確表示“當(dāng)x的取值在[1,10]和[100,110]范圍內(nèi)為真,否則為假”的表達式是()。
A.(x>=1)&&(x<=10)&&(x>=100)&&(x<=110)
B.(x>=1)‖(x<=10)‖(x>=100)‖(x<=110)
C.(x>=1)&&(x<=10)‖(x>=100)&&(x<=110)
D.(x>=1)‖(x<=10)&&(x>=100)‖(x<=110)
10.有以下程序:intfun(intn){if(n==l)returnl;elsereturn(n+fun(n一1)):}main{intx;scanf("%d",&x);x=fun(x);printf("%d\n",x):}執(zhí)行程序時,給變量X輸入10,程序的輸出結(jié)果是()。A.55B.54C.65D.45
11.
12.按照C語言規(guī)定的用戶標(biāo)識符命名規(guī)則,不能出現(xiàn)在用戶標(biāo)識符中的是()。
A.大寫字母B.下劃線C.數(shù)字D.連接符
13.以下敘述中錯誤的是______。A.C程序必須由—個或—個以上的函數(shù)組成
B.函數(shù)調(diào)用可以作為—個獨立的語句存在
C.若函數(shù)有返回值,必須通過return語句返回
D.函數(shù)形參的值也可以傳回給對應(yīng)的實參
14.若變量c為char類型,能正確判斷出c為小寫字母的表達式是A.A.′a′<=c<=′z′c="">=′a′)||(c<=′z′)
B.(′a′>=c)and(′z′>=c)
C.(′a′<=c)and(′z′>=c)
D.(c>=′a′)&&(c<=′z′)
15.下列程序段中完全正確的是()。A.int*p;scanf(“%d”,&p);
B.int*p;scanf(“%d”,p);
C.intk,*p=&k;scanf(“%d”,p);
D.intk,*p;*p=&k;scanf(“%d”,p);
16.若查找每個記錄的概率均等,則在具有n個記錄的連續(xù)順序文件中采用順序查找法查找一個記錄,其平均查找長度ASL為()
A.(n-1)/2B.n/2C.(n+1)/2D.n
17.有以下程序:main(){intp[7]={11,13,14,15,16,17,18),i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k)}執(zhí)行后的輸出結(jié)果是______。
A.58B.56C.45D.24
18.下面敘述中錯誤的是()。
A.軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤
B.對被調(diào)試的程序進行“錯誤定位”是程序調(diào)試的必要步驟
C.程序調(diào)試通常也稱為Debug
D.軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性
19.需求分析的主要任務(wù)是()。
A.確定軟件系統(tǒng)的功能B.確定軟件開發(fā)方法C.確定軟件開發(fā)工具D.確定軟件開發(fā)入員
20.設(shè)有以下語句
typedefstructS
{intg;charh;}T;
則下面敘述中正確的是()A.可用S定義結(jié)構(gòu)體變量B.可以用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量
二、2.填空題(20題)21.設(shè)有下列宏定義:#defineA2
#defineBA+3
則執(zhí)行賦值語句;t=B*2;t為int型變量后的值是______。
22.數(shù)據(jù)庫系統(tǒng)的三級模式分別為______模式、內(nèi)部級模式與外部級模式。
23.設(shè)有定義:FILE*fw;,請將以下打開文件的語句補充完整,以便可以向文本文件readme.txt的最后續(xù)寫內(nèi)容。
fw=fopen("readme.txt",【】);
24.如果一個工人可管理多個設(shè)施,而一個設(shè)施只被一個工人管理,則實體“工人”與實體“設(shè)備”之間存在______聯(lián)系。
25.C語言中用______表示邏輯值為“真”,用數(shù)字“0”表示邏輯值為“假”。
26.以下程序運行后的輸出結(jié)果是______。
main()
inta.b,c;
a=10;b=20;c=(a%b<)||{a/b>1);
printf("%d%d%dn",a,b,c);
}
27.有以下程序
main()
{intt=1,i=5;
for(;i>=0;i--)t*=i;
printf("%d\n",t);
}
執(zhí)行后輸出結(jié)果是______。
28.面向?qū)ο蟮哪P椭校罨镜母拍钍菍ο蠛蚠_____。
29.下面程序輸出的結(jié)果是()。intm=17;intfun(intx,inty){intm=3;return(x*y-m);}main(){inta=5,b=7;printf("%d\n”,fun(a,B)/m);}
30.一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【】。
31.下列程序的輸出結(jié)果是【】。
main()
{
inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)
z=(*(ptr+y)<x)?*(ptr+y):x;
printf("%d\n",z);
}
32.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
33.已定義charch='$';inti=1,j;,執(zhí)行j!=ch&&i++以后,i的值為______。
34.閱讀下列程序,則在執(zhí)行后,程序的運行結(jié)果為#include"stdio.h"#include"string.h"main(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}
35.在一個容量為32的循環(huán)隊列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊列中共有______個元素。
36.以下程序的功能是計算:s=1+12+123+1234+12345。請?zhí)羁铡?/p>
main()
{intt=0,s=0,i;
for(i=1;i<=5;i++)
{t=i+______;s=s+t;}
printf("s=%d\n",s);
}
37.對于圖書管理數(shù)據(jù)庫,將圖書表中“人民郵電出版社”的圖書的單價漲價5%。請對下面的SQL語句填空:UPDATE圖書______WHERE出版單位="人民郵電出版社"
38.如下圖所示的二叉樹后序遍歷序列是【】。
39.下列程序的運行結(jié)果是______。
#definePOWER(x)((x)*(x))
main()
{inti=1;
printf("%d,%d",POWER(i++),i);
}
40.以下程序的輸出結(jié)果是_______。
main()
{char*p[]={"BOOL","OPK","H","SP:,};
for(i=3;i>0;i--,i--)printf("%c",*p[i]);
printf("\n");}
三、1.選擇題(20題)41.設(shè)有以下語句
charx=3,y=6,z;
z=x^y<<2;
則z的二進制值是
A.00010100B.00011011C.00011100D.00011000
42.有以下程序: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
43.設(shè)有定義:inta=2,b=3,c=4;則以下選項中值為0的表達式是()。
A.(!a==1)&&(!b==0)
B.(a<b)&&!c‖1
C.a&&b
D.a‖(b+b)&&(c-a)
44.為了使模塊盡可能獨立,要求
A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡最強
45.有如下程序段inta=14,b=15,x;charc='A';x=(a&&b)&&(c<'B');執(zhí)行該程序段后,x的值為
A.TRUEB.FALSEC.0D.1
46.下列程序的輸出結(jié)果是______。main(){inta=12,b=12;printf("%d%d\n",--a,++b);
A.1010B.1212C.1110D.1113
47.已定義下列函數(shù):intfun(int*p){return*p;)fun函數(shù)返回值是()。
A.不確定的值B.一個整數(shù)C.形參p中存放的值D.形參p的地址值
48.在深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為A.32B.31C.16D.15
49.下面一組中都是C語言關(guān)鍵字的是______。
A.doubleIntfor
B.mainwhilegoto
C.volatilebreakstatic
D.mallocsizeofnew
50.標(biāo)準(zhǔn)庫函數(shù)fgets(s,n,file)的功能是()。
A.從文件file中讀取長度為n的字符串存入字符數(shù)組s中
B.從文件file中讀取長度不超過n-1個字符的字符串放到字符數(shù)組s中
C.從文件file中讀取n個字符串存入字符數(shù)組s中
D.從文件file中讀取長度為n-1個字符的字符串存入字符數(shù)組s中
51.下列選項中,當(dāng)x為大于1的奇數(shù)時,值為0的表達式是()。
A.x%2==1B.x/2C.x%2!=0D.x%2==0
52.能夠?qū)τ嬎銠C的硬件設(shè)備進行管理,并使應(yīng)用軟件能夠方便、高效地使用這些設(shè)備的是()
A.數(shù)據(jù)庫存系統(tǒng)B.操作系統(tǒng)C.編輯軟件D.應(yīng)用軟件
53.在執(zhí)行完下列的C語句段之后,則B的值是()。chara='A';intb;B=((34&&56)&&(a<'b'));
A.0B.1C.真D.假
54.以下不正確的定義語句是
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5]={0,1,3,5,7,9};
C.charc1[]={'1','2','3','4','5'};
D.charc2[]={'\x10','\xa','\x8'};
55.設(shè)有一共用體變量定義如下:uniondata{longw;floatx;inty;charz;};uniondatabeta;執(zhí)行下列語句后,正確的共用體變量beta的值是()。beta.w=123456;beta.y=888;beta.x=3.1416;beta.z='x';
A.123456B.888C.3.1416D.'X'
56.以下選項中,與k=n++完全等價的表達式是A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1
57.若有以下定義和語句#include<stdio.h>inta=4,b=3,*p,*q,*w;p=&a;q=&b;w=q;q=NULL;則以下選項中錯誤的語句是
A.*q=0;B.w=p;C.*p=a;D.*p=*w;
58.在下列敘述中,不正確的一條是______。
A.在C語言中,函數(shù)中的自動變量可以賦初值,每調(diào)用一次,賦一次初值
B.在C語言中,外部變量的隱含類別是自動存儲類別
C.在C語言中,在調(diào)用函數(shù)時,實際參數(shù)和對應(yīng)形參在類型上只需賦值兼容
D.在C語言中,函數(shù)形參可以說明為register變量
59.有定義語句:chars[10];,若要從終端給s輸入5個字符,錯誤的輸入語句是
A.sets(&s[0]);
B.scarf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);
60.以下程序的輸出結(jié)果是#include<stdi0.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%10)==0)break;elsei--;}i+=11;a+=i;}printf(“%d\n”,A);}
A.21B.32C.33D.11
四、選擇題(20題)61.以下敘述中正確的是()。
A.在C語言程序中,main函數(shù)必須放在其他函數(shù)的最前面
B.每個后綴為C的C語言源程序都可以單獨進行編譯
C.在C語言程序中,只有main函數(shù)才可單獨進行編譯
D.每個后綴為.C的C語言源程序都應(yīng)該包含一個main函數(shù)
62.設(shè)有定義:“char*c;”,以下選項中能夠使字符型指針c正確指向一個字符串的()。
A.charstr[]="string";c=str;
B.scanf(%s,c):
C.c=getchar();
D.*c="strin9";
63.
64.
65.若變量均已正確定義并賦值,以下合法的c語言賦值語句是()。A.x---y=--5;B.x--n%2.5;C.x+n=i;D.x=5--4+1;
66.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測試計劃B.軟件詳細設(shè)計說明書C.用戶手冊D.軟件需求規(guī)格說明書
67.有以下程序:
程序運行后的輸出結(jié)果是()
A.32B.12C.21D.22
68.有以下程序:
當(dāng)執(zhí)行程序時,按下列方式輸人數(shù)據(jù)(從第l列開始,<CR>代表回車,注意,回車也是—個字符)l<CR>
234<CR>
則輸出結(jié)果是()。
A.34
B.134
C.123
D.1234
69.有以下程序:
#include<stdio.h>
main()
{chara[5][10]={"one","tw0","three","four","five"};
inti,j;
chart:、
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(a[i][O]>a[j][0])
{t=a[i][O];a[i][O]=a[j][O];a[j][O]=t;)
puts(a[1]);
}
程序運行后的輸出結(jié)果是()。
A.fwo
B.fix
C.two
D.owo
70.(66)為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為()
A.PAD圖
B.N-S圖
C.結(jié)構(gòu)圖
D.數(shù)據(jù)流圖
71.在面向?qū)ο蠓椒ㄖ?,實現(xiàn)信息隱蔽是依靠()。
A.對象的繼承B.對象的多態(tài)C.對象的封裝D.對象的分類
72.
73.下列說法正確的是()。
A.在C語言中,可以使用動態(tài)內(nèi)存分配技術(shù)定義元素個數(shù)可變的數(shù)組
B.在c語言中,數(shù)組元素的個數(shù)可以不確定,允許隨機變動
C.在C語言中,數(shù)組元素的數(shù)據(jù)類型可以不一致
D.在C語言中,定義一個數(shù)組后.就確定了它所容納的元素的個數(shù)
74.
75.程序中已構(gòu)成如下圖所示的不帶頭結(jié)點的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點,指針變量s總是作為指針指向鏈表的第一個結(jié)點。
若有以下程序段:
該程序段實現(xiàn)的功能是()。
A.刪除尾結(jié)點B.尾結(jié)點成為首結(jié)點C.刪除首結(jié)點D.首結(jié)點成為尾結(jié)點
76.
77.有以下程序程序運行后的輸出結(jié)果是()。
A.9B.10C.8D.7
78.有以下程序
main()
{inta[3][2]={0},(*ptr)[2],i,j;
for(i=0;i<2;i++)
{ptr=a+i;scanf("%d",ptr);ptr++;}
for(i=0;i<3;i++)
{for(j=0;j<2;j++)printf("%2d",a[i][j]);
printf("\n");
}
}
若運行時輸入123<回車>,則輸出結(jié)果為
79.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的存放形式
C.數(shù)據(jù)在計算機中的順序存儲方式
D.存儲在計算機外存中的數(shù)據(jù)
80.有以下程序:
程序運行后的輸出結(jié)果是()。
A.12B.14C.1234D.123456
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:利用插入排序法對字符串中的字符按從大到小的順序進行排序。插入法的基本方法是:先對字符串中的頭兩個元素進行排序,然后把第3個字符插入前2個字符中,插人后前3個字符依然有序,再把第4個字符插入前3個字符中,待排序的字符串已在主函數(shù)中賦予。例如,原始字符串為“goodluck”,則排序后的字符串為“uoolkgdc”。請修改程序中的錯誤,使它能得到正確結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是根據(jù)以下公式求P的值,結(jié)果由函數(shù)值返回。m與n為兩個正整數(shù)且要求m>n。例如:m=12,n=8時,運行結(jié)果為495.000000。注意:部分源程序在文件prog1.c中。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.B函數(shù)fun的功能是在a所指的具有n個元素的數(shù)組中查找最大值并返回。通過for循環(huán)比較,s始終指向最大值的那個元素。取指針的值,使用*P,因此比較使用*P和*s,又因為找最大值,當(dāng)*s<*p時,修改指針s的指向。故本題答案為B選項。
2.Astrlen函數(shù)計算字符串長度時,遇到結(jié)束標(biāo)識為止,且長度不包括結(jié)束標(biāo)識。本題中的字符串從第1個字符開始,遇到第1個結(jié)束標(biāo)識‘\\0’為止,注意不占字符串長度,所以字符串長度為7。故本題答案為A選項。
3.A本題中定義了整形變量case,但case是關(guān)鍵字,關(guān)鍵字不能用做標(biāo)識符。單精度printF不是關(guān)鍵字,因為標(biāo)識符區(qū)分大小寫。所以A不正確。
4.A本題考查循環(huán)跳出的知識點:①break語句可以出現(xiàn)在switch循環(huán)體內(nèi)及語句體內(nèi),它的作用是跳出循環(huán)體,不能用于其他的語句;②continue語句的作用是結(jié)束本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,而接著判定循環(huán)條件是否成立,確定下一次循環(huán)是否繼續(xù)執(zhí)行,執(zhí)行contiune語句不會使整介循環(huán)終止;③循環(huán)體內(nèi)使用break語句會使循環(huán)提前終止;④從多層循環(huán)嵌套中退出時,可以使用90t0語句或者break語句。
5.Bif條件表達式“a--‖b--&&--c”使用了邏輯或運算符和邏輯與運算符。因為邏輯與運算符優(yōu)先級比邏輯或運算符優(yōu)先級高,所以條件表達式等價于“(a--)‖(b--&&--c)”,自左向右運算,執(zhí)行“a”,因為a初值為1,所以a--的值為1,執(zhí)行完后a的值為0;又因為邏輯或運算符的短路原則,當(dāng)a--的值為1時,條件為真,后面的表達式b--&&--c不執(zhí)行。程序執(zhí)行if語句塊,輸出a、b、c的值為:0,1,1。本題答案為B選項。
6.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的結(jié)束符的位置,第二個while循環(huán)將字符串a(chǎn)a中的字符(包括結(jié)束符'\\0')逐個復(fù)制到字符串ss的末尾處。
7.A解析:fun()函數(shù)中聲明了兩個字符串指針作為形參,在其函數(shù)體中用了一個while循環(huán),首先while括號內(nèi)表達式*p2=*p1是將p1所指的內(nèi)容賦值到P2所指的存儲空間中,然后再判斷是否為'\\0',表達式的值為真時,執(zhí)行循環(huán)體,指針p1和指針P2分別下移一位,當(dāng)p1指向字符'\\0'時,表達式的值為假,循環(huán)結(jié)束,故此函數(shù)的功能是將p1所指字符串復(fù)制到p2所指內(nèi)存空間中。
8.C
9.C本題考查邏輯與(&&)和邏輯或(||)運算符的使用。x值在[1,10]之間,C語言中可以寫成x值在[100,11O]之間,C語言表達式應(yīng)寫成“(x>=100)&&(x>=110)”;[1,1O]和[100,110]滿足任意條件就可以,所以是邏輯或的關(guān)系,因此只要將前兩個表達式用邏輯或運算符連接起來即可,所以最后的表達式:(x>=1)&&(x<=10)&&(x<=110)。
10.A函數(shù)intfun(intn)的功能是求1+2+…+n的值并返回。所以執(zhí)行程序時,給變量x輸入10后,執(zhí)行語句“x=fun(x);”,X的值將變?yōu)?到10中10個整數(shù)的累加和,即55。
11.B
12.DC語言只符由字母、數(shù)字、下劃線組成,且第1個字符必須是字母或下劃線,所以D選項中的連接符不合法。故本題答案為D選項。
13.D解析:在調(diào)用函數(shù)時,給形參分配存儲單元,并將實參對應(yīng)的值傳遞紿形參,調(diào)用結(jié)束后,形參單元彼釋放,實參單元仍保留并維持原值。因此,在執(zhí)行—個被調(diào)用函數(shù)時,形參的值如果發(fā)生改變,并不會改變主調(diào)函數(shù)的實參的值,也就是說形參的值是不傳回紿對應(yīng)的實參的。
14.D
15.CA選項中,沒有對指針進行初始化,屬于無效指針,并且在“scanf(“%d”,&p);”中無須再進行取地址操作;B選項中,沒有對指針進行初始化,屬于無效指針;D選項中,語句“*p=&k;”書寫錯誤,應(yīng)為“P=&k;”。故本題答案為C選項。
16.C
17.D解析:程序中while語句的循環(huán)條件為i<7&&p[i]%2。當(dāng)i=0時,條件成立,k=k+p[0]=11;當(dāng)i=1時,條件仍成立,k=k+p[1]=11+13=24;當(dāng)i=2時,p[2]%2=0條件不成立,結(jié)束while循環(huán),所以k=24。
18.A軟件測試的目的是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,并不涉及改正錯誤,所以選項A錯誤。程序調(diào)試的基本步驟有:錯誤定位、修改設(shè)計和代碼,以排除錯誤、進行回歸測試,防止引進新的錯誤。程序調(diào)試通常稱為Debug,即排錯。軟件測試的基本準(zhǔn)則有:所有測試都應(yīng)追溯到需求、嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性、充分注意測試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測試不可能、妥善保存測試計劃等文件。故答案為A選項。
19.A需求分析是軟件開發(fā)之前必須要做的準(zhǔn)備工作之一。需求是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面的期望。故需求分析的主要任務(wù)是確定軟件系統(tǒng)的功能。本題答案為A選項。
20.B解析:結(jié)構(gòu)體類型的定義格式為:
strcut結(jié)構(gòu)體名
{成員說明列表};
結(jié)構(gòu)體變量的定義有3種形式:第一種:定義結(jié)構(gòu)體型的同時定義結(jié)構(gòu)體變量如:strcut結(jié)構(gòu)體名{成員說明列表}變量;第二種先定義一個結(jié)構(gòu)體類型,然后使用該類型來定義結(jié)構(gòu)體變量,如:strcutstudent{成員說明列表):student變量;第三種:定義一個無名稱的結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量,如:Strctstudent{成員說明列表}變量。和上面三種情況比較我們不難得知只有選項B是正確的。所以,4個選項中選項B符合題意。
21.88解析:本題考查帶參數(shù)的宏定義及相關(guān)運算.運算過程為:t=B*2=A+3*2=2+3*2=8。
22.概念(或概念級)概念(或概念級)
23.aa解析:本題考查的是文件的打開方式。要向文本文件的末尾續(xù)寫內(nèi)容,需要使用方式“a”(追加)打開文件。
24.一對多(或1:N)一對多(或1:N)
25.非0非0解析:邏輯運算中,非0表示邏輯“真”,用。表示邏輯“假”。
26.1020010200解析:本題的關(guān)鍵在于求表達式(a%b<1)‖a/b>1)的值。已知a=10,b=20,所以a%b=10,因此(a%b<1)為“假”。而a/b=0,因此(a/b>1)亦為“假”。,D運算的兩邊同時為“假”,所以整個表達式的值為?!凹佟保碿等于0。所以,本題最終輸出為:10200。
27.00解析:本題中的for循環(huán)共執(zhí)行了6次,每執(zhí)行一次將相應(yīng)i的值相乘,最后當(dāng)i=-1時停止循環(huán).該for循環(huán)執(zhí)行完后t的值為5*4*3*2*1*0=0,故最后輸出I的值為0。
28.類類
29.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作甩域在函數(shù)級和塊級的變量,全局變量是指作用域在程序級和文件級的變量。
30.可重用性繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。
31.66解析:條件運算符的優(yōu)先級高于賦值運算符,因此本題先計算關(guān)系表達式(*ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當(dāng)y=0時,*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=2,所以z=2;當(dāng)y-1時,*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=4,所以z=4;當(dāng)y=2時,*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=6,所以z=6;循環(huán)結(jié)束。因此輸出z的結(jié)果為6。
32.軟件開發(fā)
33.11解析:在執(zhí)行邏輯表達式“j=!ch&&i++”時,首先判斷j=!ch的值,因為“ch='$'”不為0,所以“j=!ch=0”,編譯系統(tǒng)便不再計算表達式“i++”的值,i的值不變,仍為1。
34.D
35.3131解析:設(shè)隊列容量為m,如果:rear>front,則隊列中元素個數(shù)為rear-front;如果rear<front,則隊列中元素個數(shù)為m+(rear-front)。本題rear<front,則m=32+(2-3)=31。
36.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結(jié)果來看,s保存的是最終結(jié)果,而s在循環(huán)體中,每次累加一個t,則說明t在5次循環(huán)中分別等于1.12、123、1234、12345;而t每次循環(huán)等于“填空內(nèi)容”加上循環(huán)變量i,又因為i在5次循環(huán)中分別等于1、2、3、4,5,所以t每次循環(huán)要加的“填空內(nèi)容”應(yīng)分別為0、10、120,1230,12340,這一系列值正好是前一次t的值的10倍.所以“填空內(nèi)容”應(yīng)是t*10。
37.更新表中元組的值,使用UPDATE命令,一次可以更新表中的一個或多個屬性值。UPDATE短語之后指定更新數(shù)據(jù)所屬的表,將新的屬性值或表達式賦值給對應(yīng)的屬性名(SET單價=單價*1.05),并置于SET短語之后。要求對人民郵電出版社的圖書漲5%,需要用WHERE短語對元組進行限制,即對符合條件的元組進行更新。\r\n\r\n
38.GDBHIEFCAGDBHIEFCA解析:后序遍歷二叉樹的順序為:后序遍歷左子樹→后序遍歷右子樹→訪問根結(jié)點。按照定義,后序遍歷序列是GDBHIEFCA。
39.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。
40.
41.B本題主要考查位運算?!鞍次划惢颉边\算(^)是雙目運算符,其功能是把參與運算的兩數(shù)各對應(yīng)的二進制位相異或,它在操作時,兩對應(yīng)位相同結(jié)果為0,不同則為1?!白笠啤边\算(<<)的功能是把“<<”左邊的運算數(shù)的各二進制位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。左移時,若左端移出的部分不包含有效二進制數(shù)1,則每左移一位,相當(dāng)于移位對象乘以2。
本題中,有三個字符型的變量x,y,z,其中x和y的值分別為3和6。先轉(zhuǎn)換為二進制數(shù)分別為00000011和00000110。本題中需要注意的是邏輯左移運算符的優(yōu)先級比按位異或運算符的優(yōu)先級高,因此,先將y進行運算邏輯左移2位操作,得到的結(jié)果為00011000,然后進行按位異或運算,得到最后的結(jié)果是00011011。本題正確的答案選B。
42.C解析:i=30時,條件表達式“i++%5==0”為真,i++后i=31,++i后i=32,即條件表達式“++i%8==0”為真。
43.A解析:邏輯運算符的優(yōu)先級由高到低運算次序如下:!(非)→&&(與)→||(或),選項A)的表達式中,先計算!a,結(jié)果為0,由于'0==1'不成立,故整個表達式的值為0。
44.B解析:系統(tǒng)設(shè)計的質(zhì)量主要反映在模塊的獨立性上.評價模塊獨立性的主要標(biāo)準(zhǔn)有兩個:一是模塊之間的耦合,它表明兩個模塊之間互相獨立的程度;二是模塊內(nèi)部之間的關(guān)系是否緊密,稱為內(nèi)聚.一般來說,要求模塊之間的耦合盡可能地弱,即模塊盡可能獨立,而要求模塊的內(nèi)聚程度盡量地高。綜上所述,選項B的答案正確。
45.D解析:在C語言中,邏輯運算符有4個,它們分別是:!(邏輯非)、||(邏輯或)、&&及(邏輯與)、^(異或)。在位運算里面還有&(位與)、|(位或)的運算。本題考查邏輯與運算符的用法,在表達式x=(a&&b)&&(c<'B');中,先判斷a&&b條件,邏輯與條件的兩邊都要保證為1,即a和b都成立,當(dāng)然c<'B'是成立的,顯然,該表達式的值為1。
46.D
47.B解析:由函數(shù)intfun(int*p){return*p;}的定義可知,返回值為整型指針變量p所指向的數(shù)據(jù)。
48.C2(n-1)
=2(5-1)=16
49.C解析:C語言中的關(guān)鍵字有32個關(guān)鍵字(參見C語言教程),本題中只有C符合題意。
50.B解析:字符串輸入函數(shù)fgets()的調(diào)用形式為:fgets(s,n,fp)。fgets函數(shù)參數(shù)說明:“s”可以是一個字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個數(shù);“fp”是指向該文件的文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長度不超過n-1個字符的字符串,并將該字符串放到字符數(shù)組s中;讀入字符串后會自動在字符串末尾加入“'\\0'”結(jié)束符,表示字符串結(jié)束。
51.D解析:因為x的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1。所以選項D)等于關(guān)系表達式的結(jié)果為假,即等于0。
52.B
53.B解析:本題考查C語言3個知識點:①將一個字符賦給一個字符變量時,并不是將該字符本身存儲到內(nèi)存中,而是將該字符對應(yīng)的ASCII碼存儲到內(nèi)存單元中:②大寫字母的ASCII碼值小于其對應(yīng)小寫字母的ASCII碼值:⑧只要邏輯與運算符&&的兩個運算對象都為非零,返回值就是1。
54.B解析:在一維數(shù)組中要注意的是作為下標(biāo)表達式的常量表達式的值必須是大于等于0,選項B)中定義有5個元素,但賦值時有6個元素,所以是錯誤的。
55.D解析:因為共用體的所有成員共同占據(jù)一段存儲空間,所以成員數(shù)據(jù)后賦的值會覆蓋掉先賦的值,最后共用體變量中保留的就是最后一次賦的值。注意:共用體變量所占存儲單元字節(jié)數(shù)的計算。
56.A解析:在本題中k=n++,為后綴運算。根據(jù)其運算規(guī)則,首先n先加一,但n++表達式的值依然n原來的值,即k的值沒有改變。選項A中先給k賦值為n,然后n再加1,k值沒有變化,所以這個表達式和本題中表達式等價:選項B中先n加1,然后將n加1后的值賦給k,k變化了比原來的值大1,所以這個表達式和本題中表達式不等價:選項C中先計算表達式左邊的表達式++=N的值,執(zhí)行++n后,左邊的表達式的值為n的值加1,然后將n+1后的值賦給k,所以這個表達式和本題中的表達式不等價;選項D中表達式展開為k=k+(n+1),k的值發(fā)生了變化,所以這個表達式和本題中的表達式不等價。所以4個選項中A正確。
57.A解析:本題中定義了3個指向整型的指針變量p、q、w,并讓P指向a,讓q指向b,通過將q的值賦給w,使w也指向b,最后將NULL賦值給q。由整型變量指針的定義可知,可以給整型指針指向的變量賦一個常數(shù)值(表達式);可以給指針變量賦一個同種類型的指針變量(或地址值);選項A因為q不指向任何變量,給一個空指針指向的單元賦值是錯誤的。
58.B
59.D解析:在格式輸入中,要求給出的是變量的地址,而D)答案中給出的s[1]是一個值的表達式。
60.B解析:break語句只能在循環(huán)體和switch語句體內(nèi)使用。本題程序為在while循環(huán)中嵌套for循環(huán)。先看內(nèi)層for循環(huán),該循環(huán)的3個表達式全部省略,循環(huán)條件始終為真,但循環(huán)體內(nèi)的break語句為終止循環(huán)的條件。首先,由初始條件判斷外層循環(huán)while括號內(nèi)表達式的值,該值為真,執(zhí)行本次while循環(huán),即執(zhí)行循環(huán)體內(nèi)的if語句,判斷該表達式后面括號里表達式的值為真,執(zhí)行break語句,跣出內(nèi)層循環(huán),執(zhí)行下面的語句,此時i和a的值均變?yōu)?1;回到外層循環(huán),判斷表達式“i<20”仍為真,執(zhí)行內(nèi)層循環(huán)語句,此時if條件不滿足,執(zhí)行else語句,i的值為10,繼續(xù)內(nèi)層循環(huán),if語句條件滿足,執(zhí)行break語句,跳出內(nèi)層循環(huán),執(zhí)行下面的語句后,i和a的值分別是21和32。再判斷外層循環(huán)的條件為假,結(jié)束循環(huán)。
61.BC語言是一種成功的系統(tǒng)描述語言,具有良好的移植性,每個后綴為.C的C語言源程序都可以單獨進行編譯。
62.A選項B是從鍵盤上輸入字符串,選項C是接收字符,選項D不正確。
63.B
64.D
65.A%取余操作數(shù)只能是整數(shù),x+n和數(shù)值5不能作為賦值的左值,NC2B)、C)、D)錯誤。
66.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審四個方面。所以選擇D。
67.Cc語言中函數(shù)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《子網(wǎng)掩碼的計算》課件
- 第6單元 科技文化與社會生活(B卷·能力提升練)(解析版)
- 百貨商店電器城保安工作總結(jié)
- 集裝箱散貨轉(zhuǎn)化公路運輸代理協(xié)議三篇
- 2023-2024年員工三級安全培訓(xùn)考試題附參考答案【典型題】
- 乘除法應(yīng)用題課件
- 2023年-2024年企業(yè)主要負(fù)責(zé)人安全培訓(xùn)考試題附解析答案
- 教育資源整合研究報告
- 《督脈與腧穴》課件
- 云平臺下的供應(yīng)鏈協(xié)同-洞察分析
- 車輛駕駛考試培訓(xùn)委托書
- 開票稅點自動計算器
- 2024親戚借名買房協(xié)議書
- 小學(xué)二年級上冊數(shù)學(xué)-數(shù)角的個數(shù)專項練習(xí)
- 期末核心素養(yǎng)測評卷2023-2024學(xué)年語文五年級上冊+統(tǒng)編版
- 醫(yī)療器械質(zhì)量安全風(fēng)險會商管理制度
- 《我愛上班》朗誦稿
- 2024年石油石化技能考試-石油鉆井工筆試參考題庫含答案
- 2024年度帶狀皰疹課件
- 電樁采購安裝充電樁調(diào)試驗收方案
- 消防設(shè)施安全檢查表
評論
0/150
提交評論