新聞詳情
國家開放大學(xué)高起專真題《程序設(shè)計基礎(chǔ)》318
發(fā)表時間:2022-12-29 11:34 程序設(shè)計基礎(chǔ)-試題及答案
1、編寫程序,計算1!+2!+3!+ … … .+n!的值,其中n的值由鍵盤輸入。 答案: #include main(){int i,j,n;double sum=0,fact=1; printf(“Please input n:”);scanf(“%d”,&n);for(i=1;i<=n;i++) { fact=1;for(j=1;j<=k;j++)fact=fact*j;sum=sum+fact;} printf(“num=%.21f”,sum);} 2、分析下列程序運行后的輸出結(jié)果。 #include "iostream.h"void printfun(int n){ if(n>0){ cout< 答案: 4321121 3、定義一個CPoint類,具有橫坐標(biāo)m x,縱坐標(biāo)m y兩個屬性,提供構(gòu)造函 數(shù)、得到橫坐標(biāo)函數(shù)GetX(、得到縱坐標(biāo)函數(shù)GetY(。 答案: class CPoint { public:int m x,m y;CPoint(int x=0,int y=0) {m x=x;m y=y;}int GetX(){returnm x;}int GetY(){returnm y;}}; 4、鍵盤輸入一批整數(shù),輸入0時結(jié)束,偶數(shù)輸出,奇數(shù)相加,最后輸出奇數(shù)的 和。 答案: #include void main(){ int a[10],i;int sum=0; for(i=0;i<10;i++){ scanf("%d",&a[i]);if(a[i]==0)break; if(a[i]%2==0)printf("%d,",a[i]);else sum+=a[i];} printf("\n %d,”,sum);}
5、在main函數(shù)中定義一個整型數(shù)組int a[10],編寫一個輸入函數(shù)input,輸入 這個數(shù)組的所有元素,編寫一個求數(shù)組最大值的函數(shù)max,求這個數(shù)組中的最 大元素,在main函數(shù)中輸出數(shù)組最大值。 答案: #include void main(){ int a[10],i,max;for(i=0;i<10;i++) scanf("%d",&a[i]);for(i=0;i<10;i++)max=a[0];for(i=0;i<10;i++) if(a[i]>max)max=a[i];printf("%d\n",max);} 6、系統(tǒng)軟件的核心軟件是()。 A、 操作系統(tǒng) B 、 編譯程序 C 、 匯編程序 D、 機器語言 答案: A 7、下面4種程序設(shè)計語言中,不是面向?qū)ο笫秸Z言的是()。 A、 JAVA B、 Object Pascal C、 Delphi D 、C 答案: D 8、線性表表長的含義是()。 A、 線性表所占用的內(nèi)存字節(jié)數(shù)量 B、 線性表占用的內(nèi)存和外存的字節(jié)數(shù)量 C、 線性表中所包含的元素數(shù)量 D、 線性表在內(nèi)存中元素的數(shù)量 答案: C 9、隊列的最主要特點是()。 A、 先進先出 B、 先進后出 C、 兩端進出 D、 一端進一端出 答案: A 10、 下面4句結(jié)論中只有一句是錯誤的,它是()。 A、 二叉樹是樹 B、 二叉樹的左右子樹的位置可以顛倒 C、 可以使用二叉樹的思想對數(shù)值進行排序 D、 可以采用鏈表方式存儲二叉樹 答案: B 11、螺旋模型中包括需求定義、風(fēng)險分析、工程實現(xiàn)和評審四個階段,在開發(fā) 過程中() 。 A、 每個周期都要包括這四個階段 B 、 每個周期可以包括不同的階段 C、 在最后交付使用之前才進行評審 D、 開項目開始時才需要進行風(fēng)險分析 答案: A 12、下面關(guān)于測試的結(jié)論中只有一個是正確的,它是()。 A、 測試工作要貫穿于整個軟件開發(fā)的全過程 B、 測試工作是指在編程實現(xiàn)過程中進行的排錯工作 C、 測試工作是指在產(chǎn)品完成后用戶的驗收工作過程 D、 測試工作量的彈性比較大,可以根據(jù)時間進度進行裁減 答案: A 13、現(xiàn)代理論計算機的發(fā)明人是()。 A、 圖靈 B、 馮 ·諾依曼 C、 Pascal D、 愛因斯坦 答案: A 14 、CASE 的含義是() 。 A、 計算機輔助設(shè)計 B、 計算機輔助制造 C、 計算機輔助教學(xué) D、 計算機輔助軟件工程 答案: D 15、在C語言中,為了求兩個整數(shù)相除之后得到的余數(shù),可以使用運算符() -0 A 、/ B、 % C、 * D、 ++ 答案: B 16、一臺計算機里的各個部件是通過什么連接的() . A、 電線 B、 電話線 C、 光纜 D、 總線 答案: D 17、 以下不屬于整型變量定義的是() A、 unsigned short x B 、 float x C、 int x D 、 long x 答案: B 18、正確的C語言自定義標(biāo)志符是()。
答案: A 19、一個隊列的入隊序列是1,2,3,4,則隊列的輸出序列是()。 A、 4,3,2,1 B、 1,2,3,4 C、 1,4,3,2 D、 3,2,4,1 答案: B 20、一個具有n個頂點的無向圖中,要連通全部頂點至少需要()條邊。 A、 n B、 n+1 C 、n/2 D、 n- 1 答案: D 21、下列程序設(shè)計語言中()是面向?qū)ο笳Z言。 A 、 FORTRAN B、 C語言 D、 匯編語言 答案: C 22、下列關(guān)于注釋的說法哪個是錯誤的()。 A、 注釋不是程序中的可執(zhí)行語句 B、 注釋對于程序的執(zhí)行有很重要的意義 C、 注釋將在程序的編譯階段被編譯器剔除 D、 編程時在程序中添加適當(dāng)?shù)淖⑨屖且粋€良好的編程風(fēng)格 答案: B 23、算法設(shè)計應(yīng)該遵守()的設(shè)計原則。 A、 自底向上,逐步求精 B、 自頂向下,逐步求精 C、 自底向上,同步擴展 D、 自頂向下,同步擴展 答案: B 24、下列語句執(zhí)行后a 的值為() 。inta=4,&z=a,k=3;a=k;z+=2;k++; A、 0 B、 4 C、 1 D、 5 答案: D 25、 以下程序執(zhí)行后,屏幕輸出為()。 #include“iostream.h”void fun(int d){d++;}void main(){int d=3;fun(d);d++;cout< A、 3 B、 4 C、 5 D、 6 答案: B 26、執(zhí)行下列語句后a的值為()。 char a('a'),b(‘b');a+=(‘a(chǎn)'!='A’)+ (‘b?=='B’)+(b-a==3); A、 2 B 、 ‘b’ C 、 C D、 'c' 答案: B 27、 判斷char型變量d是否為小寫字母的正確表達式為()。 A 、 (d>=’a’)&&(d<=’z’) B 、 ‘a(chǎn)’<=d<=’z’ C 、(d>=’a’)|(d<=’z’) D、 ‘A’<=d<=’Z’ 答案: A 28、 已知:int k=7,x=12;則執(zhí)行語句()后x的值為0。 A 、x+=k-x%5; B、 x+=(x-k%5); C、 x%=(k-=5); D 、(x-=k)-(k+=5); 答案: C 29、 運行下列程序,其輸出結(jié)果為() 。#include“iostream .h”void main(){int x(5)y(5),z(5);y--&&++x&&z--lly++;cout< A 、6,4,4 B 、6,4,5 C 、6,5,4 D 、 5,4,5 答案: A 30、 已知:int a=1,b=2;下列switch語句中()的格式正確。 A、 switch(a){ case b+1:a--;break; case b+2:a++;break;}
D、 switch(a*a){ case 1,2:++a;case 3,4:++b;} 答案: C 31、 以下程序執(zhí)行后,程序輸出結(jié)果是()。 #include“iostream.h”#define max(a,b)a>b?a:bvoid main({int m=1,n=2,o=3,p=4;cout< A、 9 B、 6 C 、 7 D、 8 答案: A 32、 執(zhí)行以下程序段之后x的值為()。 inti=-5,x=0;while(i){i=i+x;x++;} A、 0 B、 -2 C 、 1 D、 死循環(huán) 答案: D 33、下面程序運行在Windows XP下32位系統(tǒng)環(huán)境,程序的運行結(jié)果應(yīng)該是 () 。#include "iostream.h"#include "stdlib.h"#include "string.h"void fun(char chName[50]){strcpy(chName,"Hello");int iTemp[50]={0};void *pVoid = malloc(100);char ch=10;cout< A 、50,50,1,100 B 、4,200,1,4 C 、50,50,1,4 D 、 4,200,1,100 答案: B 34、下列()不是語句。 A、 cout<<”abc” B 、 ; C、 a+b; D 、 a++; 答案: A 35、下列哪個的函數(shù)原型的定義是正確的()。 A、 int MoveToPosition(int x=0,int y,int z=0); B、 int MoveToPosition(x=0,y,z=0); C、 int D、 int 答案: C MoveToPosition(int x,int y=0,int z=0); MoveToPosition(int x=0,int y=0,int z); 36、下列哪種方式不是高級語言中參數(shù)的傳遞機制()。 A、 傳值調(diào)用 B、 函數(shù)調(diào)用 C、 傳址調(diào)用 D、 引用調(diào)用 答案: B 37、 以下有關(guān)類和對象的敘述不正確的是()。 A、 對象是類的一個實例 B、 任何一個對象都歸屬于一個具體的類 C、 一個類只能有一個對象 D、 類與對象的關(guān)系和數(shù)據(jù)類型與變量的關(guān)系相似 答案: C 38、 以下有關(guān)構(gòu)造函數(shù)的敘述不正確的是()。 A、 構(gòu)造函數(shù)名必須和類名一致 B、 構(gòu)造函數(shù)在定義對象時自動執(zhí)行 C、 構(gòu)造函數(shù)無任何函數(shù)類型 D、 在一個類中構(gòu)造函數(shù)有且僅有一個 答案: D 39、提供函數(shù)重載機制的意義在于()。 A、 實現(xiàn)程序代碼共享 B、 使用方便,提高可讀性 C、 提高函數(shù)運行效率 D、 減少函數(shù)存儲空間 答案: B 40、下列數(shù)組初始化語句錯誤的是()。 A、 char s[3]=“abc”; B、 char Letter[2][3]={'a','b','c','d','e','f'}; C、 int Student[5]={1,2,3}; D、 int a[2][3]={{1,2,3},{4,5,6}} 答案: A 41、下述4種情況中,最適宜采用內(nèi)聯(lián)函數(shù)方式實現(xiàn)的是()。 A、 函數(shù)代碼多,不常調(diào)用 B、 函數(shù)代碼少,經(jīng)常調(diào)用 C、 函數(shù)為遞歸調(diào)用函數(shù) D、 函數(shù)體含有復(fù)雜的循環(huán)語句 答案: B 42、C++借助于()實現(xiàn)封裝。 A、 結(jié)構(gòu) B 、類 C、 數(shù)組 D、 函數(shù) 答案: B 43、下列語句執(zhí)行后a的值為()。 a=6+5%2-5/2; A、 6 B、 5.5 C、 5 D、 7 答案: C 44、在C++的類繼承中,不能被派生類繼承的有()。 A、 類型轉(zhuǎn)換函數(shù) B、 構(gòu)造函數(shù) C、 虛函數(shù) D、 靜態(tài)成員函數(shù) 答案: D 45、所有在函數(shù)中定義的變量及函數(shù)的形式參數(shù)都屬于()。 A、 全局變量 B、 局部變量 C、 外部變量 D、 常量 答案: B 46、下列語句中正確的是()。 A、 enum Doctor{Tom,Lily,Mark}; B、 enum Doctor{char* Tom, char* Lily,char* Mark}; C、 struct Student{name,sex,age}; D、 struct Student{char* name,char* sex,int age}; 答案: A 47、C++中,被private修飾的成員能被()訪問。 A、 父類 B、 子類 C、 除了自身之外均不能訪問 D、 友元 答案: D 48、設(shè)有基類定義class Base{private: int a;protected: int b;public: int c;};派生 類采用何種繼承方式可以使成員變量b成為自己的私有成員()。 A、 私有、保護、公有均可 B、 私有繼承 C、 保護繼承 D、 公有繼承 答案: A 49、下列說法不正確的是()。 A、 對象可以賦值給數(shù)組元素 B、 對象可以用作函數(shù)參數(shù) C、 對象之間不可以相互賦值 D、 對象可以用作另一對象的數(shù)據(jù)成員 答案: C 50、下列描述中()是錯誤的。 A、 沒有必要直接調(diào)用析構(gòu)函數(shù) B、 子類構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù) C、 在派生類構(gòu)造函數(shù)中可給父類數(shù)據(jù)成員賦值 D、 構(gòu)造函數(shù)的返回值為void類型 答案: A 51、請簡述程序設(shè)計的一般步驟。 答案: (1)確定要解決的問題。(2)分析問題,建立數(shù)學(xué)模型。(3)選擇計算方 法。(4)確定數(shù)據(jù)結(jié)構(gòu)和算法。(5)繪制流程圖。(6)編寫程序。(7)調(diào)試并測試 程序。(8)整理資料,交付使用。 52、結(jié)構(gòu)化程序設(shè)計的主要特征與風(fēng)格是什么? 答案: 結(jié)構(gòu)化程序設(shè)計的主要特征與風(fēng)格如下所述。 (1)一個程序按結(jié)構(gòu)化程 序設(shè)計方式構(gòu)造時,由三種基本控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)構(gòu) 成。 (2)有限制地使用goto語句。鑒于goto語句的存在使程序的靜態(tài)書寫順 序與動態(tài)執(zhí)行順序十分不一致,導(dǎo)致程序難讀難理解,容易存在潛在的錯誤, 難于證明正確性,有人主張程序中禁止使用goto語句,但有人則認為goto語 句是一種有效設(shè)施,不應(yīng)全盤否定而完全禁止使用。結(jié)構(gòu)程序設(shè)計并不在于是 否使用goto語句,因此作為一種折衷,允許在程序中有限制地使用goto語 句。 (3)往往藉助于體現(xiàn)結(jié)構(gòu)化程序設(shè)計思想的所謂結(jié)構(gòu)化程序設(shè)計語言來書 寫結(jié)構(gòu)化程序,并采用一定的書寫格式以提高程序結(jié)構(gòu)的清晰性,增進程序的 易讀性。 (4)它強調(diào)了程序設(shè)計過程中人的思維方式與規(guī)律,是一種自頂向下 的程序設(shè)計策略,它通過一組規(guī)則、規(guī)律與特有的風(fēng)格對程序設(shè)計細分和組 織。對于小規(guī)模程序設(shè)計,它與逐步精化的設(shè)計策略相聯(lián)系,即采用自頂向 下、逐步求精的方法對其進行分析和設(shè)計;對于大規(guī)模程序設(shè)計,它則與模塊 化程序設(shè)計策略相結(jié)合,即將一個大規(guī)模的問題劃分為幾個模塊,每一個模塊 完成一定的功能。
53、寫出運行結(jié)果: include{int a=13,b=-7;printf("%d\n",a/b);/*①*1 printf("%d\n",b/a*a);/*②*/} 答案: -1;0; 54、 閱讀程序,寫出程序的輸出結(jié)果。 main(){ int a=0,n=5;for(;;){ a++; n- -;printf(“%d”,a);a=n;if(n==0)break;}printf(“%d”,a);} 答案: 154320; 55、算法的5個特性是什么? 答案: 輸入、輸出、確定性、有限性、可行性 56、簡述白盒測試和黑盒測試。 答案: 有限性并不是用于程序,比如操作系統(tǒng);在描述方法上二者也不同,程 序總要用某種設(shè)計語言來書寫并最終被其所運行,而算法卻沒有這種限制,其 描述方式相對靈活。 57、 什么是軟件生命周期?它分為哪幾個階段? 答案: 白盒測試又稱結(jié)構(gòu)測試,在白盒測試中,參照程序的具體實現(xiàn)過程,根 據(jù)程序的結(jié)構(gòu),選擇測試數(shù)據(jù);黑盒測試中,測試數(shù)據(jù)來自對所解決問題的詳 細描述,而不考慮程序?qū)崿F(xiàn)。 3、對于一個軟件的研制,從問題的提出,經(jīng)過 開發(fā)、使用、維護、修訂,直到最后中止使用,軟件這個狀態(tài)變化的過程稱為 軟件的生命周期。 軟件生命周期分為可行性分析、需求分析、概要設(shè)計、詳細 設(shè)計、編碼、測試、維護等階段 58、 簡述面向?qū)ο蠓治龅闹饕瓌t。 答案: 構(gòu)造與分解、抽象化與具體化、封裝、相關(guān)和行為約束。 59、 簡述函數(shù)重載的意義及如何實現(xiàn)函數(shù)重載。 答案: 當(dāng)需要多個函數(shù)對不同類型數(shù)據(jù)進行相同處理時,定義同名函數(shù)會為程 序的編寫帶來極大方便,使用方便,提高可讀性,這種定義同名函數(shù)的語法就 是函數(shù)重載。 60、C程序中最基本的單位是函數(shù)()。 答案: 正確 61、a-2是一個正確的標(biāo)識符()。 答案: 錯誤 62、1/2的值是0.500000()。 答案: 錯誤 63 、fabs( - 5) 的值是25()。 答案: 錯誤 64、(i+2)++是正確的表達式()。 答案: 錯誤 65、3&&4的值為1()。 答案: 正確 66、 在C語言中表達式ch=”abcdef”是正確的()。 答案: 錯誤 67、 經(jīng)過編譯后,但未鏈接的文件擴展名為obj()。 答案: 正確 68、 在C語言中是區(qū)分大小寫的()。 答案: 正確 69、一個C程序可以有多個文件構(gòu)成()。 答案: 正確 70、 計算機按照工作原理進行分類可以分為()和()。 答案: 數(shù)字計算機;模擬計算機; 71、C語言中自增運算符是() ,求余數(shù)的運算符號是()。 答案: ++;%; 72、 常見的非線性結(jié)構(gòu)包括() ( ) 和 ( ) 結(jié)構(gòu)。 答案: 樹;圖型; 73、 評價算法效率的主要指標(biāo)是()和()。 答案: 時間復(fù)雜度;空間復(fù)雜度; 74、邏輯表達式allb+c&& b-c的值為() ,其中a=3,b=4,c=5。 _ 答案: 1; 75、 在采用一組地址連續(xù)的空間存放隊列元素時如果隊頭指針為front,隊尾指 針為rear,則判斷隊滿的條件是 ();判斷隊空的條件是。 答案: (rear +1)% maxsize= front; 76、()函數(shù)是程序啟動時惟一的入口。 答案: main; 77、 算法的復(fù)雜性包含兩方面: ( ) 和 ()。 答案: 時間復(fù)雜性;空間復(fù)雜性; 78、 已知charc='a';intx=2,k;執(zhí)行語句k=c&&x++;則x為(),k為 ()。 答案: 3;1; 79、 數(shù)值0x34對應(yīng)的十進制為()。 答案: 52; 80、 已知inta;則表達式”(a=2*3,3*8),a*10”的結(jié)果為(),變量a的值為 ()。 答案: 60;6; 81、 面向?qū)ο蟪绦蜷_發(fā)步驟為: ()、()和面向?qū)ο髮崿F(xiàn)。 答案: 面向?qū)ο蠓治觯幻嫦驅(qū)ο笤O(shè)計; 以上就是關(guān)于國家開放大學(xué)高起專真題《程序設(shè)計基礎(chǔ)》,如果想要咨詢關(guān)于國家開放大學(xué)的任何問題,可以咨詢王老師:18766119382(同微信) |