C語言是計算機二級考試的科目之一,為了方便考生更好的複習C語言考試。下面是yjbys小編為大家帶來的二級C語言歷年真題及答案解析。歡迎閱讀。
C語言歷年真題及答案解析
(1)為了避免流程圖在描述程式邏輯時的靈活性,提出了用方框圖來代替傳統的程式流程圖,通常也把這種圖稱為
A)PAD圖B)N-S圖 C)結構圖 D)資料流圖
(2)結構化程式設計主要強調的是
A)程式的規模 B)程式的效率 C)程式設計語言的先進性 D)程式易讀性
(3)為了使模組儘可能獨立,要求
A)模組的內聚程度要儘量高,且各模組間的耦合程度要儘量強
B)模組的內聚程度要儘量高,且各模組間的耦合程度要儘量弱
C)模組的內聚程度要儘量低,且各模組間的耦合程度要儘量弱
D)模組的內聚程度要儘量低,且各模組間的耦合程度要儘量強
(4)需求分析階段的任務是確定
A)軟體開發方法 B)軟體開發工具 C)軟體開發費用 D)軟體系統功能
(5)演算法的有窮性是指
A)演算法程式的執行時間是有限的
B)演算法程式所處理的資料量是有限的
C)演算法程式的長度是有限的
D)演算法只能被有限的使用者使用
(6)對長度為n的線性表排序,在最壞情況下,比較次數不是n(n-1)/2的排序方法是
A)快速排序 B)氣泡排序 C)直接插入排序 D)堆排序
(7)如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是
A)e3,e1,e4,e2 B)e2,e4,e3,e1
C)e3,e4,e1,e2 D) 任意順序
(8)將E-R圖轉換到關係模式時,實體與聯絡都可以表示成
A)屬性 B)關係 C)鍵 D)域
(9)有三個關係R、S和T如下:
R
B C D
a 0 k1
b 1 n1
S
B C D
f 3 h2
a 0 k1
n 2 x1
T
BCD
a0k1
由關係R和S通過運算得到關係T,則所使用的運算為
A)並 B)自然連線 C)笛卡爾積 D)交
(10)下列有關資料庫的描述,正確的是
A)資料處理是將資訊轉化為資料的過程
B)資料的物理獨立性是指當資料的邏輯結構改變時,資料的儲存結構不變
C)關係中的每一列稱為元組,一個元組就是一個欄位
D)如果一個關係中的屬性或屬性組並非該關係的關鍵字,但它是另一個關係的關鍵字,則稱其為本關係的外關鍵字
(11)以下敘述中正確的是
A)用C程式實現的演算法必須要有輸入和輸出操作
B)用C程式實現的演算法可以沒有輸出但必須要有輸入
C)用C程式實現的演算法可以沒有輸入但必須要有輸出
D)用C程式實現的演算法可以既沒有輸入也沒有輸出
(12)下列可用於C語言使用者識別符號的一組是
A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof
(13)以下選項中可作為C語言合法常量的是
A)-80 B)-080 C)-8e1.0 D)-80.0e
(14)若有語句:char *line[5];,以下敘述中正確的是
A) 定義line是一個數組,每個陣列元素是一個基型別為char為指標變數
B) 定義line是一個指標變數,該變數可以指向一個長度為5的字元型陣列
C) 定義line是一個指標陣列,語句中的*號稱為間址運算子
D) 定義line是一個指向字元型函式的指標
(15)以下定義語句中正確的是
A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b; D)double a=0?0;b=1.1;
(16)有以下程式段
char ch; int k;
ch=′a′;
k=12;
printf("%c,%d,",ch,ch,k); printf("k=%d n",k);
已知字元a的ASCII碼值為97,則執行上述程式段後輸出結果是
A)因變數型別與格式描述符的型別不匹配輸出無定值
B)輸出項與格式描述符個數不符,輸出為零值或不定值
C)a,97,12k=12
D)a,97,k=12
(17)有以下程式
main()
{ int i,s=1;
for (i=1;i<50;i++)
if(!(i%5)&&!(i%3)) s+=i;
printf("%dn",s);}
程式的輸出結果是
A)409 B)277 C)1 D)91
(18)當變數c的值不為2、4、6時,值也為"真"的表示式是
A)(c==2)||(c==4)||(c==6)
B)(c>=2&& c<=6)||(c!=3)||(c!=5)
C)(c>=2&&c<=6)&&!(c%2)
D)(c>=2&& c<=6)&&(c%2!=1)
(19)若變數已正確定義,有以下程式段
int a=3,b=5,c=7;
if(a>b)a=b; c=a;
if(c!=a)c=b;
printf("%d,%d,%dn",a,b,c);
其輸出結果是
A)程式段有語法錯 B)3,5,3 C)3,5,5 D)3,5,7
(20)有以下程式
#include
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{ case 0:a++; break;
case 1:b++; break;
}
case 2:a++; b++; break;
case 3:a++; b++;
}
printf("a=%d,b=%dn",a,b);
}
程式的執行結果是
A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1