領(lǐng)創(chuàng)教育(山東)集團有限公司
新聞詳情

國家開放大學(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)志符是()。


、

file bak

_


、

abc(10)


continue


、

class+3

答案: 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í)行后,屏幕輸出為()。   #includeiostream.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é)果為() 。#includeiostream .hvoid 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;}

B 、 switch(a==b){

default:a-b}

C 、switch(a/10+b){

case                5:a-=b;break;default:a+=b;}

D、 switch(a*a){        case         1,2:++a;case        3,4:++b;}

答案: C


31、 以下程序執(zhí)行后,程序輸出結(jié)果是()。 #includeiostream.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(同微信)

山東省領(lǐng)創(chuàng)教育集團王老師.jpg

分享到:
                         山東領(lǐng)創(chuàng)教育集團地址
                               集團總部:山東省濟南市歷城區(qū)花園路168號二建融基大廈9樓
                                                  二建校區(qū):山東省濟南市歷城區(qū)花園路168號二建融基大廈9樓906、903室
                                                                       聚隆校區(qū):山東省濟南市歷城區(qū)花園路與洪家樓南路交叉路口西南-聚隆財富中心9樓903
                                                海蔚校區(qū):山東省濟南市歷城區(qū)花園路101號海蔚大廈15樓1503-1508
                                             陸港校區(qū):山東省濟南市歷城區(qū)溫梁路6636號濟南陸港大廈1號樓10樓
德州分校:山東省德州市德城區(qū)萬達廣場
                                                東營分校:山東省東營市東營區(qū)北一路730號萬達廣場甲級寫字樓1709室
             淄博分校:淄博市張店區(qū)華光路云龍國際B座1001                                  青島分校:青島市李滄區(qū)重慶路30號中南世紀(jì)城南側(cè)商業(yè)樓2層
                                      留學(xué)部門:山東省濟南市歷城區(qū)花園路101號海蔚大廈15樓1502室
                                          歷山分部:濟南市歷城區(qū)花園路與歷山路交叉口泉景恒展大廈1001室
                  韓國分部:韓國首爾市江南區(qū)驛三路215號2層          
             聯(lián)系我們:15550011809(同微信) 周老師