C++常見選擇填空習(xí)題集_第1頁(yè)
C++常見選擇填空習(xí)題集_第2頁(yè)
C++常見選擇填空習(xí)題集_第3頁(yè)
C++常見選擇填空習(xí)題集_第4頁(yè)
C++常見選擇填空習(xí)題集_第5頁(yè)
已閱讀5頁(yè),還剩294頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C++常見選擇填空習(xí)題集C++常見選擇填空習(xí)題集/NUMPAGES299C++常見選擇填空習(xí)題集C++常見選擇填空習(xí)題集第一章概述一、選擇題1.關(guān)于C++與C語言的關(guān)系描述中,錯(cuò)誤的是()A.C語言與C++是兼容的B.C語言是C++的一個(gè)子集C.C++和C語言都是面向?qū)ο蟮腄.C++對(duì)C語言進(jìn)行了一些改進(jìn)2.不可以作為C++用戶標(biāo)識(shí)符的是()A.PrintfB._123C.WhileD.case3.由C++目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為()A.cppB.objC.libD.exe4.關(guān)于C和C++的描述中,正確的是()A.C是面向過程,C++是純面向?qū)ο驜.C++是C的超集C.C++是對(duì)C的錯(cuò)誤的修改D.C++和C沒有關(guān)系5.C++對(duì)C作了很多改進(jìn),從面向過程成為面向?qū)ο蟮闹饕蚴牵ǎ〢.增加了一些新的運(yùn)算符B.允許函數(shù)重載,并允許設(shè)置參數(shù)默認(rèn)值C.規(guī)定函數(shù)必須用原型D.引進(jìn)了類和對(duì)象的概念6.將高級(jí)語言編寫的源程序翻譯成目標(biāo)程序的是()A.解釋程序B.編譯程序C.匯編程序D.調(diào)試程序7.C++語言是從早期的C語言逐漸發(fā)展演變而來的,與C語言相比,它在求解問題方法上進(jìn)行的最大改進(jìn)是()A.面向過程B.面向?qū)ο驝.安全性D.復(fù)用性8.C++語言支持過程程序設(shè)計(jì)方法和()設(shè)計(jì)方法。A.面向?qū)ο驜.面向函數(shù)C.面向用戶D.面向問題9.關(guān)于C++和C的關(guān)系中,使C發(fā)生了質(zhì)的變化,即從面向過程變成為面向?qū)ο蟮氖牵ǎ〢.增加了新的運(yùn)算符B.允許函數(shù)重載,并允許缺省參數(shù)C.規(guī)定函數(shù)有原型D.引進(jìn)了類和對(duì)象的概念10.C++語言最有意義的方面是支持()A.面向事件B.面向程序C.面向?qū)ο驞.面向用戶11.下列說法中,正確的是()A.C++程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行B.C++程序總是從主函數(shù)開始執(zhí)行C.C++函數(shù)必須有返回值,否則不能調(diào)用此函數(shù)D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中12.下列描述中,正確的是()A.程序就是軟件B.軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制C.軟件既是邏輯實(shí)體,又是物理實(shí)體D.軟件就是程序、數(shù)據(jù)與相關(guān)文檔的集合13.為了使模塊盡可能獨(dú)立,要求()A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)14.下列說法中正確的是()A.數(shù)據(jù)流圖詳細(xì)描述了系統(tǒng)中對(duì)象數(shù)據(jù)是如何計(jì)算的B.數(shù)據(jù)流圖詳細(xì)描述了操作和約束的含義C.數(shù)據(jù)流圖中不能有過程D.數(shù)據(jù)流圖定義了對(duì)象的操作15.在C++語言中,自定義的標(biāo)識(shí)符()A.能使用關(guān)鍵字并且不區(qū)分大小寫B(tài).不能使用關(guān)鍵字并且不區(qū)分大小寫C.能使用關(guān)鍵字并且區(qū)分大小寫D.不能使用關(guān)鍵字并且區(qū)分大小寫16.不能用于組成C++程序標(biāo)識(shí)符的是()A.連接符B.下劃線C.大小寫字母D.數(shù)字字符17.下列標(biāo)識(shí)符中都是合法的是()A._key,example,a_bB.5ap,test1,_3aC.bcp,@mail,_c_dD.INL,_paper,union18.下列符號(hào)中,不可作為分隔符的是()A.逗號(hào)B.分號(hào)C.問號(hào)D.英文句號(hào)19.下列變量名中,合法的是()A.CHINAB.byte-sizeC.doubleD.A+a20.在C++語言中,自定義的標(biāo)識(shí)符()A.能使用關(guān)鍵字并且不區(qū)分大小寫B(tài).不能使用關(guān)鍵字并且不區(qū)分大小寫C.能使用關(guān)鍵字并且區(qū)分大小寫D.不能使用關(guān)鍵字并且區(qū)分大小寫21.C++程序的基本單位是()A.字符B.程序行C.語句D.函數(shù)22.注釋的目的主要是用來提高()A.可讀性B.可移植性C.運(yùn)行效率D.編碼效率23.程序中的注釋部分()A.參加編譯,并會(huì)出現(xiàn)在目標(biāo)程序中B.參加編譯,但不會(huì)出現(xiàn)在目標(biāo)程序中C.不參加編譯,但會(huì)出現(xiàn)在目標(biāo)程序中D.不參加編譯,也不會(huì)出現(xiàn)在目標(biāo)程序中24.在一個(gè)C++程序中()A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前B.main函數(shù)可以在任何地方出現(xiàn)C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后D.main函數(shù)必須出現(xiàn)在固定位置25.C++語言可執(zhí)行程序的開始執(zhí)行點(diǎn)是()A.程序中第一條可執(zhí)行語言B.程序中第一個(gè)函數(shù)C.程序中的main函數(shù)D.包含文件中的函數(shù)26.以下關(guān)于C++語言的敘述中,錯(cuò)誤的是()A.大寫字母和小寫字符的意義相同B.有些不同類型的變量可以在一個(gè)表達(dá)式中運(yùn)算C.在賦值表達(dá)式中等號(hào)(=)左邊的變量和右邊的值可以是不同類型D.同一個(gè)運(yùn)算符號(hào)在不同的場(chǎng)合可以有不同的含義二、填空題1.判斷一種計(jì)算機(jī)語言是否為面向?qū)ο蟪绦蛟O(shè)計(jì)語言的三個(gè)基本特征是封裝性、繼承性和多態(tài)性。2.在面向?qū)ο笳Z言中可擴(kuò)充性是關(guān)鍵。3.在C++語言中,“/*…*/”主要用于多行行注釋,“//”用于單行注釋。4.C++程序的實(shí)現(xiàn)經(jīng)過編輯、編譯和運(yùn)行步驟。5.在一個(gè)好的程序中,注釋可提高程序的程序的可讀性。6.C++源程序文件的默認(rèn)擴(kuò)展名為.cpp。7.C++程序在編譯中會(huì)出現(xiàn)的兩類錯(cuò)誤分別是致命錯(cuò)誤和警告錯(cuò)誤。8.C++編譯器進(jìn)行編譯的過程可詳細(xì)地分為三個(gè)子過程,它們分別是預(yù)處理過程、編譯過程和連接過程。第二章數(shù)據(jù)類型與表達(dá)式一、選擇題1.常量3.14的數(shù)據(jù)類型是()A.doubleB.floatC.voidD.字符串2.設(shè)有定義:charch;,以下賦值語句正確的是()A.ch='123';B.ch='\xff';C.ch='\08';D.ch='\\';3.英文大寫字母B的ASCII碼為42H,英文小寫字母b的ASCII碼為()A.43HB.62HC.74HD.84H4.unsigned不能修飾的類型是()A.intB.charC.floatD.longint5.下列字符常量表示中,錯(cuò)誤的是()A..\105.B..*.C..\4f.D..\a.6.signed不能修飾的類型是()A.intB.charC.doubleD.longint7.下列字符串常量表示中,錯(cuò)誤的是()A.”\”Yes\”or\”No\””B.”\.OK!\.”C.”abcd\n”D.”AB\C”8.下列十六進(jìn)制的整型常量表示中,錯(cuò)誤的是()A.0xafB.0X1bC.2fxD.0xAE9.下列double型常量表示中,錯(cuò)誤的是()A.E15B..25C.3E5D.3E0510.設(shè)有定義charch;,正確的賦值語句是()A.ch=.123.;B.ch=.\xff.;C.ch=.\08.D.ch=.\\.11在C++語言中,080是()A.八進(jìn)制數(shù)B.十進(jìn)制數(shù)C.十六進(jìn)制數(shù)D.非法數(shù)12.關(guān)于字符'\0'的下列描述中不正確的是()A.常用來作為字符串的結(jié)束標(biāo)志B.在計(jì)算機(jī)中存儲(chǔ)時(shí)占一個(gè)字節(jié)的內(nèi)存C.是空格字符的轉(zhuǎn)義表示形式D.作為邏輯值使用時(shí)等價(jià)于邏輯“假”13.在32位機(jī)器環(huán)境下,若有inta[10];,則表達(dá)式sizeof(a)/sizeof(int)的值是()A.10B.4C.40D.214.在C++語言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是()A.ASCII碼B.補(bǔ)碼C.反碼D.原碼15.字符串”\\\”ABC\”\\”的長(zhǎng)度是()A.11B.7C.8D.616.設(shè):inta=2,b=2;,則a+++b的結(jié)果是()A.2B.3C.4D.517.若有定義:intx=2;,則表達(dá)式x<<2的結(jié)果為()A.2B.4C.8D.1618.已知:inta=5,b=6;,則下列表達(dá)式中,有二義性的是()A.a+b>>3B.++a+b++C.b+(a=3)D.(a=3)-a++19.下列運(yùn)算符中優(yōu)先級(jí)最高的是()A.=B.&&C.>=D.+20.下列運(yùn)算符中優(yōu)先級(jí)最低的是()A.%B.%=C.&D.>>21.表達(dá)式(-17)%5的值()表達(dá)式(-17)%(-5)的值。A.大于B.等于C.小于D.不確定22.下列運(yùn)算符中,結(jié)合性從左向右的是()A.->B.>>C.!=D.~23.若inta=2,b=3;,則表達(dá)式a+++b++的值為()A.11B.9C.7D.524.設(shè)有定義inta;floatf;doublei;,表達(dá)式10+.a.+i*f的結(jié)果類型是()A.intB.floatC.doubleD.不確定25.sizeof(double)是一個(gè)()A.整型表達(dá)式B.雙精度表達(dá)式C.函數(shù)調(diào)用D.不合法26.下列關(guān)于類型轉(zhuǎn)換的描述中錯(cuò)誤的是()A.在不同類型操作數(shù)組成的表達(dá)式中,表達(dá)式類型一定是最高類型double型B.逗號(hào)表達(dá)式的類型是最后一個(gè)子表達(dá)式的類型C.賦值表達(dá)式的類型是左值的類型D.在由低向高的類型轉(zhuǎn)換中是保值映射27.下列說法中正確的是()A.隱含類型轉(zhuǎn)換可能會(huì)損失數(shù)據(jù)精度B.顯式類型轉(zhuǎn)換可能會(huì)損失數(shù)據(jù)精度C.隱含類型轉(zhuǎn)換一定會(huì)損失數(shù)據(jù)精度D.顯式類型轉(zhuǎn)換一定會(huì)損失數(shù)據(jù)精度28.在隱含類型轉(zhuǎn)換中,long、int、double三種類型之間的轉(zhuǎn)換順序?yàn)椋ǎ〢.long->int->doubleB.long->double->intC.int->double->longD.int->long->double29.下列說法正確的是()A.隱含類型轉(zhuǎn)換可以從高類型轉(zhuǎn)換為低類型B.顯式類型轉(zhuǎn)換不可以從低類型轉(zhuǎn)換為高類型C.隱含類型轉(zhuǎn)換可以在任何類型之間轉(zhuǎn)換D.顯式類型轉(zhuǎn)換可以在任何類型之間轉(zhuǎn)換30.設(shè)intn=10,i=4;,則表達(dá)式n%=i+1運(yùn)算后n的值是()A.0B.3C.2D.131.下列運(yùn)算符中,可以作用于浮點(diǎn)數(shù)的是()A.++B.%C.>>D.&32.下列各運(yùn)算符中,不可以作用于浮點(diǎn)數(shù)的是()A./B.&&C.||D.~33.下列運(yùn)算符中,可以作用于浮點(diǎn)數(shù)的是()A.++B.%C.>>D.^34.下列運(yùn)算符中,結(jié)合性從左到右的是()A.?:B.*=C.==D.++35.若有下面的定義,則表達(dá)式:a<b?a:c<d?c:d的結(jié)果為()inta=1,b=2,c=3,d=4;A.1B.2C.3D.436.設(shè)x為int型變量,則執(zhí)行下列語句后,x的值為()x=10;x+=x-=x-x;A.10B.20C.30D.4037.若有下面的定義,則對(duì)語句c=a+b;的下列說法中正確的是()inta=12;floatb=1.2f,c;A.變量a轉(zhuǎn)換為float類型B.變量b轉(zhuǎn)換為int類型,運(yùn)算結(jié)果再轉(zhuǎn)換為float類型C.變量a和b都轉(zhuǎn)換為一中間類型,運(yùn)算結(jié)果再轉(zhuǎn)換為float類型D.以上都不對(duì)38.執(zhí)行下列語句后,a的值是()inta=8;a+=a-=a*a;A.-240B.64C.112D.-11239.能正確表示“大于10且小于20的數(shù)”的C++表達(dá)式是()A.10<x<20B.x>10||x<20C.x>10&x<20D.!(x<=10||x>=20)40.表示關(guān)系x≤y≤Z的C++語言表達(dá)式為()A.(x<=y)&&(y<=Z)B.(x<=y)AND(y<=Z)C.(x<=y<=Z)D.(x<=y)&(y<=Z)41.設(shè)x,y,z均為int型變量,則執(zhí)行以下語句后,t的值為()x=y=z=1;t=++x||++y&&++z;A.0B.1C.2D.不定值42.若有如下語句:inta,b,c;a=b=c=5;則執(zhí)行語句:b+=++a&&++c>b;后a、b、c的值分別為()A.6,7,6B.6,6,6C.6,6,5D.6,1,643.在C++中,const修飾符主要用于代替C語言中的()關(guān)鍵字進(jìn)行常量定義。A.#includeB.staticC.#defineD.#ifdef二、填空題1.在32位計(jì)算機(jī)中,若有double*p;,則p占用4字節(jié)的內(nèi)存空間。2.在C++中,用同一個(gè)數(shù)據(jù)類型定義多個(gè)變量時(shí)需要用逗號(hào)分隔。3.變量的三要素分別是(變量的)類型、(變量的)名字(或變量名)、(變量的)值。4.表達(dá)式(-9)%4的值為-1,表達(dá)式9%(-4)的值為1,表達(dá)式(-9)%(-4)的值為-15.在C++中,’\0’被用來作為字符串的結(jié)束符。6.空字符串的長(zhǎng)度為1。7.在C++中,變量必須遵循先定義后使用的原則。8.在16位計(jì)算機(jī)中,int數(shù)據(jù)類型占用2個(gè)字節(jié)。9.數(shù)據(jù)類型轉(zhuǎn)換分為自動(dòng)類型轉(zhuǎn)換(隱含類型轉(zhuǎn)換)和強(qiáng)制類型轉(zhuǎn)換(顯式類型轉(zhuǎn)換)兩種。10.在32位機(jī)器中,若有:inta[10];則表達(dá)式sizeof(a)/sizeof(int)的值為10。11.在32位機(jī)器中,若有:inta[10];則表達(dá)式sizeof(a)的值為40。12.變量的類型既規(guī)定了占用內(nèi)存字節(jié)數(shù)(大小),也規(guī)定了合法操作。13.沒有初始化的變量其存儲(chǔ)的值要么是默認(rèn)值,要么是機(jī)器(計(jì)算機(jī))決定。15.條件表達(dá)式的類型由:號(hào)前后兩個(gè)子表達(dá)式的高類型決定。16.賦值表達(dá)式的類型由賦值運(yùn)算符的左值的類型決定。17.邏輯運(yùn)算符&&和||的特點(diǎn)是在計(jì)算時(shí)存在短路現(xiàn)象。18.若有定義:inta(4),b(2);則表達(dá)式a&&b||a++||(a-b*2)運(yùn)算完成后a的值為4。19.設(shè)int型變量x的值為10,則表達(dá)式x>10?x+100:x-100的值是-90。三、寫程序運(yùn)行結(jié)果1.#include<iostream>usingnamespacestd;intmain(){floatx;inti;x=12.6;i=(int)x;cout<<"x="<<x<<endl;cout<<"i="<<i<<endl;}x=12.6y=122.#include<iostream>usingnamespacestd;intmain(){inti;charc1;i='A';c1='A';cout<<i<<'\n';cout<<c1<<'\n';return0;}65A3.#include<iostream>usingnamespacestd;intmain(){cout<<"abc\"abc"<<endl;cout<<"abc\\abc"<<endl;}abc\"abcabc\\abc4.#include<iostream>usingnamespacestd;intmain(){inti=1;cout<<"i="<<++i<<endl;cout<<"i="<<i++<<endl;}i=2i=25.#include<iostream.h>voidmain(){inta;a=7*2+-3%5-4/3;doubleb;b=510+3.2-5.4/0.03;cout<<a<<"\t"<<b<<endl;intm(3),n(4);a=m++---n;cout<<a<<"\t"<<m<<"t"<<n<<endl;}10333.204t36.#include<iostream.h>voidmain(){intx,y,z;x=y=z=1;--x&&++y&&++z;cout<<x<<'\t'<<y<<'\t'<<z<<'\n';++x&&++y&&++z;cout<<x<<'\t'<<y<<'\t'<<z<<'\n';++x&&y--||++z;cout<<x<<'\t'<<y<<'\t'<<z<<'\n';}0111222127.#include<iostream.h>voidmain(){charx('m'),y('n');intn;n=x<y;cout<<n<<endl;n=x==y-1;cout<<n<<endl;n=('y'!='Y')+(5>3)+(y-x==1);cout<<n<<endl;}113四、改錯(cuò)題1.下面程序要求輸出x和y的值,x的值為10,y的值為11。#include<iostream>usingnamespacestd;voidmain(){constintx;inty=10;y=x++;cout<<x,y;}第三章語句一、選擇題1.關(guān)于switch語句的描述中,正確的是()A.switch語句中default子句可以沒有,也可有一個(gè)B.switch語句中每個(gè)case語句序列中必須有break語句C.switch語句中default子句只能放在最后D.switch語句中case子句后面的表達(dá)式只能是整型表達(dá)式2.下列關(guān)于goto語句的描述中正確的是()A.goto語句可以在一個(gè)文件中隨意轉(zhuǎn)向B.goto語句后面要跟上一個(gè)它所轉(zhuǎn)向的語句C.goto語句可以同時(shí)轉(zhuǎn)向多條語句D.goto語句可以從一個(gè)循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外3.與以下程序段等價(jià)的是()while(a){if(b)continue;c;}A.while(a){if(!b)c;}B.while(c){if(!b)break;c;}C.while(c){if(b)c;}D.while(a){if(b)break;c;}4.在設(shè)計(jì)C++程序時(shí),應(yīng)采用的原則之一是()A.不限制goto語句的使用B.減少或取消注釋行C.程序越短越好D.程序結(jié)構(gòu)應(yīng)有助于讀者理解5.for(intm=n=0;!n&&m<=10;m++);語句的循環(huán)次數(shù)為()A.10B.11C.12D.無限6.下面的do語句的循環(huán)體執(zhí)行次數(shù)為()inta=10;do{a--;}while(a!=0);A.10B.9C.11D.127.下列for循環(huán)的循環(huán)體執(zhí)行次數(shù)為(假設(shè)循環(huán)體中沒有引用i和j)()for(inti=0,j=10;i=j=10;i++,j--)循環(huán)體;A.0B.1C.10D.無限8.下列關(guān)于if語句的描述中錯(cuò)誤的是()A.if語句中只有一個(gè)else子句B.if語句中可以有多個(gè)elseif子句C.if語句中if體內(nèi)不能是開關(guān)語句D.if語句的if體中可以是循環(huán)語句9.下面的程序()#include<iostream.h>voidmain(){inta=5,b=4,c=3;if(a=b+c)cout<<”***”<<endl;elsecout<<”$$$”<<endl;}A.有語法錯(cuò)誤,不能通過編譯B.可以通過編譯但不能通過連接C.輸出***D.輸出$$$10.為了避免嵌套的if-else語句的二義性,C++規(guī)定else總是與()組成配對(duì)關(guān)系。A.縮排位置相同的ifB.在其之前未配對(duì)的ifC.在其之前未配對(duì)的最近的ifD.同一行上的if11執(zhí)行下列程序,輸入為1時(shí)的輸出結(jié)果是()#include<iostream.h>voidmain(){intk;cin>>k;switch(k){case1:cout<<k++<<””;case2:cout<<k++<<””;case3:cout<<k++<<””;case4:cout<<k++<<””;break;default:cout<<"Full!"<<””;}cout<<endl;}A.1B.2C.2345D.123412.下列while循環(huán)的循環(huán)次數(shù)為()while(inti=0)i--;A.0B.1C.5D.無限13.下列do-while循環(huán)的循環(huán)次數(shù)為()已知:inti=5;do{cout<<i--<<endk;i--;}while(i!=0);A.1B.2C.5D.無限14.下列描述正確的是()A.不是每個(gè)C++程序都必須包含預(yù)處理命令#include<iostream.h>B.C++程序必須有return語句C.C++程序中的變量必須定義在主程序內(nèi)部D.C++程序中所使用的符號(hào)常量可以不進(jìn)行定義15.已知intx,y;,下列switch語句中,正確的是()A.switch(x*y)B.switch{{case1:x*y;break;case1,5:x++;case2:break;case3,7:y++;}}C.switch(x)D.switch(x+y/100){{casex:x*x;break;casex:x*x/100;break;casey:y*y;break;casey:y*y/100;break;}}16.下列關(guān)于goto語句的描述中正確的是()A.goto語句可以在一個(gè)程序中隨意轉(zhuǎn)向。B.循環(huán)體中不能出現(xiàn)goto語句C.goto語句后面要跟上一個(gè)它所要轉(zhuǎn)向的語句D.goto語句不是結(jié)構(gòu)化語句17.執(zhí)行以下程序段的輸出結(jié)果是()ints1=0,s2=0,s3=0,s4=0;for(intt=1;t<=4;t++)switch(t){caset>=4:s1++;break;caset>=3:s2++;break;caset>=2:s3++;break;default:s4++;}cout<<s1<<','<<s2<<','<<s3<<','<<s4<<'\n';A.1,1,1,2B.1,2,3,2C.1,1,2,2D.編譯不通過18.執(zhí)行for(inti=10;i>1;--i)cout<<.*.;語句段后,輸出字符“*”的個(gè)數(shù)是()A.7B.8C.9D.10二、寫程序運(yùn)行結(jié)果1.寫出下面的程序的運(yùn)行結(jié)果#include<iostream.h>#include<iomanip.h>voidmain(){inti,j,k;for(i=1;i<=6;i++){for(j=1;j<=20-2*i;j++)cout<<””;for(k=1;k<=i;k++)cout<<setw(4)<<i;cout<<endl;}}2.寫出下面的程序的運(yùn)行結(jié)果#include<iostream.h>#include<iomanip.h>voidmain(){inti,j,k;for(i=1;i<=6;i++){for(j=1;j<=20-3*i;j++)cout<<”“;for(k=1;k<=i;k++)cout<<setw(3)<<k;for(k=i-1;k>0;k--)cout<<setw(3)<<k;cout<<endl;}}3.#include<iostream.h>charinput[]=”SSSWILTECH1\1\11W\1WALLMP1”;voidmain(){inti;charc;for(i=2;(c=input[i])!=’\0’;i++){switch(c){case‘a(chǎn)’:cout<<’i’;continue;case‘1’:break;case1:while((c=input[++i])!=’\1’&&c!=’\0’);case9:cout<<’S’;case‘E’:case‘L’:continue;default:cout<<c;continue;}cout<<”“;}cout<<endl;}SWITCHSWAMP4.#include<iostream.h>voidmain(){inta,b,c,s,i;a=b=c=0;for(i=0;i<10;i++){cin>>s;switch(s%3){case0:a+=s;break;case1:b+=s;break;case2:c+=s;break;}}cout<<a<<”,”<<b<<”,”<<c<<endl;}假定輸入的10個(gè)整數(shù)為:12,34,54,51,9,45,63,27,6,35,寫出該程序的運(yùn)行結(jié)果。267,34,355.#include<iostream.h>voidmain(){inti,j;for(i=1;i<=4;i++){for(j=(4-i)*2;j>0;j--)cout<<”“;for(j=1;j<=2*i-1;j++)cout<<”*”;cout<<endl;}for(i=3;i>=1;i--){for(j=(4-i)*2;j>0;j--)cout<<”“;for(j=1;j<=2*i-1;j++)cout<<”*”;cout<<endl;}}三、改錯(cuò)題1.水仙花數(shù)是一個(gè)三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。以下程序輸出所有的水仙花數(shù)。#include<iostream>usingnamespacestd;voidmain(){inti,a,b,c;for(i=100;i<1000;i++);{a=i/100;b=i%100/10;c=i/10;if(i=a*a*a+b*b*b+c*c*c)cout<<i<<endl;}}2.#include<iostream.h>#include<iomanip.h>voidmain(){for(intn=1;n<6;n++)cout<<setfill('')<<setw(n)<<''<<setfill('m')<<setw(11-2*n)<<'m'<<endl;}四、程序填空題1.求3到100之間的所有素?cái)?shù)之和。#include<iostream.h>[1]#include<math.h>voidmain(){intsum=0;for(inti=3;i<=100;i++){inttemp=int(sqrt(i));for(intj=2;j<=temp;j++)if(i%j)[2]break;if([3]j>temp)sum+=i;}cout<<sum<<endl;}2.展轉(zhuǎn)相除法求兩個(gè)整數(shù)a和b的最小公倍數(shù)。#include<iostream>usingnamespacestd;voidmain(){inta=10,b=15;inttemp,i=1;if([1]a<b){temp=a;a=b;b=temp;}while(i*a%b!=0)[2]i++;cout<<[3]i*a<<endl;}3.下列程序計(jì)算1000以內(nèi)能被3整除的自然數(shù)之和,請(qǐng)完成程序。#include<iostream.h>voidmain(){intx=1,sum;[1]sum=0;while(1){if([2]x>1000)break;if([3]x%3==0)sum+=x;x++;}cout<<sum<<endl;}第四章函數(shù)與預(yù)處理一、選擇題1.若要定義一個(gè)只允許本源文件中所有函數(shù)能使用的全局變量,則該變量需要使用的存儲(chǔ)類別是()A.externB.registerC.autoD.static2.函數(shù)的重載是指()A.兩個(gè)或兩個(gè)以上的函數(shù)有相同的函數(shù)名,但函數(shù)形參的個(gè)數(shù)或類型不同B.兩個(gè)以上的函數(shù)有相同的函數(shù)名和相同個(gè)數(shù)的參數(shù),但形參的類型可以不同C.兩個(gè)以上的函數(shù)有不同的函數(shù)名,但形參的個(gè)數(shù)或類型相同D.兩個(gè)以上的函數(shù)有相同的函數(shù)名,并且函數(shù)的返回類型不同3.關(guān)于函數(shù)的描述中,正確的是()A.函數(shù)的定義可以嵌套,函數(shù)的調(diào)用不可以嵌套B.函數(shù)的定義不可以嵌套,函數(shù)的調(diào)用可以嵌套C.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套4.若有宏定義:#defineS(x)(x)*(x),則表達(dá)式:2.7/S(3.0)在預(yù)編譯過程中將()B.被替換為2.7/(3.0)*(3.0)C.被替換為2.7/((3.0)*(3.0))D.不能被替換5.關(guān)于內(nèi)置函數(shù)的說法中,不正確的是()A.內(nèi)置函數(shù)不需要使用堆棧進(jìn)行現(xiàn)場(chǎng)的保護(hù)與恢復(fù)B.內(nèi)置函數(shù)以犧牲程序的存儲(chǔ)空間換取程序的執(zhí)行時(shí)間C.內(nèi)置函數(shù)體內(nèi)不能有循環(huán)語句D.類的內(nèi)置函數(shù)必須在類體外通過加關(guān)鍵字inline定義6.在函數(shù)定義前加上inline表示該函數(shù)被定義為()A.重載函數(shù)B.內(nèi)置函數(shù)C.成員函數(shù)D.普通函數(shù)7.關(guān)于設(shè)置C++函數(shù)參數(shù)默認(rèn)值的描述中,正確的是()A.不允許設(shè)置函數(shù)參數(shù)的默認(rèn)值B.只能在定義函數(shù)時(shí)設(shè)置函數(shù)參數(shù)的默認(rèn)值C.設(shè)置函數(shù)參數(shù)默認(rèn)值時(shí),應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的D.設(shè)置函數(shù)參數(shù)默認(rèn)值時(shí),應(yīng)該全部參數(shù)都設(shè)置8.若同時(shí)定義了下列四個(gè)選項(xiàng)格式的函數(shù)和模板,fun(8,3.1)調(diào)用的是()A.template<classT1,classT2)fun(T1,T2)B.fun(double,int)C.fun(char,char)D.fun(double,char)9.關(guān)于函數(shù)模板的敘述中,正確的是()A.函數(shù)模板實(shí)際上是函數(shù)類型和形參類型不具體指定的通用函數(shù)B.函數(shù)模板可以用于描述函數(shù)體不同的一系列函數(shù)C.函數(shù)模板可以用于描述參數(shù)個(gè)數(shù)不同的一系列函數(shù)D.函數(shù)模板定義中typename和class的作用不同10.關(guān)于變量的存儲(chǔ)類別的描述中,不正確的是()A.變量的存儲(chǔ)類別指的是變量值在內(nèi)存中存儲(chǔ)的方法B.變量的存儲(chǔ)類別與變量值存在的時(shí)間有關(guān)C.變量的存儲(chǔ)類別決定了變量占用內(nèi)存的分配與釋放時(shí)間D.變量的存儲(chǔ)類別不能確定變量的作用域11已知函數(shù)func的原型是:doublefunc(double*pd,int&ri);變量x和y的定義是:doublex;inty;把x和y分別作為第一參數(shù)和第二參數(shù)來調(diào)用func,正確的調(diào)用語句是()A.func(x,&y);B.func(&x,y);C.func(&x,&y);D.func(x,y);12.關(guān)于遞歸函數(shù)的說法中,不正確的是()A.遞歸函數(shù)可以改寫為非遞歸函數(shù)B.遞歸函數(shù)應(yīng)有遞歸結(jié)束的條件C.解決同一個(gè)問題的遞歸函數(shù)的效率比非遞歸函數(shù)的效率要高D.遞歸函數(shù)往往更符合人們的思路,程序更容易理解13.下列敘述中,正確的是()A.預(yù)處理命令行必須位于源文件的開頭B.在源文件的一行上可以有多條預(yù)處理命令C.宏名必須用大寫字母表示D.宏替換不占用程序的運(yùn)行時(shí)間14.關(guān)于函數(shù)模板的說法中,正確的是()A.函數(shù)模板中typename和class用于定義不同的虛擬類型名B.能被函數(shù)模板代替的函數(shù)必須具有相同個(gè)數(shù)的形參C.函數(shù)模板的虛擬類型名由C++系統(tǒng)自動(dòng)確定D.函數(shù)模板的虛擬類型名是在運(yùn)行階段確定實(shí)際類型的15.關(guān)于函數(shù)的說法中,錯(cuò)誤的是()A.函數(shù)定義是平行的B.函數(shù)可以嵌套調(diào)用C.函數(shù)可以嵌套定義D.函數(shù)可以遞歸調(diào)用16.定義一個(gè)函數(shù)模板要用到的第一個(gè)修飾符是()A.typenameB.templateC.classD.typedef17.為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實(shí)現(xiàn),此函數(shù)應(yīng)選擇()A.內(nèi)置函數(shù)B.重載函數(shù)C.遞歸函數(shù)D.函數(shù)模板18.不是重載函數(shù)調(diào)用時(shí)選擇依據(jù)的是()A.參數(shù)個(gè)數(shù)B.參數(shù)類型C.函數(shù)名字D.函數(shù)類型19.關(guān)于局部變量的說法中,不正確的是()A.函數(shù)聲明中的形式參數(shù)名在函數(shù)被調(diào)用時(shí)分配內(nèi)存空間B.不同的函數(shù)中可以定義同名的局部變量C.函數(shù)定義中的形式參數(shù)名也是局部變量D.局部變量只在定義它的函數(shù)或復(fù)合語句(塊)中有效20.關(guān)于函數(shù)模板的敘述中,正確的是()A.函數(shù)模板也是一個(gè)具體類型的函數(shù)B.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個(gè)概念C.通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)D.用函數(shù)模板定義的函數(shù)沒有類型21.在函數(shù)的傳值調(diào)用中,要求()A.形參和實(shí)參類型任意,個(gè)數(shù)相等B.形參和實(shí)參類型相同,個(gè)數(shù)相等C.形參和實(shí)參對(duì)應(yīng)類型一致,個(gè)數(shù)相等D.形參和實(shí)參對(duì)應(yīng)類型一致,個(gè)數(shù)任意22.適宜定義為內(nèi)置函數(shù)的是()A.函數(shù)體含有循環(huán)語句B.函數(shù)體含有遞歸語句C.需要加快程序的執(zhí)行速度D.函數(shù)代碼多且不常調(diào)用23.設(shè)函數(shù)模板定義為template<classT>Tf(Tx,Ty){returnx+y;}對(duì)該函數(shù)模板使用不正確的是()A.f(4,8);B.f(4.9,8.5);C.f(12.8f,45.9f);D.f("123","456");24.若在程序中有一個(gè)名字為a1的全局標(biāo)識(shí)符,在該程序的某函數(shù)中有一個(gè)同名的局部標(biāo)識(shí)符,如果在該函數(shù)中訪問這個(gè)同名的全局標(biāo)識(shí)符,則該全局標(biāo)識(shí)符應(yīng)表示為()A.a1B.a1::C.->a1D.::a125.下列條件編譯命令中下劃線處是()#if()語句1;#else語句2;#endifA.整常量表達(dá)式B任意標(biāo)識(shí)符.C.任意表達(dá)式D.被定義的宏名26.在函數(shù)的返回值類型與返回值表達(dá)式的類型描述中錯(cuò)誤的是()A.函數(shù)返回值的類型在函數(shù)定義時(shí)確定,在函數(shù)調(diào)用時(shí)是不能改變的B.函數(shù)返回值的類型就是返回值表達(dá)式的類型C.函數(shù)返回值表達(dá)式類型與函數(shù)返回值類型不同時(shí),表達(dá)式類型應(yīng)轉(zhuǎn)換成函數(shù)返回值類型D.函數(shù)返回值類型決定了返回值表達(dá)式的類型27.適合于實(shí)現(xiàn)功能不復(fù)雜但又要求有較快執(zhí)行速度的函數(shù)是()A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸函數(shù)D.嵌套函數(shù)28.在函數(shù)說明中,不必要的是()A.函數(shù)的類型B.函數(shù)參數(shù)的類型C.函數(shù)的名字D.函數(shù)參數(shù)的名字29.屬于文件級(jí)作用域的標(biāo)識(shí)符是()A.函數(shù)形參B.語句標(biāo)號(hào)C.外部靜態(tài)類標(biāo)識(shí)符D.自動(dòng)類標(biāo)識(shí)符30.預(yù)處理命令在程序中都是以()開頭的。A.*B.#C.:D./31.在帶參數(shù)的宏定義中,程序中引用宏定義的實(shí)參()A.只能是常量B.只能是整型量C.只能是整型表達(dá)式D.可以是任意表達(dá)式32.在下列存儲(chǔ)類標(biāo)識(shí)符中,可見性和存在性不一致的是()A.外部類B.自動(dòng)類C.內(nèi)部靜態(tài)內(nèi)D.寄存器類33.作用域運(yùn)算符的功能是()A.標(biāo)識(shí)作用域的級(jí)別B.指出作用域的范圍C.給定作用域的大小D.標(biāo)識(shí)某個(gè)成員屬于哪個(gè)類34.下列說法正確的是()A.C++語言的函數(shù)原型與C語言的函數(shù)說明格式相同B.不允許在C++語言的函數(shù)原型中說明參數(shù)類型C.當(dāng)函數(shù)自變量個(gè)數(shù)不確定時(shí),系統(tǒng)不自動(dòng)檢測(cè)自變量D.不論函數(shù)自變量個(gè)數(shù)是否確定,系統(tǒng)都不自動(dòng)檢測(cè)自變量35.當(dāng)函數(shù)的自變量個(gè)數(shù)不確定時(shí),參數(shù)表用()表示。A.…B.*C.空格D.?36.在C++語言中規(guī)定函數(shù)的返回值的類型是由()A.return語句中的表達(dá)式類型所決定B.調(diào)用該函數(shù)時(shí)的主調(diào)用函數(shù)類型所決定C.調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定D.在定義該函數(shù)時(shí)所指定的函數(shù)類型所決定37.局部變量可以隱藏全局變量,那么在有同名全局變量和局部變量的情形時(shí),可以用()提供對(duì)全局變量的訪問。A.域運(yùn)算符B.類運(yùn)算符C.重載D.引用38.在不同文件的函數(shù)中,對(duì)全局變量的引用要加上()關(guān)鍵字。A.registerB.autoC.staticD.extern39.下面程序段的輸出結(jié)果為()#definePI3.141593#include<iostream.h>voidmain(void){cout<<”PI=”<<PI<<endl;}A.3.141593=3.141593B.PI=3.141593C.3.141593=PID.程序有錯(cuò)誤,無輸出結(jié)果40.以下的函數(shù)調(diào)用語句中實(shí)參的個(gè)數(shù)是()fun(a+b,(x,y),fun(n+k,d,(a,b)));A.3B.4C.5D.641.下列標(biāo)識(shí)符中,()不是局部變量。A.register類B.外部static類C.auto類D.函數(shù)形參42.C++語言中允許同一程序中有相同的函數(shù)名存在,稱為()A.類型轉(zhuǎn)換B.結(jié)構(gòu)體C.函數(shù)重載D.函數(shù)原型43.下列關(guān)于C++函數(shù)的說法中正確的是()A.若函數(shù)先定義后調(diào)用,則必須在調(diào)用前說明B.如函數(shù)先調(diào)用后定義,則必須在調(diào)用前說明C.不論函數(shù)定義與調(diào)用的先后,都必須在調(diào)用前說明D.不論函數(shù)定義與調(diào)用的先后,都不必在調(diào)用前說明44.若函數(shù)沒有返回值,則該函數(shù)的類型應(yīng)被說明為()A.voidB.intC.charD.double45.若一個(gè)函數(shù)被說明為void類型,則其含義是()A.函數(shù)沒有任何返回值B.函數(shù)沒有參數(shù)表C.函數(shù)的作用域?yàn)槿諨.函數(shù)的作用域?yàn)榫植?6.下列關(guān)于用#define定義的常量的說法中正確的是()A.在函數(shù)中定義的常量的作用域從定義起到該函數(shù)結(jié)束B.在函數(shù)中定義的常量的作用域從定義起到#undef取消為止或文件結(jié)束C.在一個(gè)函數(shù)中定義的常量不能在同一個(gè)文件的后續(xù)的其它函數(shù)中取消D.在一個(gè)函數(shù)中定義的常量不能在同一個(gè)文件的后續(xù)的其它函數(shù)中重新定義47.下列關(guān)于內(nèi)聯(lián)函數(shù)的說法中不正確的是()A.內(nèi)聯(lián)函數(shù)體內(nèi)不能有循環(huán)語句B.內(nèi)聯(lián)函數(shù)體內(nèi)不能有switch語句C.內(nèi)聯(lián)函數(shù)必須先定義后調(diào)用D.內(nèi)聯(lián)函數(shù)在被調(diào)用時(shí)發(fā)生控制轉(zhuǎn)移48.下列關(guān)于寄存器類變量的說法中不正確的是()A.寄存器類變量只能是局部變量或函數(shù)的形式參數(shù)B.寄存器類變量只能為int型或char型C.寄存器類變量不能進(jìn)行取地址操作D.定義為寄存器類的變量只能存儲(chǔ)在寄存器中49.在C++中,下列關(guān)于函數(shù)原型的描述中錯(cuò)誤的是()A.如果函數(shù)先定義后調(diào)用,則該函數(shù)不能有函數(shù)原型說明B.函數(shù)原型與函數(shù)定義在返回類型、函數(shù)名及參數(shù)表上必須完全一致C.函數(shù)原型不必包含參數(shù)的名字,而只要包含參數(shù)的類型D.函數(shù)原型說明是語句50.下列關(guān)于變量和作用域運(yùn)算符的說法中錯(cuò)誤的是()A.在用一作用域中不能說明同名變量,但不同作用域中可以說明同名變量B.作用域運(yùn)算符提供了在局部作用域內(nèi)引用同名的全局變量的方法C.不同的作用域內(nèi)可以定義同名的變量D.全局變量不能自動(dòng)初始化51.下面程序中第8行中的::a的含義是()#include<iostream.h>//1inta;//2voidmain()//3{//4inta;//5{//6inta;//7::a=5;//8a=10;//9}//10}//11A.表示對(duì)第2行定義的變量a的引用B.表示對(duì)第5行定義的變量a的引用C.表示對(duì)第7行定義的變量a的引用D.不合法的引用52.下列關(guān)于預(yù)處理的描述中正確的是()A.預(yù)處理命令在編譯時(shí)被執(zhí)行B.所有的預(yù)處理命令都是以#開頭的C.預(yù)處理命令的主要作用是提高程序的運(yùn)行效率D.預(yù)處理命令不是C++語言的必須組成部分53.若有宏定義語句為:#defineSQ(x)(x*x)則執(zhí)行下列語句后m的值為()intm=50/SQ(5);A.2B.10C.50D.125054.下列關(guān)于內(nèi)聯(lián)函數(shù)的描述中錯(cuò)誤的是()A.內(nèi)聯(lián)函數(shù)是在程序編譯時(shí)被執(zhí)行的B.用inline修飾的函數(shù)原型其對(duì)應(yīng)的函數(shù)也將成為內(nèi)聯(lián)函數(shù)C.內(nèi)聯(lián)函數(shù)不能是遞歸函數(shù)D.內(nèi)聯(lián)函數(shù)的主要作用是提高程序的運(yùn)行效率55.下列關(guān)于函數(shù)的描述中錯(cuò)誤的是()A.函數(shù)形參的作用域是該函數(shù)的函數(shù)體B.所有的函數(shù)在定義它的程序中都是可見的C.調(diào)用系統(tǒng)函數(shù)時(shí),要先將該系統(tǒng)函數(shù)的原型說明所在的頭文件包含進(jìn)去D.系統(tǒng)函數(shù)及其庫(kù)不是C++語言所必須的56.下列關(guān)于存儲(chǔ)類的說法中錯(cuò)誤的是()A.定義外部變量時(shí)不用存儲(chǔ)類說明符extern,而說明外部變量時(shí)要用它B.內(nèi)部靜態(tài)類變量與自動(dòng)類變量的作用域相同,但生存期不同C.內(nèi)部靜態(tài)類變量的可見性與存在性不一致D.靜態(tài)生存期的標(biāo)識(shí)符的壽命是短的,而動(dòng)態(tài)生存期標(biāo)識(shí)符的壽命是長(zhǎng)的57.編譯以下程序時(shí),結(jié)果為()#include<iostream.h>//第1行#defineaa123;//第2行voidmain(void)//第3行{cout<<aa<<'\n';}//第4行A.編譯時(shí)第2行出錯(cuò)B.編譯時(shí)第4行出錯(cuò)C.編譯時(shí)第2行和第4行均出錯(cuò)D.編譯時(shí)無錯(cuò)誤58.通常情況下,函數(shù)模板中的類型參數(shù)個(gè)數(shù)不能是()A.0B.1C.2D.359.所有在函數(shù)中定義的變量,包括形式參數(shù),都屬于()A.全局變量B.局部變量C.靜態(tài)變量D.外部變量60.文件包含命令中對(duì)被包含的文件名的要求是()A.必須為.hB.不能用.hC.必須是.cppD.不一定是.h二、填空題1.若定義函數(shù)時(shí)沒有指定返回類型,則系統(tǒng)認(rèn)為該函數(shù)的返回類型是int類型。2.變量的四種存儲(chǔ)類型分別是靜態(tài)(static)類型、自動(dòng)(auto)類型、寄存器(register)類型和外部(extern)類型3.變量的四種作用域分別是程序級(jí)、文件級(jí)、函數(shù)級(jí)和塊級(jí)4.局部靜態(tài)(static)變量的存在性與可見性不一致。5.函數(shù)按存儲(chǔ)類型可分為內(nèi)部函數(shù)(或static函數(shù))和外部函數(shù)(或extern函數(shù))。6.auto、extern和register三種修飾符不允許修飾類的成員數(shù)據(jù)。7.在說明函數(shù)時(shí),(函數(shù))參數(shù)的名字不是必須的。8.在C++語言中,函數(shù)原型和函數(shù)定義要求返回類型、函數(shù)名和參數(shù)表必須完全一致。9.若有說明語句為:doublefun(void);,則該語句也可以寫成doublefun();。10.所有的預(yù)處理命令都是以#開頭的;11.用#define宏定義的宏名可以用宏#undef取消。12.計(jì)算函數(shù)參數(shù)順序引起的二義性是由不同的編譯系統(tǒng)決定的。三、寫程序運(yùn)行結(jié)果1.#include<iostream>usingnamespacestd;intf1(inta){intb=0;staticintc=2;b++;c++;returna+b+c;}intmain(){inta=2;cout<<f1(a)<<endl;cout<<f1(a)<<endl;}672.#include<iostream>usingnamespacestd;voidmain(){inta=5,b=7,c=10;{intb=8;doublec=8.8;a=b;{intc=b;}cout<<a<<","<<b<<","<<c<<endl;}cout<<a<<","<<b<<","<<c<<endl;}8,8,8.88,7,103.#include<iostream>usingnamespacestd;inti=10;intf1(intj){staticinti=20;j=i--;returnj;}intf2(inti){intj=15;returni=j+=i;}voidmain(){for(intj=1;j<3;j++)cout<<f1(i)<<","<<f2(i+j)<<endl;}20,2619,274.#include<iostream>usingnamespacestd;intmain(){intmax(inta,intb,intc);intmax(inta,intb);inta=-11,b=-10,c=-3;cout<<max(a,b)<<endl;cout<<max(a,b,c)<<endl;}intmax(inta,intb,intc){if(b>a)a=b;if(c>a)a=c;returna;}intmax(inta,intb){if(a>b)returna;elsereturnb;}-10-35.#include<iostream>usingnamespacestd;longf(intn){if(n>2)return(f(n-1)+f(n-2));elsereturn(n);}voidmain(){inta=4,b=2;cout<<f(a)<<endl;cout<<f(b)<<endl;}526.#include<iostream>usingnamespacestd;inta=5;voidmain(){intb=a+20;inta=10;{inta=0,b=0;for(inti=1;i<6;i++){a+=i;b+=a;}cout<<"a+b="<<a+b<<endl;}cout<<"a+b="<<a+b<<endl;}a+b=50a+b=357.寫出下面的程序的運(yùn)行結(jié)果#include<iostream.h>#defineN5voidfunc(){staticinta;intb=2;cout<<(a+=3,a+b)<<””;}voidmain(){for(inti=1;i<N;i++)func();cout<<endl;}5811148.#include"iostream.h"voidmain(){inta=5,b=7,c=10;cout<<a<<","<<b<<","<<c<<endl;{intb=8;floatc=8.8;cout<<a<<","<<b<<","<<c<<endl;a=b;{intc;c=b;cout<<a<<","<<b<<","<<c<<endl;}cout<<a<<","<<b<<","<<c<<endl;}cout<<a<<","<<b<<","<<c<<endl;}9.#include<iostream.h>inta;voidmain(){inta(20);{inta;a=10;::a=5;cout<<a<<endl;}cout<<a<<endl;cout<<::a<<endl;}1020510.假定輸入的10個(gè)字符為“abcedfghij”,寫出下面的程序的運(yùn)行結(jié)果#include<iostream.h>voidfun(intm){charch;if(m<=1){cin>>ch;cout<<ch;}else{cin>>ch;fun(m-1);cout<<ch;}}voidmain(){fun(10);}jihgfdeca11.#include<iostream.h>voidfun(intj){staticinta(10);intb(1);b++;cout<<a+b+j<<endl;a+=10;}voidmain(){for(inti=1;i<=4;i++)fun(i);}13243546四、程序填空題1.下面的函數(shù)fun未使用中間變量實(shí)現(xiàn)對(duì)兩個(gè)數(shù)的交換,請(qǐng)完成下列函數(shù)的定義。voidfun(int&x,int&y){x+=y;y=[1]x-y;[2]x=x-y;}2.下面的函數(shù)bubble()是對(duì)整數(shù)數(shù)組a按升序排序的冒泡算法,其中,參數(shù)a存儲(chǔ)將被排序的數(shù)據(jù),size是數(shù)組a中存儲(chǔ)的元素?cái)?shù)目,請(qǐng)完成該函數(shù)。voidbubble(inta[],intsize){[1]inttemp;for(intp=1;[2]p<size;p++)for(inti=0;[3]i<size-p;i++)if(a[i]>a[i+1]){temp=a[i];[4]a[i]=a[i+1];[5]a[i+1]=temp;}}3.下面的函數(shù)Sort()用于對(duì)整數(shù)數(shù)組array按升序排序的選擇排序算法,其中參數(shù)n表示array數(shù)組中存儲(chǔ)的數(shù)組元素?cái)?shù)。例如,假設(shè)數(shù)組array中有10個(gè)元素,選擇排序就是:先將10個(gè)數(shù)中的最小數(shù)與a[0]對(duì)換;再將a[1]到a[9]中的最小數(shù)與a[1]對(duì)換,….,直到排序完成。請(qǐng)完成該函數(shù)。voidSort(intarray[],intn){intk;[1]intt;for(inti=0;i<n-1;i++){[2]k=i;for(intj=[3]i+1;j<n;j++)if(array[j]<array[k])k=j;t=array[k];[4]array[k]=array[i];[5]array[i]=t;}}4.以下程序的功能是求三角函數(shù)sinx的近似值,其計(jì)算精度為0.000001。已知求sinx近似值的計(jì)算公式為:)!12()1(!7!5!31sin)12(1753nxxxxxxnn.其中,x的值為弧度。當(dāng)輸入的x值為度數(shù)時(shí),將度數(shù)轉(zhuǎn)化為弧度的公式為:1801415926.3xy.#include<iostream.h>#include<math.h>doublesin(doublex,doubleeps){doubleterm,sum,y;intn=1;y=x*x;term=[1]x;sum=0;while(fabs(term)>=eps){sum+=[2]term;n++;term=term*y/[3]((2*n-1)*(2*n-2));term*=-1;}return[4]sum;}voidmain(void){doublex,y;cout<<"請(qǐng)輸入x的值(角度):";cin>>x;while(x>360)x-=360;y=[5]3.1415926*x/180;cout<<"角度為"<<x<<"的sin值是"<<sin(y,1e-6)<<'\n';}第五章數(shù)組一、選擇題1.若有定義:chara[]="xyz",b[]={'x','y','z'};,則在下列敘述中正確的是()A.數(shù)組a和b的長(zhǎng)度相同B.數(shù)組a的長(zhǎng)度小于數(shù)組b的長(zhǎng)度C.數(shù)組a的長(zhǎng)度大于數(shù)組b的長(zhǎng)度D.數(shù)組b以'\0'結(jié)束,而a不是2.若有定義:intb[][3]={{1},{3,2},{4,5,6}},{0}};,則b[2][2]的值是()A.0B.2C.5D.63.給字符數(shù)組進(jìn)行初始化的選項(xiàng)中,正確的是()A.chars1[]="12345abcd";B.chars2[3]="xyz";C.chars3[][3]={'a','x','y'};D.chars4[2[3]={"xyz","mnp"};4.關(guān)于數(shù)組的說法中,不正確的是()A.數(shù)組是數(shù)據(jù)的集合B.數(shù)組是有類型屬性的C.C++不允許動(dòng)態(tài)改變數(shù)組的大小D.不能一次引用整個(gè)數(shù)組中的全部元素值5.將兩個(gè)字符串連接起來組成一個(gè)字符串的函數(shù)是()A.strlenB.strcpyC.strcatD.strcmp6.關(guān)于C++語言的數(shù)組的描述中,正確的是()A.數(shù)組的名字就是指向該數(shù)組第一個(gè)元素的指針B.長(zhǎng)度為n的數(shù)組,下標(biāo)的范圍是1~nC.數(shù)組的大小在運(yùn)行時(shí)確定D.數(shù)組只能通過值參數(shù)和引用參數(shù)兩種方式傳遞給函數(shù)二、寫程序運(yùn)行結(jié)果1.#include<iostream>usingnamespacestd;intmain(){inta[3][2]={{1,4},{2,5},{3,6}};intb[2][3],i,j;for(i=0;i<=2;i++)for(j=0;j<=1;j++)b[j][i]=a[i][j];for(i=0;i<=1;i++){for(j=0;j<=2;j++)cout<<b[i][j];cout<<endl;}}1234562.#include<iostream>usingnamespacestd;voidmain(){inta[5]={66,48,19,79,47};intmin=a[0],max=a[0];for(inti=0;i<5;i++){if(min>a[i])min=a[i];if(max<a[i])max=a[i];}cout<<"min="<<min<<endl;cout<<"max="<<max<<endl;}min=19max=293.#include<iostream>usingnamespacestd;intmain(){inti,j,row=0,column=0,max;inta[3][4]={{6,1,2,88},{2,5,6,56},{-3,-6,12,67}};max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){max=a[i][j];row=i;column=j;}cout<<max<<endl;cout<<row<<column<<endl;}88034.#include<iostream>usingnamespacestd;voidmain(){inta[8]={36,25,48,14,55,40,50,24};intmax,pre;max=pre=a[0];for(inti=1;i<8;i++)if(a[i]>max){pre=max;max=a[i];}elseif(a[i]>pre)pre=a[i];cout<<"pre="<<pre<<endl;cout<<"max="<<max<<endl;}pre=50max=555.#include<iostream.h>inti(10);staticintreset(){returni;}staticintnext(intj){j=i++;returnj;}staticintlast(intj){staticinti(20);j=i--;returnj;}staticintother(inti){intj(15);returni=j+=i;}voidmain(){inti=reset();for(intj(1);j<=3;j++){cout<<i<<”,”<<j<<”,”;cout<<next(i)<<”,”;cout<<last(i)<<”,”;cout<<other(i+j)<<endl;}}6.#include<iostream.h>voidmain(){intdata[10]={1,7,2,564,23,456,64,45,6345,33};inti,j,temp;for(i=0;i<10;i++){for(j=0;j<9-i;j++)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論