一、選擇題(1~10每小題2分,11~50每小題1分,共60分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應(yīng)位置上,答在試卷上不得分。
。1)算法的時間復(fù)雜度是指()。
A)執(zhí)行算法程序所需要的時間
B)算法程序的長度
C)算法執(zhí)行過程中所需要的基本運算次數(shù)
D)算法程序中的指令條數(shù)
。2)用鏈表表示線性表的優(yōu)點是()。
A)便于隨機存取 B)花費的存儲空間較順序存儲少
C)便于插入和刪除操作 D)數(shù)據(jù)元素的物理順序與邏輯順序相同
(3)棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是()。
A)ABCED B)DCBEA C)DBCEA D)CDABE
(4) 在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。
A)冒泡排序 B)選擇排序 C)快速排序 D)歸并排序
。5)在設(shè)計程序時,應(yīng)采納的原則之一是
A)不限制goto語句的使用 B)減少或取消注解行
C)程序越短越好 D)程序結(jié)構(gòu)應(yīng)有助于讀者理解
。6)下列不屬于軟件工程的3個要素的是( )。
A)工具 B)過程 C)方法 D)環(huán)境
。7) 在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是()。
A)路徑的集合B)循環(huán)的集合
C)目標的集合D)地址的集合
(8)下列數(shù)據(jù)模型中,具有堅實理論基礎(chǔ)的是()。
A)層次模型 B)網(wǎng)狀模型 C)關(guān)系模型 D)以上3個都是
。9)下列有關(guān)數(shù)據(jù)庫的描述,正確的是()。
A)數(shù)據(jù)庫是一個DBF文件 B)數(shù)據(jù)庫是一個關(guān)系
C)數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合 D)數(shù)據(jù)庫是一組文件
10)下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是()。
A)數(shù)據(jù)結(jié)構(gòu) B)數(shù)據(jù)操作
C)數(shù)據(jù)查詢 D)數(shù)據(jù)約束
。11)一個C語言程序是由
A)一個主程序和若干子程序組成
B)函數(shù)組成
C)若干過程組成
D)若干子程序組成
。12)下列數(shù)據(jù)中,不合法的C語言實型數(shù)據(jù)是
A)0.123 B)123e3 C)2.1e3.5 D)789.0
。13)已知
int t=0;
while (t=1)
{...}
則以下敘述正確的是
A)循環(huán)控制表達式的值為0
B)循環(huán)控制表達式的值為1
C)循環(huán)控制表達式不合法
D)以上說法都不對
(14)有以下定義語句
double a,b;int w; long c;
若各變量已正確賦值,則下列選擇中正確的表達式是
A) a=a+b=b++ B)w%((int)a+b) C)(c+w)%(int)a D)w=a==b
(15)以下程序的輸出結(jié)果是
main()
{inti;
for(i=0;i<3;i++)
switch(i){
case 0:printf("%d",i);
case 2:printf("%d",i);
default:printf("%d",i);
}
}
A) 022111B)021021C)000122D)012
。16)設(shè)有以下程序段:
int x=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);
則
A)運行程序段后輸出0
B)運行程序段后輸出1
C)程序段中的控制表達式是非法的
D)程序段執(zhí)行無限次
(17)以下正確的說法是
A)定義函數(shù)時,形參的類型說明可以放在函數(shù)體內(nèi)
B)return后邊的值不能為表達式
C)如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準
D)如果形參與實參類型不一致,以實參類型為準
。18)以下敘述中不正確的是
A)在不同的函數(shù)中可以使用相同的名字的變量
B)函數(shù)中的形式參數(shù)是局部變量
C)在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D)在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
(19)以下程序的輸出結(jié)果是
main()
{inta=3,b=4,c=5,d=2;
if(a>b)
if(b>c)
printf("%d",d+++1);
else
printf("%d",++d+1);
printf("%d\n",d);
}
A) 2 B)3 C)43 D)44
。20)有以下語句,則對a數(shù)組元素的引用不正確的是(0≤i≤9)
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A) a[p-a] B)*(&a[i]) C)p[i] D)*(*(a+i))
。21)有如下程序
int a[10]={1,2,3,4,5,6,7,8,9,10};
int *p=&a[3],b;b=p[5];
則b的值是
A)5 B)6
C)9 D)8
。22)設(shè)有以下說明語句
struct stu
{int a;
float b;
}stutype;
則下面的敘述不正確的是
A)struct是結(jié)構(gòu)體類型的關(guān)鍵字
B)struct stu是用戶定義的結(jié)構(gòu)體類型
C)stutype是用戶定義的結(jié)構(gòu)體類型名
D)a和b都是結(jié)構(gòu)體成員名
。23)執(zhí)行以下程序后,a,b的值分別為
main()
{ int a,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(*p1)/(*p2)+7;
printf("a=%d\n",a);
printf("b=%d\n",b);
}
A)-1,5 B)1,6 C)0,7 D)4,10
。24) 以下程序的輸出結(jié)果是
main()
{inta=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p;p=q;q=r;
printf("%d,%d,%d,%d\n",*p,*q,a,b);
}
A) 8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7
。25)有如下程序
long fib(int n)
{ if(n>2)return(fib(n-1)+fib(n-2));
else return(2);
}
main()
{ printf("%d\n",fib(3));}
該程序的輸出結(jié)果是
A)2 B)4
C)6 D)8
(26) 程序中對fun函數(shù)有如下說明:
void*fun();
此說明的含義是
A)fun函數(shù)無返回值
B)fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型
C)fun函數(shù)的返回值是無值型的指針類型
D)指針fun指向一個函數(shù),該函數(shù)無返回值
(27)有以下程序:
fun(int x,int y,int z)
{ z=x*y;}
main()
{
int a=4,b=2,c=6;
fun(a,b,c);
printf("%d",c);
}
程序運行后的輸出結(jié)果是
A) 16 B)6 C)8 D)12
。28)下列程序執(zhí)行后的輸出結(jié)果是
main()
{ int a[3][3], *p,i;
p=&a[0][0];
for(i=1; i<9; i++)p[i]=i+1;
printf("%d\n",a[1][2]);
}
A) 3 B)6 C)9 D)隨機數(shù)
。29) 以下程序的輸出結(jié)果是
void fun(int *a,int i,int j)
{int t;
if(i {t=a[i];a[i]=a[j];a[j]=t; i++;j--; fun(a,i,j); } } main() {int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++)printf("%2d",x[i]); printf("\n"); } A)1 2 6 8 B)8 6 2 1 C)8 1 6 2 D)8 6 1 2
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |