亚洲中文精品a∨在线,国产在线精品在线精品,国产亚洲欧美一区,欧美肉肉丝视频一区二区

您當(dāng)前位置: 唯學(xué)網(wǎng) » 計算機(jī)等級考試培訓(xùn) » 二級專題 »

3月計算機(jī)等級考試二級C語言真題及答案

3月計算機(jī)等級考試二級C語言真題及答案

唯學(xué)網(wǎng) • 教育培訓(xùn)

2015-2-14 13:44

計算機(jī)等級考試二級

計算機(jī)等級考試

唯學(xué)網(wǎng) • 中國教育電子商務(wù)平臺

加入收藏

計算機(jī)等級考試時間是全國統(tǒng)一時間,2015年計算機(jī)等級考試安排在3月份舉行,為了使考生能更好的進(jìn)行備考,唯學(xué)網(wǎng)小編整理了3月計算機(jī)等級考試二級C語言真題及答案,希望對大家的備考能有所幫助,以下是3月計算機(jī)等級考試二級C語言真題及答案的具體內(nèi)容。

一、 選擇題

(1)下列關(guān)于棧敘述正確的是

A)棧頂元素最先能被刪除

B)棧頂元素最后才能被刪除

C)棧底元素永遠(yuǎn)不能被刪除

D)以上三種說法都不對

(2)下列敘述中正確的是

A)有一個以上根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)

B)只有一個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)

C)循環(huán)鏈表是非線性結(jié)構(gòu)

D)雙向鏈表是非線性結(jié)構(gòu)

(3)某二叉樹共有7個結(jié)點,其中葉子結(jié)點只有1個,則該二叉樹的深度為(假設(shè)根結(jié)點在第1層)

A)3

B)4

C)6

D)7

(4)在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是

A)軟件集成測試計劃

B)軟件詳細(xì)設(shè)計說明書

C)用戶手冊

D)軟件需求規(guī)格說明書

(5)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括

A)順序結(jié)構(gòu)

B)GOTO跳轉(zhuǎn)

C)選擇(分支)結(jié)構(gòu)

D)重復(fù)(循環(huán))結(jié)構(gòu)

(6)下面描述中錯誤的是

A)系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計

B)軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表示的過程

C)數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務(wù)之一

D)PAD圖是軟件詳細(xì)設(shè)計的表示工具

(7)負(fù)責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是

A)數(shù)據(jù)定義語言

B)數(shù)據(jù)管理語言

C)數(shù)據(jù)操縱語言

D)數(shù)據(jù)控制語言

(8)一個教師可講授多門課程,一門課程可由多個教師講授。則實體教師和課程間的聯(lián)系是

A)1:1聯(lián)系

B)1:m聯(lián)系

C)m:1聯(lián)系

D)m:n聯(lián)系

(9)有三個關(guān)系R、S和T如下:

則由關(guān)系R和S得到關(guān)系T的操作是

A)自然連接

B)交

C)除

D)并

(10)定義無符號整數(shù)類為UInt,下面可以作為類UInt實例化值的是

A)-369

B)369

C)0.369

D)整數(shù)集合{1,2,3,4,5}

(11)計算機(jī)高級語言程序的運行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是

A)C語言程序僅可以編譯執(zhí)行

B)C語言程序僅可以解釋執(zhí)行

C)C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行

D)以上說法都不對

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

A)C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的

B)用C語言編寫的源程序不能直接在計算機(jī)上運行

C)通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運行

D)在沒有安裝C語言集成開發(fā)環(huán)境的機(jī)器上不能運行C源程序生成的.exe文件

(13)以下選項中不能用作C程序合法常量的是

A)1,234

B)'\123'

C)123

D)"\x7G"

(14)以下選項中可用作C程序合法實數(shù)的是

A).1e0

B)3.0e0.2

C)E9

D)9.12E

(15)若有定義語句:int a=3,b=2,c=1;,以下選項中錯誤的賦值表達(dá)式是

A)a=(b=4)=3;

B)a=b=c+1;

C)a=(b=4)+c;

D)a=1+(b=c=4);

(16)有以下程序段

char name[20];

int num;

scanf("name=%snum=%d",name;&num);

當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili num=1001<回車>后,name的值為

A)Lili

B)name=Lili

C)Lilinum=

D)name=Lili num=1001

(17)if語句的基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是

A)必須是邏輯值

B)必須是整數(shù)值

C)必須是正數(shù)

D)可以是任意合法的數(shù)值

(18)有以下程序

#include

main()

{ int x=011;

printf("%d\n",++x);

}

程序運行后的輸出結(jié)果是

A)12

B)11

C)10

D)9

(19)有以下程序

#include

main()

{ int s;

scanf("%d",&s);

while(s>0)

{ switch(s)

{ case 1:printf("%d",s+5);

case 2:printf("%d",s+4);break;

case 3:printf("%d",s+3);

default:printf("%d",s+1);break;

}

scanf("%d",&s);

}

}

運行時,若輸入1 2 34 5 0<回車>,則輸出結(jié)果是

A)6566456

B)66656

C)66666

D)6666656

(20)有以下程序段

int i,n;

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

{n=rand()%5;

switch (n)

{ case 1:

case 3:printf("%d\n",n); break;

case 2:

case 4:printf("%d\n",n);continue;

case 0:exit(0);

}

printf("%d\n",n);

}

以下關(guān)于程序段執(zhí)行情況的敘述,正確的是

A)for循環(huán)語句固定執(zhí)行8次

B)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時結(jié)束循環(huán)操作

C)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時不做任何操作

D)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時結(jié)束程序運行

(21)有以下程序

#include

main()

{ chars[]="012xy\08s34f4w2";

int i,n=0;

for(i=0;s[i]!=0;i++)

if(s[i]>='0'&&s[i]<='9')n++;

printf("%d\n",n);

}

程序運行后的輸出結(jié)果是

A)0

B)3

C)7

D)8

(22)若i和k都是int類型變量,有以下for語句

for(i=0,k=-1;k=1;k++)printf("*****\n");

下面關(guān)于語句執(zhí)行情況的敘述中正確的是

A)循環(huán)體執(zhí)行兩次

B)循環(huán)體執(zhí)行一次

C)循環(huán)體一次也不執(zhí)行

D)構(gòu)成無限循環(huán)

(23)有以下程序

#include

main()

{ char b,c;int i;

b='a'; c='A';

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

{ if(i%2) putchar(i+

B);

else putchar(i+

C);

}

printf("\n");

}

程序運行后的輸出結(jié)果是

A)ABCDEF

B)AbCdEf

C)aBcDeF

D)abcdef

(24)設(shè)有定義:double x[10],*p=x;,以下能給數(shù)組x下標(biāo)為6的元素讀入數(shù)據(jù)的正確語句是

A)scanf("%f",&x[6]);

B)scanf("%lf",*(x+6));

C)scanf("%lf",p+6);

D)scanf("%lf",p[6]);

(25)有以下程序(說明:字母A的ASCII碼值是65)

#include

voidfun(char *s)

{ while(*s)

{ if(*s%2) printf("%c",*s);

s++;

}

}

main()

{ char a[]="BYTE";

fun(a);

printf("\n");

}

程序運行后的輸出結(jié)果是

A)BY

B)BT

C)YT

D) YE

(26)有以下程序段

#include

main()

{ …

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

}

以下敘述中正確的是

A)此while語句將無限循環(huán)

B) getchar()不可以出現(xiàn)在while語句的條件表達(dá)式中

C)當(dāng)執(zhí)行此while語句時,只有按回車鍵程序才能繼續(xù)執(zhí)行

D)當(dāng)執(zhí)行此while語句時,按任意鍵程序就能繼續(xù)執(zhí)行

(27)有以下程序

#include

main()

{ int x=1,y=0;

if(!x) y++;

else if(x==0)

if (x) y+=2;

else y+=3;

printf("%d\n",y);

}

程序運行后的輸出結(jié)果是

A)3

B)2

C)1

D) 0

(28)若有定義語句:char s[3][10],(*k)[3],*p;,則以下賦值語句正確的是

A)p=s;

B)p=k;

C)p=s[0];

D)k=s;

(29)有以下程序

#include

voidfun(char *

C)

{ while(*

C)

{if(*c>='a'&&*c<='z') *c=*c-('a'-'A');

c++;

}

}

main()

{ chars[81];

gets(s);

fun(s);

puts(s);

}

當(dāng)執(zhí)行程序時從鍵盤上輸入HelloBeijing<回車>,則程序的輸出結(jié)果是

A)hello beijing

B)Hello Beijing

C)HELLO BEIJING

D)hELLO Beijing

(30)以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。

#include

#define N 10

void fun(intx[N])

{ int i=0;

while(i}

在程序中下劃線處應(yīng)填入的是

A)x+i

B)&x[i+1]

C)x+(i++)

D)&x[++i]

(31)有以下程序

#include

main()

{ chara[30],b[30];

scanf("%s",a);

gets(

B);

printf("%s\n %s\n",a,

B);

}

程序運行時若輸入:

how areyou? I am fine<回車>

則輸出結(jié)果是

A)how areyou?

B)how

I am fine are you? I am fine

C)how areyou? I am fine

D)how are you?

(32)設(shè)有如下函數(shù)定義

int fun(intk)

{ if(k<1) return 0;

elseif(k==1) return 1;

else returnfun(k-1)+1;

}

若執(zhí)行調(diào)用語句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是

A)2

B)3

C)4

D)5

(33)有以下程序

#include

int fun (int x,int y)

{ if(x!=y) return ((x+y)/2);

else return (x);

}

main()

{ inta=4,b=5,c=6;

printf("%d\n",fun(2*a,fun(b,

C)));

}

程序運行后的輸出結(jié)果是

A)3

B)6

C)8

D)12

(34)有以下程序

#include

int fun()

{ static intx=1;

x*=2;

return x;

}

main()

{ int i,s=1;

for(i=1;i<=3;i++) s*=fun();

printf("%d\n",s);

}

程序運行后的輸出結(jié)果是

A)0

B)10

C)30

D)64

(35)有以下程序

#include

#define S(x)4*(x)*x+1

main()

{ intk=5,j=2;

printf("%d\n",S(k+j));

}

程序運行后的輸出結(jié)果是

A)197

B)143

C)33

D)28

(36)設(shè)有定義:struct {char mark[12];int num1;double num2;} t1,t2;,若變量均已正確賦初值,則以下語句中錯誤的是

A)t1=t2;

B)t2.num1=t1.num1;

C)t2.mark=t1.mark;

D)t2.num2=t1.num2;

(37)有以下程序

#include

struct ord

{ int x,y;}dt[2]={1,2,3,4};

main()

{

struct ord *p=dt;

printf("%d,",++(p->x));printf("%d\n",++(p->y));

}

程序運行后的輸出結(jié)果是

A)1,2

B)4,1

C)3,4

D)2,3

(38)有以下程序

#include

struct S

{ inta,b;}data[2]={10,100,20,200};

main()

{ struct Sp=data[1];

printf("%d\n",++(p.a));

}

程序運行后的輸出結(jié)果是

A)10

B)11

C)20

D)21

(39)有以下程序

#include

main()

{ unsignedchar a=8,c;

c=a>>3;

printf("%d\n",

C);

}

程序運行后的輸出結(jié)果是

A)32

B)16

C)1

D)0

(40)設(shè)fp已定義,執(zhí)行語句fp=fopen("file","w");后,以下針對文本文件file操作敘述的選項中正確的是

A)寫操作結(jié)束后可以從頭開始讀

B)只能寫不能讀

C)可以在原有內(nèi)容后追加寫

D)可以隨意讀和寫

二、填空題

(1)有序線性表能進(jìn)行二分查找的前提是該線性表必須是【1】存儲的。

(2)一棵二叉樹的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF,則后序遍歷結(jié)果為 【2】 。

(3)對軟件設(shè)計的最小單位(模塊或程序單元)進(jìn)行的測試通常稱為 【3】 測試。

(4)實體完整性約束要求關(guān)系數(shù)據(jù)庫中元組的【4】屬性值不能為空。

(5)在關(guān)系A(chǔ)(S,SN,

D)和關(guān)系B(D,CN,NM)中,A的主關(guān)鍵字是S,B的主關(guān)鍵字是D,則稱 【5】 是關(guān)系A(chǔ)的外碼。

(6)以下程序運行后的輸出結(jié)果是【6】。

#include

main()

{ int a;

a=(int)((double)(3/2)+0.5+(int)1.99*2);

printf("%d\n",a);

}

(7) 有以下程序

#include

main()

{ int x;

scanf("%d",&x);

if(x>15)printf("%d",x-5);

if(x>10)printf("%d",x);

if(x>5)printf("%d\n",x+5);

}

若程序運行時從鍵盤輸入12<回車>,則輸出結(jié)果為【7】。

(8)有以下程序(說明:字符0的ASCII碼值為48)

#include

main()

{ charc1,c2;

scanf("%d",&c1);

c2=c1+9;

printf("%c%c\n",c1,c2);

}

若程序運行時從鍵盤輸入48<回車>,則輸出結(jié)果為【8】。

(9)有以下函數(shù)

voidprt(char ch,int n)

{ int i;

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

printf(i%6!=0?"%c":"%c\n",ch);

}

執(zhí)行調(diào)用語句prt('*',24);后,函數(shù)共輸出了 【9】 行*號。

(10)以下程序運行后的輸出結(jié)果是【10】。

#include

main()

{ int x=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

printf("%d %d\n",x,y);

}

(11)己知a所指的數(shù)組中有N個元素。函數(shù)fun的功能是,將下標(biāo)k(k>0)開始的后續(xù)元素全部向前移動一個位置。請?zhí)羁铡?/p>

void fun(inta[N],int k)

{ int i;

for(i=k;i  }

(12)有以下程序,請在【12】處填寫正確語句,使程序可正常編譯運行。

#include

【12】 ;

main()

{ double x,y,(*p)();

scanf("%lf%lf",&x,&y);

p=avg;

printf("%f\n",(*p)(x,y));

}

double avg(double a,double

B)

{return((a+

B)/2);}

(13)以下程序運行后的輸出結(jié)果是 【13】 。

#include

main()

{ int i,n[5]={0};

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

{ n[i]=n[i-1]*2+1;printf("%d",n[i]); }

printf("\n");

}

(14)以下程序運行后的輸出結(jié)果是 【14】 。

#include

#include

#include

main()

{ char *p;int i;

p=(char*)malloc(sizeof(char)*20);

strcpy(p,"welcome");

for(i=6;i>=0;i--) putchar(*(p+i));

printf("\n"); free(p);

}

(15)以下程序運行后的輸出結(jié)果是【15】。

#include

main()

{ FILE *fp;int x[6]={1,2,3,4,5,6},i;

fp=fopen("test.dat","wb");

fwrite(x,sizeof(int),3,fp);

rewind(fp);

fread(x,sizeof(int),3,fp);

for(i=0;i<6;i++) printf("%d",x[i]);

printf("\n");

fclose(fp);

}

參考答案

一、選擇題 :

1-5 ABDDB 6-10 ACDCB

11-15 ADAAA 16-20 ADCAD

21-25 BDBCD 26-30 CDCCC

31-35 BBBDB 36-40 CDDCB

二、填空題 :

【1】 有序 【2】 DEBFCA 【3】單元

【4】 主鍵 【5】 D 【6】 3

【7】 1217 【8】 09 【9】 4

【10】 20 0 【11】 i-1

【12】 double avg(double,double);或doubleavg(double a,double B);

【13】 13715 【14】 emoclew 【15】 123456

以上內(nèi)容是3月計算機(jī)等級考試二級C語言真題及答案,更多計算機(jī)等級考試考試試題、計算機(jī)等級考試成績查詢等,可隨時關(guān)注唯學(xué)網(wǎng)計算機(jī)等級考試培訓(xùn)欄目,如有任何疑問也可在線留言,小編會為您在第一時間解答!

0% (0)
0% (10)
已有條評論