一、選擇題((1)-(10)、(21)-(40)每題2分,(11)-(20)每題1分,共70分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填塗在答題卡相應位置上答在試卷上不得分。
(1)下列敘述中正確的是( )。
A)演算法就是程式
B)設計演算法時只需要考慮資料結構的設計
C)設計演算法時只需要考慮結果的可靠性
D)以上三種說法都不對
(2)下列關於線性連結串列的敘述中,正確的是( )。
A)各資料結點的儲存空間可以不連續,但它們的儲存順序與邏輯順序必須一致
B)各資料結點的儲存順序與邏輯順序可以不一致,但它們的儲存空間必須連續
C)進行插入與刪除時,不需要移動表中的元素
D)以上三種說法都不對
(3)下列關於二叉樹的敘述中,正確的是( )。
A)葉子結點總是比度為2的結點少一個
B)葉子結點總是比度為2的結點多一個
c)葉子結點數是度為2的結點數的兩倍
D)度為2的結點數是度為1的結點數的兩倍
(4)軟體按功能可以分為應用軟體、系統軟體和支撐軟體(或工具軟體)。下面屬於應用軟體的是( )。
A)學生成績管理系統
B)C語言編譯程式
C)UNIX作業系統
D)資料庫管理系統
(5)某系統總體結構圖如下圖所示:
該系統總體結構圖的深度是( )。
A)7
B)6
C)3
D)2
(6)程式除錯的任務是( )。
A)設計測試用例
B)驗證程式的正確性
C)發現程式中的錯誤
D)診斷和改正程式中的錯誤
(7)下列關於資料庫設計的敘述中,正確的是( )。
A)在需求分析階段建立資料字典
B)在概念設計階段建立資料字典
C)在邏輯設計階段建立資料字典
D)在物理設計階段建立資料字
(8)資料庫系統的三級模式不包括( )。
A)概念模式
B)內模式
C)外模式
D)資料模式
(9)有三個關係R、S利T如下:
則由關係R和s得到關係T的操作是( )。
A)自然連線
B)差
C)交
D)並
(10)下列選項中屬於面向物件設計方法主要特徵的是( )。
A)繼承
B)自頂向下
C)模組化
D)逐步求精
(11)以下敘述中錯誤的是( )。
A)C語言編寫的函式源程式,其檔名字尾可以是.C
B)C語言編寫的函式都可以作為一個獨立的源程式檔案
C)C語言編寫的每個函式都可以進行獨立的編譯並執行
D)一個C語言程式只能有一個主函式
(12)以下選項中關於程式模組化的敘述錯誤的是( )。
A)把程式分成若干相對獨立的模組,可便於編碼和除錯
B)把程式分成若干相對獨立、功能單一的模組,可便於重複使用這些模組
c)可採用自底向上、逐步細化的`設計方法把若干獨立模組組裝成所要求的程式
D)可採用自項向下、逐步細化的設計方法把若干獨立模組組裝成所要求的程式
(13)以下選項中關於c語言常量的敘述錯誤的是( )。
A)所謂常量,是指在程式執行過程中,其值不能被改變的量
B)常量分為整型常量、實型常量、字元常量和字串常量
c)常量可分為數值型常量和非數值型常量
D)經常被使用的變數可以定義成常量
(14)若有定義語句:int a=10;double b=3.14;,則表示式'A'+a+b值的型別是( )。
A)char
B)int
C)double
D)float
(15)若有定義語句:int x=12,3=8,z;,在其後執行語句z=0.9+x/y;,則Z的值為( )。
A)1.9
B)1
C)2
D)2.4
(16)若有定義:int a,b;,通過語句scanf("%d;%d",&a,&b);,能把整數3賦給變數a,5賦給變數b的輸入資料是( )。
A)3 5
B)3,5
C)3;5
D)35
(17)若有定義語句:intk1=10,k2=20;,執行表示式(k1=k1>k2)&&(k2=k2>k1)後,k1和k2的值分別為( )。
A)0和1
B)0和20
C)10和1
D)10和20
(18)有以下程式
#include
main()
{int a=1,b=0;
if(-a) b++;
else if(a=0)b+=2:
else b+=3:
printf("%dn",b);
)
程式執行後的輸出結果是( )。
A)0
B)1
C)2
D)3
(19)下列條件語句中,輸出結果與其他語句不同的是( )。
A)if(a)printf("%d-n",x); else printf("%dn",y);
B)if(a—0)printf("%dn",y); else printf("%dn",x);
C)if(a!=0)p由tf("%dn",x); else printf("%dn",y);
D)if(a=0)printf("%dn",x); else printf("%dn",y);
(20)有以下程式
#include
main()
{int a=7;
while(a--);
printf("%dn",a);
)
程式執行後的輸出結果是( )。
A)-1
B)0
C)1
D)7
(21)以下不能輸出字元A的語句是(注:字元A的ASCIl碼值為65,字元a的ASCIl碼值為97)
A)printf("%cn",'a'-32);
B)printf("%dn",'A');
c)printf("%cn",65);
D)print-f("%cn",'B'-1);
(22)有以下程式(注:字元a的ASCIl碼值為97)
#include
main()
{char*s={"abe");
do
{printf(”%d”,+s%10);++s;)
while(+s);
)
程式執行後的輸出結果是( )。
A)abc
B)789
C)7890
D)979899
(23)若有定義語句:double a,+p=&a;以下敘述中錯誤的是( )。
A)定義語句中的*號是一個間址運算子
B)定義語句中的*號只是一個說明符
C)定義語句中的P只能存放double型別變數的地址
D)定義語句中,*p=&a把變數a的地址作為初值賦給指標變數P
(24)有以下程式
#include
double f(double x);
main()
{doublea_0;inti;
for(i=0;i<30;i+=10)a+--f((double)i);
printf("%5.0fn",a);
}
double f(double x)
(return X+x+1;)
程式執行後的輸出結果是( )。
A)503
B)401
C)500
D)1404