全國計算機等級考試二級C語言選擇題大全
C語言之所以命名為C,是因為 C語言源自Ken Thompson發明的B語言,而 B語言則源自BCPL語言。下面給大家整理了全國計算機等級考試二級C語言選擇題大全,歡迎閲讀!
全國計算機等級考試二級C語言選擇題大全在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的。
(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=00;b=1.1;
(16)有以下程序段
char ch; int k;
ch=′a′;
k=12;
printf("%c,%d,",ch,ch,k); printf("k=%d",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("%d",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,%d",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=%d",a,b);
}
程序的運行結果是
A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1
(21)下列程序的輸出結果是
#include "stdio.h"
main()
{ int i,a=0,b=0;
for(i=1;i<10;i++)
{ if(i%2==0)
{a++;
continue;}
b++;}
printf("a=%d,b=%d",a,b); }
A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5
(22)已知
#int t=0;
while (t=1)
{...}
則以下敍述正確的是
A)循環控制表達式的值為0
B)循環控制表達式的值為1
C)循環控制表達式不合法
D)以上説法都不對
(23)下面程序的輸出結果是
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d",*(p+2));}
A)3 B)4 C)1 D)2
(24)以下錯誤的定義語句是
A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};
(25)有以下程序
void ss(char *s,char t)
{ while(*s)
{ if(*s==t)*s=t-′a′+′A′;
s++; } }
main()
{ char str1[100]="abcddfefdbd",c=′d′;
ss(str1,c); printf("%s",str1);}
程序運行後的輸出結果是
A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd
(26)有如下程序
main()
{ char ch[2][5]={"6937","8254"},*p[2];
int i,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>′