版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021年江蘇省常州市全國計算機等級考試C語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.由權值分別為3,8,6,2,5的葉子結點生成一棵哈夫曼樹,它的帶權路徑長度為________。
A.24B.48C.72D.53
2.鏈表不具有的特點是()。A.A.不必事先估計存儲空間
B.可隨機訪問任意元素
C.插入、刪除不需要移動元素
D.所需空間與線性表長度成正比
3.
4.
5.對關系S和R進行集合運算,結果中既包含S中的所有元組也包含R中的所有元組,這樣的集合運算稱為()
A.并運算B.交運算C.差運算D.積運算
6.以下敘述中錯誤的是()。
A.C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉換成二進制的機器指令
B.C程序經過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件
C.用C語言編寫的程序稱為源程序,它以ASCII形式存放在一個文本文件中
D.C語言源程序經編譯后生成擴展名為.obj的目標文件
7.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十進制代碼為97,則執(zhí)行上述程序段后輸出結果是()。A.因變量類型與格式描述符的類型不匹配輸出無定值
B.輸出項與格式描述符個數(shù)不符,輸出為零值或不定值
C.a,97,12k=12
D.a,97,k=12
8.用樹形結構表示實體之間聯(lián)系的模型的是
A.關系模型B.網狀模型C.層次模型D.以上三個都是
9.用向量和單鏈表示的有序表均可使用折半查找方法來提高查找速度()A.是B.否
10.下列敘述中錯誤的是()。
A.一個C語言程序只能實現(xiàn)一種算法
B.c程序可以由多個程序文件組成
C.C程序可以由一個或多個函數(shù)組成
D.一個c函數(shù)可以單獨作為一個C程序文件存在
11.在非線性結構中,每個結點()。
A.無直接前趨
B.只有一個直接前趨和個數(shù)不受限制的直接后繼
C.只有一個直接前驅和后繼
D.有個數(shù)不受限制的直接前驅和后繼
12.數(shù)據字典(DD)所定義的對象都包含于()。
A.軟件結構圖B.方框圖C.數(shù)據流圖(DFD圖)D.程序流程圖
13.廣告系統(tǒng)為了做地理位置定向,將IPV4分割為627672個區(qū)間,并標識了地理位置信息,區(qū)間之間無重疊,用二分查找將IP地址映射到地理位置信息,請問在最壞的情況下,需要查找多少次?()
A.17B.18C.19D.20
14.鏈表不具備的特點是()
A.所需空間與其長度成正比B.不必事先估計存儲空間C.插入刪除不需要移動元素D.可隨機訪問任一節(jié)點
15.設x、y、z、t均為int型變量,則執(zhí)行以下語句后,t的值是()x=y(tǒng)=z=l;t=++x||++y&&++z;
A.不定值B.2C.1D.0
16.有以下程序
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*q);
}
程序運行后的輸出結果是A.運行后報錯B.66C.611D.510
17.下列二維數(shù)組初始化語句中,不正確的是()。
A.intb[][2]={1,2,3,4,5,6,7};
B.intb[3][5]={0,0,0};
C.intb[][4]={{1,2},{3,4,5},{6}};
D.intb[3][2]={(1,2),(3,4),(5,6)};
18.語句:“printf("%d",(a=)&&(b=-2));”的輸出結果是()。
A.無輸出B.結果是不確定C.-1D.1
19.依次讀入數(shù)據元素序列{a,b,c,d,e,f,g}進棧,元素進?;虺鰲m樞蚴俏粗?,下列序列中,不可能成為??諘r彈出的元素構成序列的有()
A.{d,e,c,f,b,g,a}
B.{f,e,g,d,a,c,b}
C.{e,f,d,g,c,b,a}
D.{c,d,b,e,f,a,g}
20.以下程序的輸出結果是______。
A.54321
B.12345
C.12345
D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}
二、2.填空題(20題)21.以下程序的運行結果是()。
main()
(inta=2,b=7,c=5;
switch(a>0)
{case1:switch(b<0)
{case1:switch(");break;
case2:printf("!");break;
}
case0:switch(c==5)
{case0:printf("*");break;
case1:printf("#");break;
case2:printf("$");break;
}
default:printf("&");
}
printf("\n");
}
22.在進行軟件結構設計時,應遵循的最主要原理是【】。
23.以下程序的輸出結果是【】。
#include<stdio.h>
main()
{inta=0;
a+=(a=8);
printf("%d\n",a);
}
24.以下程序運行后的輸出結果是()。#definePower2(x)x*xmain(){inti=6,j=8;printf("%d\n",Power2(i+j));}
25.在軟件維護時,對測試階段未發(fā)現(xiàn)的錯誤進行測試、診斷、定位、糾錯直至回歸測試的過程稱為【】。
26.請在以下程序第一行的下劃線處填寫適當內容,使程序能正確運行。
______(double,double);
main()
{doublex,y;
scanf("%lf%lf",&x.&y);
printf("%lf\n…,max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a=B);}
27.對于長度為n的順序存儲的線性表,當隨機插入和刪除一個元素時,需平均移動元素的個數(shù)為【】。
28.設在主函數(shù)中有以下定義和函數(shù)調用語句,且fun函數(shù)為void類型;請寫出fun函數(shù)的首部【】。要求形參名為b。
main()
{double[10][22];
intn;
......
fun(s);
}
29.下列程序的輸出結果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
30.在scanf()函數(shù)調用語句中,可以在格式字符和%號之間加上一個星號,它的作用是跳過對應的輸入數(shù)據;當輸入以下數(shù)據時,100200300400500<回車>,下面語句的執(zhí)行結果為【】。
main()
{inta,b,C;
scanf("%d%*d%d%d",&a,&b,&c);
printf("%d%d%d",a,b,c);}
31.下列程序的輸出結果是【】。
main()
{charb[]="Helloyou";
b[5]=0;
printf("%s\n",b);
}
32.下列程序的輸出結果是______。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
33.通常將軟件產品從提出、實現(xiàn)、使用維護到不再使用的過程稱為【】。
34.為了便于對照檢查,測試用例應由輸入數(shù)據和預期的【】兩部分組成。
35.以下程序的輸出結果是【】。
#include<stdio.h>
main()
{intn=12345,d;
while(n!=0){d=n%10;printf("%d",D);n/=10;}
}
36.請在以下程序第一行的下劃線處填寫適當內容,使程序能正常運行。
#include<stdio.h>
【】(double,double);
main()
{doublex,y;
scanf("%If%If",&x,&y);
printf("%If\n",max(x,y));
}
doublemax(doublea,doubleb)
{return(a>b?a:b);}
37.用以下程序把從鍵盤輸入的字符存放到一個文件中,用字符#作為結束符,請按題意要求填空完善程序。
#include<stdio.h>
main()
{FILE*fp;
charch,fname[10];
printf("Inputthenameoffile\n");
gets(fname);
if(fp=fopen(【】))==NULL)
{printf("can'topen\n");
【】;
}
while((ch=getchar())!='#')
fputc(【】);
fclose(fp);
}
38.有以下語句段:
intn1=10,n2=20;
printf("【】",n1,n2);
要求按以下格式輸出n1和n2的值:
n1=10
n2=20
每個輸出行從第一列開始,請?zhí)羁铡?/p>
39.一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【】。
40.下列語句的輸出結果是【】。
chara=3;printf("%d,%o,%x,%u\n",a,a,a,a);
三、1.選擇題(20題)41.按照“后進先出”原則組織數(shù)據的數(shù)據結構是()。
A.隊列B.棧C.雙向鏈表D.二叉樹
42.若要求定義具有10個int型元素的一維數(shù)組a,則以下定義語句中錯誤的是A.#defineN10inta[N];B.#definen5inta[2*n];C.inta[5+5];
D.intn=10,a[n];
43.檢查軟件產品是否符合需求定義的過程稱為()。
A.確認測試B.集成測試C.驗證測試D.驗收測試
44.結構化程序設計方法在軟件開發(fā)中用于______。
A.需求分析B.詳細設計C.可行性分析D.程序設計
45.以下程序中調用scanf函數(shù)給變量a輸入數(shù)值的方法是錯誤的,其錯誤原因是main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}
A.*p表示的是指針變量p的地址
B.*p表示的是變量a的值,而不是變量a的地址
C.*p表示的是指針變量p的值
D.*p只能用來說明p是一個指針變量
46.下面程序的輸出結果是()。voidprty(int*x){printf("%din",++*x);}main(){inta=25;prty(&a);}
A.23B.24C.25D.26
47.信息隱蔽的概念與下述______概念直接相關。
A.軟件結構定義B.模塊獨立性C.模塊類型劃分D.模擬耦合度
48.指出下面不正確的賦值語句
A.a++;B.a==b;C.a+=b;D.a=1,b=1;
49.設計程序時,應采納的原則之一是()。
A.程序的結構應有助于讀者的理解B.限制goto語句的使用C.減少或取消注釋行D.程序越短越好
50.下列關于隊列的敘述中正確的是______。A.在隊列中只能插入數(shù)據B.在隊列中只能刪除數(shù)據C.隊列是先進先出的線性表D.隊列是先進后出的線性表
51.關于語句“for(表達式1;表達式2;表達式3)”,下面說法中錯誤的是()
A.for語句中的三個表達式可以同時省略
B.for語句可以用于循環(huán)次數(shù)不確定的情況
C.for語句中表達式2只能是關系表達式或邏輯表達式
D.for語句中表達式1和表達式3可以是逗號表達式
52.已知在ASCⅡ代碼中,字母A的序號為65,以下程序的輸出結果是______。#include<stdio.h>main(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}
A.65,90B.因輸出格式不合法,輸出錯誤信息C.A,YD.65,89
53.以下程序的功能是:給r輸入數(shù)據后計算半徑為r的圓面積s。程序在編譯時出錯。main()/*Beginning*/{intr;floats;scanf("%d",&);s=*π*r*r;printf("s=%f\n",s);}出錯的原因是
A.注釋語句書寫位置錯誤
B.存放圓半徑的變量r不應該定義為整型
C.輸出語句中格式描述符非法
D.計算圓面積的賦值語句中使用了非法變量
54.有以下程序#defineN20fun(inta[],intn,intm){inti,j;for(i=m;i>=n;i--)a[i+1]=a[i];}main(){inti,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i<5;i++)printf("%d",a[i]);}程序運行后的輸出結果是——。
A.10234B.12344C.12334D.12234
55.下列關于線性表的敘述中,不正確的是()
A.線性表可以是空表
B.線性表是一種線性結構
C.線性表的所有結點有且僅有一個前件和后件
D.線性表是由n個元素組成的一個有限序列
56.以下程序的輸出結果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19B.17C.15D.12
57.以下敘述中錯誤的是()。
A.可以通過typedef增加新的類型
B.可以用tyPedef將已存在的類型用新的名字來表示
C.用typedef定義新的類型名后,原有類型名仍有效
D.用tyPedcf可以為各種類型起別名,但不能為變量起別名
58.已知函數(shù)的調用形式為fread(buf,size,count,fp),參數(shù)buf的含義是
A.一個整型變量,代表要讀入的數(shù)據項總數(shù)
B.一個文件指針,指向要讀的文件
C.一個指針;指向要讀入數(shù)據的存放地址
D.一個存儲區(qū),存放要讀的數(shù)據項
59.下列程序的輸出結果是()。#include<stdio.h>intfun(intx){inta;if(x==0‖x==1)return3;elsea=x-fun(x-2);returna;}voidmain(){printf("%d",fun(7));}
A.2B.8C.9D.5
60.若有定義和語句:int**pp,*p,a=20,b=10;pp=&p;p=&a;p=&b;printf(%d,%d\n",*p,**pp);則輸出結果是()。
A.20,10B.20,20C.10,20D.10,10
四、選擇題(20題)61.有以下程序
62.為用戶與數(shù)據庫系統(tǒng)提供接口的語言是
A.高級語言B.數(shù)據描述語言(DDL)C.數(shù)據操縱語言(DML)D.匯編語言
63.(68)下列有關數(shù)據庫的描述,正確的是______。
A.數(shù)據庫是一個DBF文件
B.數(shù)據庫是一個關系
C.數(shù)據庫是一組文件
D.數(shù)據庫是一個結構化的數(shù)據集合
64.
65.若有“doublea;”,則正確的輸入語句是()。A.A.scanf("%1f",a);
B.scanf("%f",&a);
C.scanf("%1f",&a);
D.scanf("1e",&a);
66.
67.以下程序運行后,輸出結果是()。
#include<stdio.h>
#definePT5.5
#defineS(x)PT*x*X
main
{inta=1,b=2:
printf("%4.1f\n",s(a+b));
}
A.49.5B.9.5C.22.0D.45.0
68.
69.有以下程序:
voidmain()
{inta=15,b=21,m=0;
switch(a%3)
{case0:m++;break;
case1:m++;
switch(b%2)
{defaule:m++;
case0:m++;break;
}
}
printf("%d\n",m);
}
程序運行后的輸出結果是()。
A.1B.2C.3D.4
70.在數(shù)據管理技術的發(fā)展過程中,經歷了人工管理階段、文件系統(tǒng)階段和數(shù)據庫系統(tǒng)階段。其中數(shù)據獨立性最高的階段是()。A.A.數(shù)據庫系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據項管理
71.以下敘述中正確的是()。
A.a是實型變量,C允許進行賦值a=10,但不可以這樣說:實型變量中允許存放整型值
B.在賦值表達式中,賦值號左邊既可以是變量也可以是任意表達式
C.執(zhí)行表達式a=b后,在內存中a和b存儲單元中的原有值都將被改變,a的值已由原值改變?yōu)閎的值,b的值由原值變?yōu)?
D.已有a=3,b=5,當執(zhí)行了表達式a=b,b=a之后,使a中的值為5,b中的值為3
72.有以下程序:
I程序運行后的輸出結果是()。
A.0B.3C.7D.8
73.
74.下列描述中,不符合結構化程序設計風格的是
A.使用順序、選擇和重復(循環(huán))三種基本控制結構表示程序的控制邏輯
B.注重提高程序的執(zhí)行效率
C.自頂向下
D.限制使用goto語句
75.
76.若有定義語句:
則strlen(s)的值是()。
A.7B.8C.9D.10
77.
78.
有以下程序:
fun(intx,inty){return(x+y);)
main
{inta=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
執(zhí)行后的結果是()。
A.6B.7C.8D.9
79.下列有關數(shù)據庫的描述,正確的是A.數(shù)據處理是將信息轉化為數(shù)據的過程
B.數(shù)據的物理獨立性是指當數(shù)據的邏輯結構改變時,數(shù)據的存儲結構不變
C.關系中的每一列稱為元組,一個元組就是一個字段
D.如果一個關系中的屬性或屬性組并非該關系的關鍵字,但它是另一個關系的關鍵字,則稱其為本關系的外關鍵字
80.有以下程序:
程序運行后的輸出結果是()。
A.8B.2C.4D.1
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:根據輸入的3個邊長(整型值),判斷能否構成三角形:若能構成等邊三角形,則返回3;若是等腰三角形,則返回2;若能構成三角形則返回1;若不能,則返回0。例如,輸入3個邊長為3,4,5,實際輸入時,數(shù)與數(shù)之間以Enter鍵分隔而不是逗號。請修改程序中的錯誤,使它能得出正確的結果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:#include<stdio.h>#include<math.h>intproc(inta,intb,intc){if(a+b>c&&b+c>aa+c>b){if(a==b&&b==c)//****found****return1;elseif(a==b||b==c||a==c)return2;//****found****elsereturn3;}elsereturn0;}voidmain{inta,b,C,shape;printf("\nlnputa,b,C:");scanf("%d%d%d",&a,&b,&c);printf("\na=%d,b=%d,c=%d\n",a,b,c);shape=proc(a,b,c);printf("\n\nTheshape:%d\n",shape);}
六、程序設計題(1題)82.規(guī)定輸入的字符串中只包含字母和+號。編寫函數(shù)fun,其功能是:除了字符串前導和尾部的母號外,將其他的*號全部刪除。形參h已指向字符串中第一個字母,形參P指向字符串中最后一個字母。在編寫函數(shù)時,不得使用c語言提供的字符串函數(shù)。
參考答案
1.D
2.B鏈表采用的是鏈式存儲結構,它的結點空間可以動態(tài)申請和釋放;它的數(shù)據元素的邏輯次序靠結點的指針來指示,插入、刪除不需要移動數(shù)據元素。但是鏈式存儲結構也有不足之處:每個結點中的指針域需額外占用存儲空間,它是一種非隨機存儲結構。
3.C
4.D
5.AA)【解析】關系的并運算是指由結構相同的兩個關系合并,形成一個新的關系,新關系中包含兩個關系中的所有元組。
6.AC語言中的非執(zhí)行語句不會被編譯,不會被轉換成二進制的機器指令,所以A選項錯誤。由C語言構成的指令序列稱為C語言源程序,C語言源程序經過C語言編譯程序編譯之后,生成一個擴展名為.obj的二進制文件(稱為目標文件);最后要由“連接程序”把此目標文件與C語言提供的各種庫函數(shù)連接起來生成一個擴展名為.exe的可執(zhí)行文件。故本題答案為A選項。
7.D解析:在用基本輸出函數(shù)printf時,格式說明與輸出項的個數(shù)應該相同。如果格式說明的個數(shù)少于輸出項的個數(shù),多余的輸出項不予輸出;如果格式說明個數(shù)多于輸出項個數(shù),則對于多余的格式項輸出不定值或0。
8.C解析:在數(shù)據庫系統(tǒng)中,由于采用的數(shù)據模型不同,相應的數(shù)據庫管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據模型有三種:層次模型、網狀模型和關系模型。在層次模型中,實體之間的聯(lián)系是用樹結構來表示的,其中實體集(記錄型)是樹中的結點,而樹中各結點之間的連線表示它們之間的關系。因此,本題的正確答案是C。
9.N
10.A答案A
解析:一個C程序可以有一個或多個程序文件,也可以有一個或多個函數(shù),所以一個C語言程序可以實現(xiàn)多種算法。
11.D
12.C數(shù)據字典(DD)是指對數(shù)據的數(shù)據項、數(shù)據結構、數(shù)據流、數(shù)據存儲、處理邏輯、外部實體等進行定義和描述,其目的是對數(shù)據流程圖中的各個元素做出詳細的說明。
13.D
14.D
15.C
16.C解析:本題中第一行代碼對指針P進行了初始化,其指向數(shù)組a的第6個元素,在其后的操作中p的值也沒有改變過,所以最后輸出*p=*\u3000\u3000(p+0)\u3000\u3000=a\u3000[5]\u3000=6,而第二行代碼中對q指向的值進行賦值,等價于*q=a[10]=11,所以輸出結果*q為11。
17.D解析:在對二維數(shù)組元素賦初值時,可以只對部分元素賦初值,未賦初值的元素自動取0;C語言規(guī)定,對于二維數(shù)組,只可以省略第1個方括號中的常量表達式,而不能省略第2個方括號中的常量表達式;賦的初值不能多于事先定義好的數(shù)組元素個數(shù)。
在選項D)賦值表達式中,對每一維的元素賦初值應用{},而不是()。
18.D因為在邏輯表達式中,兩邊的賦值表達式都成立,即值為1,故選擇D選項。
19.B
20.B
21.#&#&解析:剛開始時,switch后面的表達式a>0為真(1),與case1匹配,然后執(zhí)行case1后面的switch語句,表達式b<0值為0,沒有與其匹配的語句,返回外層,因為外層沒有break語句,順序執(zhí)行case0后面的switch語句,表達式“c==5”值為1,與其后面的case1匹配,因此輸出#,遇到break返回外層,又因為外層沒有break語句,順序執(zhí)行default后的語句,輸出&。
22.模塊獨立原理模塊獨立原理
23.1616解析:本題中a+=8相當于a=a+8。對表達式逐步進行求解:在a+=(a=8)中,首先a被賦值為8,語句等價于a+=8;即a=a+8;結果為a=16。
24.6262解析:本題考查的是宏定義。帶參數(shù)的宏定義是按#indefine命令行中指定的字符串從左到右進行轉換。本題中替換的式子為:6+8*6+8,代入i,j的值得到62。
25.校正性維護校正性維護
26.doublemax或externdoublemaxdoublemax或externdoublemax解析:函數(shù)聲明是對所用到的函數(shù)的特征進行必要的聲明,編譯系統(tǒng)以函數(shù)聲明中給出的信息為依據,對調用表達式進行檢測,以保證調用表達式與函數(shù)之間的參數(shù)正確傳遞.函數(shù)聲明的一般格式為:類型標識符函數(shù)名(類型標識符形參,…);這些信息就是函數(shù)定義中的第一行的內容。本題中main()函數(shù)需要調用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extern說明符使變量的作用域擴充到需要用到它的函數(shù),所以,填寫doublemax(或externdoublemax)。
27.n/2n/2解析:刪除一個元素,平均移動的元素個數(shù)為(n-1+n-2+…+0)/n=(n-1)/2;插入一個元素,平均移動元素個數(shù)為(n+n-1+n-2+…+1)/n=(n+1)/2;所以總體平均移動元素個數(shù)為n/2。
28.voidfun(doubleb[10][22])voidfun(doubleb[10][22])解析:本題答案:voidfun(doubleb[10][22])。
29.5656解析:本題中a,b,c,d足實參,x,y,cp,dp是形參。C語言規(guī)定,實參變量對形參變量的數(shù)據傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內存中,實參單元與形參單元是不同的單元。在調用函數(shù)時,給形參分配存儲單元,并將實參對應的值傳遞給形參,調用結束后,形參單元被釋放,實參單元仍保留并維持原值。因此,程序的輸出結果是56。
30.100300400100300400解析:scanf的格式控制字符串中,“*”表示跳過對應的輸入數(shù)據,所以第二個輸入數(shù)200被跳過去了,只有100,300,400三個數(shù)被從鍵盤輸入了進來。
31.HelloHello解析:執(zhí)行b[5]=0;是給數(shù)組的第6個元素賦值為0,即將Hello后的空格變?yōu)?。當輸出字符串時遇到0終止輸出。
32.3232解析:while(表達式)的功能是:首先計算表達式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計算表達式的值,若仍為真,則重復執(zhí)行循環(huán)體語句,直到表達式的值為假時,結束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句:i=0時滿足循環(huán)條件,也滿足if的條件,執(zhí)行語句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結束。
33.軟件生命周期軟件生命周期解析:軟件產品從考慮其概念開始,到該軟件產品不再使用為止的整個時期都屬于軟件生命周期,一般包括可行性研究與需求分析、設計、實現(xiàn)、測試、交付使用以及維護等。
34.輸出結果輸出結果解析:注意:測試的基本方法和步驟。
35.5432154321解析:在while循環(huán)中,d=n%10;語句每次求得的結果是n個位上的數(shù)值,例如12345÷10所得的余數(shù)就是個位上的5。接下來輸出得到的個位數(shù)字d,然后執(zhí)行n/=10;語句,該語句等價于n=n/10;。在C語言中,如果/運算的兩個運算分量都是整數(shù),那所得的結果也截尾取整,所以12345/10=1234,即n-=n/10;語句的作用是讓n截去個位上的數(shù)字。由此可知,隨著while循環(huán)的繼續(xù),n依次為12345、1234、123、12、1,而每次輸出n的個位數(shù)字將為5、4、3、2、1。故本題應填543210。
36.doublemax或externdoublemaxdoublemax或externdoublemax解析:main函數(shù)中調用了一個max函數(shù),而max函數(shù)是在調用之后定義的,所以要求填空的內容應該是對函數(shù)進行聲明的語句。由max函數(shù)的定義可知此函數(shù)是double型的,因此空格處應該填doublemax或externdoublemax。
37.fname"#"exit(0)chfp
38.n1=%d\nn2=%dn1=%d\\nn2=%d解析:根據輸出結果,可以確定“格式控制”為n1=%d\\nn2=%d,其中,“n1=”和“n2=”是按原樣輸出的字符,“%d”是按十進制整數(shù)輸出,“\\n”是轉義字符,用于輸出回車換行。
39.可重用性繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據結構,從而大大減少了程序中的冗余,提高軟件的可重用性。
40.31371f3131,37,1f,31解析:此題考查了printf函數(shù)的格式字符,題中d是以十進制形式輸出,o是以八進制形式輸出,x是以十六進制形式輸出,u以不帶符號的十進制數(shù)輸出。
41.B解析:“后進先出”表示最后被插入的元素最先能被刪除。選項A中,隊列是指允許在—端進行插入、而在另一端進行刪除的線性表,在隊列這種數(shù)據結構中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除,隊列又稱為“先進先出”的線性表,它體現(xiàn)了“先來先服務”的原則:選項B中,棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素,棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。隊列和棧都屆于線性表,它們具有順序存儲的特點,所以才有“先進先出”和“后進先出”的數(shù)據組織方式。雙向鏈表使用鏈式存儲方式,二叉樹也通常采用鏈式存儲方式,它們的存儲數(shù)據的空間可以是不連續(xù)的,各個數(shù)據結點的存儲順序與數(shù)據元素之間的邏輯關系可以不一致。所以選項C和選項D錯誤。本題的正確答案為選項B。
42.D答案D
解析:在選項D中,n是一個整型的變量。C語言規(guī)定,在一維數(shù)組的定義中,其下標只能是常量表達式,不能包含變量。
43.A本題主要考查軟件測試的基本知識。軟件測試的步驟可分為單元測試(模塊測試)、集成測試、確認測試和系統(tǒng)測試。
(1)單元測試是針對每個模塊進行的測試,它可從程序的內部結構出發(fā)設計測試用例,多個模塊可以平行、對立地測試。單元測試主要用于發(fā)現(xiàn)詳細設計和編程時犯下的錯誤。單元測試多采用白盒測試,輔之以黑盒測試。
(2)集成測試是在單元測試的基礎上,根據模塊結構圖將各個模塊連接起來,必須精心計劃,應提交集成測試計劃、集成測試規(guī)格說明和集成測試分析報告。主要目標是發(fā)現(xiàn)與接口有關的問題。集成測試可以發(fā)現(xiàn)概要設計時犯的錯誤。
(3)確認測試用于驗證軟件的功能和性能及其他特性是否與用戶的要求一致。確認測試主要用于發(fā)現(xiàn)需求分析時犯下的錯誤,一般使用黑盒法測試,以表明軟件符合需求說明書的要求,應該仔細設計測試用例和測試過程。確認測試必須有用戶參加,或以用戶為主,用戶應參與設計測試用例,通常情況下,主要使用生產中的實際數(shù)據進行測試,測試數(shù)據通過用戶接口輸入。
(4)系統(tǒng)測試是將已經通過確認測試的軟件,作為整個計算機系統(tǒng)的元素與計算機硬件、外設和網絡等其他因素結合在一起,進行一系列的組裝測試和確認測試。系統(tǒng)測試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測試可以發(fā)現(xiàn)問題定義時犯下的錯誤。
44.B
45.B在本題中,題目告訴我們程序中調用scanf函數(shù)給變量a輸入數(shù)值的方法是錯誤的,要求我們找出其錯誤的原因,這是一類錯誤原因分析題。
在本題程序中,首先定義兩個整型指針變量p和q,然后定義兩個整型變量a和b,讓指針變量p執(zhí)行變量a,接著輸出提示語句“請輸入a”,執(zhí)行格式輸入語句scanf,由于輸入語句的輸入列表中給出的應該是輸入的地址,即存放輸入數(shù)據的存儲地址,但在本題的輸入語句中給出的是*p,這表示一個數(shù)值,而非地址。因此,無法完成數(shù)據的輸入,若要完成輸入,可以將*p改為p。
根據上面的分析,我們可以知道本題程序出錯的原因是*p表示的是變量a的值,而不是變量a的地址。因此本題正確答案選B。
46.D解析:執(zhí)行prty(&a);將變量a的地址傳遞給形參。x是指針型變量,值為變量a的地址,*x就是取存儲單元的值即25,輸出*x加1后的值26。
47.B解析:信息隱蔽是指在一個模塊內包含的信息(過程或數(shù)據),對于不需要這些信息的其他模塊來說是不合晰問的。模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。衡量軟件的模塊獨立性的度量標準是耦合性和內聚性。一個模塊的內聚性越強,則該模塊的模塊獨立性越強。而內聚性是信息隱蔽和局部化概念的自然擴長。
48.B解析:本題考核的知識點是賦值語句的正確使用。C語言中賦值語句是由賦值表達式加“;”構成的.賦值表達式的形式為:變量:表達式;。選項A中a++相當于a+1,是賦值語句;選項C和選項D也是賦值語句.只有選項B不是,因為選項B中“==”符號是等于的意思,并不是賦值運算符,所以,4個選項中B符合題意。
49.AA。【解析】程序設計的風格主要強調程序的簡單、清晰和可理解性,以便讀者理解。程序濫用goto語句將使程序流程無規(guī)律,可讀性差;添加注釋行有利于對程序的理解.不應減少或取消,程序的長短要依據實際的需要而定,并不是越短越好。
50.C隊列是指允許在一端進行插入、而在另一端進行刪除的線性表,選項A和選項B錯誤。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。在隊列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。所以,隊列又稱為“先進先出”或“后進后出”的線性表,它體現(xiàn)了“先來先服務”的原則,選項C正確,選項D錯誤。
51.C
52.D解析:在C語言中,將一字符常量賦值給一個變量,是把此字符常量所對應的ASCII碼值賦值給此字符變量,所以一個字符既可作為字符形式輸出,也可以整數(shù)形式輸出。
53.D解析:計算圓面積的賦值語句中使用了非法變量π。所以,答案為選項D)。注意:注釋語句可以出現(xiàn)在程序中的任意位置,故選項A)中的描述錯誤;圓的半徑可以是整型,也可以是實型,定義成哪種類型都不算錯,故選項B)中的描述錯誤;顯而易見,選項D)中的描述也錯誤。
54.C解析:由于用了宏定義a[10]~a[19]均為0。函數(shù)fun的功能是把從a[n]到a[m]中的元素依次賦給后面的一個元素。調用了fun(a,2,9)以后,a[N]={1,2,3,3,4,5,6,7,8,9,10}。
55.CC)【解析】線性表是一種線性結構,由n(n≥O)個元素組成,所以線性表可以是空表。但是性表中,第一個結點沒有前件,最后一個結點沒有后件,其他結點有且只有一個前件和后件,所以選項C)是錯誤的。
56.D解析:C語言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:
#define宏名(形參表)字符串
本題的M(a+b,b+c,c+a)被字符串a+b*b+c+c+a代替。
57.A解析:選項A)錯誤,原因是typedef可以聲明新的類型名來代替已有的類型名,但卻不能增加新的類型。
58.C解析:這是一道考查fread函數(shù)的題。buf是一個指針,fread是讀入數(shù)據的存放地址;fwrite是輸出數(shù)據的地址(以上指的是起始地址)。
59.A解析:本題考查函數(shù)的遞歸調用。
在函數(shù)遞歸調用時,fun(7):a=7-fun(5)→fun(5):a=5-fun(3)→fun3:a=3-fun(1)→fun(1):a=3,反推回去fun(3):a=3-3=0→fun(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建海峽環(huán)保集團股份有限公司市場化選聘所屬企業(yè)職業(yè)經理人1人備考題庫及完整答案詳解
- 2026河南洛陽古都麗景控股集團有限公司招聘9人備考題庫及1套參考答案詳解
- 2026甘肅嘉峪關市和誠路小學招聘公益性崗位人員1人備考題庫及答案詳解(考點梳理)
- 2026海南??谑旋埲A區(qū)勞動就業(yè)和社會保障管理中心招聘公益性崗位工作人員4人備考題庫及答案詳解(奪冠系列)
- 企業(yè)內部溝通制度與流程規(guī)范
- 2026河南鄭州航空港區(qū)會議中心運營人員招聘12人備考題庫及參考答案詳解1套
- 2026重慶南開三十二中學校招聘2人備考題庫及完整答案詳解1套
- 保潔服務管理制度
- 2024年灤南縣招教考試備考題庫附答案解析(必刷)
- 2025年8月高級涂裝工模擬試題及答案(附解析)
- 2026云南昭通市搬遷安置局招聘公益性崗位人員3人備考題庫及答案詳解(考點梳理)
- 標書財務制度
- 四川發(fā)展控股有限責任公司會計崗筆試題
- 2026中國電信四川公用信息產業(yè)有限責任公司社會成熟人才招聘備考題庫及一套答案詳解
- 2025-2030心理健康行業(yè)市場發(fā)展分析及趨勢前景與投資戰(zhàn)略研究報告
- 技術副總年終總結
- 《馬年馬上有錢》少兒美術教育繪畫課件創(chuàng)意教程教案
- 天津市專升本高等數(shù)學歷年真題(2016-2025)
- 2025山西焦煤集團所屬華晉焦煤井下操作技能崗退役軍人招聘50人筆試參考題庫帶答案解析
- 兒童骨科主任論兒童骨科
- 2026年齊齊哈爾高等師范??茖W校單招(計算機)測試模擬題庫必考題
評論
0/150
提交評論