《2012年到2007年國家計算機二級c語言歷年真題及答案》_第1頁
《2012年到2007年國家計算機二級c語言歷年真題及答案》_第2頁
《2012年到2007年國家計算機二級c語言歷年真題及答案》_第3頁
《2012年到2007年國家計算機二級c語言歷年真題及答案》_第4頁
已閱讀5頁,還剩192頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2012年3月全國計算機等級考試二級C語言真題

(考試時間90分鐘,滿分100分)

ー、選擇題

1、下列敘述中正確的是:A,循環(huán)隊列是隊列的ー種順序存儲結(jié)構(gòu)

B、循環(huán)隊列是隊列的ー種鏈式存儲結(jié)構(gòu)

C,循環(huán)隊列是非線性結(jié)構(gòu)

D、循環(huán)隊列是一直邏輯結(jié)構(gòu)

2、下列敘述中正確的是

A、棧是ー種先進先出的線性表

B、隊列是ー種后進先出的線性表

C、棧和隊列都是非線性結(jié)構(gòu)

D,以上三種說法都不對

3、一棵ニ叉樹共有25個節(jié)點,其中5個時子節(jié)點,那么度為1的節(jié)點數(shù)為

A、4 B、6 C、10 D、164、在下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是

A、內(nèi)模式 B、外模式 C,概念模式D'邏輯模式5、在滿足實體完整性約束的條件下

A、ー個關(guān)系中可以沒有候選關(guān)鍵詞

B、一個關(guān)系中只能有一個候選關(guān)鍵詞

C、ー個關(guān)系中必須有多個候選關(guān)鍵詞

D、ー個關(guān)系中應(yīng)該有一個或者多個候選關(guān)鍵詞6,有三個關(guān)系R、S和T如下:

R

ABC

a1 2b2 1c3 1則由關(guān)系R和S得到關(guān)系T的操作是

A、自然連接 B、并C、差D、交7、軟件生命周期中的活動不包括A、軟件維護 B、市場調(diào)研 C、軟件測試 D、需求分析8、下面不屬于需求分析階段任務(wù)的是A、確定軟件系統(tǒng)的功能需求 B、確定軟件系統(tǒng)的系統(tǒng)的系能需求B,制定軟件集成測試計劃 D、需求規(guī)格說明書審評9、在黑盒測試方式中,設(shè)計測試用例的主要根據(jù)是

A,程序外部功能 B、程序內(nèi)部邏輯C、程序數(shù)據(jù)結(jié)構(gòu) D、程序流程圖10、在軟件設(shè)計中不使用的工具是

A、系統(tǒng)結(jié)構(gòu)圖B、程序流程圖

C、PAD圖D、數(shù)據(jù)流圖(DFD圖)11、針對簡單程序設(shè)計,以下敘述的實施步驟正確的是

A、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔

B、編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔

C、整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試

D、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔

12、關(guān)于C語言中數(shù)的表示,以下敘述正確的是

A、只有整型數(shù)在允許范圍內(nèi)能精確無誤的表示,實型數(shù)會有誤差

B、只要在在允許范圍內(nèi)整型和實型都能精確表示

C、只有實型數(shù)在允許范圍內(nèi)能精確無誤的表示,整型數(shù)會有誤差

D、只有八進制表示的數(shù)在不會有誤差

13、以下關(guān)于算法敘述錯誤的是

A、算法可以用偽代碼、流程圖等多種形式來描述

B、一個正確的算法必須有輸入

C,ー個正確的算法必須有輸出

D、用流程圖可以描述的算法可以用任何ー種計算機高級語言編寫成程序代碼

14、以下敘述錯誤的是

A、ー個C程序可以包含多個不同名的函數(shù)

B,ー個C程序只能有一個主函數(shù)

C、C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過

D,C程序的主函數(shù)必須用main作為函數(shù)名

15、設(shè)有以下語句

Charchl,ch2,scanf(,,%c%c,,,&chl,&ch2);若要為變量chi和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是A、A和B之間用逗號間隔 B、A和B之間不能有任何間隔符C、A和B之間可以用回車間隔 D、A和B之間用空格間隔16、以下選項中非法的字符常量是

A、,\102,B、'\65'C、D、'\019'

17、有以下程序

#include<sthio.h>

Main()

(

IntA=O,B=O,C=O;

C=(A-=A-5);(A=B,B+=4);

Printf(u%d,%d,%d\rT,A,B,C)

)

程序運行后輸出的結(jié)果是A0,43B4,4,5 C4,4,4D0,0,018、設(shè)變量均已正確定義并且賦值,以下與其他三組輸出結(jié)構(gòu)不同的ー組語句是

A、x++;printf((u%d\n,\x); B、n=++x;printf(("%d\n”,n);C、++x;printf(("%d\iT,x); D、n=x++;printf((u%d\n,,,n);19、以下選項中,能表示邏輯值“假”的是A1 B0.000001 C0 D100.020、有以下程序

#include<sthio.h>Main()

{inta;

Scanf(“%d”,&a);

If(a++<9)printf((M%d\n,?;

Elseprintf((u%d\n,\a-);

}

程序運行時鍵盤輸入9〈回車〉,則輸出的結(jié)構(gòu)是

A、10B11C9D8

21、有以下程序

#include<sthio.h>

Main()

{ints=O,n;

For(n=0;n<3;n<++)

{switch(s)

{case0;

Casel;s+=l;

Case2;s+=2;break;

Case3;s+3;

Case4;s+=4;

)

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

}

}

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

A1,2,4B1,3,6C3,10,14D3,6,10

22、若k是int類型變量,且有以下for語句

For(k=-l;k<O;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<sthio.h>

Main()

{charA,B,C;

B=T;C=,A'

For(A=0;A<6;A++)

{if(A%2)putchar(B+A);

Elseputchar(C+A);

}

}

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

A1B3D5FBABCDFECA2C4E6D123456

24、設(shè)有如下定義語句

Intm[]={2,4,6,8},*k=m;以下選項中,表達式的值為6的是A*(k+2)Bk+2 C*k+2 D*k+=225、fun函數(shù)的功能是:通過鍵盤輸入給x所指的整型數(shù)組所有元素賦值。在下列劃線處應(yīng)

該填寫的是#include<sthio.h>#denneN5Viodfun(intx[N])

{intm;

For(m=N-l;m>0;m—)scanf("%d\n",);

)A&x[++m]B&x[m+l]Cx+(m++)Dx+m26、若有函數(shù)Viodfun(doublea[],int*n)

{ }以下敘述中正確的是A、調(diào)用fun函數(shù)時只有數(shù)組執(zhí)行按值傳送,其他實參和形參之間執(zhí)行按地址傳送

B、形參a和n都是指針變量C、形參a是ー個數(shù)組名,n是指針變量D、調(diào)用fun函數(shù)時將把double型實參數(shù)組元素ーー對應(yīng)地傳送給形參a數(shù)組

27、有以下程序#include<sthio.h>Main()

{inta,b,k,m,*pl,*p2;

k—1,m=8;

pl=&k,p2=&m;

a=/*pl-m;b=*pl+*p2+6;

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

}

編譯時編譯器提示錯誤信息,你認為出錯的語句是A、a=/*pl-m B、b=*pl+*p2+6C、k=l,m=8; D、pl=&k,p2=&m;28、以下選項中有語法錯誤的是Achar*str[]={uguesf,}; B、charstr[10]={“guest”};C、char*str[3]*str[l]={uguesf,};D、charstr[3J[10J;str[l]={uguestM);29、avg函數(shù)的功能是求整型數(shù)組中的前若干個元素的平均值,設(shè)數(shù)組元素個數(shù)最多不超過

10,則下列函數(shù)說明語句錯誤的是A、intavg(int*a,intn);B、intavg(inta[10],intn);C、intavg(inta,intn);D、intavg(inta[],intn);

30、有以下函數(shù)

#include<sthio.h>#include<string.h>

main(){printf(“%d\n”,strren”ATS\nO12\l"));}

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

A3B8 C4D931、有以下函數(shù)#include<sthio.h>

main(){chara[20],b[20],c[20];scanf("%s%s”,a,b);get(c);printf(M%s%s\nM,a,b,c);)程序運行時從第一行開始輸入thisisacatk回車),則輸出結(jié)果是

Athisisacat!BthisisaCthisisacat!Dthisisacat!32、有以下函數(shù)#include<sthio.h>

viodfun(charc)

{if(0,X,)fun(c-l);printf("%c”,c);)

main()

{fun”z”;}

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

AxyzBwxyzCzyxwDzyx

33、有以下函數(shù)

#include<sthio.h>

viodfunc(intn){inti;for(i=0;i<=n;i++)printf("種);printf("#“);

main(){func(3);printf(u????M);func(4);printf("\n”);}

程序運行輸出結(jié)果是A****夫ッワワッ***# b**ホ#ツツツ?*****#CホCホ?豆ツツツツ*****#D****?ツツツツ*****#34、有以下函數(shù)34、有以下函數(shù)#include<sthio.h>viodfun(int*s)

{staicintj=0;

do{s[j]=s[j]+s[j+l];}wihle(++j<2);

)

main()

{intk,a[10]={1,23,4,5};

for(K+l;k<3;k++)fun(a);

for(K+l;k<5;k++)printf(u%dM,a[k]);

printf(%”);

)程序運行輸出結(jié)果是A12345B23445C34756D3574535、有以下函數(shù)#include<sthio.h>#defineS(x)(x)*x*2

main()

{intk=5J=2;printf(u%d,M,Slk+j]);printf(u%d\nM,S(k-j)));

}

程序運行輸出結(jié)果是A98,18B39,11 C39,18D98,ll36、有以下函數(shù)

#include<sthio.h>

Viodexch(intt[])

{t[0]=t[5];}

{intx[10]={1,2,3,4,5,6J,8,9,10},1=0;

While(i<=4){exch(&x[i]),i++;}

for(i=0;i<5;i++) printf(“%d”,メロ]);prindT"”);

}

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

A246810B13579C12345D678910

37、設(shè)有以下程序段

StructMP3

{charname[20];Charcolor;Floatprice;}std,*ptr;

ptr=&std;若要引用結(jié)構(gòu)體變量Std中的color成員,寫法錯誤的是

Astd.colorBptr->color Cstd->colorD(*ptr).color38、有以下函數(shù)

#include<sthio.h>structstu

{intmun;charname[10];intage;};

viodfun(structstu*p)

{printf(w%s\n",p->name);}

mian(){structstux[3]={{01,,,zhang,,,20},{02,,,wang,\19},{03,,,zhao,,,18}};

fun(x+2);)

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

AzhangBzhaoCwangD19

39、有以下函數(shù)#include<sthio.h>

mian()

{inta=12,c;

c=(a?2)?l;

printf(M%d\nM,c):

}

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

A3B50C2D96

40、以下函數(shù)不能用于向文件寫入數(shù)據(jù)的是

Aftell Bfwrite Cfputc Dfprintf二、 填空題TOC\o"1-5"\h\z1、將長度為n的順序存儲在線性表中刪除ー個元素,最壞情況下需要移動表中的元素個數(shù)為( )?2、設(shè)循環(huán)隊列的存儲空間為Q(l:3),初始狀態(tài)為front=rear=30?,F(xiàn)經(jīng)過一系列入隊與退隊運算后,front=16,rear=15,則循環(huán)隊列中有( )個元素。3、數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負責(zé)數(shù)據(jù)的增、刪、改和査詢的是( )?4、在將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體和聯(lián)系都可以表示成()?5、常見的軟件工程方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒ǎ?、繼承以及多態(tài)性等概念屬于

()?6、設(shè)變量a和b已定義為int類型,若要通過scanf("a=%d,b=%d”,&a,&b);語句分別給a和b輸入1和2,則正確的數(shù)據(jù)輸入內(nèi)容是( )?7、以下程序的輸出結(jié)果是( ).#include<sthio.h>

mian()

{inta=37;

a+=a%=9;printf("%d\n”,a);

}8、設(shè)a、b、c都是整型變量,如果a的值為1,b的值為2,則執(zhí)行c=a++llb++;語句后,

變量b的值是().9、有以下程序段

s=1.0;for(k=l,k<=n;k++) s=s+1.0(k*(k+l));printf("%f\n",s);請?zhí)羁?使以下程序段的功能與上面的程序段完全相同。

s=1.0;k=l;

while(){s=s+1.0(k*(k+l));k=k+l;}

printf(u%f\n,,,s);10、以下程序段的輸出結(jié)果是( )#include<sthio.h>

mian()

{chara,b;for(a=0;a<20;a+=7){b=a%10;putchar(b+,O,);}

}11、以下程序段的輸出結(jié)果是( )#include<sthio.h>

mian(){char*ch[4]={"red","green","blue"};Inti=O;While(ch[i]);{putchar(ch[i][OJ;i++;}

}有以下程序#include<sthio.h>

mian(){intarr[]={l,3,5,7,2,4,6,8{,i,start;Scanf(u%d",&start);

For(i=0,i<3,i++)

printf(M%d",arr[(start+i)%8]);

}若在程序運行時輸入整數(shù)10v回車〉,則輸出結(jié)果為()〇以下程序的功能是輸出a數(shù)組中的所有字符串,請?zhí)羁?include<sthio.h>

mian(){char*a[]={uABC","DEFGH","U","KLMNOP,};

Inti=0;For(;i<4;i++)printf(u%s\n", );}14、以下程序的輸出結(jié)果是( )。#include<sthio.h>#include<sthio.h>#include<string.h>

mian()

{char*p,*q,*r;p=q=r=(char*)malloc(sizeof(char)*20);strcpy(p,"attaboy,welcome!");printf(u%c%c%c\n",p[11],q[3],r[4]);free(p);

}15、設(shè)文件test.txt中原已寫入字符串Begin,執(zhí)行以下程序后,文件中的內(nèi)容為

()?#include<string.h>

mian(){file*fp;fp=fopen(Mtest.txt,,,,,w+M);fputs(utesf\fp);fclose(fp);2012年3月全國計算機等級考試二級C語言真題

標準答案ー、選擇題1-5、ADDAD6-10,CBCAD11-15,ABBCB16-20,DADCA21-25,CACAD 26-30,CADCB31-35,CADDC36-40,DCBDA二,填空題1,n-1 2,29 3,數(shù)據(jù)操縱語言4,關(guān)系5,面向?qū)ο蠓椒?6,a=l,b=2 7,2 8,29,k<=n10,074 11,rgb12,572 13,a[i] 14,cab15,test2011年9月全國計算機等級考試二級筆試試卷

C語言程序設(shè)計(考試時間90分鐘,滿分100分)—,選擇題(洋)-(10),(21)-(40)每題2分,(H)-(20)每每1分,共70分)下列各題A)、B),C),D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應(yīng)位置上答在試卷上不得分。(1)下列敘述中正確的是()。A)算法就是程序 B)設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計C)設(shè)計算法時只需要考慮結(jié)果的可靠性 D)以上三種說法都不對(2)下列關(guān)于線性鏈表的敘述中,正確的是()。A)各數(shù)據(jù)結(jié)點的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致B)各數(shù)據(jù)結(jié)點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)C)進行插入與刪除時,不需要移動表中的元素D)以上三種說法都不對(3)下列關(guān)于ニ叉樹的敘述中,正確的是()〇A)葉子結(jié)點總是比度為2的結(jié)點少ー個B)葉子結(jié)點總是比度為2的結(jié)點多一個c)葉子結(jié)點數(shù)是度為2的結(jié)點數(shù)的兩倍D)度為2的結(jié)點數(shù)是度為1的結(jié)點數(shù)的兩倍(4)軟件按功能可以分為應(yīng)用軟件,系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。A)學(xué)生成績管理系統(tǒng)B)C語言編譯程序C)UNIX操作系統(tǒng)D)數(shù)據(jù)庫管理系統(tǒng)

(5)某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:(5)某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:該系統(tǒng)總體結(jié)構(gòu)圖的深度是()。A)7 B)6 C)3 D)2(6)程序調(diào)試的任務(wù)是()〇A)設(shè)計測試用例 B)驗證程序的正確性C)發(fā)現(xiàn)程序中的錯誤 D)診斷和改正程序中的錯誤(7)下列關(guān)于數(shù)據(jù)庫設(shè)計的敘述中,正確的是()。A)在需求分析階段建立數(shù)據(jù)字典 B)在概念設(shè)計階段建立數(shù)據(jù)字典C)在邏輯設(shè)計階段建立數(shù)據(jù)字典 D)在物理設(shè)計階段建立數(shù)據(jù)字典(8)數(shù)據(jù)庫系統(tǒng)的三級模式不包括()〇A)概念模式 B)內(nèi)模式C)外模式 D)數(shù)據(jù)模式(9)有三個關(guān)系R、S利T如下:R S TABCABCa12b21c3I舊回宮tn亡tiJEJABCc31則由關(guān)系R和s得到關(guān)系T的操作是()?A)自然連接 B)差 C)交D)并(10)下列選項中屬于面向?qū)ο笤O(shè)計方法主要特征的是()。A)繼承 B)自頂向下 C)模塊化 D)逐步求精(11)以下敘述中錯誤的是()?A)C語言編寫的函數(shù)源程序,其文件名后綴可以是.CB)C語言編寫的函數(shù)都可以作為ー個獨立的源程序文件C)C語言編寫的每個函數(shù)都可以進行獨立的編譯并執(zhí)行D)ー個C語言程序只能有一個主函數(shù)(12)以下選項中關(guān)于程序模塊化的敘述錯誤的是()。A)把程序分成若干相對獨立的模塊,可便于編碼和調(diào)試B)把程序分成若干相對獨立、功能單一的模塊,可便于重復(fù)使用這些模塊c)可采用自底向上、逐步細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序D)可采用自項向下、逐步細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序(13)以下選項中關(guān)于c語言常量的敘述錯誤的是()?A)所謂常量,是指在程序運行過程中,其值不能被改變的量B)常量分為整型常量、實型常量、字符常量和字符串常量c)常量可分為數(shù)值型常量和非數(shù)值型常量D)經(jīng)常被使用的變量可以定義成常量(14)若有定義語句:inta=10;doubleb=3.14;,則表達式'A,+a+b值的類型是( )〇A)charB)intC)doubleD)float(15)若有定義語句:intx=12,3=8,z;,在其后執(zhí)行語句z=0.9+x/y;1則Z的值為()?A)l.9 B)1 C)2 D)2.4(16)若有定義:inta,b;,通過語句scanf("%d;%d”,&a,&b);,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是( )。A)35 B)3,5 C)3;5 D)35(17)若有定義語句:intkl=10,k2=20;.執(zhí)行表達式(kl=kl>k2)&&(k2=k2>kl)后,kl和k2的值分別為()。A)〇和1 B)〇和20 C)10和1 D)10和20(18)有以下程序#include<stdio.h>main(){inta=l>b=0;if(-a)b++;elseif(a=0)b+=2:elseb+=3:printf(n%d\nH,b);)程序運行后的輸出結(jié)果是()〇A)0 B)1 C)2 D)3(19)下列條件語句中,輸出結(jié)果與其他語句不同的是()。A)if(a)printf(M%d\-n",x);elseprintf("%d\n",y);B)if(a—〇)printf("%d\n",y);elseprintf("%d\n",x);C)if(a!=O)p由tf("%d\n",x);elseprintf(M%d\n,',y);D)if(a=O)printf(H%d\nH,x);elseprintf("%d\nM,y);(20)有以下程序#include<stdio.h>main(){inta=7;while(a-);printf("%d\n",a);)程序運行后的輸出結(jié)果是()。A)-lB)0 C)1 D)7(21)以下不能輸出字符A的語句是(注:字符A的ASCII碼值為65,字符a的ASCII碼值為97)A)printf(M%c\n%'a-32);B)printf(',%d\nM,'A');c)printf("%c\n",65);D)print-f(,'%c\nn,B?l);(22)有以下程序(注:字符a的ASCII碼值為97)#include<stdio.h>main(){char*s={,,abeM);do{printf(>>%d”,+s%10);++s;)while(+s);)程序運行后的輸出結(jié)果是()。A)abcB)789 C)7890 D)979899(23)若有定義語句:doublea,+p=&a:以下敘述中錯誤的是( )。A)定義語句中的?號是一個間址運算符B)定義語句中的?號只是ー個說明符C)定義語句中的P只能存放double類型變量的地址D)定義語句中,*p二&a把變量a的地址作為初值賦給指針變量P(24)有以下程序#include<stdio.h>doublef(doublex);main(){doublea_0;inti;for(i=0;i<30;i+=10)a+-f((double)i);printf(M%5.Of\nM,a);)doublef(doublex)(returnX+x+1;)程序運行后的輸出結(jié)果是()。A)503 B)401 C)500 D)1404(25)若有定義語句:intyear=2009,*p=&year;,以下不能使變量year中的值增至2010的語句是()。A)*p+=1; B)(*p)++; C)++(*p); D)*p++;(26)以下定義數(shù)組的語句中錯誤的是()〇A)intnum[]={l,2,3,4,5,6};B)intnum[][3]={{1,2},3,4,5,6};Qintnum[2][4]=({l,2,,{3,4},{5,6});D)intnumロ[4]={L2,3,4,5,6};(27)有以下程序#include<stdiO.h>voidfun(int+p){printf(w%d\n”,p[5]);}main();(inta[10]={l,2,3,4,5,6,7,8,9,10};fun(&a[3]);)程序運行后的輸出結(jié)果是()。A)5 B)6Q8D)9(28)有以下程序#include<stdio.h>#defineN4voidfun(inta[][N],imb[])(inti;for(i=0;i<N;i++)b[i]=a[i][i]-a[i][N-l-i];)voidmain(){intx[N][N]={{l,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;fun(x,y);for(i=0;i<N;i++)printf("%d,",y[i]);printf("\nn);)程序運行后的輸出結(jié)果是()。A)-12,-3,0,0, B)?3「l,1,3, C)0,l,2,3, D)-3,-3,-3,-3(29)有以下函數(shù)intfun(char*x,char*y){intn=0;while((*x=*y)&&*x!=\0*){x4-+;y++;n++;}returnn:)函數(shù)的功能是()〇A)查找x和y所指字符串中是否有へ?!疊)統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)c)將y所指字符串賦給X所指存儲空間D)統(tǒng)計x和y所指字符串中相同的字符個數(shù)(30)若有定義語句:char*slゴOK”,*s2="okM;,以下選項中,能夠輸出“0K”的語句是( )〇A)if(strcmp(sl,s2)=0)puts(sl);B)if(strcmp(sl,s2)!=0)puts(s2);C)if(strcmp(sl,s2)=l)puts(sl,);D)if(strcmp(sl,s2)!=0)puts(sl);(31)以下程序的主函數(shù)中調(diào)用了在其前面定義的fun函數(shù)#include<stdio.h>(main(){doublea[15],k;k=fun(a);}則以下選項中錯誤的fun函數(shù)首部是()。A)doublefun(doublea[15]) B)doublefun(double*a)C)doublefun(doublea[]) D)doublefun(doublea)(32)有以下程序#include<stdio.h>#include<string.h>main(){chara[5][10]={"china","beijing"Jyou",”liananmen”Jwelcome");inti,j;chart[10];for(i=0:i<4;i++)for(j=i+l;j<5;j++)if(strcmp(a[i],a[j])>O){strcpy(t,a[i]);strcpy(a[i],a|j]);strcpy(a[j],t);}puts(a[3]);)程序運行后的輸出結(jié)果是()?A)BeijingB)china C)welcome D)tiananmen(33)有以下程序#include<stdio.h>intf(intm){staticintn=O;n+=m:returnn;)main(){intn=O;printf(w%d”,f(++n));printf("%d\n”,f(n++));)程序運行后的輸出結(jié)果是()〇A)1,2B)l,1 C)2,3 D)3,3(34)有以下程序#include<stdio.h>main(){charch[3][5]={HAAAA%“BBB”,HCCH);printf("%s\n”,ch[l]);)程序運行后的輸出結(jié)果是()。A)AAAAB)CCC)BBBCCD)BBB(35)有以下程序#include<stdio.h>#include<string.h>voidfun(char*w,intm){chars,*pl,*p2;p1=w;p2=w+m-1;while(p1<p2){s=*p1;*pl=p2;*p2=s;pl++;p2—;))main(){charaロ=123456”;fun(a,strlen(a));puts(a);}程序運行后的輸出結(jié)果是()A)654321 B)116611 C)161616 D)123456(36)有以下程序#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;intscore[2];}STU;STUf(STUa){STUb={,'Zhaou;m,,85,90};inti:strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)a.score[ij=b.score[i];returna;main()fSTUc={nQianVf,95,92),d;d=f(c);printf("%s,%c,%d,%d,”,d.nalne,d.sex,d.score[0],d.score[lj);printf("%s,%c,%d,%d,",c.nanle,c.Sex,c.score[0],c.score[l]);)程序運行后的輸出結(jié)果是()。A)Zhao,m,85,90,Qian,f,95,92B)Zhao,m,85,90,ZhaO,m,85,90OQian,f,95,92,Qian,f,95,92 D)Qian,f,95,92,Zhao,m,85,90(37)有以下程序#include<stdio.h>main(){structnode{intn;stmctnode+next;}*p;structnodex[31={(2,x+1},{4,x+2),{6,NULL}};p=x;printfF'%d,",p->n);printf("%dknH,p->next->n);)程序運行后的輸出結(jié)果是()。A)2,3 B)2,4 C)3,4 D)4,6(38)有以下程序#include<stdio.h>main(){inta=2,b;b=a?2:printr(M%d\n",b);)程序運行后的輸出結(jié)果是().A)2 B)4 C)6 D)8(39)以下選項中敘述錯誤的是()。A)C程序函數(shù)中定義的賦有初值的靜態(tài)變量,每調(diào)用一次函數(shù),賦ー次初值B)在C程序的同一函數(shù)中,各復(fù)合語句內(nèi)可以定義變量,其作用域僅限本復(fù)合語句內(nèi)C)C程序函數(shù)中定義的自動變量,系統(tǒng)不自動賦確定的初值D)C程序函數(shù)的形參不可以說明為static型變量(40)有以下程序#include<stdio.h>main(){FILE*fp,intk,n,j,a[6]=<l,2,3,4,5,6};fp=fopen("d2.dat","w");for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);fclose(fp);fp=fopen("d2.dat","r");for(i=0;i<3;i++)fscanf(fp,"%d%d",&k.&n);fclose(fp);printf("%d,%d\n",k.n);)程序運行后的輸出結(jié)果是()。A)l,2 B)3,4 C)5,6 D)123.456二、填空題(每空2分,共30分)請將每空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。(1)數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)與非線性結(jié)構(gòu),帶鏈的棧屬于【1】。(2)在長度為n的順序存儲的線性表中插入一個元素,最壞情況下需要移動表中【2】個元素。(3)常見的軟件開發(fā)方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒?。對某?yīng)用系統(tǒng)經(jīng)過需求分析建立數(shù)據(jù)流圖(DFD),則應(yīng)采用【3】方法。(4)數(shù)據(jù)庫系統(tǒng)的核心是【4】。(5)在進行關(guān)系數(shù)據(jù)庫的邏輯設(shè)計時,E—R圖中的屬性常被轉(zhuǎn)換為關(guān)系中的屬性,聯(lián)系通常被轉(zhuǎn)換為【5】。(6)若程序中已給整型變量a和b賦值10和20,請寫出按以下格式輸出a、b值的語句【6】。****a=l〇.b=2〇****(7)以下程序運行后的輸出結(jié)果是[7】。#include<stdio.h>main()<inta=37;a%=9;printf(1,%d\nH,a);)(8)以下程序運行后的輸出結(jié)果是—#include<stdio.h>main(){inti,j;for(i=6:i>3:i-)j=i;printf(n%d%d\n”,i,j);}(9)以下程序運行后的輸出結(jié)果是[9】。#include<stdio.h>main(){inti,n[]={0,0,0,0,0);for(i=l;i<=2;i++){n[i]=n[i-l]*3+l;printf("%d“,n[i]);(10)以下程序運行后的輸出結(jié)果是_L地!ー。#include<stdio.h>main(){chara;for(a=0;a<15;a+=5){putchar(a+'A');)printf(,f\nu);)(11)以下程序運行后的輸出結(jié)果是ー【11】。#include<stdio.h>voidfun(intx){if(x/5>o)fun(x/5);prin仇“%dt”,x);)main(){fun(ll);printf(',\nM);}(12)有以下程序#include<stdio.h>main(){intc[3]={0},k,i;while((k二getcharOXn'n')c[k,A']++;for(i=0;i<3;i-H-)printf(v%d",c[i]);printf(M\nM);若程序運行時從鍵盤輸入ABcAcCv回車〉,則輸出結(jié)果為【12】。(13)以下程序運行后的輸出結(jié)果是ーL隘!__。#include<stdio.h>main(){intn[2],i,j;for(i=0;i<2;i++)n[i]=0;for(i=0;i<2;i++)for(j=0;j<2;j++)n[j]=n[i]+l;printf(M%d\nr,n[l]);}(14)以下程序調(diào)用fun函數(shù)把x中的值插入到a數(shù)組下標為k的數(shù)組元素中。主函數(shù)中,n存放a數(shù)組中數(shù)據(jù)的個數(shù)。請?zhí)羁铡?include<stdio.h>voidfun(ints[],int*n,intk,intx){inti;for(i=*n-1;i>=k;i—)s[[14]]=s[i];s[k]=x;*n二?n+ 【15】;

main(){inta[20]={l,2,3,4,5,6,7,8,9,10,11},i,x=0,k=6,n=ll;fun(a,&n,k,X);for(i=0;i<n:i++)printf("%4d",a[i]);printf("\nM);}2011年9月全國計尊機等級考試二級

C語言程序設(shè)計答案及詳解ー、選擇題(DD)【解析】所謂算法是指解題方案的準確而完整的描述?是ーー組嚴謹?shù)囟x運售順序的規(guī)則,并且每一個規(guī)則都是有效的,且是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止.算法不等于程序,也不等于計算方法.設(shè)計算法時不僅要考慮對數(shù)據(jù)對象的運尊和操作,還要考慮售法的控制結(jié)構(gòu).(2)c)【解析】線性表的薛式存儲結(jié)構(gòu)稱為線性熊表.在熊式存儲結(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的.(3)B)【解析】由ニ叉樹的性質(zhì)可以知道在ニ叉樹中葉子結(jié)點總是比度為2的結(jié)點多一個.(4)A)【解析】學(xué)生成績管理系統(tǒng)為應(yīng)用軟件.(5)c)【解析】這個系統(tǒng)總體結(jié)構(gòu)圖是ー棵樹結(jié)構(gòu),在樹結(jié)構(gòu)中,根結(jié)點在第1層,同一層上所有子結(jié)點都在下ー層,由系統(tǒng)總體結(jié)構(gòu)圖可知,這棵樹共3層.在樹結(jié)構(gòu)中,樹的最大層次稱為樹的深度.所以這棵樹的深度為3.(6)D)【解析】所謂程序調(diào)試,是將編制的程序投入實際運行前,用手工或編譯程序等方法進行測試,修正語法錯誤和邏輯錯誤的過程.其任務(wù)是診斷和改正程序中的錯誤.

(7)A)【解析】數(shù)據(jù)庫設(shè)計目前一般采用生命周期法,即將整個數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)分解成目標獨立的若干階段.分別是:需求分析階段、概念設(shè)計階段、邏輯設(shè)計階段、物理設(shè)計階段、編碼階段、測試階段、運行階段、進ー步修改階段.數(shù)據(jù)字典是對系統(tǒng)中數(shù)據(jù)的詳盡描述,是各類數(shù)據(jù)屬性的清單.對數(shù)據(jù)設(shè)計來講,數(shù)據(jù)字典是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果.(8)D)【解析】數(shù)據(jù)庫系統(tǒng)的三級模式包括概念模式、外模式和內(nèi)模式(物理模式).(9)B)【解析】由三個關(guān)系R、s和T的結(jié)構(gòu)可以知道,關(guān)系T是由關(guān)系R、s經(jīng)過差運算得到的.(10)A)【解析】面向?qū)ο笤O(shè)計方法的主要特征有封裝性、繼承性和多態(tài)性.而結(jié)構(gòu)化程序設(shè)計方法的主要原則有自頂向下,逐歩求精,模塊化,限制使用got。語句.(11)c)【解析】C語言程序是從main函數(shù)開始執(zhí)行的,每ー個函數(shù)可以進行獨立的編釋.(12)c)【解析】如果應(yīng)用結(jié)構(gòu)化程序設(shè)計方法設(shè)計程序,那么可采用自頂向下,逐歩細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序.(13)D)【解析】常量指在程序運行過程中,具值不能被改變的量.常量分為整型常量:也就是整常數(shù),實型常量,字符型常量和字符串常量.常量也可以按數(shù)據(jù)類型分為為數(shù)據(jù)常量和非數(shù)據(jù)常里.變量是指在程序運行過程中,其值能被改變的量.(14)c)【解析】在c語言中不同類型的數(shù)據(jù)進行運算時,除了強制數(shù)據(jù)類型轉(zhuǎn)換外,都要進行默認的數(shù)據(jù)類型轉(zhuǎn)換,通常轉(zhuǎn)換為精度餃高的數(shù)據(jù)類型.對于本題來說,字符型數(shù)據(jù)‘A'與整型a相加轉(zhuǎn)換為整型數(shù)據(jù),其和再與雙精度型數(shù)據(jù)b相加,要轉(zhuǎn)換為雙精度型數(shù)據(jù).(15)B)【解析】由于x,y,z都是整型數(shù)據(jù),所以x除以Y的值為整型數(shù)值1,1和0.9相加得到1.9,再轉(zhuǎn)換為整型數(shù)1賦給整型變量2.(16)0【解析】在采用scanf這個函數(shù)輸入數(shù)據(jù)時,要嚴格直守其輸入的規(guī)則定義.本題此函數(shù)定義的規(guī)則是,在兩個整數(shù)之間加分號輸入.(17)B)【解析】由于kl等于10,k2等于20,所以關(guān)系表達式kl>k2的值為假,即等于。,所以在執(zhí)行邏輯表達式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論