歷年二級(jí)C語(yǔ)言筆試真題及答案_第1頁(yè)
歷年二級(jí)C語(yǔ)言筆試真題及答案_第2頁(yè)
歷年二級(jí)C語(yǔ)言筆試真題及答案_第3頁(yè)
歷年二級(jí)C語(yǔ)言筆試真題及答案_第4頁(yè)
歷年二級(jí)C語(yǔ)言筆試真題及答案_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、A) N-S 圖 B)自頂向下 C)模塊化RACCc;C)-A12if(ab)b2*1c=a;a=b;b=C31c;D )d32if(ab)c=a,a=b,b=c=a;a=b;b2009年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試 試卷1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線(xiàn)性結(jié)構(gòu)的是A )循環(huán)隊(duì)列B)帶鏈隊(duì)列 C)二叉樹(shù)D)帶鏈棧2)下列數(shù)據(jù)結(jié)果中,能夠按照“先進(jìn)后岀”原則存取數(shù)據(jù)的是A)循環(huán)隊(duì)列 B)棧C)隊(duì)列 D)二叉樹(shù)3)對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是A)隊(duì)頭指針是固定不變的B)隊(duì)頭指針一定大于隊(duì)尾指針C)隊(duì)頭指針一定小于隊(duì)尾指針 D)隊(duì)頭指針可以大于隊(duì)尾指 針,也可以小于隊(duì)尾指針4)算法的空間復(fù)雜度是指A

2、)算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存 儲(chǔ)空間 B)算法所處理的數(shù)據(jù)量C)算法程序中的語(yǔ)句或指令條數(shù)D)算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作 單元數(shù)5)軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合6)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原 則的是A)可封裝 B)D)逐步求精7)軟件詳細(xì)設(shè)計(jì) 產(chǎn)生的圖如下: 該圖是PAD圖 C)程序流程圖 D) E-R圖8)數(shù)據(jù)庫(kù)管理系統(tǒng)是A)操作系統(tǒng)的一部分B)在操作系統(tǒng)支持下的系統(tǒng)軟件C) 一種編譯系統(tǒng) D) 一種操作系統(tǒng)9)在E-R圖中,用來(lái)表示實(shí)體聯(lián)系的圖 形是A)橢圓圖B)矩形C)菱形D)三角形10 )有三個(gè)關(guān) 系R

3、,S和T 如下:其中關(guān)系T由 關(guān)系R和S通 過(guò)某種操作得 到,該操作為A)選擇 B)投影 C)交 D)并11)以下敘述中正確的是A)程序設(shè)計(jì)的任務(wù)就是編寫(xiě)程序代碼并上機(jī)B )程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié) 構(gòu)C)程序設(shè)計(jì)的任務(wù)就是確定所用算法D)以上三種說(shuō)法都不完整12)以下選項(xiàng)中,能用作用戶(hù)標(biāo)識(shí)符的是A) void B) 8_8 C) _0_ D) unsigned13)閱讀以下程序#include main() int case; float printF;printf(請(qǐng)輸入2個(gè)數(shù):”);scanf( “ %d %f”,&case,&pjrintF);printf( “ %d %f ,

4、case,printF);該程序編譯時(shí)產(chǎn)生錯(cuò)誤,其岀錯(cuò)原因是A)定義語(yǔ)句岀錯(cuò),case是關(guān)鍵字,不能 用作用戶(hù)自定義標(biāo)識(shí)符B)定義語(yǔ)句出錯(cuò),printF不能用作用戶(hù)自定義標(biāo) 識(shí)符C)定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函 數(shù)使用D)定義語(yǔ)句無(wú)錯(cuò),printf不能輸出case的值14)表達(dá)式:(int)(double)9/2)-(9)%2 的值 是A) 0 B) 3C) 4 D) 515) 若有定義語(yǔ)句:int x=10;,則表達(dá)式x-=x+x的值為A) -20B) -10C) 0D) 1016)有以下程序#include main() int a=1,b=0;printf(“ %b=a+b);

5、printf(“ f ,a=2*b);程序運(yùn)行后的輸岀結(jié)果是A) 0,0 B) 1,0 C) 3,2 D) 1,217) 設(shè)有定義:int a=1,b=2,c=3;,以下語(yǔ)句中執(zhí)行效果與其它三個(gè)不同的是A ) if(ab) c=a,a=b,b=c; B ) if(ab)=c;18) 有以下程序#include main() int c=0,k;for (k=1;kb?(bc?1:0):0;功能相同的是A) if(ab)&(bc) k=1;else k=0;B) if(ab)|(bc) k=1;else k=0;C) if(a=b) k=0;else if(bb) k=1;else if(bc)

6、 k=1; else k=0;20) 有以下程序#include main() char s=“ 012xy ” ;int i,n=0;for(i=0;si!=0;i+)if(si=?a ?&siv=?z?) n+; printf( “ %d ,n);程序運(yùn)行后的輸岀結(jié)果是A) 0 B) 2 C) 3 D) 521) 有以下程序#include main() int n=2,k=0;while(k+&n+2); printf( “ %d %d ,k,n);程序運(yùn)行后的輸岀結(jié)果是A) 0 2 B) 1 3C) 5 7 D) 1 222) 有以下定義語(yǔ)句,編譯時(shí)會(huì)岀現(xiàn)編譯 錯(cuò)誤的是A) char

7、a=?a? B) chara=?n?; C)chara=?aa?; D) char a=?x2d?;23) 有以下程序#include main() char c1,c2;c仁? A?+?8?,4?;c2=?A?+?8?,5?;printf(“ c,%d ,c1,c2);已知字母A的ASCII碼為65,程序運(yùn)行 后的輸岀結(jié)果是A) E,68 B) D,69 C) E,D D)輸岀無(wú)定值24) 有以下程序#include void fun(int p) int d=2;p=d+; printf(“ d ,p);main() int a=1;fun(a); printf(“ %d ,a);程序運(yùn)行

8、后的輸岀結(jié)果是A) 32 B) 12 C) 21 D) 2225) 以下函數(shù)findmax擬實(shí)現(xiàn)在數(shù)組中查 找最大值并作為函數(shù)值返回,但程序中有 錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能#define MIN -2147483647int findmax (int x,int n) int i,max;for(i=O;in;i+) max=MIN;if(maxxi) max=xi;return max;造成錯(cuò)誤的原因是A )定義語(yǔ)句int i,max;中max未賦初值B) 賦值語(yǔ)句 max=MIN;中,不應(yīng)給 max 賦MIN值C) 語(yǔ)句 if(maxxi) max=xi;中判斷條件設(shè)置錯(cuò)D )賦值語(yǔ)句max=

9、MIN;放錯(cuò)了位置(26) 有以下程序#include main() int m=1, n=2,*p=&m,*q=&n ,*r; r=p;p=q;q=r;printf(“ d,%d,%d,%d ,m,n,*p,*q);程序運(yùn)行后的輸岀結(jié)果是A )1,2,1, B) 1,2,2,1C) 2,1,2, D)2,1,1,227) 若有定義語(yǔ)句:int a410,*p,*q4; 且0Wi4,則錯(cuò)誤的賦值是A ) p=a B ) qi=ai C) p=ai D)P=&a2128) 有以下程序#include #includemain() char str 20=“One*World“One*Dream!

10、 ,*p=str1;printf( “ d,”,strlen(p);printf( n” ,p); 程序運(yùn)行后的輸岀結(jié)果是A) 9,One*World B) 9,One*Dream C) 10,One*Dream D) 10,One*World29) 有以下程序#include main() int a =2,3,5,4,i;for(i=0;i4;i+) switch(i%2) case 0:switch(ai%2)case 0:ai+;break; case 1:ai-;break;case 1:ai=0; for(i=0;i4;i+) printf( n” );A) 3 3 4 4 B)

11、2 0 5 0 C) 3 0 4 0 D) 0 3 0 430) 有以下程序#include #include main() char a10=” abcd ”;printf( “ d,%raT ,strlen(a),sizeof(a) 程序運(yùn)行后的輸岀結(jié)果是A) 7,4 B) 4,10 C) 8,8 D) 10,1031) 下面是有關(guān)C語(yǔ)言字符數(shù)組的描述, 其中錯(cuò)誤的是A )不可以用賦值語(yǔ)句給字符數(shù)組名賦字 符串 B)可以用輸入語(yǔ)句把字符串 整體輸入給字符數(shù)組C) 字符數(shù)組中的內(nèi)容不一定是字符串D) 字符數(shù)組只能存放字符串32) 下列函數(shù)的功能是fun(char * a,char * b)

12、while(*b=*a)!=?0?) a+,b+; A) 將a所指字符串賦給b所指空間 B) 使指針b指向a所指字符串C)將a 所指字符串和b所指字符串進(jìn)行比較D) 檢查a和b所指字符串中是否有?0?33) 設(shè)有以下函數(shù)void fun(int n,char * s) , 則下面對(duì)函數(shù)指針的定義和賦值均是正確的 是A) void (*pf)(); pf=fun; B) viod *pf(); pf=fun;C) void *pf(); *pf=fun; D)void (*pf)(i nt,char);pf=&fun;printf( “ c” ,ai);“ s( 34)有以下程序#include

13、 int f(int n);main() int a=3,s;s=f(a);s=s+f(a);printf( n” :s%dint f(int n) static int a=1;n+=a+;return n;程序運(yùn)行以后的輸岀結(jié)果是A) 7 B) 8 C) 9 D) 1035) 有以下程序#include #define f(x) x*x*xmain() int a=3,s,t;s=f(a+1);t=f(a+1); printf( “ %d,%ds,t);程序運(yùn)行后的輸岀結(jié)果是A) 10,64 B) 10,10 C) 64,10 D)64,6436) 下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是A) s

14、truct ord int x;int y;int z; struct ord a;B) struct ord int x;int y;int z; struct ord a;C ) struct ord int x;int y;int z; a;D) struct int x;int y;int z; a;37) 設(shè)有定義:char *c;,以下選項(xiàng)中能夠 使字符型指針c正確指向一個(gè)字符串 的是A) char str = ” string ” ;c=str; B) scanf( “ %s, ,c); C) c=getchar(); D) *c= ” string ”;38) 有以下程序#in

15、clude #includestruct A int a; char b10; double c;struct A f(struct A t);main() struct Aa=1001, ” ZhangDa” ,1098.0;a=f(a);jprintf(“ %d,%s/%6,afa,a.b,a. c);struct A f(struct A t)(t.a=1002;strcpy(t.b, ” ChangRong=1202.0;return t;)程序運(yùn)行后的輸岀結(jié)果是A )1001,ZhangDa,1098.0B)1001,ZhangDa,1202.0C)1001,ChangRong,10

16、98.0D)1001,ChangRong,1202.039) 若有以下程序段int r=8;printf(“ d,r1輸出結(jié)果是A)16B) 8C) 4D) 240) 下列關(guān)于C語(yǔ)言文件的敘述中正確的是A) 文件由一系列數(shù)據(jù)依次排列組成,只 能構(gòu)成二進(jìn)制文件 B)文件由結(jié)構(gòu)序 列組成,可以構(gòu)成二進(jìn)制文件或文本 文件C) 文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn) 制文件或文本文件D)文件由字符序列組成,其類(lèi)型只能是文本文 件二、填空題(每空2分,共30分)1) 某二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn)以及3 個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中共有 【1】 個(gè)結(jié)點(diǎn)。2) 程序流程圖中的菱形框表示的是【2】。3) 軟件開(kāi)發(fā)過(guò)程

17、主要分為需求分析、設(shè)計(jì)、編碼與測(cè)試四個(gè)階段,其中 【3】階段產(chǎn)生“軟件需求規(guī)格說(shuō)明書(shū)。4) 在數(shù)據(jù)庫(kù)技術(shù)中,實(shí)體集之間的聯(lián)系可以是一對(duì)一或一對(duì)多或多對(duì)多的, 那么“學(xué)生”和“可選課程”的聯(lián)系 為【4】。5) 人員基本信息一般包括:身份證號(hào), 姓名,性別,年齡等。其中可以作為主關(guān) 鍵字的是【5】。6) 若有定義語(yǔ)句:int a=5;,則表達(dá)式:a+的值是【6】。7) 若有語(yǔ)句 double x=17;int y;,當(dāng)執(zhí)行 y=(int)(x/5)%2;之后y的值為 【7】。8) 以下程序運(yùn)行后的輸出結(jié)果是【8】。#include main() int x=20;printf(“ d ,0x20)

18、;printf(“ %d ,0x&x1);printf( “ %d ,a);10) 有以下程序#include main() int f,f1,f2,i;f1=0;f2=1;printf( “ %d %d ,f1,f2);for(i=3;i=5;i+) f=f1+f2; printf(“ d ,f);f1=f2; f2=f;printf( n”“);程序運(yùn)行后的輸出結(jié)果是【10】。11) 有以下程序#include int a=5;void fun(int b) int a=10;a+=b;printf(“ c” ,a);main() int c=20;fun(c);a+=c;printf(

19、n”d; 程序運(yùn)行后的輸岀結(jié)果是【11】。12) 設(shè)有定義:struct person int ID;char name12;p;請(qǐng)將scanf( “d ,12】);語(yǔ)句補(bǔ)充完整, 使其能夠?yàn)榻Y(jié)構(gòu)體變量p的成員ID正確讀入數(shù)據(jù)。13) 有以下程序#include main() char a20=” How are you? ” ,b20;scanf(“ s ,b);printf( “ %a,%s程序運(yùn)行時(shí)從鍵盤(pán)輸入:How areyou? 則輸出結(jié)果為 【13】。14) 有以下程序#include typedef struct int num;double sREC;voidfun1(RECm

20、ain() REC a=16,90.0 ;fun1(a);printf( “ d ,a.num);程序運(yùn)行后的輸出結(jié)果是【14】15) 有以下程序#include fun(int x) if(x/20) run(x/2);printf( “ %d ” ,x);main() fun(6);printf( n )“程序運(yùn)行后的輸出結(jié)果是【15】。2009 年3月二級(jí)C語(yǔ)言筆試真題及答 案(1) 下列敘述中正確的是A) 棧是“先進(jìn)先岀”的線(xiàn)性表B )隊(duì)列是“先進(jìn)先岀”的線(xiàn)性表C) 循環(huán)隊(duì)列是非線(xiàn)性結(jié)構(gòu)D )有序性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以 采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)(2) 支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是A)

21、 棧B)樹(shù)C)隊(duì)列D)二叉樹(shù)(3) 某二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn),貝U該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)是A ) 10 B )8 C) 6 D) 4(4) 下列排序方法中,最壞情況下比較 次數(shù)最少的是A) 冒泡排序B )簡(jiǎn)單選擇排序C )直接插排序D )堆排序(5) 軟件按功能可以分為:應(yīng)用軟件、 系統(tǒng)軟件和支撐軟件(或工具軟件)。下 面屬于應(yīng)用軟件的是A) 編譯軟件B )操作系統(tǒng)C )教務(wù)管理系統(tǒng) D )匯編程序(6) 下面敘述中錯(cuò)誤的是A) 軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò) 誤B )對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位” 是程序調(diào)試的必要步驟C) 程序調(diào)試通常也稱(chēng)為 Debug|D) 軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃

22、,排除 測(cè)試的隨意性(7) 耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度 量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是A) 提高耦合性降低內(nèi)聚性有利于提高模 塊的獨(dú)立性B )降低耦合性提高內(nèi)聚性 有利于提高模塊的獨(dú)立性C)耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間 彼此結(jié)合的緊密程度D )內(nèi)聚性是指模塊間互相連接的緊密程度(8) 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的核心問(wèn)題是A) 數(shù)據(jù)庫(kù)設(shè)計(jì)B )數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)C)數(shù)據(jù)庫(kù)維護(hù)D )數(shù)據(jù)庫(kù)管理員培訓(xùn)(9) 有兩個(gè)關(guān)系R,S如下:RABC#include x )x.num=23;x.s=88.5;Aa叮b0Sc2A ) 1,2,3 B) 1,3,2C) 1,3,3(* ”);程A)*kkkka32b0

23、1c21由關(guān)系R通過(guò)運(yùn)算得到關(guān)系 S,則所使用 的運(yùn)算為A)選擇B)投影C)插入D) 連接(10) 將E-R圖轉(zhuǎn)換為關(guān)系模式時(shí),實(shí)體 和聯(lián)系都可以表示為 A)屬性B )鍵C) 關(guān)系D )域(11) 以下選項(xiàng)中合法的標(biāo)識(shí)符是A) 1-1B) 1 1 C) -11 D ) 1-(12) 若函數(shù)中有定義語(yǔ)句:int k ;, 則A) 系統(tǒng)將自動(dòng)給k賦初值0B)這時(shí)k中 值無(wú)定義C系統(tǒng)將自動(dòng)給k賦初值-1D) 這時(shí)k中無(wú)任何值(13) 以下選項(xiàng)中,能用作數(shù)據(jù)常量的是A) 0115 B ) 0118 C ) 1.5e1.5 D ) 115L(14) 設(shè)有定義:int x=2;,以下表達(dá)式 中,值不為 6

24、的是 A ) x*=x+1 B ) x+,2*x C ) x*= ( 1+x) D) 2*x,x+=2(15) 程序段:int x=12;doubley=3.141593;printf(“ d%8.6f” ,x,y );的輸出結(jié)果是A) 123.141593 B ) 123.141593 C )12,3.141593 D ) 123.141593(16) 若有定義語(yǔ)句:double x,y,*px,*py, 執(zhí)行了 px=&x, py=&y;之后,正確的輸入 語(yǔ)句是A) scanf (“ f%f” ,x,y ) ;B) scanf“ f%f ”,&x,&y ) ;C ) scanf(“ %lf

25、%le ” ,px,py ) ;D ) scanf (“ %lf%lf ” ,x,y );(17) 以下是if語(yǔ)句的基本形式:if (表達(dá)式)語(yǔ)句其中“表達(dá)式”A) 必須是邏輯表達(dá)式 B)必須是關(guān)系表達(dá) 式C)必須是邏輯表達(dá)式或關(guān)系表達(dá)式D)可以是任意合法的表達(dá)式(18) 有以下程序#include main ()int x;scanf (“ c”,&x );if (x=3 ) ; elseif (x!=10 )printf(“ dn” ,x ) ;程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸岀結(jié)果A) 不等于10的整數(shù)B)大于3且不等于 10的整數(shù)C)大于3或等于10的整數(shù)D) 小于3的整數(shù)(19

26、) 有以下程序#includeMain () int a=1,b=2,c=3,d=0;if (a= =1 &b+= =2 )if ( b!=2 | c-!=3)printf (“ d,%d,%dn” ,a,b,c );else printf (“ d,%d,%dn” ,a,b,c ); else printf (“d,%d,%dn” ,a,b,c ) ; 程序運(yùn)行后的輸岀結(jié)果是D) 3,2,1(20) 以下程序中的變量已正確定義for (i=0;i4;i+,i+for (k=1;k3;k+ ) ;printf 序段的輸岀結(jié)果是)* D )(21) 有以下程序#includemain ()cha

27、r*s= (“ ABC ;doprintf (“ d ,*s%10) ;s+;while (*s ) ; 注意,字母 A 的 ASCII 碼值為65。程序運(yùn)行后的輸岀結(jié)果是A) 5670 B ) 656667 C ) 567 D ) ABC(22) 設(shè)變量已正確定義,以下不能統(tǒng)計(jì) 岀一行中輸入字符個(gè)數(shù)(不包含回車(chē)符) 的程序段是A) n=0;while (ch=getchar () ) != n ) n+; B ) n=0;while (getchar()!= n ) n+;C) for (n=0; getchar () != n ;n+);D) n=0;for (ch=getchar ( )

28、 ;ch!= n ;n+);(23) 有以下程序#includemain () int a1,a2;char c1,c2;scanf ( “ %d%c%d%c&a1,&c1,&a2,&c2 ); printf (“ %d,%c,%d,%c,&1,c1,a2,c2) ;若想通過(guò)鍵盤(pán)輸入,使得a1的值為12,a2 的是為34, c1的值為字符a,c2的值為字 符b,程序輸出結(jié)果是:12,a,34,b,貝U正確 的輸入格式是(以下代表空格,CR代表回車(chē))A )12a34bC )12,a,34,bB) 12 D ) 12aa3434bb24 )有以下程序#includeint f (int x,int

29、 y )return () y-x ) *x) ;main ()int a=3,b=4,c=5,d;d=f (f (a,b) ,f (a,c );printf (“ dn” ,d ) ;程序運(yùn)行后的輸岀結(jié)果是A) 10 B ) 9 C ) 8 D ) 7(25) 有以下程序#includevoid fun (char*s)while (*s) if(*s%2=0)printf(“ C ,*s );s+;main () chara=“good” ;fun (a) ;printf (“ n ”);注意:字母a的ASCH碼值為97,程序運(yùn)行后的輸 岀結(jié)果是A) d B ) go C ) god D

30、) good(26) 有以下程序#include void fun ( int *a,int *b )int *c;c=a;a=b;b=c;main ()int x=3,y-5,*P=&x,*q=&y;fun (p,q ) ;printf ( “d,%d,” ,*p,*q ); fun (&x,&y) ;printf (“d,%dn” ,*p,*q ) ; 程序運(yùn)行后的輸岀結(jié)果是A) 3,5,5,3 B ) 3,5,3,5 C ) 5,3,3,5D) 5,3,5,3(27) 有以下程序#include viod f (int *p,int *q );main () int m=1,n=2,*r

31、=&m;f (r,&n ) ;printf (“ %d,%d ,m,n ) ; void f (int *p,int *q )p=p+1;*q=*q+1;程序運(yùn)行后輸出的結(jié) 果是A) 1,3 B ) 2,3 C ) 1,4 D ) 1,2(28) 以下函數(shù)按每行8個(gè)輸岀數(shù)組中的 數(shù)據(jù)void fun ( int *w,int n ) int i;for (i=0;in;i+)printf(“ d ,w) ;printf (“ n ”);下劃線(xiàn)處應(yīng)填入的語(yǔ)句是A) if (i/8=0 ) print (“ n ”);B)if (i/8=0 ) continue;C) if (i%8=0) pri

32、nt (“ n ”);D)if (i%8=0) continue;(29) 若有以下定義 int x10,*pt=x;則對(duì)x數(shù)組元素的正確應(yīng)用是A) *&x10B ) * (x+3) C ) *(pt+10 ) D ) pt+330 )設(shè)有定義:char s81;int i=10;,以下不能將一行(不超過(guò) 80個(gè)字符)帶 有空格的字符串真確讀入的語(yǔ)句或語(yǔ)句 組是A) gets (s)B) while(si+=getchar () ) != ” n ” ;s= ”0 ” ;C) scanf (“ %s, ,s ) ; D ) doscanf(“ %C,&s) ;while (si+!=n ”)

33、;s= ”0 ”;(31)有以下程序#include main () char *a = “ abcd ” , ” ef ” , ” gh” , ” ijk ” ;int I;for (i=0;i4;i+)printf (“ C ,*a ) ;程序運(yùn)行后輸岀的結(jié)果是A) aegiB ) dfhk C ) abcd D )abcdefghijk32) 以下選項(xiàng)中正確的語(yǔ)句組是A) char s;s=” BOOK! ; B ) char*s;s= ” BOOK” ; C ) char s10;s= ” BOOK” ; D ) char *s;s=” BOOK” ;(33) 有以下程序#includ

34、e int funint x,int y if ( x=y) return ( x);else returen ( x+y) /2 ) main () int a=4,b=5,c=6;printf ( “dn” fun ( 2*a,fun ( b,c ) ) 程序運(yùn)行后的輸岀結(jié)果是A) 3 B ) 6 C ) 8 D ) 12(34) 設(shè)函數(shù)中有整型變量 n,為保證其 在未賦值的情況下初值為 0,應(yīng)選擇的存 儲(chǔ)類(lèi)別是A) auto B ) register C ) staticD) auto 或 register(35) 有以下程序#include int b=2;int fun (int *

35、k ) b=*k+b;return(b ) ;main () int a10=1,2,3,4,5,6,7,8,l;for ( i=2;i4;i+) b=fun ( &a)+b;printf(“ d ,b ) ;printf (n ”);程序運(yùn)行后輸岀的結(jié)果是A) 10B) 8C) 10D) 101210281636 )有以下程序#include #define PT 3.5;#define S (x) PT*x*x;mian () int a=1, b=2; printf (“ %4.1fn ” ,S(a+b) ) ;程序運(yùn)行后輸岀的結(jié)果是A ) 14.0B) 31.5 C) 7.5D)程序有

36、錯(cuò)無(wú)輸岀結(jié)果37 )有以下程序#include struct ord int x,y; dt2=1,2,3,4;main () struct ord *p=dt;printf ( “ d, ” ,+p-x ) ; printf (“ dn” ,+p-y ) ;程序的運(yùn)行結(jié)果 是A) 1,2 B ) 2,3 C) 3,4D) 4,138 )設(shè)有宏定義:#includeIsDIV ( k,n )( k%n=1 ?1:0 且變量m已正確定義并賦值,則宏調(diào)用:IsDIV(m,5) & IsDIV ( m,7 )為真時(shí)所要表達(dá) 的是 A )判斷m是否能被5或者7整 除 B )判斷m是否能被5和7整除C)

37、判斷m被5或者7整除是否余I D )判斷m被5和7整除是否余1(39) 有以下程序#include main () int a=5,b=1,t;t= (a2|b ) ; printf(“ dn” ,t ) 程序運(yùn)行后的輸岀結(jié)果是A ) 21 BII C ) 6 D ) 1(40) 有以下程序#include main () EILE *f;f=fopen (“ filea.txt ” , ” w” );fprintf (f, ” abc ” );fclose (f) ;若文本文件 filea.txt中原有內(nèi)容為:hello,則運(yùn)行以上程序后,文件filea.txt 中的內(nèi)容為A) helloa

38、bc B) abclo C )abc D ) abchello二、填空題(每空2分,共30分)(1) 假設(shè)一個(gè)長(zhǎng)度為50的數(shù)組(數(shù)組元素的下標(biāo)從0到49)作為棧的存儲(chǔ)空間, 棧底指針bottom指向棧底元素,棧頂指 針top指向棧頂元素,如果bottom=49,top=30 (數(shù)組下標(biāo)),則棧中具有【1 個(gè)元素。(2) 軟件測(cè)試可分為白盒測(cè)試和黑盒測(cè)試?;韭窂綔y(cè)試屬于【2 測(cè)試。(3) 符合結(jié)構(gòu)化原則的三種基本控制結(jié) 構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和【3。(4) 數(shù)據(jù)庫(kù)系統(tǒng)的核心是【4(5) 在E-R圖中,圖形包括矩形框、菱 形框、橢圓框。其中表示實(shí)體聯(lián)系的是【5 框。(6 )表達(dá)式(int )(

39、 double )( 5/2 )+2.5 )的值是【6(7) 若變量x、y已定義為int類(lèi)型且x 的值為99,y的值為9,請(qǐng)將輸岀語(yǔ)句 printf(【7, x/y );補(bǔ)充完整,使其輸出的計(jì)算結(jié)果形式為:x/y=11(8) 有以下程序#include main()char c1,c2;scanf(“ &c” ,&c1);while(c190)scanf( “ &c” ,&c1);c2=c1+32;printf( “ &c, &cn ”,c1,c2); 程序 運(yùn)行輸入65回車(chē)后,能否輸岀結(jié)果、結(jié) 束運(yùn)行(請(qǐng)回答能或不能)【8。(9) 以下程序運(yùn)行后的輸出結(jié)果是【9 #include main(

40、)int k=1,s=0 ;doif ( k&2 ) ! =0 ) continue ;s+=k; k+;while ( k ) 10 );printf (“ s=&d/n ” ,s ) ;(10) 下列程序運(yùn)行時(shí),若輸入labced12df回車(chē)輸出結(jié)果為【10#include main()chara =0,ch;while(ch=getchar()!= n )if(a&2!=0&(ch a &ch= z )ch=ch- a + A;a+;putchar(ch);printf( “ n ” );(11) 有以下程序,程序執(zhí)行后,輸岀結(jié)果是【11#include void fun (int *a

41、)a0=a1;main()int a10=10,9,8,7,6,5,4,3,2,1,i;for(i=2;i=0;i-) fun&a;for(i=0;i10;i+) printf(“&d” ,a);printf( “ n ” );(12) 請(qǐng)將以下程序中的函數(shù)聲明語(yǔ)句補(bǔ) 充完整#include int【12;main()int x,y,(*p)();p=max;printf( “ &dn ”,&x,&y);Int max(int a,int b)return (ab/a:b);(13) 以下程序用來(lái)判斷指定文件是否能 正常打開(kāi),請(qǐng)?zhí)羁?include main()FILE *fp;if (fp=

42、fopen(“test.txt ”,” r ” )=【13 )printf(未能打開(kāi)文件!n ”);elseprintf(文件打開(kāi)成功!n ”);(14) 下列程序的運(yùn)行結(jié)果為【14#include #include struct Aint a;char b10;doublec;voidf (structA*t);main()struct A a=(1001, ” ZhangDa”,1098,0); f(&a);printf(“ &d,&s,&6,ifn ” ,a.a,a.b,a.c);void f(structA*t)strcpy(t-b, ” ChangRong );(15) 以下程序把三

43、個(gè)NODETYP型的變量鏈接成一個(gè)簡(jiǎn)單的鏈表,并在while循環(huán)中輸岀鏈表結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù),請(qǐng)?zhí)羁?#include struct nodeint data; struct node *next;typedef struct node NODETYPE;main()NODETYPE a,b,c,*h,*p;a.data=10;b.data=20;c.data=30;h=&a;b.next=&b;b.next=&c;c.next= 0 ;p=h;while(p)printf(“&d”,p-data);【15】;2008年9月二級(jí)C語(yǔ)言筆試真題及答案(1) 一個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、

44、3、4、5、A B、C D、E 依次入棧, 然后再依次岀棧,則元素岀棧的順序是()oA) 12345ABCDE B )EDCBA54321 C ) ABCDE12345 D 54321EDCBA(2) 下列敘述中正確的是()。A) 循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個(gè)指針,因此,循環(huán)隊(duì)列是非線(xiàn)性結(jié)構(gòu)B) 在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能 反映隊(duì)列中元素的動(dòng)態(tài)變化情況C) 在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能 反映隊(duì)列中元素的動(dòng)態(tài)變化情況D) 循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針 和隊(duì)尾指針共同決定3) 在長(zhǎng)度為n的有序線(xiàn)性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是()。A) 0(n) B ) O(n2) C )

45、 O(log2 n)D) 0(nlog2 n)4) 下列敘述中正確的是()。A) 順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的, 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù) 的B) 順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線(xiàn)性結(jié)構(gòu),鏈?zhǔn)?存儲(chǔ)結(jié)構(gòu)只針對(duì)非線(xiàn)性結(jié)構(gòu)C) 順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表D )鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間5) 數(shù)據(jù)流圖中帶有箭頭的線(xiàn)段表示的是oA) 控制流B )事件驅(qū)動(dòng)C)模塊調(diào)用D ) 數(shù)據(jù)流6) 在軟件開(kāi)發(fā)中,需求分析階段可以使 用的工具是()。A) N-S 圖 B ) DFD 圖 C ) PAD 圖 D )程 序流程圖7) 在面向?qū)ο蠓椒ㄖ?,不屬于“?duì)象” 基本特點(diǎn)的是()

46、。A) 致性B)分類(lèi)性C)多態(tài)性D )標(biāo) 識(shí)唯一性(8) 間宿舍可住多個(gè)學(xué)生,則實(shí)體宿 舍和學(xué)生之間的聯(lián)系是()。A) 對(duì)一 B ) 一對(duì)多 C)多對(duì)一 D )多 對(duì)多(9) 在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中, 數(shù)據(jù)共享最好的是()。A) 人工管理階段B)文件系統(tǒng)階段C) 數(shù)據(jù)庫(kù)系統(tǒng)階段D)三個(gè)階段相同(10) 有三個(gè)關(guān)系R、S和T如下:R S TA B B C A B Cm 1 1 3 m 1 3 n 2 3 5由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系 T,則所 使用的運(yùn)算為()。A )笛卡爾積B) 交C )并D )自然連接(11 )以下敘述中正確的是()。A) C程序的基本組成單位是語(yǔ)句B )C程序中的

47、每一行只能寫(xiě)一條語(yǔ)句C)簡(jiǎn)單C語(yǔ)句必須以分號(hào)結(jié)束D ) C語(yǔ)句必須在一行內(nèi)寫(xiě)完12) 計(jì)算機(jī)能直接執(zhí)行的程序是 ()。A ) 源程序B )1目標(biāo)程序C )匯編程序D)可 執(zhí)行程序13) 以下選項(xiàng)中不能作為 C語(yǔ)言合法常量 的是()。A ) cd B ) 0.1e+6 C ) a D ) 01114) 以下選項(xiàng)中正確的定義語(yǔ)句是()。A) double a; b; B ) double a=b=7; C ) double a=7, b=7; D ) double, a, b;15) 以下不能正確表示代數(shù)式2ab cd的C語(yǔ)言表達(dá)式是()。A) 2*a*b/c/dB) a*b/c/d*2C) a/

48、c/d*b*2D) 2*a*b/c*d16) C源程序中不能表示的數(shù)制是()。A) 二進(jìn)制B )八進(jìn)制C)十進(jìn)制D )十 六進(jìn)制17) 若有表達(dá)式(w)?(-x):(+y) ,則其 中與w等價(jià)的表達(dá)式是 ()。A) w=l B) w=0 C) w!=l D ) w!=018) 執(zhí)行以下程序段后,w的值為()。int w=A, x=14, y=15;w=(x | y)&(wva); A) -1B) NULL C ) l D ) 0 19 )若變量已正確定義為int型,要通過(guò) 語(yǔ)句 scanf(%d, %d, %d, &a, &b, &c) 給a賦值1、給b賦值2、給c賦值3,以下輸入 形式中錯(cuò)誤

49、的是(o代表一個(gè)空格符)()oA) doo 1,2,3 B ) 1 o 2 o 3 C ) 1, o o o 2, o o o 3D) 1,2,3(20) 有以下程序段int a, b, c;a=10; b=50; c=30;if (ab) a=b, b=c; c=a;printf(a=%d b=%d c=%dn ” , a, b, c);程序的輸岀結(jié)果是()。A) a=10 b=50 c=10 B) a=10 b=50 c=30 C) a=10 b=30 c=10 D ) a=50 b=30 c=50(21 )若有定義語(yǔ)句:intm=5,4,3,2,1,i=4;,則下面對(duì) m 數(shù)組元素的引用中錯(cuò)誤的是()。A) m-iB) m2*2 C) mm0 D mmi(22) 下面的函數(shù)調(diào)用語(yǔ)句中func函數(shù) 的實(shí)參個(gè)數(shù)是()。func (f2(v1, v2), (v3,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論