糯米文學吧

位置:首頁 > 英語 > 等級考試

全國計算機等級考試二級C語言

考試頻道小編為你收集整理2012年3月份全國計算機等級考試二級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

B C D

a 0 k1

由關係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

(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("%dn",*(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("%sn",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]>′