




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件開發考試試卷(機密)考試聲明本人已經認真閱讀考試注意事項,承諾遵守考試紀律,自己不作弊、不協助他人作弊;考試后不向其他人泄漏考題內容,維護考試的機密性。特此聲明。考生簽名:年月日答題紙考生信息姓名性別學歷考試專業單位身份證號碼一、單選題123456789101112131415161718192021222324252627282930二、多選題12345678910三、改錯題.5.四.編程題注:選擇題請將答案填寫在答題紙上,填寫在其它位置無效軟件開發考核試卷考試說明:1、本次考試類型為筆試,請考生用藍色圓珠筆或鋼筆答題,不得用鉛筆,用鉛筆者本試卷作廢;2、本次考試時間為60
2、分鐘,共計100分;3、試卷表面必須保持清潔,不得在試卷上作記號,一經發現取消該考生卷面成績;4、請將答案寫在答題紙上,填寫在其他位置無效。一.單項選擇題(每題2分,共計60分)1 .軟件工程研究的內容包括:()技術和軟件工程管理:DA.軟件測試B.數據分析C.動態測試D.軟件開發2 .在C語言中(以16位PC機為例),一個float型數據在內存中所占的字節數為4;一個double型數據在內存中所占的字節數為:CA.32B.6C.8D.163 .下列描述正確的是:AA. C語言程序中各函數之間既允許直接遞歸調用也允許間接遞歸調用B. C語言程序中不允許直接遞歸調用也不允許間接遞歸調用C. C語
3、言程序中允許直接遞歸調用不允許間接遞歸調用D. C語言程序中不允許直接遞歸調用允許間接遞歸調用4 .下面關于完全二叉樹的敘述中,錯誤的是:BA.除了最后一層外,每一層上的結點數均達到最大值B.可能缺少若干個左右葉子結點C.完全二叉樹一般不是滿二叉樹D.具有結點的完全二叉樹的深度為log2n+15 .在軟件生命周期中,能準確完成程序的編碼的階段是:CA.概要設計B.詳細設計C.軟件實現D.需求分析6 .下面程序的輸出結果是:B#include<stdio.h>sub(x,y,z)intx,y,*z;*z=y-x;main()inta,b,c;sub(10,5,&a);sub(
4、7,a,&b);sub(a,b,&c);printf("%d,%d,%dn",a,b,c);A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,2,-77 .程序流程圖(PFD中的箭頭代表的是:BA.數據流B.控制流C.調用關系D.組成關系8 .下面程序的輸出是:Cmain()enumemem1=3,em2=1,em3;char*aa="AA","BB","CC","DD"printf("%s%s%sn",aaem1,aaem2,aaem3);
5、A.DCBBCDB.BBDDCCC.DDBBCCD.DBDBCC9 .符合C語言語法的賦值語句的是:DA.a=7+b+c=a+7B.a=a+7C.a=7+b,b+,a+7;D.a=7+b,c=a+7;10 .若運行時給變量x輸入12,則以下程序的運行結果是:Bmain()intx,y;scanf("d,&x);y=x>12?x+10:x-12;printf("dn”,y);A.2B.0C.8D.1011 .在C語言中,要求運算數必須是整型的運算符是:AA.%B./C.<D.!12 .以下程序語句中y=-1;if(x!=0)if(x>0)y=1;el
6、sey=0;所表示的數學函數關系是:C-1(x<0)1(x<0)A. y=0(x=0)B. y=-1(x=0)1(x>0)0(x>0)0(x<0)-1(x<0)C. y=-1(x=0)D. y=1(x=0)1(x>0)0(x>0)13 .若有以下函數定義:Cmyfun(doublea,intn),則myfun函數值的類型是A. voidB. doubleC. intD. char14 .軟件需求分析應確定用戶對軟件的:DA.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求15 .C語言中main函數參數的非法表示形式是:DA.main(
7、char*argv口,intargc)B.main(inta,char*b)C.main(inty,char*x口)D.main(intargv,char*argc口)16 .以下的for循環:Cfor(x=0,y=0;(y!=123)&&(x<4);x+)A.是無限循環B.循環次數不定C.執行4次D.執行3次17 .C語言規定,函數返回值的類型由:AA.在定義時所指定的函數類型所決定B.調用該函數時的主調函數類型所決定C.return語句中的表達式類型所決定D.調用該函數時系統臨時決定18 .下面描述中,不符合結構化程序設計風格的是:CA.使用順序、選擇和重復(循環)三
8、種基本控制結構表示程序的控制邏輯B.自頂向下C.注重提高程序的執行效率D.限制使用goto語句19 .以下程序中main()intx=3,y=0,z=0;if(x=y+z)printf("*");elseprintf("#");)DA.有語法錯誤不能通過編譯B.輸出*C.可以通過編譯,但是不能通過連接,因而不能運行D.輸出#20 .執行下面程序片段的結果是:Bintx=123;doprintf("=n",x-);while(!x);A.打印出321B.打印出123C.不打印任何內容D.陷入死循環21 .下述對C語言字符數組的描述中錯誤
9、的是:CA.字符數組可以存放字符串B.字符數組中的字符串可以整體輸入、輸出C.可以在賦值語句中通過賦值運算符“=”對字符數組整體賦值D.不可以用關系運算符對字符數組中的字符串進行比較22 .已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是:DA.acbedB.decabC.deabcD.cedba23 .C語言提供的合法的數據類型關鍵字是:BA.DoubleB.floatC.integerD.Char24 .以下程序的輸出結果正確的是:B#include<stdio.h>sub(int*s,inty)staticintt=3;y=st;t-;main
10、()inta=1,2,3,4,i,x=0;for(i=0;i<4;i+)sub(a,x);printf("%d",x);printf("n");A.1234B.0000C.4321D.444425 .C程序中的語句:char*func(intx,inty);它是:CA.對函數func的定義B.對函數func的調用C.對函數func的原型說明D.不合法的26 .下列程序的運行結果是:Amain()unionEXAMPLEstructintx;inty;in;inta;intb;e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e
11、.a+e.b;printf("%d,%dn",e.in.x,e.in.y);A.4,8B.2,6C.8,16D.12,1627 .下列選項中可用于C語言用戶標識符的是:BA.voiddefinewordB.a3_b3_123CarC.For-abcIFCaseD.2aDOsizeof28 .對下述程序,描述正確的是:Amain()inta,b;scanf("%d,%d",&a,&b);if(a>b)a=b;b=a;elsea+;b+;printf("%d,%d",a,b);A.有語法錯誤不能通過編譯B.若輸入4,
12、5則輸出5,6C.若輸入5,4則輸出4,5D.若輸入5,4則輸出5,529 .下面程序的輸出是:Bmain()intarr10,i,k=0;for(i=0;i<10;i+)arri=i;for(i=1;i<4;i+)k+=arri+i;printf("%dn",k);A.8B.6C.4D.1230 .若有以下定義,則不移動指針p,且通過指針p引用值為98的數組元素的表達式是:BDintw10=23,54,10,33,47,98,72,80,61,*p=w;A.(p+5)*B.*(p+5)C.p%5D.p5%二.多項選擇題(每題2分,共計20分)1 .下列有關函數
13、的說法中正確的是:ABCA. C語言中的函數只具有static和extern兩種類型B. C語言中允許函數的遞歸調用C.調用函數時,C語言要求實參與形參的個數,類型完全一致D.C語言函數的缺省數據類型是空類型(void型)2.下面的變量說明中()是錯誤的:ABDA.char:a,b,c;B.chara;b;c;C.chara,b,c;D.chara,b,c3.假如有以下調用語句,則正確的fun函數的首部是:ABCmain(),inta50,n;fun(n,&a9);,A.voidfun(intm,intx口)B.voidfun(ints,inth41)C.voidfun(intp,in
14、t*s)D.voidfun(intn,inta)4 .下列常量中哪些是合法的:BCDA. 2e32.6B. 0.2e-5C. "basic”D. 0x4b005 .關于if后一對圓括號中的表達式,以下敘述中錯誤的是:ABCA.只能用邏輯表達式B.只能用關系表達式C.既可用邏輯表達式也可用關系表達式D.可用任意表達式6 .下列敘述中錯誤的是:BCDA.線性表是線性結構B.棧與隊列是非線性結構C.線性鏈表是非線性結構D.二叉樹是線性結構7 .若有以下程序#includevoidf(intn);main()voidf(intn);f(5);voidf(intn)printf("%
15、dn",n);則以下敘述中正確的是:ABDA.若只在主函數中對函數f進行說明,則只能在主函數中正確調用函數fB.若在主函數前對函數f進行說明,則在主函數和其后的其他函數中都可以正確調用函數fC.對于以上程序,編譯時系統會提示出錯信息:提示對f函數重復說明D.函數f無返回值,所以可用void將其類型定義為無返回值型8 .根據C語言的語法規則,下列()是合法標識符:BCDA.doB.NameC.R5D._exam9 .下列關于復合語句和空語句的說法正確的是:ABDA.復合語句是由“”開頭,由“”結尾的B.復合語句在語法上視為一條語句C.復合語句內,可以有執行語句,不可以有定義語句部分D.
16、C程序中的所有語句都必須由一個分號作為結束10 .下列說法中錯誤的是:ACDA.全局變量的作用域一定比局部變量的作用域大B.靜態(static)類型變量的生存期貫穿于整個程序的運行期間C.函數的形參都屬于全局變量D.未在定義語句中賦初值的auto變量和static變量的初值都是隨機值3 .改錯題(每題2分,共計10分)將下列程序中不正確的語句改正。1. main()intk;k=35555;printf("d二k);答案:longintk;printf("ld二k);2. main()intn;floats=1.0;for(n=10;n>1;n-)s=s+1/n;pr
17、intf("6.1fn",s);答案:s=s+1.0/n3. main()intsum,k;sum=0;k=1;while(k<=100)sum=sum+k;k+;printf("sum=%dn,sum);答案:while(k<=100)sum=sum+k;k+;4. main()intk,a(8);for(k=0;k<10;k+)scanf("d,&a(k);)答案:intk,a8;scanf("d,&ak);5. main()inta;scanf("d,a);if(a=1)printf(“Onen
18、");答案:printf("%d,",&a);if(a=1)4 .編程題(共計10分)編寫一個函數intfun(int*s,intt,int*k),用來求出數組的最小元素在數組中的下標并存放在k所指的存儲單元中。如,輸入如下整數:234345753134436458100321135760則輸出結果為6,100。注:部分源程序給出如下。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。試題程序:#include<conio.h>#include<stdio.h>intfun(int*s,in
19、tt,int*k)main()inta10=234,345,753,134,436,458,100,321,135,760,k;clrscr();fun(a,10,&k);printf("%d,%dn",k,ak);答案intfun(int*s,intt,int*k)inti;*k=0;/*k所指的數是數組的下標值*/for(i=0;i<t;i+)if(s*k>si)*k=i;/*找到數組的最小元素,把該元素的下標賦給k所指的數*/returns*k;/*返回數組的最小元素*/模擬題:一.單項選擇題(每題2分,共計60分)1 .根據C語言的語法規則,下列
20、()個是不合法標識符:AA.WhileB. NameC. Rern5D. _exam2 .屬于C語言的數據類型是:CA.復數型B.邏輯型C.雙精度型D.集合型3 .假設變量a,i已正確定義,且i已正確賦值,合法的語句是:BA.a=1B.+i;C.a=a+=5;D.a=int(i);4 .設有以下定義和語句,則*(*(p+2)+1)的值為:Dint32=10,20,30,40,50,60,(*p)2;p=a;A.16B.32C.64D.605 .inta10=1,2,3,4,5,6,7,8,9,10,*p=a;則值為6的表達式是:CA.*p+6B.*(p+6)C.*p+=5D.p+56 .有以下
21、程序#includemain()FILE*fp;inti=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%dn",i);fprintf(fp,"%dn",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%dn",k,n);fclose(fp);)程序運行后的輸出結果是:AA.203
22、0B.2050C.3050D.30207 .以下說法中正確的是:AA.C語言程序總是從main()函數開始執行8 .在C語言程序中,要調用函數必須在main()函數中定義C.C語言程序總是從第一個函數開始執行D.C語言程序中的main()函數必須放在程序的開始部分8.Break語句的正確的用法是:BA.無論在任何情況下,都中斷程序的執行,退出到系統下一層8 .在多重循環中,只能退出最靠近的那一層循環語句C.跳出多重循環D.只能修改控制變量9 .在下列程序中,沒有構成死循環的是:DA.inti=100;while(1)i=i0+1;if(i>100)break;)B.for(;);C.in
23、tk=10000;dok+;while(k>10000);D.ints=36;while(s)-s;10 .設有定義:longx=-123456L;則以下能夠正確輸出變量x值的語句是:BA.printf("x=%dn",x)B.printf("x=%ldn",x)C.printf("x=ln",x)D.printf("x=%Dn",x);11 .C語言中各種基本數據類型的存儲空間長度排列為:CA.char<long<int<float<doubleB.double<float&l
24、t;long<int<charC.char<int<long<float<doubleD.float<int<long<char<double12 .以下選項中,定義s為合法的結構體變量的是:BA. typedefstructabcdoublea;charb10;s;B. structdoublea;charb10;s;C. structABCdoublea;charb10;ABCs;D. typedefABCdoublea;charb10;ABCs;13 .下面程序的運行結果是:A#include“stdio.h"main
25、()inta=8,2,9,4,1,*p;p=a;*(p+2)+=2;printf("d,%d",*p,*(p+2);A.8,11B.9,16C.2,11D.8,1014 .字符串指針變量中存入的是:AA.字符串的首地址。B.字符串C.第一個字符D.字符串變量。15 .C語言中以只讀方式打開一個文件應選擇()參數:AA.B.C.“rb”D.16 .以下能正確表示x在-5到-1或5到1范圍(含5和1)內,值為“真”的表達式是:AA.(x>=-5)|(x<=-1)&&(x<=5)&&(x>=1)B.!(x>=-5|x&
26、lt;=-1&&x<=5|x>=1)C.x<-5&&x>-1|x<1&&x>5D.(x<-5)|(x>-1&&x<1)|(x>5)17 .設有數組定義:chararray="China”;則數組所占的存貯空間為:CA.4個字節B. 5個字節C. 6個字節D. 7個字節18.已知函數的調用形式:fread(buf,size,count,fp),參數buf的含義是:CA.一個整型變量,代表要讀入的數據項總數B.一個文件指針,指向要讀的文件C.一個指針,指向要讀入數據的存放地址D.一個存儲區,存放要讀的數據項19 .為了避免嵌套的條件分支語句if-else的二義性,C語言規定:C程序中的else總是與()組成配對關系:CA.縮排位置相同的ifB.在其之前未配對的ifC.在其之前未配對的最近
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年秋三年級上冊語文同步教案 16 富饒的西沙群島
- 社區中醫館講課件
- 作業生產場地管理制度
- 例會制度慢病管理制度
- 供水公司應急管理制度
- 供水終端服務管理制度
- 供熱公司運營管理制度
- 僑銀環保大區管理制度
- 俄羅斯奢侈品管理制度
- 保利地產營銷管理制度
- 2023年中小學心理健康教育課程標準
- 煤礦各類重大災害預兆
- 《銀行業金融機構安全評估標準》
- 邏輯思維訓練500題(帶答案)
- 政務公開培訓課件模板
- 鹽城市首屆“金聯杯”防范和打擊非法金融活動競賽練習卷含答案(一)
- 新材料與綠色制造的關系研究
- 頂管工作井最小尺寸的確定及頂力計算書
- 烤煙房買賣合同范文
- 兒童鉆石畫課件
- 【MOOC】氣候變化與人類社會-南京信息工程大學 中國大學慕課MOOC答案
評論
0/150
提交評論