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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章概述ー、選擇題.關于C++與C語言的關系描述中,錯誤的選項是()A.C語言與C++是兼容的 B.C語言是C++的ー個子集C.C++和C語言都是面向對象的 D.C++對C語言進展了一些改良.不可以作為C++用戶標識符的是()A.Printf B._123 C.While D.case.由C++目標文件連接而成的可執(zhí)行文件的缺省擴展名為()A.cpp B.obj C.lib D.exe.關于C和C++的描述中,正確的選項是()A.C是面向過程,C++是純面向對象 B.C++是C的超集C.C++是對C的錯誤的修改 D.C++和C沒有關系.C++對C作了很多改良,從面向過程成為面向對象的主要原因是()A,增加了一些新的運算符 B.允許函數(shù)重載,并允許設置參數(shù)默認值C.規(guī)定函數(shù)必須用原型 D.引進了類和対象的概念.將高級語言編寫的源程序翻譯成目標程序的是()A,解釋程序 B.編譯程序C.匯編程序 D.調試程序.C++語言是從早期的C語言逐漸開展演變而來的,與C語言相比,它在求解問題方法上進展的最大改良是()A,面向過程 B.面向對象C1平安性 D.復用性.C++語言支持過程程序設計方法和()設計方法。A.面向對象B,面向函數(shù)C.面向用戶 D.面向問題.關于C++和C的關系中,使C發(fā)生了質的變化,即從面向過程變成為面向對象的是()A.增加了新的運算符 B,允許函數(shù)重載,并允許缺省參數(shù)C,規(guī)定函數(shù)有原型 D,引進了類和對象的概念.C++語言最有意義的方面是支持()A,面向事件B.面向程序C.面向對象 D.面向用戶.以下說法中,正確的選項是()C++程序總是從第一個定義的函數(shù)開場執(zhí)行C++程序總是從主函數(shù)開場執(zhí)行C++函數(shù)必須有返回值,否那么不能調用此函數(shù)C++程序中有調用關系的所有函數(shù)必須放在同一個源程序文件中.以下描述中,正確的選項是()A.程序就是軟件 B.軟件開發(fā)不受計算機系統(tǒng)的限制C.軟件既是邏輯實體,又是物理實體D.軟件就是程序、數(shù)據與相關文檔的集合.為了使模塊盡可能獨立,要求()A.模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量強B.模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量弱C.模塊的內聚程度要盡量低,且各模塊間的耦合程度要盡量弱D.模塊的內聚程度要盡量低,且各模塊間的耦合程度要盡量強

.以下說法中正確的選項是()A.數(shù)據流圖詳細描述了系統(tǒng)中對象數(shù)據是如何計算的B.數(shù)據流圖詳細描述「操作和約束的含義C,數(shù)據流圖中不能有過程D.數(shù)據流圖定義了對象的操作.在C++語言中,自定義的標識符()A,能使用關鍵字并且不區(qū)分大小寫 B,不能使用關鍵字并且不區(qū)分大小寫C,能使用關鍵字并且區(qū)分大小寫 D.不能使用關鍵字并且區(qū)分大小寫.不能用于組成C++程序標識符的是()A.連接符B,下劃線C.大小寫字母D.數(shù)字字符.以下標識符中都是合法的是()A._key,example,a_b B.5ap,testl,_3aC.bcp,?mail,_c_d D.INL,_paper,union18.以下符號中,不可作為分隔符的是()A.逗號 B.分號 C.問號D.英文句號.以下變量名中,合法的是().以下變量名中,合法的是()A.CHINAB.byte-size.在C++語言中,自定義的標識符(A.能使用關鍵字并且不區(qū)分大小寫C,能使用關鍵字并且區(qū)分大小寫.C++程序的根本單位是()A,字符B.程序行 C.語句.注釋的目的主要是用來提高()A.可讀性B.可移植性C.23.程序中的注釋局部()A.參加編譯,并會出現(xiàn)在目標程序中C,不參加編譯,但會出現(xiàn)在目標程序中24.在ー個C++程序中()A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后25.C++語言可執(zhí)行程序的開場執(zhí)行點是A.程序中第一條可執(zhí)行語言C,程序中的main函數(shù)B.不能使用關鍵字并且不區(qū)分大小寫D.不能使用關鍵字并且區(qū)分大小寫D.函數(shù)運行效率 D.編碼效率B.參加編譯,但不會出現(xiàn)在目標程序中D.不參加編譯,也不會出現(xiàn)在目標程序中B.main函數(shù)可以在任何地方出現(xiàn)D.main函數(shù)必須出現(xiàn)在固定位置()B,程序中第一個函數(shù)D,包含文件中的函數(shù).以下關于C++語言的表達中,錯誤的選項是()A,大寫字母和小寫字符的意義ー樣B,有些不同類型的變量可以在一個表達式中運算C,在賦值表達式中等號(=)左邊的變量和右邊的值可以是不同類型D,同一個運算符號在不同的場合可以有不同的含義二、填空題1,判斷ー種計算機語言是否為面向對象程序設計語言的三個根本特征是封裝性、繼承性和多態(tài)性?在面向對象語言中可擴大性是關鍵。在C++語言中,"/*…*/”主要用于多行行注釋,“〃”用于單行注釋。C++程序的實現(xiàn)經過編輯、編譯和運行步驟。在一個好的程序中,注釋可提高程序的程序的可讀性。C++源程序文件的默認擴展名為.cpp〇C++程序在編譯中會出現(xiàn)的兩類錯誤分別是致命錯誤和警告錯誤。C++編譯器進展編譯的過程可詳細地分為三個子過程,它們分別是預處理過程、編譯過程和連接過程。第二章數(shù)據類型與表達式ー、選擇題.常量3.14的數(shù)據類型是()A.doubleB.floatC.void D.字符串.設有定義:charch;,以下賦值語句正確的選項是()A.ch='123';B.ch="\xff';C.ch='\08';D.ch=,\\";.英文大寫字母B的ASC?碼為42H,英文小寫字母b的ASCII碼為()A.43HB.62HC.74HD.84H.unsigned不能修飾的類型是()A.intB.charC.floatD.longint.以下字符常量表示中,錯誤的選項是()A..\105. B..*. C..\4f. D. .\a..signed不能修飾的類型是()A.int B.char C.double D. long int.以下字符串常量表示中,錯誤的選項是()A.”ヾYes\"orヾNo\"" B."\.0K!\."C."abcd\n" D."AB\C".以下十六進制的整型常量表示中,錯誤的選項是()A.Oxaf B.OXlb C.2fx D.OxAE.以下double型常量表示中,錯誤的選項是()A.E15 B..25 C.3E5 D.3E05.設有定義charch;,正確的賦值語句是()A.ch=.123.;B.ch=.\xff.;C.ch=.\08.D.ch=.\\.11在C++語言中,080是1)A.ハ進制數(shù)B.十進制數(shù) C.十六進制數(shù)D.非法數(shù).關于字符’、?!囊韵旅枋鲋胁徽_的選項是()A,常用來作為字符串的完畢標志B.在計算機中存儲時占ー個字節(jié)的內存C,是空格字符的轉義表示形式 D.作為邏輯值使用時等價于邏輯"假”.在32位機器環(huán)境下,假設有inta[10];,那么表達式sizeof(a)/sizeof(int)的值是()TOC\o"1-5"\h\zA.10 B.4 C.40 D.214.在C++語言中,char型數(shù)據在內存中的存儲形式是()A.ASCII碼B.補碼 C.反碼 D.原碼15,字符串"\\\"ABC\"\\"的長度是()A.11 B.7 C.8 D.6.設:inta=2,b=2;,那么a+++b的結果是()A.2 B.3 C.4 D.5.假設有定義:intx=2;,那么表達式xくく2的結果為()A.2A.2B.4C.8 D.1618.:inta=5,b=6;,那么以下表達式中,有二義性的是()18.:inta=5,b=6;,那么以下表達式中,有二義性的是()A.a+b>>3 B.++a+b++ C.b+(a=3).以下運算符中優(yōu)先級最高的是()A.= B.&& C.>=.以下運算符中優(yōu)先級最低的是()A.% B.%= C.&D.(a=3)-a++D.+D.?.表達式(T7)%5的值()表達式(-17)%(-5)的值。A,大于 B.等于 C,小于 D.不確定.以下運算符中,結合性從左向右的是()A.->B.A.->B.? C.!=D..假設inta=2,b=3;,那么表達式a+++b++的值為()A. 11 B.9 C. 7 D. 5.設有定義inta;floatf;doublei:,表達式10+.a.+i*f的結果類型是()A. int B.float C. double D.不確定.sizeof(double)是ー個()A,整型表達式 B.雙精度表達式 C.函數(shù)調用D,不合法.以下關于類型轉換的描述中錯誤的選項是()A.在不同類型操作數(shù)組成的表達式中,表達式類型ー定是最髙類型double型B.逗號表達式的類型是最后ー個子表達式的類型C.賦值表達式的類型是左值的類型D.在由低向高的類型轉換中是保值映射.以下說法中正確的選項是()A.隱含類型轉換可能會損失數(shù)據精度B.顯式類型轉換可能會損失數(shù)據精度C.隱含類型轉換ー定會損失數(shù)據精度D.顯式類型轉換ー定會損失數(shù)據精度28.在隱含類型轉換中,long、int、double三種類型之間的轉換順序為()A.long->int->doubleB.long->double->intC.int->double->longD.int->long->doub1e.以下說法正確的選項是()A.隱含類型轉換可以從高類型轉換為低類型B.顯式類型轉換不可以從低類型轉換為高類型C.隱含類型轉換可以在任何類型之間轉換D.顯式類型轉換可以在任何類型之間轉換.設intn=10,i=4;,那么表達式n/=i+l運算后n的值是()TOC\o"1-5"\h\zA.0 B.3 C.2 D.1.以下運算符中,可以作用于浮點數(shù)的是()A.++B.% C.? D.&.以下各運算符中,不可以作用于浮點數(shù)的是()A./ B. && C.|| D.'.以下運算符中,可以作用于浮點數(shù)的是()A.++ B. % C.? D.".以下運算符中,結合性從左到右的是()A.?: B.*=C.== D.++.假設有下面的定義,那么表達式:a<b?a:c<d?c:d的結果為()inta=l,b=2,c=3,d=4;A.1B.2 C.3 D.4.設x為int型變量,那么執(zhí)行以下語句后,x的值為()x=10;x+=x-=x-x;A.10B.20 C.30 D.40.假設有下面的定義,那么對語句c=a+b;的以下說法中正確的選項是()inta=12;floatb=l.2f,c;A.變量a轉換為float類型B.變量b轉換為ini類型,運算結果再轉換為float類型C.變量a和b都轉換為ー中間類型,運算結果再轉換為float類型D.以上都不對.執(zhí)行以下語句后,a的值是()inta=8;a+=a-=a*a;A.-240B.64C.112D.-112.能正確表示“大于10且小于20的數(shù)"的C++表達式是()A.10<x<20B.x>10||x<20C.x>10&x<20D.!(x<=10以>=20).表示關系xWyWZ的C++語言表達式為()A.(x<=y)&&(y<=Z) B.(x<=y)AND(y<=Z)C.(x<=y〈=Z) D.(x〈=y)&(y〈=Z).設x,y,z均為int型變量,那么執(zhí)行以下語句后,t的值為()x=y=z=l;t=++x||++y&&++z;A.0B.1C.2 D.不定值.假設有如下語句: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,6.在C++中,const修飾符主要用于代替C語言中的()關鍵字進展常量定義。A.ftincludeB.staticC.ttdefineD.ttifdef二、填空題.在32位計算機中,假設有double*p;,那么p占用4字節(jié)的內存空間。.在C++中,用同一個數(shù)據類型定義多個變量時需要用逗號分隔。.變量的三要素分別是(變量的)類型、(變量的)名字(或變量名)、(變量的)值。.表達式(-9)%4的值為ー1,表達式9%(-4)的值為1,表達式(-9)%(-4)的值為T.在C++中,‘、0’被用來作為字符串的完畢符。.空字符串的長度為1。.在C++中,變量必須遵循先定義后使用的原那么。8,在16位計算機中,int數(shù)據類型占用2個字節(jié)。9.數(shù)據類型轉換分為自動類型轉換(隱含類型轉換)和強制類型轉換(顯式類型轉換)兩種。10.在32位機器中,假設有:inta[10]:那么表達式sizeof(a)/sizeof(int)的值為10。11.在32位機器中,假設有:inta[10]:那么表達式sizeof(a)的值為40。.變量的類型既規(guī)定了占用內存字節(jié)數(shù)(大小),也規(guī)定了合法操作。13,沒有初始化的變量其存儲的值要么是默認值,要么是機器(計算機)決定。.條件表達式的類型由:號前后兩個了表達式的高類型決定。.賦值表達式的類型由賦值運算符的左值的類型決定。.邏輯運算符&&和|丨的特點是在計算時存在短路現(xiàn)象。.假設有定義:inta(4),b(2);那么表達式a&&b||a++||(a-b*2)運算完成后a的值為4。.設int型變量x的值為10,那么表達式x>10?x+100:xT00的值是-90。三、寫程序運行結果#include<iostream>usingnamespacestd;intmainO{floatx;inti;x=12.6;i=(int)x;coutくく"x=”くくxくくendl;coutくく“i="くくiくくendl;}x=12.6y=12#include<iostream>usingnamespacestd;intmain()(inti;charcl;i=A';cl二'A';cout<<i?>\n';cout?cl<<'\n';return0;}65A#include<iostream>usingnamespacestd;intmain()(coutくく"abc\"abc"くくendl;cout<<,zabc\\abc/z?endl;)abc\"abcabc\\abc#include<iostream>usingnamespacestd;intmain(){inti=l;coutくく“i="くく++iくくendl;coutくく"i="くくi++くくendl;)i=2i=2#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.204t3#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-I|++z;coutくくxくく‘、t’くくyくぐ、t'くくzくく‘、n';122212#include<iostream.h>voidmain(){charx('m'),y('n');intn;n=x<y;cout?n<<endl;n=x==y-l;cout?n<<endl;n=Cy'!='Y')+(5>3)+(y-x=l);cout?n<<endl;}113四、改錯題.下面程序要求輸出x和y的值,x的值為10,y的值為11。#include<iostream>usingnamespacestd;voidmain(){constintx;inty=10;y=x++;cout?x,y;第三章語句ー、選擇題.關于switch語句的描述中,正確的選項是()switch語句中default子句可以沒有,也可有一個switch語句中每個case語句序列中必須有break語句switch語句中default子句只能放在最后switch語句中case子句后面的表達式只能是整型表達式.以下關于goto語句的描述中正確的選項是()goto語句可以在ー個文件中隨意轉向got。語句后面要跟上一個它所轉向的語句goto語句可以同時轉向多條語句goto語句可以從ー個循環(huán)體內轉到循環(huán)體外.與以下程序段等價的是()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;}.在設計C++程序時,應采用的原那么之一是()A,不限制goto語句的使用 B.減少或取消注釋行C.程序越短越好 D,程序構造應行助「讀者理解.for(intm=n=0;!n&&m<=10;m++);語句的循環(huán)次數(shù)為()A.10B.11C.12D,無限.下面的do語句的循環(huán)體執(zhí)行次數(shù)為()inta=10;do{a--;}while(a!=0);A.10B.9 C.11 D.12.以下for循環(huán)的循環(huán)體執(zhí)行次數(shù)為(假設循環(huán)體中沒有引用i和j)()for(inti=0,j=10;i=j=10;i++,j—)循環(huán)體;A.0B.1 C.10 D,無限8.以下關于if語句的描述中錯誤的選項是()A.if語句中只有一個else子句 B.if語句中可以有多個elseif子句C.if語句中if體內不能是開關語句 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,有語法錯誤,不能通過編譯 B.可以通過編譯但不能通過連接C.輸出?** D.輸出$$$10.為了防止嵌套的if-else語句的二義性,C++規(guī)定else總是與()組成配對關系。A.縮排位置ー樣的if B,在其之前未配對的ifC,在其之前未配對的最近的ifD.同一行上的if11執(zhí)行以下程序,輸入為1時的輸出結果是()#include<iostream.h>voidmain()intk;cin?k;switch(k)break;case1:coutくくk++くく”case2:coutくくk++くく"case3:coutくくk++くく”case4:coutくくk++くく"default:coutくく"Full!"?"break;cout?endl;A.1 B.2 C.2345D.1234.以下while循環(huán)的循環(huán)次數(shù)為()while(inti=0)i--;A.0 B.1 C.5 D,無限.以下do-while循環(huán)的循環(huán)次數(shù)為():inti=5;do{cout<<iーー<<endk;iーー;}while(i!=0);1 B.2 C.5 D.無限14.以下描述正確的選項是()A.不是每個C++程序都必須包含預處理命令#include<iostream.h>C++程序必須有return語句C++程序中的變量必須定義在主程序內部C++程序中所使用的符號常量可以不進展定義intx,y;?以下switch語句中,正確的選項是()A.switch(x*y)B.switch{{x*y;break;case1,5:x++;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.以下關于goto語句的描述中正確的選項是()A.goto語句可以在ー個程序中隨意轉向。B.循環(huán)體中不能出現(xiàn)goto語句goto語句后面要跟上一個它所要轉向的語句goto語句不是構造化語句.執(zhí)行以下程序段的輸出結果是()intsl=0,s2=0,s3=0,s4=0;for(intt=l;t<=4;t++)switch(t){caset>=4:sl++;break;caset>=3:s2++;break;caset>=2:s3++;break;default:s4++;}coutくくsiくぐ,‘くくs2くぐ,‘くくs3くぐ,‘くくs4くぐ、n';A.1,1,1,2B.1,2,3,2 C.1,1,2,2D.編譯不通過.執(zhí)行for(inti=10;i>l;—i)coutくく.*.;語句段后,輸出字符“?〃的個數(shù)是()A.7 B.8 C.9 D.10二、寫程序運行結果.寫出下面的程序的運行結果#include<iostream.h>#include<iomanip.h>voidmain()(inti,j,k:for(i=l;i<=6;i++){for(j=l;j<=20-2*i;j++)cout?w";for(k=l;k<=i;k++)cout?setw(4)?i;cout?endl;}}.寫出下面的程序的運行結果ttinclude<iostream.h>#include<iomanip.h>voidmain()(inti,j,k;for(i=l;i<=6;i++)(for(j=l;j<=20-3*i;j++)coutくく”“;for(k=l;k<=i;k++)cout?setw(3)?k;for(k=i-l;k>0;k-)cout?setw(3)?k;cout?endl;)}.ttinclude<iostream.h>charinput[]="SSSWILTECH1\1\11W\1WALLMP1";voidmain()(inti;charc;for(i=2;(c=input[i])!=,、〇’;i++)(switch(c)(case'a':cout?,i;continue;case 1:break;case1:while((c二input[++i])!=’\1'&&c!='、〇’);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;b+=s;break;c+=s;break;})coutくくaくく〃,〃くくbくく〃,〃?c?endl;}假定輸入的10個整數(shù)為:12,34,54,51,9,45,63,27,6,35,寫出該程序的運行結果。267,34,355.#include<iostream.h>voidmain()(inti,j;for(i=l;i<=4;i++){for(j=(4-i)*2;j>0;j-)coutくく〃for(j=l;j<=2*i-l;j++)coutくく〃?〃;cout?endl;)for(i=3;i>=l;i—)(for(j=(4-i)*2;j>0;j—)coutくく〃for(j=l;j<=2*i-l;j++)coutくく〃?〃;cout?endl;}三、改錯題.水仙花數(shù)是ー個三位數(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;}).#include<iostream.h>#include<iomanip.h>voidmain()(for(intn=l;n<6;n++)coutくくsetfill('')くくsetw(n)くく''<<setfill('m')?setw(1l-2*n)?'m'?endl;}四、程序填空題1.求3到100之間的所有素數(shù)之和。#include<iostream.h>1]ttinclude<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;}.展轉相除法求兩個整數(shù)a和b的最小公倍數(shù)。#include<iostream>usingnamespacestd;voidmain()(inta=10,b=15;inttemp,i=l;if([l]a<b){temp=a;a=b;b=temp;}while(i*a%b!=O)[2]i++;cout?[3]i*a?endl;).以下程序計算!000以內能被3整除的自然數(shù)之和,請完成程序。#include<iostream.h>voidmain(){intx=l,sum;[1]sum=0;while(l){if([2]x>1000)break;if([3]x%3==0)sum+=x;x++;}cout?sum<<endl;第四章函數(shù)與預處理ー、選擇題.假設要定義一個只允許根源文件中所有函數(shù)能使用的全局變量,那么該變量需要使用的存儲類別是()A.extern B.registerC.autoD.static.函數(shù)的重載是指()A.兩個或兩個以上的函數(shù)有一樣的函數(shù)名,但函數(shù)形參的個數(shù)或類型不同B.兩個以上的函數(shù)有一樣的函數(shù)名和一樣個數(shù)的參數(shù),但形參的類型可以不同C.兩個以上的函數(shù)有不同的函數(shù)名,但形參的個數(shù)或類型ー樣D.兩個以上的函數(shù)有一樣的函數(shù)名,并且函數(shù)的返回類型不同.關于函數(shù)的描述中,正確的選項是()A,函數(shù)的定義可以嵌套,函數(shù)的調用不可以嵌套B,函數(shù)的定義不可以嵌套,函數(shù)的調用可以嵌套C,函數(shù)的定義和函數(shù)的調用均可以嵌套 D.函數(shù)的定義和函數(shù)的調用均不可以嵌套.假設有宏定義:#defineS(宏(x)*(x),那么表達式:2.7/S(3.0)在預編譯過程中將))A,被替換為2.7/3.0*3.0 B.被替換為2.7/(3.0)*(3.0)C.被替換為2.7/((3.0)*(3.0))D.不能被替換.關于內置函數(shù)的說法中,不正確的選項是()A.內置函數(shù)不需要使用堆棧進展現(xiàn)場的保護與恢復B.內置函數(shù)以犧牲程序的存儲空間換取程序的執(zhí)行時間C.內置函數(shù)體內不能有循環(huán)語句D.類的內置函數(shù)必須在類體外通過加關鍵字inline定義.在函數(shù)定義前加上inline表示該函數(shù)被定義為()A.重載函數(shù)B,內置函數(shù) C.成員函數(shù)D.普通函數(shù).關于設置C++函數(shù)參數(shù)默認值的描述中,正確的選項是()A.不允許設置函數(shù)參數(shù)的默認值.只能在定義函數(shù)時設置函數(shù)參數(shù)的默認值C.設置函數(shù)參數(shù)默認值時,應該是先設置右邊的再設置左邊的D.設置函數(shù)參數(shù)默認值時,應該全部參數(shù)都設置8.假設同時定義了以下四個選項格式的函數(shù)和模板,fun(8,3.1)調用的是()A.templateくclassTl,classT2)fun(Tl,T2)B.fun(double,int)C.fun(char,char) D.fun(double,char).關于函數(shù)模板的表達中,正確的選項是()A,函數(shù)模板實際上是函數(shù)類型和形參類型不具體指定的通用函數(shù)B.函數(shù)模板可以用于描述函數(shù)體不同的一系列函數(shù)C.函數(shù)模板可以用于描述參數(shù)個數(shù)不同的一系列函數(shù)D.函數(shù)模板定義中typename和class的作用不同.關于變量的存儲類別的描述中,不正確的選項是()A.變量的存儲類別指的是變量值在內存中存儲的方法B.變量的存儲類別與變量值存在的時間有關C.變量的存儲類別決定了變量占用內存的分配與釋放時間D1變量的存儲類別不能確定變量的作用域函數(shù)func的原型是:doublefunc(double*pd,int&ri);變量x和y的定義是:doublex;inty;把x和y分別作為第一參數(shù)和第二參數(shù)來調用func,正確的調用語句是()A.func(x,&y);B.func(&x,y);C.func(&x,&y);D.func(x,y);.關于遞歸函數(shù)的說法中,不正確的選項是()A.遞歸函數(shù)可以改寫為非遞歸函數(shù) B.遞歸函數(shù)應有遞歸完畢的條件C.解決同一個問題的遞歸函數(shù)的效率比非遞歸函數(shù)的效率要髙D.遞歸函數(shù)往往更符合人們的思路,程序更容易理解.以下表達中,正確的選項是()A.預處理命令行必須位于源文件的開頭B.在源文件的一行上可以有多條預處理命令C,宏名必須用大寫字母表示D.宏替換不占用程序的運行時間.關于函數(shù)模板的說法中,正確的選項是()A.函數(shù)模板中typename和class用于定義不同的虛擬類型名B,能被函數(shù)模板代替的函數(shù)必須具有一樣個數(shù)的形參C,函數(shù)模板的虛擬類型名由C++系統(tǒng)自動確定D.函數(shù)模板的虛擬類型名是在運行階段確定實際類型的.關于函數(shù)的說法中,錯誤的選項是()A,函數(shù)定義是平行的B.函數(shù)可以嵌套調用C.函數(shù)可以嵌套定義D.函數(shù)可以遞歸調用.定義ー個函數(shù)模板要用到的第一個修飾符是()A.typename B.template C.class D.typedef.為了提高程序的運行速度,可將不太復雜的功能用函數(shù)實現(xiàn),此函數(shù)應選擇()A,內置函數(shù) B.重載函數(shù) C.遞歸函數(shù) D,函數(shù)模板

.不是重載函數(shù)調用時選擇依據的是()A,參數(shù)個數(shù) B,參數(shù)類型 C,函數(shù)名字D,函數(shù)類型.關于局部變量的說法中,不正確的選項是()A,函數(shù)聲明中的形式參數(shù)名在函數(shù)被調用時分配內存空間B.不同的函數(shù)中可以定義同名的局部變量C,函數(shù)定義中的形式參數(shù)名也是局部變量D.局部變量只在定義它的函數(shù)或復合語句(塊)中有效20.關于函數(shù)模板的表達中,正確的選項是()A.函數(shù)模板也是ー個具體類型的函數(shù)B.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念C,通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)D.用函數(shù)模板定義的函數(shù)沒有類型D.用函數(shù)模板定義的函數(shù)沒有類型21,在函數(shù)的傳值調用中,要求()A.形參和實參類型任意,個數(shù)相等C,形參和實參對應類型一致,個數(shù)相等22.適宜定義為內置函數(shù)的是()A.函數(shù)體含有循環(huán)語句C,需要加快程序的執(zhí)行速度23.設函數(shù)模板定義為template<classT>Tf(Tx,Ty){returnx+y;}對該函數(shù)模板使用不正確的選項是()B,形參和實參類型ー樣,個數(shù)相等D,形參和實參對應類型一致,個數(shù)任意B.函數(shù)體含有遞歸語句D,函數(shù)代碼多且不常調用A.f(4,8);B.f(4.9,8.5);C.f(12.8f,45.9f);A.f(4,8);B.f(4.9,8.5);C.f(12.8f,45.9f);D.f("123","456”);.假設在程序中有一個名字為al的全局標識符,在該程序的某函數(shù)中有一個同名的局部標識符,如果在該函數(shù)中訪問這個同名的全局標識符,那么該全局標識符應表示為()A.alB.al:: C.->al D.::al.以下條件編譯命令中下劃線處是()#if()語句1;ftelse語句2;#endifA,整常量表達式 B任意標識符. C.任意表達式D.被定義的宏名26,在函數(shù)的返回值類型與返回值表達式的類型描述中錯誤的選項是()A.函數(shù)返回值的類型在函數(shù)定義時確定,在函數(shù)調用時是不能改變的B,函數(shù)返回值的類型就是返回值表達式的類型C.函數(shù)返回值表達式類型與函數(shù)返回值類型不同時,表達式類型應轉換成函數(shù)返回值類型D,函數(shù)返回值類型決定了返回值表達式的類型.適合于實現(xiàn)功能不復雜但又要求有較快執(zhí)行速度的函數(shù)是()A.內聯(lián)函數(shù)B,重載函數(shù)C.遞歸函數(shù)D.嵌套函數(shù).在函數(shù)說明中,不必要的是()A,函數(shù)的類型B.函數(shù)參數(shù)的類型 C.函數(shù)的名字D.函數(shù)參數(shù)的名字.屬于文件級作用域的標識符是()A.函數(shù)形參 B.語句標號 C.外部靜態(tài)類標識符D,自動類標識符.預處理命令在程序中都是以()開頭的。A.*B.#C.: D./31,在帶參數(shù)的宏定義中,程序中引用宏定義的實參()A,只能是常量B.只能是整型量 C.只能是整型表達式 D.可以是任意表達式32,在以下存儲類標識符中,可見性和存在性不一致的是()A,外部類 B.自動類C.內部靜態(tài)內 D.存放器類33.作用域運算符的功能是()A.標識作用域的級別B,指出作用域的范圍C.給定作用域的大小D.標識某個成員屬于哪個類34.以下說法正確的選項是()A.C++語言的函數(shù)原型與C語言的函數(shù)說明格式ー樣B,不允許在C++語言的函數(shù)原型中說明參數(shù)類型C,當函數(shù)自變量個數(shù)不確定時,系統(tǒng)不自動檢測自變量D,不管函數(shù)自變量個數(shù)是否確定,系統(tǒng)都不自動檢測自變量35.當函數(shù)的自變量個數(shù)不確定時,參數(shù)表用()表示。A.…B.*C.空格D.?.在C++語言中規(guī)定函數(shù)的返回值的類型是由()A.return語句中的表達式類型所決定B.調用該函數(shù)時的主調用函數(shù)類型所決定C.調用該函數(shù)時系統(tǒng)臨時決定D.在定義該函數(shù)時所指定的函數(shù)類型所決定.局部變量可以隱藏全局變量,那么在有同名全局變量和局部變量的情形時,可以用()提供對全局變量的訪問。A.域運算符 B.類運算符 C.重載 D.引用.在不同文件的函數(shù)中,對全局變量的引用要加上()關鍵字。A. register B. auto C.static D. extern.下面程序段的輸出結果為()ftdefinePI3.141593ftinclude<iostream.h>voidmain(void){cout?*PI="?PI?endl:}A.3.141593=3.141593 B.PI=3.141593C.3.141593=PI D,程序有錯誤,無輸出結果.以下的函數(shù)調用語句中實參的個數(shù)是()fun(a+b,(x,y),fun(n+k,d,(a,b)));A.3B.4C.5D.6.以下標識符中,()不是局部變量。A.register類B.外部static類C.auto類D.函數(shù)形參42.C++語言中允許同一程序中有一樣的函數(shù)名存在,稱為()A.類型轉換 B.構造體 C.函數(shù)重載D.函數(shù)原型.以下關于C++函數(shù)的說法中正確的選項是()A.假設函數(shù)先定義后調用,那么必須在調用前說明B,如函數(shù)先調用后定義,那么必須在調用前說明C,不管函數(shù)定義與調用的先后,都必須在調用前說明D,不管函數(shù)定義與調用的先后,都不必在調用前說明.假設函數(shù)沒有返回值,那么該函數(shù)的類型應被說明為()A.void B.intC.charD.double.假設ー個函數(shù)被說明為void類型,那么其含義是()A.函數(shù)沒有任何返回值 B.函數(shù)沒有參數(shù)表C,函數(shù)的作用域為全局 D.函數(shù)的作用域為局部.以下關于用#define定義的常量的說法中正確的選項是()A,在函數(shù)中定義的常量的作用域從定義起到該函數(shù)完畢B,在函數(shù)中定義的常量的作用域從定義起到#undef取消為止或文件完畢C,在ー個函數(shù)中定義的常量不能在同一個文件的后續(xù)的其它函數(shù)中取消D.在ー個函數(shù)中定義的常量不能在同一個文件的后續(xù)的其它函數(shù)中重新定義47.以下關于內聯(lián)函數(shù)的說法中不正確的選項是()A.內聯(lián)函數(shù)體內不能有循環(huán)語句 B.內聯(lián)函數(shù)體內不能有switch語句C.內聯(lián)函數(shù)必須先定義后調用 D.內聯(lián)函數(shù)在被調用時發(fā)生控制轉移.以下關于存放器類變量的說法中不正確的選項是()A.存放器類變量只能是局部變量或函數(shù)的形式參數(shù)B.存放器類變量只能為int型或char型C.存放器類變量不能進展取地址操作D,定義為存放器類的變量只能存儲在存放器中.在C++中,以下關于函數(shù)原型的描述中錯誤的選項是()A,如果函數(shù)先定義后調用,那么該函數(shù)不能有函數(shù)原型說明B.函數(shù)原型與函數(shù)定義在返回類型、函數(shù)名及參數(shù)表上必須完全一致C.函數(shù)原型不必包含參數(shù)的名字,而只要包含參數(shù)的類型D.函數(shù)原型說明是語句.以下關于變量和作用域運算符的說法中錯誤的選項是()A.在用一作用域中不能說明同名變量,但不同作用域中可以說明同名變量B.作用域運算符提供了在局部作用域內引用同名的全局變量的方法C,不同的作用域內可以定義同名的變量D.全局變量不能自動初始化.下面程序中第8行中的::a的含義是()#include<iostream.h>//Iinta;//2voidmain()//3{//4inta;//5{//6inta;//7::a=5;//8a=10;//9}//10}//llA.表示對第2行定義的變量a的引用B.表示對第5行定義的變量a的引用C.表示對第7行定義的變量a的引用D,不合法的引用.以下關于預處理的描述中正確的選項是()A,預處理命令在編譯時被執(zhí)行所有的預處理命令都是以#開頭的C.預處理命令的主要作用是提高程序的運行效率D.預處理命令不是C++語言的必須組成局部.假設有宏定義語句為:ttdefineSQ(x)(x*x)那么執(zhí)行以下語句后m的值為()intm=50/SQ(5):A.2B.10C.50D.1250.以下關于內聯(lián)函數(shù)的描述中錯誤的選項是()A.內聯(lián)函數(shù)是在程序編譯時被執(zhí)行的B.用inline修飾的函數(shù)原型其對應的函數(shù)也將成為內聯(lián)函數(shù)C.內聯(lián)函數(shù)不能是遞歸函數(shù)D.內聯(lián)函數(shù)的主要作用是提高程序的運行效率.以下關于函數(shù)的描述中錯誤的選項是()A.函數(shù)形參的作用域是該函數(shù)的函數(shù)體B.所有的函數(shù)在定義它的程序中都是可見的C.調用系統(tǒng)函數(shù)時,要先將該系統(tǒng)函數(shù)的原型說明所在的頭文件包含進去DI系統(tǒng)函數(shù)及其庫不是C++語言所必須的.以下關于存儲類的說法中錯誤的選項是()A.定義外部變量時不用存儲類說明符extern,而說明外部變量時要用它B.內部靜態(tài)類變量與自動類變量的作用域ー樣,但生存期不同C,內部靜態(tài)類變量的可見性與存在性不一致I).靜態(tài)生存期的標識符的壽命是短的,而動態(tài)生存期標識符的壽命是K的.編譯以下程序時,結果為()#include<iostream.h>//第1行ftdefineaa123J〃第2行voidmain(void)〃第3行{cout?aa?>\n';}〃第4行A.編譯時第2行出錯 B.編譯時第4行出錯C.編譯時第2行和第4行均出錯D.編譯時無錯誤.通常情況下,函數(shù)模板中的類型參數(shù)個數(shù)不能是()A.0B.1C.2D.3.所有在函數(shù)中定義的變量,包括形式參數(shù),都屬于()A,全局變量 B.局部變量 C,靜態(tài)變量 D.外部變量.文件包含命令中對被包含的文件名的要求是()A.必須為.h B.不能用.h C.必須是.cpp D.不一定是.h二、填空題.假設定義函數(shù)時沒有指定返回類型,那么系統(tǒng)認為該函數(shù)的返回類型是 int 類型。.變量的四種存儲類型分別是 靜態(tài)(static)類型、自動(auto)類型、存放器(register)類型和外部(extern)類型.變量的四種作用域分別是 程序級、文件級、函數(shù)級和塊級.局部靜態(tài)(static)變量的存在性與可見性不一致。.函數(shù)按存儲類型可分為內部函數(shù)(或static函數(shù))和外部函數(shù)(或extern函數(shù))。. autoヽextern和register三種修飾符不允許修飾類的成員數(shù)據。.在說明函數(shù)時,(函數(shù))參數(shù)的名字不是必須的。.在C++語言中,函數(shù)原型和函數(shù)定義要求返回類型、函數(shù)名 和參數(shù)表 必須完全一致。.假設有說明語句為:doublefun(void);?那么該語句也可以寫成doublefun():〇.所有的預處理命令都是以#開頭的;.用#define宏定義的宏名可以用宏#undef取消。.計算函數(shù)參數(shù)順序引起的二義性是由不同的編譯系統(tǒng)決定的。三、寫程序運行結果#include<iostream>usingnamespacestd;intfl(inta)(intb=0;staticintc=2;b++;C++;returna+b+c;}intmain()(inta=2;cout<<f1(a)<<endl;cout?f1(a)<<endl;}67#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,10#include<iostream>usingnamespacestd;inti=10;intfl(intj){staticinti=20;j=i—■;returnj;)intf2(inti){intj=15;returni=j+=i;}voidmain(){for(intj=l;j<3;j++)cout?fl(i)くく","くくf2(i+j)?endl;}20,2619,27#include<iostream>usingnamespacestd;intmainO{intmax(inta,intb,intc);intmax(inta,intb);inta=-l1,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-3#include<iostream>usingnamespacestd;longf(intn){if(n>2)return(f(nT)+f(n-2));elsereturn(n);)voidmain(){inta=4,b=2;cout?f(a)<<endl;cout?f(b)<<endl;)52#include<iostream>usingnamespacestd;inta=5;voidmain()(intb=a+20;inta=10;|inta=0,b=0;for(inti=l;i<6;i++){a+=i;b+=a;}coutくく“a+b="くくa+bくくendl;}cout?"a+b="<<a+b?endl;}a+b=50a+b=35寫出下面的程序的運行結果#include<iostream.h>#defineN5voidfunc(){staticinta;intb=2;cout?(a+=3,a+b)くく”";)voidmain()(for(inti=l;i<N;i++)func();cout<<endl;)581114#includeiostream,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;}#include<iostream.h>inta;voidmain(){inta(20);{inta;a=10;::a=5;cout?a<<endl;)cout?a<<endl;cout?::a<<endl;}1020510.假定輸入的10個字符為"abcedfghij”,寫出下面的程序的運行結果#include<iostream.h>voidfun(intm)(charch;if(m<=l){cin?ch;cout<<ch;}elsecin>>ch;fun(m-l);cout?ch;}voidmain(){fun(10);)jihgfdeca11.#include<iostream.h>voidfun(intj){staticinta(10);intb(l);b++;cout?a+b+j?endl;a+=10;}voidmain(){for(inti=l;i<=4;i++)fun(i);)13243546四、程序填空題.下面的函數(shù)fun未使用中間變量實現(xiàn)對兩個數(shù)的交換,請完成以下函數(shù)的定義。voidfun(int&x,int&y){x+二y;y=[1]x-y;⑵x=x-y;}.下面的函數(shù)bubble。是對整數(shù)數(shù)組a按升序排序的冒泡算法,其中,參數(shù)a存儲將被排序的數(shù)據,size是數(shù)組a中存儲的元素數(shù)目,請完成該函數(shù)。voidbubble(inta[],intsize)([1]inttemp;for(intp=l;[2]p<size;p++)for(inti=0;[3]iくsize-p;i++)if(a[i]>a[i+l])temp=a[i];a[i]=a[i+l];a[i+l]=temp;3.下面的函數(shù)Sort。用于對整數(shù)數(shù)組array按升序排序的選擇排序算法,其中參數(shù)n表示array數(shù)組中存儲的數(shù)組元素數(shù)。例如,假設數(shù)組array中有10個元素,選擇排序就是:先將10個數(shù)中的最小數(shù)與a[0]對換;再將a口]到a[9]中的最小數(shù)與aロ]對換,….,直到排序完成。請完成該函數(shù)。voidSort(intarray[],intn){intk;ロ]intt;for(inti=0;i<n-l;i++){[2]k=i;for(intj=[3]i+l;j<n:j++)if(array[j]<array[k])k=j;t=array[k];array[k]=array[i];array[i]=t;)}4.以下程序的功能是求三角函數(shù)sinx的近似值,其計算精度為0.000001=求sinx近似值的計算公式為:)!12()1(!7!5!31sin)12(1753nxxxxxxnn.其中,x的值為弧度。當輸入的X值為度數(shù)時,將度數(shù)轉化為弧度的公式為:1801415926.3xy.#include<iostream.h>#include<math.h>doublesin(doublex,doubleeps)doubleterm,sum,y;intn=l;y=x*x;term=[1]x;sum=0;while(fabs(term)>=eps){sum+=[2]term;n++;term=term*y/[3]((2*n-l)*(2*n-2));term*二T;}return[4]sum;}voidmain(void)(doublex,y;coutくく”請輸入x的值(角度):";cin>>x;while(x>360)x-=360;y=[5]3.1415926*x/180;coutくく"角度為"くくxくく”的sin值是"くくsin(y,1。ー6)くく'\n’;第五章數(shù)組ー、選擇題.假設有定義:chara[]="xyz",b口={'x','y','z'};,那么在以下表達中正確的選項是いA,數(shù)組a和b的長度一樣B.數(shù)組a的長度小于數(shù)組b的長度C,數(shù)組a的長度大于數(shù)組b的長度D.數(shù)組b以''0‘完畢,而a不是.假設有定義:int= {3,2},{4,5,6}},{0}};,那么b[2][定的值是()A.0B.2C.5D.63.給字符數(shù)組進展初始化的選項中,正確的選項是()A.charsi[]="12345abed”;B.chars2[3]="xyz";C.chars3[][3]={"a","x","y');D.chars4[2[3]={"xyz","mnp*};4.關于數(shù)組的說法中,不正確的選項是()A,數(shù)組是數(shù)據的集合B.數(shù)組是有類型屬性的C.C++不允許動態(tài)改變數(shù)組的大小D.不能一次引用整個數(shù)組中的全部元素值.將兩個字符串連接起來組成一個字符串的函數(shù)是()A.strlenB.strepyC.strcatD.stremp.關于C++語言的數(shù)組的描述中,正確的選項是()A.數(shù)組的名字就是指向該數(shù)組第一個元素的指針B.長度為n的數(shù)組,下標的范圍是むnC,數(shù)組的大小在運行時確定D.數(shù)組只能通過值參數(shù)和引用參數(shù)兩種方式傳遞給函數(shù)二、寫程序運行結果#include<iostream>usingnamespacestd;intmain()(inta[3][2]={{l,4},{2,5},{3,6}};intb[2][3],i,j;for(i=0;i<=2;i++)for(j=0;j<=l;j++)b[j][i]=a[i][j];for(i=0;i〈=l;i++){for(j=0;j<=2;j++)cout?b[i][j]:cout<<endl;))123456#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=29#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;}8803#include<iostream>usingnamespacestd;voidmain()(inta[8]={36,25,48,14,55,40,50,24);intmax,pre;max二pre=a[〇];for(inti=l;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=55#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(l);j<=3;j++)(coutくくiくく","くくjくく",";cout?next(i)くく",";cout?last(i)くく",";cout?other(i+j)?endl;}}#include<iostream.h>voidmain()(intdata[10]={l,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++)(if(data[j]<data[j+1]){temp=data[j+1];data[j+l]=data[j];data[j]=temp;}})for(i=0;i<10;i++)cout?data[i]<<*";cout?endl;}.假定輸入的10個字符為:75,78,76,75,81,92,60,55,70,78,寫出下面的程序的運行結果^include<iostream.h>inta[10];intc;voidmain()inti=0,j;intx;while(i<10){cin?x;for(j=0;j<c&&a[j]!=x;j++);if(j>=c)a[c++]=x;i++;)for(i=0;i<c-l;i++)for(j=i;j<c;j++)if(a[i]<a[j]){x=a[i];a[i]=a[j];a[j]=x;}for(i=0;i<c;i++)cout?a[i]?*,*;cout?endl;}四、程序填空題.統(tǒng)計字符串中英文字母個數(shù)的程序。#include<iostream>usingnamespacestd;intcount(charstrロ);voidmain(){charsi[80];coutくくEnteraline:;cin?sl;coutくく“count="くくcount(si)<<endl;}intcount(charstr[]){intnum=0;for(inti=0;str[i];i++)if(str[i]>=,a*&&str[i]<=,z\\str[i]>=,A*&&str[i]<=,Z*)num++;return[3]num;).如果矩陣A乘以B得到C,那么必須滿足如下的規(guī)那么:⑴矩陣A的列數(shù)等于矩陣B的行數(shù);⑵矩陣A的行數(shù)等于矩陣C的行數(shù):⑶矩陣B的列數(shù)等于矩陣C的列數(shù);矩陣相乘的乘法公式為:..nkkjikijbacl下面的函數(shù)MultiMatrixO用于求解整數(shù)矩陣的乘積,其中參數(shù)a、b和c分別表示存儲乘數(shù)、被乘數(shù)以及乘積結果的二維數(shù)組,arow和acol、brow和bcol以及crow和ccol分別表示矩陣a的行數(shù)和列數(shù)、矩陣b的行數(shù)和列數(shù)以及矩陣c的行數(shù)和列數(shù),且該函數(shù)被調用時的實參滿足:acol<=4>bcolく=5及ccolく=5。MultiMatrixO函數(shù)當提供的矩陣不滿足矩陣相乘的條件時該函數(shù)返回1,否那么返回〇,請完成該函數(shù)。intMultiMatrix(inta[][4],intarow,intacol,intb[][5],intbrow,intbcol,intc[][5],intcrow,intccol){if(acol!=brow)return1;if([l]crow!=arow)return1;if([2]ccol!=bcol)return1;for(inti=0;i<crow;i++)for(intj=0;[3]j<ccol;j++)|[4]c[i][j]=0;for(intn=0;[5]n<acol;n++)c[i][j]+=a[i][n]*b[n][j];)return0;)3.下面的函數(shù)fun未使用中間變量實現(xiàn)對兩個數(shù)的交換,請完成以下函數(shù)的定義。插入排序是通過把數(shù)組中的元素插入到適當位置來進展排序的。插入排序的步驟為:(1)將數(shù)組中的頭兩個元素按排序順序排列(2)把下ー個元素(第3個元素)插入到其對應于已排序元素的排序位置(3)對于數(shù)組中的每個元素重復(2),即把第4個元素插入到適當文職,然后是第5個,等等,直到所有元素都插入排序完成下面的程序利用了插入排序函數(shù)isort()進展排序,并在主函數(shù)中將排序前和排序后的數(shù)組元素打印,請將程序補充完整。#include<iostream.h>voidisort(inta[],intsize)/*a為被排序數(shù)組,size為a中包含的元素個數(shù)?/(intinserter,index;for(inti=l;i<[1]size;i++)(inserter=a[i];index=iT;while(index>=:0&&[2]inserter<a[index]){a[index+l]=a[index];index——;a[index+l]=[3]inserter;}voidmain()intarray[]={55,2,6,4,32,12,9,73,26,37);intlen=[4]sizeof(array)/sizeof(int);for(inti=0;i<len;i++)coutくくarray[i]くく",”;cout?endl;isort(array,[5]1en);for(inti=0;i<len;i++)cout?array[i]?",";cout?endl;第六章指針ー、選擇題.以下關于函數(shù)參數(shù)的描述中錯誤的()A.函數(shù)的形參在定義時不占用內存的存儲單元B,在函數(shù)的傳值調用中將用實參來初始化形參C,在函數(shù)的傳址調用中形參不需要分配存儲空間D,在函數(shù)的傳引用調用中形參是實參的別名.關于函數(shù)的說法中,錯誤的選項是()A,函數(shù)名代表函數(shù)的入口地址B,函數(shù)指針就是返回指針值的函數(shù)C,函數(shù)指針可以作為另ー個函數(shù)的參數(shù)D,在32位系統(tǒng)中,函數(shù)指針變量的存儲空間是4個字節(jié).關于指針運算的說法中,不正確的選項是()A.兩個指針在一定條件下可以進展相等或不等的運算B.可以用空指針賦值給指針變量C.一個指針可以加上兩個整數(shù)之差D.兩個指針在一定條件下可以相加:constchar*p="abc";,那么以下語句合法的是()A.p[2]='ビ:B.*p[2]='ビ;C.*p="xyz";D.pソxyz";.假設有語句:char*p=newchar[30];,那么釋放p所指向的動態(tài)內存應使用的語句是()A.deletep;B.delete*p;C.delete&p;D.delete[]p;.假設有變量定義:intx=5;,那么將rx定義為變量x的引用的是()A.intrx=x;B.intrx=&x;C.int*rx=&x;D.int&rx=x;.傳遞引用調用方式起著()的作用。A.傳值調用C.在函數(shù)的傳址調用中形參不需要分配存儲空間.函數(shù)指針就是返回指針值的函數(shù)D.兩個指針在一定條件下可以相加8,關于引用的表達中,不正確的選項是()A.每ー個引用都是其所引用對象的別名,因此必須初始化B,形式上針對引用的操作實際上作用于它所引用的對象C,一旦定義了引用,一切針對其所引用對象的操作只能通過該引用間接進展D.不需要單獨為引用分配存儲空間.假設有定義:inta[5],*p=a;,那么不合法的表達式是()A.p=p+lB.a=a+lC.p-aD.a+2.關于delete的描述中,正確的選項是()A.delete是函數(shù)B,它必須用于new返回的指針C.對一個指針可以連續(xù)使用屢次deleteD.deleteロ只能刪除ー維的動態(tài)數(shù)組.引用調用的調用方式是指()A.形參和實參都是變量B,形參是指針,實參是地址值C.形參是引用,實參是變量D,形參是變量,實參是地址值.下面程序段的運行結果是()chara[]="abcdefgh;char*p=a;p+=3;cout?strlen(strcpy(p,"ABCD"));A.4B.8C.9D.12.假設有定義:inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12);int*p=&a[0][0];以下選項中的表達式能表示a[2][2]的是()A.p[2][2]B.*(*(p+2)+2)C.*(p+10)D.*(p+8).假設有定義:int*p=newint;,那么以下說法中不正確的選項是()A,聲明了一個指向整型變量的指針pB.可以用?p來表示所指向的整型變量C,通過運算符new,分配了一個整型數(shù)據的空間,并將其起始地址賦給指針pD.系統(tǒng)為指針變量p分配了一個整型數(shù)據的存儲空間15,定義函數(shù)指針的是()A.int*p();B.int(*p)();C.(int*)p();D.(int*p)();.在inta=5,*p=&a;中,*p的值是()A.變量a的地址B,無意義C.變量p的地址D.5.在inta=5,*p=&a;中,p的值是()A.變量a的地址B,無意義C.變量p的地址D.5.:inta[3][7];,以下格式中不表示數(shù)組元素的是()A.*(a+l)[5]B.*(*a+3)C.*(*(a+D)D.*(&a[0][0]+2).constchar*ptr;語句的含義是()A.定義指向字符常量的指針B,定義指向字符的常量指針C,定義指向字符串常量的指針D.定義指向字符串的常量指針.char*constptr;語句的含義是()A.定義指向字符常量的指針B.定義指向字符的常量指針C.定義指向字符串常量的指針D.定義指向字符串的常量指針.對下面語句的描

溫馨提示

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

評論

0/150

提交評論