|
|
2007年4月計算機二級考試C語言真題(編城初學(xué)者網(wǎng)ww.bansun.com提供)
1.下列敘述中正確的是
A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)
B)算法的時間復(fù)雜度是指執(zhí)行算法需要的計算工作量
C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的
D)算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān)
2.在結(jié)構(gòu)化程序設(shè)計中,模塊劃分的原則是
A)各模塊應(yīng)包括盡量多的功能
B)各模塊的規(guī)模應(yīng)盡量大
C)各模塊之間的聯(lián)系應(yīng)盡量緊密
D)模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度
3.下列敘述中正確的是
A)軟件測試的主要目的是發(fā)現(xiàn)程序中的錯誤
B)軟件測試的主要目的是確定程序中錯誤的位置
C)為了提高軟件測試的效率,最好由程序編制者自己來完成軟件測試的工作
D)軟件測試是證明軟件沒有錯誤
4.下面選項中不屬于面向?qū)ο蟪绦蛟O(shè)計特征的是
A)繼承性 B)多態(tài)性 C)類比性 D)封裝性
5.下列對隊列的敘述正確的是
A)隊列屬于非線性表
B)隊列按“先進后出”原則組織數(shù)據(jù)
C)隊列在隊尾刪除數(shù)據(jù)
D)隊列按“先進先出”原則組織數(shù)據(jù)
6.對下列二叉樹
![]()
進行前序遍歷的結(jié)果為
A)DYBEAFCZX
B)YDEBFZXCA
C)ABDYECFXZ
D)ABCDEFXYZ
7.某二叉樹中有n個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)為
A)n+1
B)n-1
C)2n
D)n/2
8.在下列關(guān)系運算中,不改變關(guān)系表中的屬性個數(shù)但能減少元組個數(shù)的是
A)并
B)交
C)投影
D)笛卡兒乘積
9.在E-R圖中,用來表示實體這間聯(lián)系的圖形是
A)矩形
B)橢圓形
C)菱形
D)平行四邊形
10.下列敘述中錯誤的是
A)在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題
C)數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫
D)數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
11.算法中,對需要執(zhí)行的每一步操作,必須給出清楚、嚴(yán)格的規(guī)定。這屬于算法的
A)正當(dāng)性
B)可行性
C)確定性
D)有窮性
12.以下敘述中錯誤的是
A)計算機不能直接執(zhí)行用C語言編寫的源程序
B)C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個二進制文件
C)后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個二進制文件
D)后綴為.obj和.exe的二進制文件都可以直接運行
13.按照C語言規(guī)定的用戶標(biāo)識符命名規(guī)則,不能出現(xiàn)在標(biāo)識符中的是
A)大寫字母
B)連接符
C)數(shù)字字符
D)下劃線
14.以敘述中錯誤的是
A)C語言是一種結(jié)構(gòu)化程序設(shè)計的語言
B)結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C)使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
D)結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法
15.對于一個下正常運行的C程序,以下敘述中正確的是
A)程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束
B)程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束
C)程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
D)程序的執(zhí)行總是從程序中的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
16.設(shè)變量均已正確定義,若要通過scanf("%d%c%d%d%c",&a1,&c1,&a2,&c2);語句為變量a1和a2賦數(shù)值10和20,
為變量c1和c2賦字符X和Y。以下所示的輸入形式中正確的是(注:口代表空格字符)
A)10口X口20口Y<回車> B)10口X20口Y<回車>
C)10口X<回車> D)10X<回車>
20口Y<回車> 20Y<回車>
17.若有代數(shù)式 (其中e僅代表自然對數(shù)的底數(shù),不是變量),則以下能夠正確
表示該代數(shù)式的C語言表達式是
A)sqrt(abs(n^x+e^x))
B)sqrt(fabs(pow(n,x)+pow(x,e)))
C)sqrt(fabs(pow(n,x)+exp(x)))
D)sqrt(fabs(pow(x,n)+exp(x)))
18.設(shè)有定義:int k=0;, 以下選項的四個表達式中與其他三個表達式的值不相同的是
A)k++ B)k+=1 C)++k D)k+1
19.有以下程序,其中%u表示按無符號整數(shù)輸出
main()
{unsigned int x=oxFFFF; /* x的初值為十六進制數(shù) */
printf("%u\n",x);
}
程序運行后的輸出結(jié)果是
A)-1 B)65535 C)32767 D)0xFFFF
20.設(shè)變量x和y均已正確定義并賦值,以下if語句中,在編譯時將產(chǎn)生錯誤信息的是
A)if(x++); B)if(x>y && y!=0);
C)if(x>0)x-- D)if(y<0){;}
else y++; else x++;
21.以下選項中,當(dāng)x為大于是的奇數(shù)時,值為0的表達式是
A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0
22.以下敘述中正確的是
A)break語句只能用于switch語句體中
B)continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C)break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)
D)在循環(huán)體內(nèi)使用break語句和continue語句的作用相同
23.有以下程序
main()
{int k=5,n=0;
do
{switch(k)
{case1: case3:n+=1; break;
default;n=0;k--;
case2: case4:n+=2;k--;break;
}
printf(“%d”,n);
}while(k>0&&n<5);
}
程序運行后的輸出結(jié)果是
A)235 B)0235 C)02356 D)2356
24.有以下程序
main()
{int ij;
for(i=1;j<4;j++)
{for(j=i;j<4;j++) printf(""%d*%d=%d ",ij,i*j);
printf("\n");
}
}
程序運行后的輸出結(jié)果是
A)1*1=1 1*2=2 1*3=3 B)1*1=1 1*2=2 1*3=3
2*1=2 2*2=4 2*2=4 2*3=6
3*1=3 3*3=9
C)1*1=1 D)1*1=1
1*2=2 2*2=4 2*1=2 2*2=4
1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9
25.以下合法的字符型常量是
A)'\x13' B)'\081' C)'65' D)"\n"
26.在C語言中,函數(shù)返回值的類型最終取決于
A)函數(shù)定義時在函數(shù)值首部所說明的函數(shù)類型
B)retum語句中表達式值的類型
C)調(diào)用函數(shù)時主調(diào)函數(shù)所傳遞的實參類型
D)函數(shù)定義時形參的類型
27、已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。以下不能將變量c
中的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是
A)c=(c-'A')%26+'a' B)c=c+32
C)c=c-'A'+'a' D)c=('A'+c)%26-'a'
28.有以下函數(shù)
int fun(char *s)
{char *t=s;
while(*t++);
retum(t-s);
}
該函數(shù)的功能是
A)比較兩個字符串的大小 B)計算s所指字符串占用內(nèi)存字節(jié)的個數(shù)
C)計算s所指字符串的長度 D)將s所指字符串復(fù)制到字符串t中
29.設(shè)已有定義:float x;,則以下對指針變量p進行定義且賦初值的語句中正確的是
A) float *p=1024; B) int *p=(float)x;
C) float p=&x; D) float *p=&x;
30.有以下程序
#include <stdio.h>
main()
{ int n,*p=NULL;
*p=&n;
printf("Input n:"); scanf("%d",&p); printf("output n:"); printf("%d\n",p);
}
該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯誤,以下語句正確的是
A) int n,*p=NULL; B) *p=&n;
C) seanf("%d",&p) D) printf("%d\n",p);
31.以下程序中函數(shù)f的功能是:當(dāng)flag為1時,進行由小到大排序;當(dāng)flag為0時,進行由大到小排序。
void f(int) b[],int n,int flag)
{ int ij,t,
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(flag ? b>b[j]:b<b[j] { t=b;b=b[j];b[j]=t;}
}
main()
{int a[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&a[2],5,0); f(a,5,1);
for(i=0;i<10;i++) printf("%d,",a);
}
程序運行后的輸出結(jié)果是
A)1,2,3,4,5,6,7,8,9,10 B)3,4,5,6,7,2,1,8,9,10
C)5,4,3,2,1,6,7,8,9,10 D)10,9,8,7,6,5,4,3,2,1
32.有以下程序
void f(int b[J)
{ int i;
for(i=2;i<6;i++) b*=2;
}
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},i;
f(a);
for(i=0;i<10;i++) printf("%d,",a);
}
程序運行后的輸出結(jié)果是
A)1,2,3,4,5,6,7,8,9,10, B)1,2,6,8,10,12,7,8,9,10,
C)1,2,3,4,10,12,14,16,9,10, D)1,2,6,8,10,12,14,16,9,10,
33.
34.
35.
36.
37.
38.
39.
40.
![]()
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
二、填空題(每空2分,共計30分)1.在深度為7的二叉樹中,度為2的結(jié)點的個數(shù)為【1】
2.軟件測試分為白箱(盒)測試和黑箱(盒)測試,等價類劃分法屬于【2】測試
3.在數(shù)據(jù)庫系統(tǒng)中,實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【3】
4.軟件生命周期可分多個階段,一般為定義階段、開發(fā)階段和維護階段,編碼和測試屬于【4】階段
5.在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,使用【5】對其中的圖形元素進行解釋
6.
7.
8.
9.
![]()
10.
11.
12.
13.
14.
15.上一題【15】
16.
17.
18.
19.
20.
![]()
答案 |
|