當前位置:才華齋>英語>等級考試>

全國計算機等級考試二級C語言-筆試第一套

等級考試 閱讀(1.77W)

考試頻道小編收集整理計算機等級考試資料,免費提供給大家交流參考。 
 一、選擇題

全國計算機等級考試二級C語言-筆試第一套

在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項塗寫在答題卡相應位置上,答在試卷上不得分。

(1)軟體生命週期中花費費用最多的階段是

A)詳細設計 B)軟體編碼 C)軟體測試 D)軟體維護

(2)為了提高測試的效率,應該

A)隨機選取測試資料 B)取一切可能的輸入資料作為測試資料 C)在完成編碼以後制定軟體的測試計劃 D)集中對付那些錯誤群集的程式

(3)以下不是面向物件思想中的主要特徵的是

A)多型 B)繼承 C)封裝 D)垃圾回收

(4)下列敘述中,不符合良好程式設計風格要求的是

A)程式的效率第一,清晰第二 B)程式的可讀性好 C)程式中要有必要的註釋 D)輸入資料前要有提示資訊

(5)軟體設計包括軟體的結構、資料介面和過程設計,其中軟體的過程設計是指

A)模組間的關係 B)系統結構部件轉換成軟體的過程描述 C)軟體層次結構 D)軟體開發過程

(6)資料處理的最小單位是

A)資料 B)資料元素 C)資料項 D)資料結構

(7)假設線性表的長度為n,則在最壞情況下,氣泡排序需要的比較次數為

A)log2n B)n2 C)O(n1..5) D)n(n-1)/2

(8)在深度為5的滿二叉樹中,葉子結點的個數為

A)32 B)31 C)16 D)15

(9)資料庫系統的核心是

A)資料庫 B)資料庫管理系統 C)模擬模型 D)軟體工程

(10)一個關係中屬性個數為1時,稱此關係為

A)對應關係 B)單一關係 C)一元關係 D)二元關係

(11)下面各選項中,均是C語言合法識別符號的選項組是

A)33 we auto B)_23 me _3ew C)_43 3e_ else D)ER -DF 32

(12)可在C程式中用作使用者識別符號的一組識別符號是

A)and B)Date C)Hi D)case

_2007 y-m-d Bigl

(13)以下對C語言函式的有關描述中,正確的是

A)在C語言中呼叫函式時,只能把實參的值傳給形參,形參的值不能傳送給實參

B)C函式既可以巢狀定義又可以遞迴呼叫

C)函式必須有返回值,否則不能使用函式

D)函式必須有返回值,返回值型別不定

(14)若函式呼叫時的實參為變數時,以下關於函式形參和實參的敘述中正確的是

A)函式的實參和其對應的形參共佔同一儲存單元 B)形參只是形式上的存在,不佔用具體儲存單元

C)同名的實參和形參佔同一儲存單元 D)函式的形參和實參分別佔用不同的儲存單元

(15)現有定義int a;double b;float c;char k;,則表示式a/b+c-k值的型別為:

A)int B)double C)float D)char

(16)以下關於long、int和short型別資料佔用記憶體大小的敘述中正確的是

A)均佔4個位元組 B)根據資料的大小來決定所佔記憶體的位元組數

C)由使用者自己定義 D)由C語言編譯系統決定

(17)有以下程式段

int j;float y;char name[50];

scanf("%2d%f%s",&j,&y,name);

當執行上述程式段,從鍵盤上輸入55566 7777abc後,y的值為

A)55566.0 B)566.0 C)7777.0 D)566777.0

(18)若變數已正確定義,有以下程式段

i=0;

do printf("%d,",i);while(i++);

printf("%dn",i);

其輸出結果是

A)0,0 B)0,1 C)1,1 D)程式進入無限迴圈

(19)下列程式的執行結果是

#include "stdio.h"

main()

{ int x=-9,y=5,z=8;

if(x

if(y<0)z=0;

else z+=1;

printf("%dn",z);}

A)6 B)7 C)8 D)9

(20)若程式執行時的輸入資料是"2473",則下述程式的輸出結果是

#include

void main()

{ int cs;

while((cs=getchar())!=; 'n')

{switch(cs-'2')

{ case 0

case 1: putchar(cs+4);

case 2: putchar(cs+4);

break;

case 3: putchar(cs+3); default: putchar(cs+2); } } }

A)668977

B)668966

C)6677877

D)6688766

(21)以下程式的輸出結果是

main()

{ int a,i;a=0;

for(i=1;i<5;i++)

{ switch(i)

{ case 0:

case 3:a+=2;

case 1:

case 2:a+=3;

default:a+=5; }

}printf("%dn",a);}

A)31 B)13 C)10 D)20

(22)現有如下程式段

#include "stdio.h"

main()

{ int k[30]={12,324,45,6,768,98,21,34,453,456};

int count=0,i=0;

while(k[i])

{ if(k[i]%2==0||k[i]%5==0)count++;

i++; }

printf("%d,%dn",count,i);}

則程式段的輸出結果為

A)7,8 B)8,8 C)7,10 D)8,10

(23)若有以下程式

#include

int a[]={2,4,6,8};

main()

{ int i;

int *p=a;

for(i=0;i<4;i++)a[i]=*p;

printf("%dn",a[2]);}

上面程式的輸出結果是

A)6 B)8 C)4 D)2

(24)有以下程式

#include

main()

{ int i,j,m=55;

for(i=1;i<=3;i++)

for(j=3;j<=i;j++)m=m%j;

printf("%dn",m);

}

程式的執行結果是

A)0 B)1 C)2 D)3

(25)已知字元′A′的ASCII碼值是65,字元變數cl的值是′A′,c2 的值是′D′。執行語句printf("%d,%d",c1,c2-2);後,輸出結果是

A)A,B B)A,68 C)65,66 D)65,68

(26)下列程式是用來判斷陣列中特定元素的位置所在的。

#include

#include

int fun(int *s, int t, int *k)

{ int i;

*k=0;

for(i=0;i

if(s[*k]

return s[*k]; }

main()

{ int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;

fun(a, 10, &k);

printf("%d, %dn",k,a[k]);}

如果輸入如下整數:876 675 896 101 301 401 980 431 451 777

則輸出結果為

A)7,431 B)6 C)980 D)6,980

(27)下面程式的檔名為,在DOS下輸入的命令列引數為:t to meet me<回車>

則程式輸出的結果是

#include "stdio.h"

main(argc,argv)

int argc;char *argv[];

{ int i;

printf("%dn",argc);}

A)3 B)4 C)2 D)以上答案都不正確

(28)有如下程式

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

(29)以下敘述中錯誤的是

A)改變函式形參的值,不會改變對應實參的值 B)函式可以返回地址值

C)可以給指標變數賦一個整數作為地址值 D)當在程式的開頭包含標頭檔案stdio.h時,可以給指標變數賦NULL

(30)下面程式的輸出結果是

#include

main()

{ int a[]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf("%dn",*p+9);}

A)0 B)1 C)10 D)9

(31)有下面程式段

#include "stdio.h"

#include "string.h"

main()

{ char a[3][20]={{"china"},{"isa"},{"bigcountry!"}};

char k[100]={0},*p=k;

int i;

for(i=0;i<3;i++)

{ p=strcat(p,a[i]);}

i=strlen(p);

printf("%dn",i);}

則程式段的輸出結果是

A)18 B)19 C)20 D)21

(32)若有定義: char *st= "how are you "; ,下列程式段中正確的是

A)char a[11], *p; strcpy(p=a+1,&st[4]); B)char a[11]; strcpy(++a, st);

C)char a[11]; strcpy(a, st); D)char a[], *p; strcpy(p=&a[1],st+2);

(33)有以下程式

#include

int fun(char s[])

{ int n=0;

while(*s<=′9′&&*s>=′0′) {n=10*n+*s-′0′;s++;}

return(n);

}

main()

{ char s[10]={′6′,′1′,′*′,′4′,′*′,′9′,′*′,′0′,′*′};

printf("%dn",fun(s));

}

程式的執行結果是

A)9 B)61490 C)61 D)5

(34)設有定義:char p[]={′1′,′2′,′3′},*q=p;,以下不能計算出一個char型資料所佔位元組數的表示式是

A)sizeof(p) B)sizeof(char) C)sizeof(*q) D)sizeof(p[0])

(35)有以下函式

int aaa(char *s)

{ char *t=s;

while(*t++);

t--;

return(t-s);

}