網站首頁 語言 會計 互聯網計算機 醫學 學歷 職場 文藝體育 範文
當前位置:學識谷 > 英語 > 等級考試

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

欄目: 等級考試 / 發佈於: / 人氣:1.64W

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

全國計算機等級考試二級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);

}