等級(jí)考試二級(jí)C語言考前密卷(九)_第1頁
等級(jí)考試二級(jí)C語言考前密卷(九)_第2頁
等級(jí)考試二級(jí)C語言考前密卷(九)_第3頁
等級(jí)考試二級(jí)C語言考前密卷(九)_第4頁
等級(jí)考試二級(jí)C語言考前密卷(九)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、唯C動(dòng)力 全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C專業(yè)網(wǎng)站更多考前資料進(jìn)入2005年9月等級(jí)考試二級(jí)C語言考前密卷(九)一、選擇題(1)(10)每小題2分,(11)-(50)每小題1分,共60分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)算法分析的目的是_。A)找出數(shù)據(jù)結(jié)構(gòu)的合理性B)找出算法中輸入和輸出之間的關(guān)系C)分析算法的易懂性和可靠性D)分析算法的效率以求改進(jìn)答案:D評(píng)析:算法分析是指對(duì)一個(gè)算法的運(yùn)行時(shí)間和占用空間做定量的分析,一般計(jì)算出相應(yīng)的數(shù)掌級(jí),常用時(shí)間復(fù)雜度和空間復(fù)雜度表示。分析算法的目的就是要降低算法的時(shí)間復(fù)雜

2、度和空間復(fù)雜度,提高算法的執(zhí)行效率。(2)n個(gè)頂點(diǎn)的強(qiáng)連通圖的邊數(shù)至少有_。A)n-1B)n(n-1)C)nD)n+l答案:C評(píng)析:在有向圖中,若任意兩個(gè)頂點(diǎn)都連通,則稱該圖是強(qiáng)連通圖,這樣的有向圖的形狀是環(huán)狀,因而至少應(yīng)有n條邊。(3)已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)采用的算法是_。A)堆排序B)直接插入排序 C)快速排序D)直接選擇排序答案:B評(píng)析:當(dāng)數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn),說明數(shù)據(jù)表A按關(guān)鍵字值基本有序,在待排序序列基本有序的情況下,采用插入排序所用時(shí)間最少,故答案為選項(xiàng)B。(4)用鏈表表示線性表的優(yōu)點(diǎn)是_。A)便于插入和刪除操作B)數(shù)據(jù)元素的物理順序與

3、邏輯順序相同C)花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少D)便于隨機(jī)存取答案:A評(píng)析:鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,不需要移動(dòng)數(shù)據(jù)元素。故鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)下的線性表便于插入和刪除操作。(5)下列不屬于結(jié)構(gòu)化分析的常用工具的是_。A)數(shù)據(jù)流圖B)數(shù)據(jù)字典C)判定樹D)PAD圖答案:D評(píng)析:結(jié)構(gòu)化分析的常用工具有數(shù)據(jù)流圖、數(shù)據(jù)字典、判定樹和判定表。而PAD圖是常見的過程設(shè)計(jì)工具中的圖形設(shè)計(jì)。(6)軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成_。A)定義、開發(fā)、運(yùn)行維護(hù)B)設(shè)計(jì)階段、編程階段、測(cè)試階段C)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試

4、D)需求分析、功能定義、系統(tǒng)設(shè)計(jì)答案:A評(píng)析:通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。它可以分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)三個(gè)階段。(7)在軟件工程中,白盒測(cè)試法可用于測(cè)試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是_。A) 循環(huán)的集合B)地址的集合C)路徑的集合D)目標(biāo)的集合答案:C評(píng)析:軟件的白盒測(cè)試方法是把測(cè)試對(duì)象看做一個(gè)打開的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。(8)在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有_。A)數(shù)據(jù)無冗余 B)數(shù)據(jù)可共享C)專門的數(shù)據(jù)管理

5、軟件D)特定的數(shù)據(jù)模型答案:D評(píng)析:在文件系統(tǒng)中,相互獨(dú)立的記錄其內(nèi)部結(jié)構(gòu)的最簡(jiǎn)單形式是等長(zhǎng)同格式記錄的集合,易造成存儲(chǔ)空間大量浪費(fèi),不方便使用。而在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)是結(jié)構(gòu)化的,這種結(jié)構(gòu)化要求在描述數(shù)據(jù)時(shí)不僅描速數(shù)據(jù)本身,還要描述數(shù)據(jù)間的關(guān)系,這正是通過采用特定的數(shù)據(jù)模型來實(shí)現(xiàn)的。(9)分布式數(shù)據(jù)庫系統(tǒng)不具有的特點(diǎn)是_。A)分布式B)數(shù)據(jù)冗余C)數(shù)據(jù)分布性和邏輯整體性D)位置透明性和復(fù)制透明性答案:B評(píng)析:分布式數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)分布性、邏輯整體性、位置透明性和復(fù)制透明性的特點(diǎn),其數(shù)據(jù)也是分布的;但分布式數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)經(jīng)常重復(fù)存儲(chǔ),數(shù)據(jù)也并非必須重復(fù)存儲(chǔ),主要視數(shù)據(jù)的分配模式而定。若分配模

6、式是一對(duì)多,即一個(gè)片段分配到多個(gè)場(chǎng)地存放,則是冗余的數(shù)據(jù)庫,否則是非冗余的數(shù)據(jù)庫。(10)下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是_。A)數(shù)據(jù)結(jié)構(gòu)B)數(shù)據(jù)操作C)數(shù)據(jù)查詢D)數(shù)據(jù)約束答案:C評(píng)析:數(shù)據(jù)模型所描述的內(nèi)容有3個(gè)部分,它們是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。數(shù)據(jù)操作主要是描述在相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作類型與操作方式;數(shù)據(jù)模型中的數(shù)據(jù)約束主要描述數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語法、語義聯(lián)系,它們之間的制約與依存關(guān)系,以及數(shù)據(jù)動(dòng)態(tài)變化的規(guī)則,以保證數(shù)據(jù)的正確、有效與胡容。(11)在結(jié)構(gòu)化程序設(shè)計(jì)中,限制使用goto語句的原因是_。A)提高程序的執(zhí)行效率B)提高程序的清晰性和可靠性C)便于程序的合成D)該語

7、句對(duì)任何結(jié)構(gòu)的程序都不適用答案:B評(píng)析:在c語言中,限制使用goto語句,其目的是為了提高程序的清晰性與可靠性,一般來說,除了從多重循環(huán)中跳出,一般不使用goto語句。(12)以下選項(xiàng)中合法的實(shí)型常數(shù)是_。A)5E20B)E-3C)2E0D)13E答案:C評(píng)析:以指數(shù)形式表示實(shí)數(shù)時(shí),字母e(或E)之前必須有數(shù)字,且e后面指數(shù)必須為整數(shù)。(13)下列敘述中,正確的是_。A)C語言中既有邏輯類型也有集合類型B)c語言中沒有邏輯類型但有集合類型B)C語言中有邏輯類型但沒有集合類型B)C語言中沒有邏輯類型也沒有集合類型答案:B評(píng)析:在c語言中只提供了整型、浮點(diǎn)型、字符型這幾種基本類型,c語言沒有提供邏

8、輯類型,在c中一般用整型來表示邏輯類型。在自定義類型中,c提供了struct,enum及union類型,但沒有提供集合類型,在pascal中提供了集合類型set。(14)已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97,則用八進(jìn)制表示的字符常量10l是_。A)字符AB)字符aC)字符eD)非法的常量答案:A評(píng)析:八進(jìn)制101轉(zhuǎn)換為十進(jìn)制即為65,而字母A的ASCII碼是65,所以用八進(jìn)制表示的字符常量101是A。(15)設(shè)a和b均為double型常量,且a=55、b=25,則表達(dá)式(int)a+bb的值是_。A)6500000B)6C)5500000D)6000000答案:D

9、評(píng)析:各類數(shù)值型數(shù)據(jù)在進(jìn)行混合運(yùn)算時(shí),不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。轉(zhuǎn)換的規(guī)則為:總是轉(zhuǎn)換為精度更大的數(shù)據(jù)類型,字符數(shù)據(jù)轉(zhuǎn)換為整數(shù),short型轉(zhuǎn)為int型,float型數(shù)據(jù)在運(yùn)算時(shí)轉(zhuǎn)換成雙精度型,以提高運(yùn)算精度。(16)以下四個(gè)選項(xiàng)中不能看作一條語句的是_。A);B)a=0,b:0,c=0;C)if(a0);D)if(b=0)m=l;n=2;答案:D評(píng)析:選項(xiàng)A為空語句,選項(xiàng)B是一個(gè)由逗號(hào)運(yùn)算符表達(dá)式形成的語句,選項(xiàng)c為一個(gè)條件語句,選項(xiàng)D有兩個(gè)分號(hào),是由兩個(gè)語句構(gòu)成,不能看成一條語句。(17)已知i、j、k為int型變量,若從鍵盤輸入:1,2,3,使i的值為l、j的值為2

10、、k的值為3,以下選項(xiàng)中正確的輸入語句是_。A)scanf(2d2d2 dtt,&i,j,&k);B)scanf(ddd,&i,j,k);C)scanf(d,d,dfI,i,j,k);D)scanf(i=d,j=d,k=d-t,&i,&j,&k);答案:C評(píng)析:如果在格式控制字符串中除了格式說明以外還有其它字符,則在輸入數(shù)據(jù)時(shí)應(yīng)輸入與這些字符相同的字符。(18)關(guān)于goto語句的使用,下面正確的是_。A)goto 2;B)goto g; C)goto g:;D)goto 2;2:exit(0);g:exit(O);g:exit(O);2 exit(0);答案:B評(píng)析:在c中,goto語句后面的

11、標(biāo)號(hào)的命名規(guī)則與c語言中標(biāo)識(shí)符的命名規(guī)則相同,在goto語句后面的標(biāo)號(hào)后不要加:號(hào),在某一行上添加標(biāo)號(hào)時(shí),在標(biāo)號(hào)的后面要添加:號(hào)。(19)若有以下程序:main()int k=2,i=2,m;m=(k+=I*=k);printf(d,d、n,m,i);執(zhí)行后的輸出結(jié)果是_。A)8,6B)8,3C)6,4D) 7,4答案:C評(píng)析:在賦值符=之前加上其它運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符。此運(yùn)算為右結(jié)合性,即從右往左計(jì)算。I*=k即i=i*k=2*2=4,k=k+i=2+4=6,然后將k的值賦給m。(20)以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。#define N 10void ar

12、rin(int xN)int i=0;while(i/+,-&即:!(3+4)+5-1&4+52=0+5-1&4+2=4&6=l。(22)以下選項(xiàng)中,與k=11+完全等價(jià)的表達(dá)式是_。A)k=n,n=n+1B)n=n+1,l(=nC)l(=什nD)k+-n+1答案:A評(píng)析:n+是自增運(yùn)算,是先使用,然后再使n加1,分開來寫即為:k=n,n=n+l。(23)以下程序運(yùn)行后,輸出結(jié)果為_。main()int y=18,i=0J,a8;doaI=y2;i+;y。y2;while(y。1);for(j=i一1 0=00一)printf(daj);printf(n);A)10000B)10010C)00

13、l 10D)10100答案:B評(píng)析:分析程序不難得知該程序的功能實(shí)際上就是采用除余取整法實(shí)現(xiàn)將10進(jìn)制數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制數(shù)。對(duì)于10進(jìn)制數(shù)18,其轉(zhuǎn)化為二進(jìn)制數(shù)后,結(jié)果為10010。(24)以下程序的功能是:按順序讀入10名學(xué)生4門課程的成績(jī),計(jì)算出每位學(xué)生的平均分并輸出,程序如下:main()int n,k;float score,sum,ave;sum=00;for(n=1;n=10;n+)for(k=l;k=4;k+)seal3f(f,&score);sum+=score;ave=sum40;printf(NOd:fn,n,ave);上述程序運(yùn)行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有一條語句出現(xiàn)在程序

14、的位置不正確。這條語句是_。A)sum=OO; B)sum+=score;C)ave=sum40;D)printf(NOd:fua,n,ave);答案:A評(píng)析:題目中要求每位學(xué)生的平均分?jǐn)?shù),首先要求每位學(xué)生的總分,也就是程序中的Sum,所以sum應(yīng)在第一個(gè)for循環(huán)體內(nèi)賦初值,如果在循環(huán)體外賦初值就會(huì)得到所有學(xué)生的分?jǐn)?shù)總和,不合題意。(25)下面程序執(zhí)行后的輸出結(jié)果是_。main()charx=Oxddff;printf(dn,x);A)-35B)-1C)255D)-8705答案:B評(píng)析:由于程序中對(duì)字符變量x賦值為0 xddff,而字符型變量只占一個(gè)字節(jié),故實(shí)際存入c單元的為該16進(jìn)制的低字

15、節(jié)部分,即ff。對(duì)該數(shù)按整型格式輸出,其結(jié)果為-1。(26)有以下程序main() int a=15,b=21,m=O;switch(a3) case O:m+;break;case l:m+:switch(b2) default:m+;case O:m+;break;printf(dn,m);程序運(yùn)行后的輸出結(jié)果是_。A)lB)2C)3D)4答案:A評(píng)析:因?yàn)閍3是個(gè)常數(shù),所以只執(zhí)行一次就跳出switch結(jié)構(gòu)。即只執(zhí)行m+,此時(shí)m為1。(27)若有說明:int n=2,*p=&n,*q=p;,則以下非法的賦值語句是_。A)p=q;B)*p=*q;C)n=*q;D)p*n;答案:D評(píng)析:指針變

16、量不同于整型變量和其它類型的變量,它是用來存放地址(指針)的,不能將一個(gè)整型量(或任何其它非地址類型的數(shù)據(jù))賦給一個(gè)指針變量,這樣的賦值是不合法的。(28)已定義以下函數(shù):fun(char*p2,char*p1)while(*p2=*p1)!=0)pl+;p2+;函數(shù)的功能是_。A)將p1所指字符串復(fù)制到p2所指內(nèi)存空間B)將pl所指字符串的地址賦給指針p2C)對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較D)檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼蠴答案:A評(píng)析:由于在while循環(huán)的條件中執(zhí)行了*p2=*pl運(yùn)算,其作用是將*pl中的內(nèi)容復(fù)制到*p2中,而(*p2=*p1)!=0的作用是判斷當(dāng)前字

17、符是否為字符串結(jié)束字符O。在循環(huán)體中p1+,p2+的目的是移動(dòng)字(29)有以下程序void fun(char*c,int d)*c=*c+1;d=d+1;printf(c,c,*c,d);main()char a:。A,b。a;fun(&b,a);printf(c,cn,a,b);)程序運(yùn)行后的輸出結(jié)果是_。A)B,a,B,aB)a,B,a,BC)A,b,A,bD)b,B,A,b答案:D評(píng)析:將a,b代入函數(shù)得+&b=。&b+1=a+l=b,所以打印出第一個(gè)字母b;a=a+l=A+l=B,打印出第二個(gè)字符B;a=A,輸出字母A;b由于是按地址傳到函數(shù)而被修改,為b,輸出字母b(30)以下程序中

18、函數(shù)sort的功能是對(duì)a所指數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序。void sort(int a,im n)intiJ,t;for(i=O;in-1;i+)for=i+1 0n0+)if(aiaD)t=-aI;aI=aj;aj=t;main()int aa10:1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5);for(i=0;ilO;i+)primf(d,aaI);printf(n);)程序運(yùn)行后的輸出結(jié)果是_。A)l,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)l,2,3,8,7,6,5,4,9,10,D)l,2,10,9,8,7,

19、6,5,4,3,答案:C評(píng)析:本題并不是對(duì)數(shù)組的所有元素進(jìn)行排序,而是對(duì)從a3開始往后的4個(gè)元素進(jìn)行排序。(31)對(duì)于基類型相同的兩個(gè)指針變量,不能進(jìn)行的運(yùn)算是_。A)Oy= O x=O-1 xO)y=l;else if(x=O)y=0;else y=-l;B)y=O;if(xO)y=1;else if(x=0)if(xO)y=1;else y=-l;D)if(x=0)if(xO)y=l;else y=O;else y=-1;答案:C評(píng)析:本題應(yīng)當(dāng)注意if與else的配對(duì)關(guān)系。從最內(nèi)層開始,else總是與它上面最近的(未曾配對(duì)的)if配對(duì)。(35)以下程序中的函數(shù)reverse的功能是將a所指

20、數(shù)組中的內(nèi)容進(jìn)行逆置。void reverse(int a,im n)int i,t;for(i=O;in2;i+)t=ai;ai=an-l-i;an-1-i=t;main()int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bI;printf(dn,s);程序運(yùn)行后的輸出結(jié)果是A)22B)10C)34D)30答案:A評(píng)析:本題并不是將整個(gè)數(shù)組中的內(nèi)容逆置,而是逆置前8個(gè)元素。逆置后的數(shù)組為:8,7,6,5,4,3,2,1,9,10通過for循環(huán)計(jì)算b6+b7+b8+b9即2+1+9+10=22。(36)

21、執(zhí)行下面的程序段后,變量k的值為_。int k=3,s2;s0=k;k=s1*10;A)不確定B)33C)30D)10答案:A評(píng)析:由于本題中未對(duì)數(shù)組進(jìn)行初始化,因此程序運(yùn)行時(shí),數(shù)組s中各個(gè)元素的值都是不確定的,雖然在代碼中對(duì)sO進(jìn)行了賦值,但沒有對(duì)s1進(jìn)行賦值,故執(zhí)行l(wèi)(=s1+10;后,k的值不確定。(37)有以下程序#includemain() charp=abcde0fghjikO;printf(dn,strlen(p);程序運(yùn)行后的輸出結(jié)果是_。A)12B)15C)6D)5答案:D評(píng)析:0是字符串結(jié)束標(biāo)志,當(dāng)遇到此標(biāo)志時(shí)字符串已結(jié)束。所以字符串的長(zhǎng)度為5。(38)程序中頭文件t)rp

22、el_h的內(nèi)容是:#define N 5#define Ml N*3程序如下:#includetype 1.h#define M2 N*2main() int i;i=MI+M2;printf(dn,i);程序編譯后運(yùn)行的輸出結(jié)果是_。A)lOB)20C)25D)30答案:C評(píng)析:宏定義就是用一個(gè)指定的標(biāo)識(shí)符(即名字)來代表一個(gè)字符串,它的一般形式為:#define標(biāo)識(shí)符字符串這種方法使用戶能以一個(gè)簡(jiǎn)單的名字代替一個(gè)長(zhǎng)的字符串,因此把這個(gè)標(biāo)識(shí)符(名字)稱為宏名。(39)若有以下的程序段,則在執(zhí)行for語句后,*(*(pt+1)+2)表示的數(shù)組元素是_。int t33,*pt3,k;for(k=

23、0;k3;k+)ptk=&tkO;A)t20Bt22Ct12Dt21答案:C評(píng)析:在題面中定義了一個(gè)二維數(shù)組l,及一個(gè)一維指針數(shù)組pt,在循環(huán)語句中分別對(duì)指針數(shù)組賦值為二維數(shù)組t的第k行首元素的地址。*(pt+1),表示的是數(shù)組pt中下標(biāo)為1的元素的值,而該值為二維數(shù)組t的第l行(從第0行算起)的首元素的地址,故*(*(pt+1)+2)表示的是數(shù)組t中t12的元素的值。(40)以下敘述中錯(cuò)誤的是_。A)二進(jìn)制文件打開后可以先讀文件的末尾,而順序文件不可以B)在程序結(jié)束時(shí),應(yīng)當(dāng)用fclose函數(shù)關(guān)閉已打開的文件C)利用fread函數(shù)從二進(jìn)制文件中讀數(shù)據(jù),可以用數(shù)組名給數(shù)組中所有元素讀入數(shù)據(jù)D)不

24、可以用FILE定義指向二進(jìn)制文件的文件指針答案:D評(píng)析:每個(gè)被使用的文件都在內(nèi)存中開辟一個(gè)區(qū),用來存放文件的有關(guān)信息,這些信息是保存在一個(gè)名為FILE的結(jié)構(gòu)體類型的結(jié)構(gòu)體變量中的。而文件又分為ASCII文件和二進(jìn)制文件,所以,、可以用FILE定義指向二進(jìn)制文件的文件指針。(41)有以下程序#includemain(int argc,char *argv) inti,len=0;for(i=1;iargc;i+)len+=strlen(argvI);printf(dn,len);)程序編譯連接后生成的可執(zhí)行文件是exlexe,若運(yùn)行時(shí)輸入帶參數(shù)的命令行是:exl abcd efg 10則運(yùn)行的結(jié)

25、果是_。A)22B)17C)12D)9答案:D評(píng)析:本題主函數(shù)帶有兩個(gè)參數(shù),一個(gè)int型變量argc,另一個(gè)是char型的一維一級(jí)指針數(shù)組argv。當(dāng)主函數(shù)被執(zhí)行時(shí),系統(tǒng)自動(dòng)將根據(jù)命令行的情況,分別給主函數(shù)的兩個(gè)參數(shù)賦值。argc用于存放命令行中命令字和參數(shù)的總和的個(gè)數(shù)4,argv用來存放命令行中命令字和所有參數(shù)的字符串,并規(guī)定argv0存放命令字字符串exl,argv1用來存放第一個(gè)參數(shù)的字符串a(chǎn)bcd,argv21用來存放第二個(gè)參數(shù)的字符串e龜,argv3用來存放第三個(gè)參數(shù)的字符串10。那么for循環(huán)將循環(huán)3次分別將argv數(shù)組中元素的長(zhǎng)度累加到len中,所以答案為9。(42)若有以下說明

26、和定義:_。fun(*C)main()int(*a)()=fun,(*b)(),w10,c;在必要的賦值后,對(duì)fun函數(shù)調(diào)用正確的是_。A)a=a(w);B) (*a)(&C);C)b=*b(w);D)fun(b);答案:B評(píng)析:在主函數(shù)中定義了二個(gè)指向函數(shù)的指針a,b,其中指針a指向函數(shù)fun,指針b未初始化。對(duì)于選項(xiàng)A、c,其返回類型是錯(cuò)誤的,對(duì)于D,其調(diào)用的參數(shù)是錯(cuò)誤的,選項(xiàng)B是正確的,其相當(dāng)于調(diào)用函數(shù)fhll(&C);。(43)有以下程序intfa(intx、returnx*x;int fb(intxlreturnX*X*x;int f(int(*f1)(),int(*f2)(),in

27、t x)return f2(x)-fl(x);)main() int i;i=f(fa,fb,2);printf(dn,i);程序運(yùn)行后的輸出結(jié)果是A) 4B)1C)4D)8答案:C評(píng)析:ffa,fb,2即為fb(2)-fa(2)=2*2*2-2*2=8-4=4。(44)有以下程序void ss(char *s,char t)while(*s) if(*s=t)*s=t-a+A;s+:main()char strl100=abcddfefdbd,c=d;ss(strl,C);printf(sn,strl);程序運(yùn)行后的輸出結(jié)果是_。A)ABCDDEFEDBDB)abcDDfefDbDC)abc

28、AAfefAbAD)Abcddfefdbd答案:B評(píng)析:在主函數(shù)中因?yàn)閏被賦值為字符d,所以函數(shù)的功能是將字符串中d字母轉(zhuǎn)換為大寫。(45)下面程序運(yùn)行后的輸出結(jié)果是_。intf()static int i=O:int s=l:s+=i;i+;return s:main()inti,a=0;for(I=0;i5;i+)a+=f();printf(dha,a);)A)20B)24C)25D)15答案:D評(píng)析:在主函數(shù)main中,當(dāng)I=0時(shí),f()返回1;當(dāng)I=1時(shí),f()中保留前次執(zhí)行后的i,返回2,i為n時(shí);f()返回n+l,在主函數(shù)main中一共調(diào)用了5次f(),其返回值分別是1,2,3,4

29、,5,對(duì)各次的返回值進(jìn)行累加,其和為15。(46)設(shè)有如下定義:struct skint a;float b:data;int*p;若要使p指向data中的a域,正確的賦值語句是_。A)p=&a;B)p=dataa;C)p=dataa;D)*p。dataa答案:C評(píng)析:將dataa的起始地址賦給指針變量p,也就是使p指向dataa。(47)有以下程序#includestruct NoDEint num;struct NoDE。next;main()struct NODE *p,*q,*r;p=(struct NoDE*)malloc(sizeof(struct NODE);q=(struct

30、NODE*)malloc(sizeof(struct NODE);r=(struct NODE*)malloc(sizeof(struct NODE);p-num=10;q-num=20;r-num=30;p-next=q;q-next=r;pdntf(dn,p-num+q-next-num);程序運(yùn)行后的輸出結(jié)果是_。A)10B)20C)30D)40答案:D評(píng)析:p-num即為10,q-next-num即為r-num,為30,所以p-num+q-next=num=10+30=40。(48)若有以下說明和定義typedef int *INTEGERINTEGER p,*q;以下敘述正確的是_。

31、A)p是int型變量B)p是基類型為int的指針變量C)q是基類型為int的指針變量D)程序中可用INTEGER代替int類型名答案:B評(píng)析:typedef int*INTEGER;(聲明INTEGER為整型指針類型):INTEGER p,*q;(定義p,*q為整型指針類型),所以p是基類型為int的指針變量;*q是基類型為int的指針變量;程序中可用*INTEGER代替int類型名。(49)有以下程序main()unsigned char a,b,c;a=0 x3;b=a0 x8;c=bl;printf(ddn,b,C);程序運(yùn)行后的輸出結(jié)果是_。A)-1112B)-6-13C)1224D)

32、l122答案:D評(píng)析:0 x3表示16進(jìn)制表,為按位或,為按位左移,將a,b轉(zhuǎn)換為二進(jìn)制數(shù)進(jìn)行位運(yùn)算,再將結(jié)果以十進(jìn)制打印出,結(jié)果為1122。(50)以下程序中函數(shù)f的功能是將n個(gè)字符串,按由大到小的順序進(jìn)行排序。#includevoid f(char plO,int n)chart201;int ij;for(i=0;in-1;i+)for 0=i+l;jn;j+)ifstrcmp(pi,pj)b的值為【7】。答案:【7】O評(píng)析:c語言中邏輯運(yùn)算符按由高到低順序依次為:邏輯非(!)、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯與(&)和邏輯或(1f)、賦值運(yùn)算符。所以表達(dá)式!ab先運(yùn)算!a的值為0,再運(yùn)算0

33、b,所以結(jié)果為0。(8)以下程序運(yùn)行后的輸出結(jié)果是【8】。main()intx=15;while(x10&x50)x+;if(x3)x+;break;)else continue;print(dn,x);答案:【8】17評(píng)析:當(dāng)x=15時(shí),while條件為真,執(zhí)行x+;,這時(shí)x的值為16,if條件為真,執(zhí)行x+:后跳出循環(huán)體,此時(shí)x的值為17a(9)有以下程序:#includemain()charc;while(c=getchar()!d?。)putchat(-C);程序運(yùn)行時(shí),如果從鍵盤輸入:Y?N?,則輸出結(jié)果為【9】。答案:【9】X評(píng)析:getchar()只能接收一個(gè)字符,當(dāng)從鍵盤輸入Y

34、?N?,系統(tǒng)判斷出第一個(gè)字符Y!=?條件為真,輸出x,繼續(xù)循環(huán),這時(shí)while條件不成立,循環(huán)結(jié)束。(10)以下函數(shù)的功能是計(jì)算s=1+12!+13!+ln!,請(qǐng)?zhí)羁铡ouble fun(int n)double s=00,fac=1O;int i;for(i=1;i=n;i+) fac=fac 【10】;s=s+fac;return s;答案:【10】i或*10i或*1I或*(10i)或(double)i評(píng)析:該程序?qū)崿F(xiàn)的功能是求各個(gè)因式的和,觀察表達(dá)式可以看出,只要將i的值的倒數(shù)乘以fac就得到每個(gè)因式的值。(11)下面程序的運(yùn)行結(jié)果是:【11】。#define N 10#define

35、s(x)X*X#define f(x)(x*x)main()int i1,i2;il=1000s(N);i2=1000f(N);printf(ddn,t1,i2);答案:【11】1000 10評(píng)析:根據(jù)宏定義,變量i1的值為100010*10=1000,變量i2的值為1000(10*lO)=lO(12)以下程序的運(yùn)行結(jié)果是 【12】。main()static int a=l,2,3,4;int iJ=2;for(I=l;i3;i+)n(a);J+;printf(%d,dn,a0,J);f1(int a4)int I,J=l;for(I=1;i4;i+|+)aI-1=aI;j+;答案:【12】3

36、,4評(píng)析:用static對(duì)局部變量聲明,則為該變量分配的空間在整個(gè)程序執(zhí)行期間始終存在。n函數(shù)中定義的變量為局部變量,主函數(shù)中j的初值為2,循環(huán)執(zhí)行了兩次,所以j=4。主函數(shù)通過對(duì)n的調(diào)用輸出原數(shù)組a3的值。(13)下面程序的運(yùn)行結(jié)果是: 【13】。typedef union studentchar name10;long sno;char sex;float score4;STU;main()STU a5;primf(dn,sizeof(a);答案:【13】80評(píng)析:共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度,所以變量、STU所占的字節(jié)數(shù)等于其成員score4所占的字節(jié)數(shù),即為16個(gè)字節(jié),最終打印出共用體數(shù)組a5的長(zhǎng)度為J6*5=80。(14)若f1)已正確定義為一個(gè)文件指針,d1dat為二進(jìn)制文件,請(qǐng)?zhí)羁?,以便為讀而打開此文件:f1):fopen(【14】);。答案:【14】d1datrb評(píng)析:ANSIC規(guī)定了標(biāo)準(zhǔn)輸入輸出函數(shù)庫,用fopen()函數(shù)來實(shí)現(xiàn)打開文件,其調(diào)用方式為(fb已定義為一個(gè)文件指針):fb=fopen(文件名,使用文

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論