一、選擇題((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