首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計(jì)算機(jī)等級考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊會(huì)計(jì)師 | 審計(jì)師 | 注冊稅務(wù)師
注冊資產(chǎn)評估師 | 高級會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國際內(nèi)審師
一級建造師 | 二級建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評價(jià)師 | 電氣工程師 | 注冊測繪師 | 注冊計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

2005年NCRE考前密卷及解析-選擇第21-40題

 (21)以下程序的輸出結(jié)果是________。

main()
{ int a=-l,b=l,k;
if((++a<0)&&!(b--<=0))
printf("%d %d\n",a,b);
else
printf("%d %d\n”,b,a);
}

A)-l l B)0 1
C)1 0 D)0 0

(21)C

知識點(diǎn):if條件的判斷

評析:邏輯運(yùn)算符的優(yōu)先次序如下:!(非)→&&(與)→||(或),但本題需特別注意的是短路的概念:對于&&運(yùn)算符,其兩邊表達(dá)式的值只要有一邊為假,則整個(gè)與運(yùn)算表達(dá)式的值即為假,系統(tǒng)在執(zhí)行時(shí),先運(yùn)算&&左邊的表達(dá)式,若為假,則系統(tǒng)不會(huì)再判斷&&運(yùn)算符右邊的表達(dá)式了,直接運(yùn)用短路原理得整個(gè)與運(yùn)算表達(dá)式的值為0。由于++a是先運(yùn)算后使用,b--是先使用后運(yùn)算。所以本題在執(zhí)行++a后,a值為0,不滿足條件,所以a為l,根據(jù)短路原理,b仍為0,接下去執(zhí)行else語句,輸出l 0。

(22)以下選項(xiàng)中,能定義s為合法的結(jié)構(gòu)體變量的是________。

A) typedef struct abc
{ double a;
char b[10];
}s;

B ) struct
{ double a;
char b[10];
}s;

C) struct ABC
{ double a;
char b[10];
}
ABC s;

D ) typedef ABC
{ double a;
char b[10];
}
ABC s:

(22)B

知識點(diǎn):結(jié)構(gòu)體變量的定義

評析:定義一個(gè)結(jié)構(gòu)體類型的變量,可采用三種方法:

①先定義結(jié)構(gòu)體類型,再定義變量名;
②在定義類型的同時(shí)定義變量;
③直接定義結(jié)構(gòu)類型變量,即不出現(xiàn)結(jié)構(gòu)體名。
選項(xiàng)B符合第三種定義方法。

(23)請讀程序:

#include<stdio.h>
#include<string.h>
main()
{
char*sl="AbCdEf",*s2="aB";
s1++;s2++;
printf("%d\n",strcmp(s1,s2));
}

上面程序的輸出結(jié)果是_______。

A)正數(shù) B)負(fù)數(shù) C)零 D)不確定的值

(23)A

知識點(diǎn):字符串比較函數(shù)strcmp()的應(yīng)用

評析:strcmp(X1,X2)是串比較函數(shù),當(dāng)X1>X2時(shí)返回值為正數(shù),當(dāng)X1<X2時(shí)返回值為負(fù)數(shù),當(dāng)XI=X2時(shí)返回值為零。

本題中“sl”、“s2”分別表示這兩個(gè)串中第一個(gè)字符的地址,s1++和s2++是將指針指向串的第二個(gè)字符,則*sl為“bCdEf',,*s2為“B”。而在字符串比較中。大小的確定是由各個(gè)字符串相應(yīng)位置字符的ASCII碼值的大小決定的。“B”的ASCII碼值為66,”b”的ASCII碼值為98,所以sl>s2,返回值為正數(shù)。

(24)請讀程序:

#include<stdio.h>
func(int a,int b){
int c:
c=a+b:
return C:
}
main(){
int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);
printf("%d\n",r);
}

上面程序的輸出結(jié)果是________。

A)11 B)20 C)2l D)31

(24)C

知識點(diǎn):自增、自減運(yùn)算

評析:函數(shù)func()的作用是返回兩個(gè)形參的和,第一個(gè)形參是x、y分別自減和自增后的和,其中(x--,y++,x+y)是一個(gè)逗號表達(dá)式,它的值應(yīng)該等于x+y,所以整個(gè)表達(dá)式(x--,y++,x+y)的值為13,而第二個(gè)形參的值為8(根據(jù)語法規(guī)則,應(yīng)當(dāng)先使用,后自增),所以fune()的返回值為13+8=21。

(25)請讀程序:

#include<stdio.h>
main()
{
int a,b;
for(a=1,b=l;a<=100;a++){
if(b>=20)break;
if(b%3==1){b+=3;continue;}
b_=5:
}
printf("%d\n",a);
}

上面程序的輸出結(jié)果是________。

A)7 B)8 C)9 D)10

(25)B

知識點(diǎn):break語句和continue語句

評析:break語句的作用是用于跳出循環(huán)體,繼續(xù)執(zhí)行循環(huán)體下面的語句;而continue語句的作用是用于跳出本次循環(huán),即跳過循環(huán)體中尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定!埃ァ笔乔笥噙\(yùn)算符,執(zhí)行第一次循環(huán)時(shí),條件(b%3==1)為真,b=4,繼續(xù)下一次循環(huán),如此反復(fù),當(dāng)b=22時(shí),條件(b>=20)為假,跳出循環(huán),此時(shí)共循環(huán)8次,即a=8。

(26)請讀程序片段(字符串內(nèi)沒有空格字符):

printf("%d\n",strlen("ATS\n0l2\l\\"));

上面程序片段的輸出結(jié)果是_______。

A)l1 B)10 C)9 D)8

(26)C

知識點(diǎn):字符串的長度

評析:這個(gè)語句的目的是輸出“ATS\n012\1\\”這個(gè)串的長度,在串中“\\”代表一個(gè)“\”,為了和printf()函數(shù)中的轉(zhuǎn)義字符區(qū)分開來,在語法上使用了兩個(gè)反斜杠代替了一個(gè)反斜杠,所以它僅僅為一個(gè)字符,而”\l”代表數(shù)字l,也占一個(gè)字符,“\n”是回車換行符,也占一個(gè)字符,加上A、T、s、0、1、2,一共是9個(gè)字符。

(27)請選出可用作C語言用戶標(biāo)識符的一組標(biāo)識符_______。

A)Void B)a3_b3 C)For D)2a
define _123 _abc DO
WORD IF case sizeof

(27)B

知識點(diǎn):C語言的標(biāo)識符

評析:c語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個(gè)字符必須是字母或下劃線。
選項(xiàng)A中的void和define都和c語言的關(guān)鍵字重名,不合法;

選項(xiàng)C中的case和c語言的關(guān)鍵字重名,不合法;

選項(xiàng)D中的2a是數(shù)字打頭而且sizeof和c語言的關(guān)鍵字重名,不合法。

(28)請選出以下程序的輸出結(jié)果_______。

#include<stdio_h>
sub(int*s,int y)
{ static int t=3;
y=s[t];t--;
}
main()
{ int a[]={1,2,3,4},i,x=0;
for(i=0;i<4;i++){
sub(a,x);printf("%d",x);}
printf("\n");
}

A)1234 B)432l C)0000 D)4444

(28)C

知識點(diǎn):函數(shù)的形參和實(shí)參的關(guān)系

評析:x作為函數(shù)sub()的實(shí)參時(shí),函數(shù)對x值的改變沒有返回主函數(shù),并不能使得x的值變化,所以在打印時(shí),x的值是始終不變的,即為O。

(29)若有以下說明和語句,請選出哪個(gè)是對c數(shù)組元素的正確引用_______。

int c[4][5],(*cp)[5];
cp=c;
A)cp+l B)*(cp+3) C)*(cp+1)+3 D)*(*cp+2)

(29)D

知識點(diǎn):數(shù)組元素的引用

評析:cp=c這個(gè)語句是將數(shù)組第0行的地址賦給了cp。cp+l使指針指向二維數(shù)組c的第一行;*(cp+3)是數(shù)組c的第三行的第0列的地址值;+(cp+1)+3是數(shù)組c的第一行第三列的地址值。

(30)設(shè)有以下語句

char a=3,b=6,c;
c=a^b<<2:
則c的二進(jìn)制值是_______。

A)00011011 B)00010100 C)000ll 100 D)00011000

(30)A

知識點(diǎn):位運(yùn)算

評析: “<<”是c語言中規(guī)定的左移運(yùn)算符,例如,a=a<<2,這個(gè)語句即是將a的二進(jìn)制數(shù)左移兩位,左移一位相當(dāng)于該數(shù)乘以2,左移兩位相當(dāng)于該數(shù)乘以2的2次方;,^是異或運(yùn)算符,所以,c的二進(jìn)制值應(yīng)為0001101l。

(31)設(shè)有

static char str[]="Beijing";

則執(zhí)行

printf("%d\n",strlen(strcpy(str, "China")));

后的輸出結(jié)果為_______。

A)5 B)7 C)12 D)14

(31)A

知識點(diǎn):字符串的長度

評析:在執(zhí)行printf()函數(shù)前,數(shù)組str的長度是7,但是當(dāng)使用strcpy()函數(shù)將新的值賦給str后,strlen()函數(shù)返回的應(yīng)當(dāng)是現(xiàn)在的str字符串的字符個(gè)數(shù),即是5。

(32)以下程序的輸出結(jié)果是_______。

#include<stdio.h>
main()
{ int i;
for(i=1;i<5;i++){
if(i%2)printf("*");
else continue;
printf("#");
}
print"$\n");
}

A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$

(32)C

知識點(diǎn):if語句的判斷

評析:當(dāng)i不可以整除2時(shí)打印”*”,然后打印“#”,不能整除2則執(zhí)行continue,跳過printf(“#”);語句,結(jié)束本次循環(huán),返回到循環(huán)的起始點(diǎn)。當(dāng)循環(huán)結(jié)束后,打印“$”。

(33)有以下程序

#include<stdio.h>
main()
{ int c;
while((c=getchar())!=‘\n’){
switch(C-‘2’){
case O:case 1:putchar(c+4);
case 2:putchar(c+4);break;
case 3:putchar(c+3);
default:putchar(c十2);break;}
}
}

從第一列開始輸入以下數(shù)據(jù),↙代表一個(gè)回車符。
2473↙

程序的輸出結(jié)果是_______。

A)668977 B)668966 C)66778777 D)6688766

(33)A

知識點(diǎn):switch()語句

評析:getchar()函數(shù)是從鍵盤接受一個(gè)字符輸入;當(dāng)用戶鍵入的字符不是回車符時(shí),會(huì)進(jìn)入一個(gè)多分支選擇語句,根據(jù)表達(dá)式c-‘2’的值進(jìn)行分支選擇:putchar()是在屏幕上打印一個(gè)字符,最后的結(jié)果應(yīng)當(dāng)為668977。

(34)以下程序的輸出結(jié)果是________。

main()
{ int w=5;fun(w);printf("\n");}
fun(int k)
{ if(k>O) fun(k_1);
printf("%d",k);
}

A)5 4 3 2 l B)0 1 2 3 4 5
C)1 2 3 4 5 D)5 4 3 2 1 0

(34)B

知識點(diǎn):函數(shù)的遞歸調(diào)用

評析:函數(shù)的遞歸調(diào)用就是在調(diào)用一個(gè)函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身。fun函數(shù)共被調(diào)用6次,即fun(5)、fun(4)、fun(3)、fun(2)、fun(1)、fun(O)。其中fun(5)是main函數(shù)調(diào)用的,其余是在fun函數(shù)中調(diào)用的。

(35)若fp是指向某文件的指針,且已讀到此文件的末尾,則函數(shù)feof(f1))的返回值是_________ 。

A)EOF B)0 C)非零值 D)NULL

(35)C

知識點(diǎn):文件結(jié)束符的返回值

評析:函數(shù)feof是用來判斷文件是否已讀到末尾,如果己讀到末尾則返回非零值,否則返回O。

(36)算法的時(shí)間復(fù)雜度是指_______。

A)執(zhí)行算法程序所需要的時(shí)間
B)算法程序的長度
C)算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
D)算法程序中的指令條數(shù)

(36)C

知識點(diǎn):算法復(fù)雜度的概念和意義(時(shí)問復(fù)雜度與空間復(fù)雜度)

評析:所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。為了能夠比較客觀地反映出一個(gè)算法的效率,在度量一個(gè)算法的工作量時(shí),不僅應(yīng)該與所使用的計(jì)算機(jī)、程序設(shè)計(jì)語言以及程序編制者無關(guān),而且還應(yīng)該與算法實(shí)現(xiàn)過程中的許多細(xì)節(jié)無關(guān)。為此,可以用算法在執(zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來度量算法的工作量。

(37)下列敘述中正確的是_______。

A)線性表是線性結(jié)構(gòu) B)棧與隊(duì)列是非線性結(jié)構(gòu)
C)線性鏈表是非線性結(jié)構(gòu) D)二叉樹是線性結(jié)構(gòu)

(37)A

知識點(diǎn):線性結(jié)構(gòu)與非線性結(jié)構(gòu)的概念

評析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間相關(guān)聯(lián)關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件: (1)有且只有一個(gè)根結(jié)點(diǎn); (2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。

(38)下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是_______。

A)除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值
B)可能缺少若干個(gè)左右葉子結(jié)點(diǎn)
C)完全二叉樹一般不是滿二叉樹
D)具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+l

(38)B

知識點(diǎn):二叉樹的定義及其存儲(chǔ)結(jié)構(gòu)

評析:這里考察完全二又樹與滿二叉樹的定義及二叉樹的性質(zhì)。滿二叉樹指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹。完全二叉樹指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹。因此選項(xiàng)A是正確的,而選項(xiàng)B是錯(cuò)誤的。由定義可知,滿二叉樹肯定是完全二又樹,而完全二又樹一般不是滿二叉樹,因此選項(xiàng)c是正確的敘述。選項(xiàng)D即二又樹性質(zhì)(5),也是正確的。

(39)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是_______。

A)程序的規(guī)模 B)程序的易讀性
C)程序的執(zhí)行效率 D)程序的可移植性

(39)B

知識點(diǎn):結(jié)構(gòu)化程序設(shè)計(jì)

評析:結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的足結(jié)構(gòu)化程序清晰易讀,可理解性好,程序員能夠進(jìn)行逐步求精、程序證明和測試.以保證程序的正確性。

(40)在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是_______。

A)概要設(shè)計(jì) B)詳細(xì)設(shè)計(jì) C)可行性分析 D)需求分析

(40)D

知識點(diǎn):軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境

評析:通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。軟件生命周期的主要活動(dòng)階段為:

① 可行性研究和計(jì)劃制定。確定待開發(fā)軟件系統(tǒng)的開發(fā)目標(biāo)和總的要求,給出它的功能、性能、可靠性以及接口等方面的可行方案,制定完成開發(fā)任務(wù)的實(shí)施計(jì)劃。

②需求分析。對待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。

③軟件設(shè)計(jì)。系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。

④軟件實(shí)現(xiàn)。把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計(jì)劃。

⑤軟件測試。在設(shè)計(jì)測試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個(gè)組成部分。編寫測試分析報(bào)告。

⑥運(yùn)行和維護(hù)。將已交付的軟件投入運(yùn)行,并存運(yùn)行使用中不斷地維護(hù),根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改。

文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。