計算機編程-知到答案、智慧樹答案_第1頁
計算機編程-知到答案、智慧樹答案_第2頁
計算機編程-知到答案、智慧樹答案_第3頁
計算機編程-知到答案、智慧樹答案_第4頁
計算機編程-知到答案、智慧樹答案_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

計算機編程-知到答案、智慧樹答案第一章單元測試1、問題:有定義inta=9,b=6,c;執行語句c=a/b+0.5;后,c的值為()。選項:A:1.4B:2.0C:1D:2答案:【1】2、問題:C++語言源代碼文件擴展名為()。選項:A:.objB:.exeC:.cppD:.c++答案:【.cpp】3、問題:以下用戶標識符中,合法的是()。選項:A:IntB:%123C:Ling@liD:moon答案:【moon】4、問題:intx=10,y=5;則表達式x+=x*=y+8的值為()。選項:A:230B:260C:150D:130答案:【260】5、問題:5、有定義inta=9,b=6,c;執行語句c=a/b+0.5;后,c的值為()。選項:A:1.4B:2C:2.0D:1答案:【1】6、問題:以下標識符中,不能作為合法的C++用戶定義標識符的是()。選項:A:signedB:answerC:toD:_if答案:【signed】7、問題:下列字符串中可以用作C++標識符的是()。選項:A:deleteB:_256C:5charD:class答案:【_256】8、問題:下列C++標點符號中表示一條預處理命令開始的是()。選項:A://B:}C:;D:#答案:【#】9、問題:9、以下程序的運行結果是()。main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);cout<選項:A:6,1B:2,1C:6,0D:2,0答案:【2,1】10、問題:語句while(!E);中的表達式!E等價于()選項:A:E!=0B:E!=1C:E==0D:E==1答案:【E==0】11、問題:下面程序段的運行結果是:()。inta=1;b=2;c=2;while(a選項:A:2,1,0B:1,2,0C:1,2,1D:2,1,1答案:【1,2,0】12、問題:設有程序段:intx=0,s=0;while(!x!=0)s+=++x;cout<選項:A:運行程序段后輸出1B:程序段執行無限次C:運行程序段后輸出0D:程序段中的控制表達式是非法的答案:【運行程序段后輸出1】13、問題:以下程序的正確運行結果是()。#includevoidnum(){externintx,y;inta=15,b=10;x=a-b;y=a+b;}intx,y;voidmain(){inta=7,b=5;x=a+b;y=a-b;num();cout<選項:A:不確定B:12,2C:1,12D:5,25答案:【5,25】14、問題:已知:intm=5;下列表示引用的方法中,正確的是:()。選項:A:int&Z;B:int&X=m;C:float&f=&m;D:int&t=5;答案:【int&X=m;】15、問題:C++語言源程序的基本單位是()。選項:A:子程序B:標識符C:函數D:過程答案:【函數】16、問題:下面程序段的輸出結果是()。chara[7]=”abcdef”;charb[4]=”ABC”;strcpy(a,b);cout<選項:A:eB:fC:bD:\0答案:【f】17、問題:下面程序段的輸出結果是()。charc[]=”\t\v\\\0will\n”;cout<選項:A:6B:14C:9D:3答案:【3】第二章單元測試1、問題:結構化程序設計所規定的三種基本控制結構是:()。選項:A:順序、選擇、循環B:樹形、網形、環形C:主程序、子程序、函數D:輸入、處理、輸出答案:【順序、選擇、循環】2{、問題:下面程序的輸出結果是()。main(){charstr[]=”SSWLIA”,C;intk;for(k=2;(c=str[k])!=’\0’;k++)switch(c){case‘I’:++k;break;case‘L’:continue;default:putchar(c);continue;}putchar(‘*’);}}選項:A:W*B:WC:W*AD:SW答案:【W*】3、問題:C++語言中,while和do-while循環的主要區別是:()。選項:A:do-while的循環體至少無條件執行一次B:while的循環控制條件比do-while的循環控制條件嚴格C:do-while允許從外部轉到循環體內D:do-while的循環體不能是復合語句答案:【do-while的循環體至少無條件執行一次】4、問題:下面程序段執行完后,x的值是()。intx=0;for(inti=0;i<90;i++)if(i)x++;選項:A:89B:0C:90D:30答案:【90】5、問題:以下關于do-while循環的不正確描述是()。選項:A:do-while的循環體可以是復合語句B:do-while循環由do開始,至while結束,在while(表達式)后面不能寫分號C:do-while的循環體至少執行一次D:在do-while循環體中,一定要有能使while后面表達式的值變為零(“假”))的操作答案:【do-while循環由do開始,至while結束,在while(表達式)后面不能寫分號】6{、問題:運行下面程序,程序運行結果是()。#includeusingnamespacestd;intmain(){staticinta[4]={7,8,9},b[4]=4,5,6},c[4],i;for(i=0;i<3;i++)c[i]=a[i]+b[i];cout<選項:B:0D:15答案:【0】7、問題:以下程序的輸出是()。#includemain(){intx=1;if(x=2)cout<<“OK”;elseif(x<2)cout<選項:A:1B:OKC:QuitD:無輸出結果答案:【OK】8、問題:若均為int型變量,則執行下面語句后的m值為()。w=1;x=2;y=3;z=4;m=(w選項:A:2B:4C:1D:3答案:【1】9、問題:若u、w、x、y均是正整型變量,則以下正確的switch語句是()。選項:A:switch(x*x+y*y){case3:case3:w=x+y;break;case0:w=y-x;break;}{case1:case3:w=x+y;break;case0:case5:w=x-y;}C:switchx{default:u=x+y;case10:w=x-y;break;case11:u=x*y;break;}D:switch(x+y){case10:u=x+y;break;case11:w=x-y;break;}答案:【switch(x+y){case10:u=x+y;break;case11:w=x-y;break;}】10、問題:語句while(!E);中的表達式!E等價于()。A)E==0B)E!=1C)E!=0D)E==1選項:A:E!=1B:E==0C:E!=0D:E==1答案:【E==0】11、問題:以下程序段()。x=-1;do{x=x*x;}while(!x);選項:A:是死循環B:循環執行二次C:有語法錯誤D:循環執行一次答案:【循環執行一次】第三章單元測試1、問題:以下正確的說法是()。選項:A:系統根本不允許用戶重新定義標準庫函數B:用戶可以重新定義標準庫函數,若如此,該函數將失去原有含義C:用戶若需調用標準庫函數,調用前不必使用預編譯命令將該函數所在文件包括到用戶源文件中,系統自動去調D:用戶若需要調用標準庫函數,調用前必須重新定義答案:【用戶可以重新定義標準庫函數,若如此,該函數將失去原有含義】2、問題:以下正確的描述是()。在C++語言中選項:A:函數的定義和函數的調用均可以嵌套B:函數的定義和函數的調用均不可以嵌套C:函數的定義可以嵌套,但函數的調用不可以嵌套D:函數的定義不可以嵌套,但函數的調用可以嵌套答案:【函數的定義不可以嵌套,但函數的調用可以嵌套】3、問題:以下程序的正確運行結果是()。voidmain(){inta=2,i;for(i=0;i<3;i++)cout<選項:A:789B:71013C:777D:答案:【789】4{、問題:以下程序的正確運行結果是()。#includefunc(inta,intb)staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}voidmain(){intk=4,m=1,p;p=func(k,m);cout<選項:A:8,20B:8,8C:8,16D:8,17答案:【8,17】5、問題:C++語言規定,函數返回值的類型是由()。選項:A:調用該函數時系統臨時決定B:調用該函數時的主調函數類型所決定C:在定義該函數時所指定的函數類型所決定D:return語句中的表達式類型所決定答案:【在定義該函數時所指定的函數類型所決定】6、問題:下面函數調用語句含有實參的個數為()。func((exp1,exp2),(exp3,exp4,exp5));選項:A:2B:4C:5D:1答案:【2】7、問題:C++語言中,以下不正確的說法是()。選項:A:形參應與其對應的實參類型一致B:實參可以為任意類型C:形參可以是常量、變量和表達式D:實參可以是常量、變量和表達式答案:【形參可以是常量、變量和表達式】8、問題:在計算機高級語言C++中,下面對函數不正確的描述是()。選項:A:允許函數遞歸調用B:函數形參的作用范圍只是局限于所定義的函數內C:當用數組名作形參時,形參數組元素值的改變可以使實參數組元素的值相應改變D:被調用函數必須位于主函數之前答案:【被調用函數必須位于主函數之前】9{、問題:對下面程序段的描述正確的是()。#includeusingnamespacestd;intFun(intx,inty){returnx+y;}intmain()inti=10;cout<選項:A:程序輸出結果不能確定B:程序輸出結果是22C:程序輸出結果是21D:程序輸出結果是20答案:【程序輸出結果是20】10、問題:下列有關形式參數和實際參數的說法正確的是()。選項:A:即便是在發生函數調用時,函數中的形參也不會分配內存單元。B:一般情況下,在調用函數結束后,形參所占的內存單元不會被釋放C:定義函數指定的形參,會一直占用內存中的存儲單元。D:在定義函數時,必須在函數首部指定形參的類型。答案:【在定義函數時,必須在函數首部指定形參的類型。】11、問題:若使用一維數組名作為函數實參,則以下正確的說法是()。選項:A:實參數組類型與形參數組類型可以不匹配B:必須在主調函數中說明此數組的大小C:實參數組與形參數組名必須一致D:在被調函數中,不需要考慮形參數組的大小答案:【必須在主調函數中說明此數組的大小】12、問題:以下正確的說法是()。選項:A:實參和與其對應的形參共占用一個存儲單元;B:實參和與其對應的形參各占用獨立的存儲單元;C:形參是虛擬的,不占用存儲單元。D:只有當實參和與其對應的形參同名時才共同占用存儲單元;答案:【實參和與其對應的形參各占用獨立的存儲單元;】13、問題:以下正確的說法是()。如果在一個函數的復合語句中定義了一個變量,則該變量()。選項:A:為非法變量B:在該函數中有效C:只在該復合語句中有效D:在本程序范圍內均有效答案:【只在該復合語句中有效】第四章單元測試1、問題:下面關于C++字符數組的敘述中,錯誤的是()。選項:A:字符數組的字符可以整體輸入、輸出B:可以在賦值語句中通過賦值運算符“=”對字符數組整體賦值C:可以用關系運算符對字符數組比較大小D:字符數組可以放字符串答案:【可以在賦值語句中通過賦值運算符“=”對字符數組整體賦值】2、問題:若有數組名作為函數調用的實參,則傳遞給形式參數的是()。選項:A:數組元素的個數B:數組中全部元素的值C:數組的首地址D:數組第1個元素的值答案:【數組的首地址】3、問題:已定義一個數組intx[10];則對此數組元素正確的引用是()。選項:A:cout<B:intb;b=x[1]+x;C:cout<D:cout<答案:【cout<】4、問題:假定a為一個整型數組名,則元素a[4]的地址可表示為()。選項:A:a+16B:a+32C:a+4D:a+8答案:【a+4】5、問題:設有數組定義chara[]="China";則數組a所占的空間字節數為()。選項:A:6個字節B:7個字節C:5個字節D:4個字節答案:【6個字節】6、問題:設有定義語句inta[3][3],則以下敘述錯誤的是()。選項:A:a[1]是由3個整型元素組成的一維數組B:a[0]代表一個地址常量C:可以用a[2]=1;的形式給數組元素賦值D:a數組可以看成是由a[0]、a[1]、a[2]3個元素組成的一維數組答案:【可以用a[2]=1;的形式給數組元素賦值】7、問題:有如下聲明語句intB[3][3]={{1,2,0},{3,2},{4,5,10}};那么B[1][1]的值是()。選項:A:3B:10C:2D:1答案:【2】8、問題:以下對一維數組a的正確定義是()。選項:A:intn=9,a[n];B:intn;cin>>n;inta[n];C:constintN=9;inta[N];D:inta(9);答案:【constintN=9;inta[N];】9{、問題:運行下面程序,程序運行結果是()。#includeusingnamespacestd;intmain(){staticinta[4]={7,8,9},b[4]=4,5,6},c[4],i;for(i=0;i<3;i++)c[i]=a[i]+b[i];cout<選項:B:0C:15答案:【0】10、問題:若有初始化chara[]="BASIC";則cout<<&a[3];的輸出結果是()。選項:A:輸出a[3]的地址B:"IC"C:'S'D:'I'答案:【"IC"】11、問題:在C++語言中,引用數組元素時,其數組下標的數據類型允許是()。選項:A:任何類型的表達式B:整型表達式C:整型常量D:整型常量或整型表達式答案:【整型常量或整型表達式】12、問題:在C++中一組同樣類型的數據在內容中占用連續存貯空間的數據類型是()。選項:A:指向指針的指針B:指針C:數組D:引用答案:【數組】13、問題:運行以下程序的輸出結果是()。intf(intb[],intn){inti,r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}intmain(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);cout<選項:A:120B:720C:24D:6答案:【120】14、問題:下列do-while循環的循環次數為().已知:intj=5;do{cout<選項:A:0B:1C:5D:無限答案:【無限】15、問題:若有定義charstr1[10]={"China"},str2[10];要將str1中的字符串復制到str2中去,正確的方法是().選項:A:strcpy(str2,str1);B:strcpy("China",str2);C:str2=str1;D:strcpy(str1,str2);答案:【strcpy(str2,str1);】第五章單元測試1、問題:下面結構體的定義語句中錯誤的是().選項:A:structst{intnum,charname[20];}sta;B:struct{intnum,charname[20];}a;C:structst{intnum,charname[20];}a;D:structst{intnum,charname[20];};sta;答案:【structst{intnum,charname[20];}sta;】2、問題:structabc{intx;inty;}data1=(2,3),data2;則以下賦值語句中錯誤的是()。選項:A:data2.x=data1.x;B:data2=data1;C:data2.y=data1.y;D:data2(9,10);答案:【data2(9,10);】3、問題:structabc{intx;chary[20];doublez;}data;則以下給結構體變量成員x賦值語句中正確的是()。選項:A:data->x=100;B:data.(*x)=100;C:*data.x=100;D:data.x=100;答案:【data.x=100;】4、問題:structs{inta,b;}data[2]={10,100,20,200};intmain(){sp=data[1];cout<選項:A:21B:20C:10答案:【20】5、問題:運行程序,程序輸出結果是()。#includeusingnamespacestd;intmain(){structstud{charnum[5];ints[4];doubleave;}a;cout<選項:A:29B:32C:30D:31答案:【32】6{、問題:有下列結構體聲明語句structstudent{intnum;charname[20];floatscore[3];};students[3]=123,"LiFang",67,89,90};要對第1個學生的成績輸出總分,下列表達式正確的是().選項:A:cout<B:cout<C:cout<D:cout<答案:【cout<】7{、問題:定義以下結構體類型,運行程序的輸出結果是()。#includeusingnamespacestd;intmain()structs{inta;doubleb;};cout<選項:A:16B:18C:14D:12答案:【16】8、問題:當定義一個結構體變量時,系統為它分配的內存空間是().選項:A:結構體中占內存容量最大者所需的容量B:結構中第一個成員所需的內存容量C:結構中各成員所需內存容量之和D:結構中一個成員所需的內存容量答案:【結構中各成員所需內存容量之和】9、問題:運行程序,程序輸出結果為()#includeusingnamespacestd;intmain(){structs{intx;}a[3];cout<選項:A:12B:18C:4D:6答案:【12】1{0、問題:定義以下結構體數組,運行程序,程序輸出結果是()。#includeusingnamespacestd;intmain(){structcintx;inty;}s[2]={1,3,2,7};cout<選項:A:14B:21C:6D:2答案:【2】1{1、問題:運行程序,程序運行結果是()#includeusingnamespacestd;structKeyWord{charKey[20];intID;}kw[]="void",1,"char",2,"int",3,"float",4,"double",5};intmain(){cout<選項:A:l,4B:f,4C:n,3D:i,3答案:【f,4】12、問題:#includeusingnamespacestd;structstudent{charname[10];intscore[50];floataverage;}stud1;intmain(){cout<選項:A:128B:216C:64D:256答案:【216】13、問題:運行程序,程序運行結果是()。#includeusingnamespacestd;intmain(){structperson{charname[9];intage;};persona[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};cout<選項:A:JohnB:AdamC:MaryD:Paul答案:【Mary】1{4、問題:運行程序,程序運行結果是()#includeusingnamespacestd;intmain()structdate{intyear;intmonth;intday;};structs{datebirthday;charname[20];}x[4]={{2008,10,1,"guangzhou"},{2009,12,25,"Tianjin"}};cout<<x[0].name<<","<選項:A:guangzhou,2009B:guangzhou,2008答案:【guangzhou,2009】1{5、問題:運行程序,程序輸出結果是()。#includeusingnamespacestd;structcontry{intnum;charname[20];}x[5]=1,"China",2,"USA",3,"France",4,"Englan",5,"Spanish"};intmain(){inti;for(i=3;i<5;i++)cout<選項:A:4E5SB:F4EC:3F4E5SD:c2U3F4E答案:【4E5S】第六章單元測試1、問題:若有定義語句intc[5],*p=c;則以下對數組c第1個元素地址的正確引用是()。選項:A:p+5B:c++C:&c[0]D:&c+1答案:【&c[0]】2、問題:運行程序,程序輸出結果是()。#includeusingnamespacestd;intmain(){inta[3][3],*p=&a[0][0],i;for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)cout<選項:A:123B:345C:234D:012答案:【345】3、問題:運行程序,程序輸出結果是().#includeusingnamespacestd;intmain(){intfun(char*s);chary[]="abcd";cout<選項:A:6B:4C:0D:5答案:【4】4、問題:執行語句y=(*++p)--后,數組a中的元素的值變為().選項:A:0,1,3,4B:1,2,3,3C:1,1,3,4D:1,2,2,4答案:【1,1,3,4】5{、問題:運行程序,程序輸出結果是()。#includeusingnamespacestd;intmain()charstr[100]="program",*p=str;cout<<(p+2)<選項:A:pB:ogramC:rogramD:pro答案:【ogram】6{、問題:運行程序,程序輸出結果是()。#includeusingnamespacestd;intmain()charstr[100]="program",*p=str;cout<<*(p++)<選項:A:proB:rC:pD:rogram答案:【p】7、問題:運行程序,程序輸出結果是().#includeusingnamespacestd;intmain(){charstr[100]="program",*p=str;str[3]=0;cout<選項:A:proB:ogramC:rD:o答案:【pro】8、問題:若有變量定義語句inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數值為6的表達式是().選項:A:*p+6B:*(p+5)C:p+5D:*p+=6答案:【*(p+5)】9、問題:己知inta[10]={3,7,9,15},*p=a;則不能表示a數組中元素的選項是().選項:A:aB:*pC:*aD:a[p-a]答案:【a】10、問題:己知inta[]={0,2,4,6,8,10},*p=a+1;其值等于0的表達式是().選項:A:*(p++)B:*(p--)C:*(--p)D:*(++p)答案:【*(--p)】1{1、問題:運行程序,程序運行結果是()。#includeusingnamespacestd;intmain(){staticinta[4]={7,8,9},b[4]=4,5,6},c[4],i;for(i=0;i<3;i++)c[i]=a[i]+b[i];cout<選項:A:15B:0答案:【0】12、問題:運行程序,程序運行結果是().#includeusingnamespacestd;intmain(){chara[3]={'a','b','c'},*p=a+1;cout<選項:A:不確定B:bcC:bD:abc答案:【不確定】13、問題:運行程序,程序運行結果是()。#include#includeusingnamespacestd;intmain(){stringa="string",*p=&a;cout<選項:A:變量a的地址B:stringC:變量p的地址D:s答案:【變量a的地址】14、問題:設voidf1(int*m,long&n);inta;longb;則以下調用合法的是()。選項:A:f1(a,b);B:f1(&a,&b);C:f1(&a,b);D:f1(a,&b);答案:【f1(&a,b);】15、問題:運行程序,程序運行結果是()。#includeusingnamespacestd;voidf(char*x){cout<<*x<選項:A:aB:abcdC:abcD:d答案:【d】16、問題:已知:intm=5;下列表示引用的方法中正確的是().選項:A:int&t=5;B:int&Z;C:int&X=m;D:float&f=&m;答案:【int&X=m;】1{7、問題:運行程序,程序輸出結果是().voidsub(int*s,int*y){staticintt=3;*y=s[t];t--;}intmain(){inta[]=1,2,3,4},i,x=0;for(i=0;i<4;i++){sub(a,&x);cout<選項:A:1234B:4321C:0000D:4444答案:【4321】18、問題:已知有定義inta[5];a數組中最后一個元素的地址可表示為().選項:A:a+4B:&a[5]C:&a+4D:a+5答案:【a+4】19、問題:有定義inta[]={2,5,6,},*p=a;則*(p+1)所代表的數組元素是()。選項:A:a[2]B:a[1]C:a[0]D:a[3]答案:【a[1]】20、問題:已有定義inta[10],*p;則正確的賦值語句是().選項:A:p=a+2;B:p=a[2]+2;C:p=100;D:p=a[5];答案:【p=a+2;】第七章單元測試1、問題:在下列關于類概念的各個描述中,()是錯誤的。選項:A:類是創建對象的樣板B:類是抽象的,對象是具體的C:客觀世界中任何一個具體的物體都可以看成一個類D:類是對象的模板,是用來定義對象的一種抽象類型答案:【客觀世界中任何一個具體的物體都可以看成一個類】2、問題:在下列關于類和對象的描述中,()是錯誤的。選項:A:類是對象的模板,對象是類的實例B:類是抽象的,對象是具體的,兩者都占有內存空間C:客觀世界中任何一個具體的物體都可以看成一個對象D:把某些具有共同屬性和行為的對象抽象為一種類型被稱為類答案:【類是抽象的,對象是具體的,兩者都占有內存空間】3、問題:類的實例化是指()。選項:A:創建類的對象B:定義類C:指明具體類D:調用類答案:【創建類的對象】4、問題:下列說法中正確的是()。選項:A:類中的成員數據可以在類體中(類內)定義,也可以在類體之外(類外)定義B:類的成員函數既可以定義在類體中(類內),也可以定義在類體外(類外),但必須在類體中(類內)聲明C:在類體之外定義的成員函數不能操作該類的私有數據成員D:類的成員函數只能在類體中(類內)定義答案:【類的成員函數既可以定義在類體中(類內),也可以定義在類體外(類外),但必須在類體中(類內)聲明】5、問題:關于構造函數不正確的說法是()。選項:A:構造函數可以有返回值B:構造函數名與類名相同C:構造函數初始化時為對象開辟內存空間D:一個類可以有多個構造函數答案:【構造函數可以有返回值】6、問題:有如下定義和語句classcalc{public:voidshow(){cout<>a>>b;}};calct,*pt=&t;在main()函數中下面不正確的語句是()。選項:A:pt->show()B:t.show()C:(*pt).show()D:t.set()答案:【t.set()】7、問題:有如下定義和語句:classStudent{public:voiddisplay(){cout<選項:A:t->display();B:p->num=10101;C:p->display();D:(*p)->display();答案:【p->display();】8、問題:要讓一個類中的所有對象的同一數據有不同的值,請不要使用()。選項:A:保護數據成員B:公有數據成員C:私有數據成員D:靜態數據成員答案:【靜態數據成員】9、問題:下面選項中不屬于面向對象程序設計特征的是()。選項:A:多元性B:封裝性C:繼承性D:抽象性答案:【多元性】10、問題:已知類A是類B的友元,類B是類C的友元,則()。選項:A:類C一定是類A的友元B:類A一定是類C的友元C:類A的成員函數可以訪問類B的對象的任何成員D:類C的成員函數可以訪問類B的對象的任何成員答案:【類A的成員函數可以訪問類B的對象的任何成員】11、問題:成員函數代碼量很多,或具有多個成員函數,采用類內定義的方式比較合適。選項:A:錯B:對答案:【錯】12、問題:成員函數是一個類的成員,出現在類體中,也就是只能被類內其他成員函數調用。選項:A:對B:錯答案:【錯】13、問題:通過對象無法訪問private和protected屬性的成員變量和成員函數,而僅可以訪問public屬性的成員變量和成員函數。選項:A:對B:錯答案:【對】14、問題:在C++語言中,可以通過傳值方式作為函數的參數或函數返回值。選項:A:錯B:對答案:【對】15、問題:構造函數可以有返回值也可以無返回值。選項:A:對B:錯答案:【錯】16、問題:構造函數可以有一個參數或多個參數,可以為參數設置一個默認值。選項:A:錯B:對答案:【對】17、問題:任何一個對象只能屬于一個具體的類。選項:A:對B:錯答案:【對】18、問題:聲明時加關鍵字static的類中所有的成員數據是屬于類的,任何一個對象都可以共享該成員數據。選項:A:對B:錯答案:【對】19、問題:友元函數是成員函數,友元函數可以訪問類中的私有成員。選項:A:錯B:對答案:【錯】20、問題:無論什么方式的繼承,基類的私有成員都不能被派生類成員函數訪問(引用)。選項:A:對B:錯答案:【對】第八章單元測試1、問題:下列對派生類的描述中,錯誤的是()。選項:A:一個派生類可以作為另一個派生類的基類B:派生類中繼承的基類成員的訪問權限到派生類保持不變C:派生類至少有一個基類D:派生類的成員除了它自己的成員之外,還包含了它的基類的成員答案:【派生類中繼承的基類成員的訪問權限到派生類保持不變】2、問題:下列有關繼承和派生的敘述中,不正確的是()。選項:A:派生類的新增公用成員可以被該類創建的對象引用B:基類的成員函數可以訪問基類成員C:派生類的成員函數可以訪問派生類自己增加的成員D:基類的成員函數可以訪問派生類的成員答案:【基類的成員函數可以訪問派生類的成員】3、問題:下列對派生類的描述中,錯誤的是()。選項:A:派生類只繼承了基類的公有成員和保護成員B:一個派生類可以作為另一個派生類的基類C:派生類至少有一個基類D:派生類的缺省(默認)繼承方式是private答案:【派生類只繼承了基類的公有成員和保護成員】4、問題:下列有關公共繼承的繼承和派生的關系描述中,不正確的是()。選項:A:基類的公用成員和保護成員在派生類中仍然保持其公用成員和保護成員的屬性B:基類的私有成員,基類的成員函數可以引用它C:派生類的公用成員可以被派生類創建的對象引用D:基類的私有成員,因為是公用繼承,可以被派生類的新增成員函數引用答案:【基類的私有成員,因為是公用繼承,可以被派生類的新增成員函數引用】5、問題:下列有關繼承和派生的敘述中,正確的是()。選項:A:基類的保護成員在派生類中仍然是保護成員B:基類的公用成員在派生類中仍然是公用成員C:私有繼承的派生類作為基類繼續派生,下一層的派生類無法訪問它的任何成員D:派生類成員函數不能訪問通過私有繼承的基類的保護成員答案:【私有繼承的派生類作為基類繼續派生,下一層的派生類無法訪問它的任何成員】6、問題:下列有關保護繼承的繼承和派生的敘述中,正確的是()。選項:A:基類的私有成員在派生類中變為是保護成員B:派生類成員函數不能訪問通過保護繼承的基類的保護成員C:派生類成員函數不能訪問通過保護繼承的基類的私有成員D:派生類成員函數不能訪問通過保護繼承的基類的公有成員答案:【派生類成員函數不能訪問通過保護繼承的基類的私有成員】7、問題:下列有關繼承和派生的敘述中,正確的是()。選項:A:派生類的指針變量,可以訪問基類的成員B:基類的指針變量可以指向派生類對象C:派生類的指針變量可以指向基類對象D:基類的指針變量,可以訪問派生類新增加的成員答案:【基類的指針變量可以指向派生類對象】8、問題:一個派生類不僅可以從一個基類派生,也可以從多個基類派生。選項:A:錯B:對答案:【對】9、問題:繼承方式包括:public(公用的),private(私有的)和protected(受保護的),應用中public(公用的)最常見。選項:A:對B:錯答案:【對】10、問題:當不需要對派生類新增的成員進行任何初始化操作時,派生類構造函數的函數體可以為空,即構造函數是空函數。選項:A:對B:錯答案:【對】11、問題:在派生時,派生類不能繼承基類的析構函數。選項:A:對B:錯答案:【對】12、問題:派生類的指針變量也可以指向基類對象。選項:A:對B:錯答案:【錯】13、問題:派生類的繼承方式有兩種:公有繼承和私有繼承。選項:A:錯B:對答案:【錯】14、問題:在公有繼承中,派生類對象只能引用基類中的公有成員和派生類新增的公共成員。選項:A:對B:錯答案:【對】15、問題:在私有繼承中,基類中只有公有成員可以被派生類成員函數引用。選項:A:對B:錯答案:【錯】16、問題:派生類是它的基類的組合。選項:A:對B:錯答案:【錯】17、問題:析構函數不能被繼承。選項:A:對B:錯答案:【對】第九章單元測試1、問題:下列描述中,()是抽象類的特性。選項:A:可以聲明虛函數B:可以進行構造函數重載C:不能創建其對象D:可以定義友元函數答案:【不能創建其對象】2、問題:關于虛函數的描述中,()是正確的。選項:A:虛函數是一個static類型的成員函數B:虛函數是一個非成員函數C:基類中說明了虛函數后,派生類中將其對應的函數可不必說明為虛函數D:派生類的虛函數與基類的虛函數具有不同的參數個數和類型答案:【基類中說明了虛函數后,派生類中將其對應的函數可不必說明為虛函數】3、問題:實現運行時的多態性采用()。選項:A:虛函數B:重載函數C:構造函數D:析構函數答案:【虛函數】4、問題:以下基類中的成員函數表示純虛函數的是()。選項:A:virtualvoidtt(int){}B:virtualvoidtt(int)C:voidtt(int)=0D:virtualvoidtt()=0答案:【virtualvoidtt()=0】5、問題:關于純虛函數和抽象類的描述中,()是錯誤的。選項:A:抽象類只能作為基類來使用,其純虛函數的實現由派生類給出B:抽象類是指具有純虛函數的類C:純虛函數是一種特殊的虛函數,它不能實例化對象D:一個基類中聲明有純虛函數,該基類的派生類一定不再是抽象類答案:【一個基類中聲明有純虛函數,該基類的派生類一定不再是抽象類】6、問題:下列有關C++的面向對象方法的多態的概念的敘述中,不正確的是()。選項:A:存在基類類型的指針指向派生類對象,基類和派生類的同名虛函數的參數必須相同B:存在基類類型的指針指向派生類對象,且通過該指針調用虛函數C:必須存在著聲明為虛函數的友元函數D:C++的面向對象方法的多態,必須存在基類指針指向派生類對象答案:【必須存在著聲明為虛函數的友元函數】7、問題:執行以下程序代碼后,將會輸出的結果是()。#includeusingnamespacestd;classBase{public:voiddisplay(){cout<<"I'mBaseclass!";}};classDerived:publicBase{public:voiddisplay(){cout<<"I'mDerivedclass!";}};intmain(){Base*p;Derivedtest;p=&test;p->display();return0;}選項:A:I'mDerivedclass!B:I'mDerivedclass!I'mBaseclass!C:I'mBaseclass!I'mDerivedclass!D:I'mBaseclass!答案:【I'mBaseclass!】8、問題:下列有關C++的面向對象方法的多態和虛函數的敘述中,正確的是()。選項:A:構造函數和析構函數都不能聲明為虛函數B:構造函數和析構函數都能聲明為虛函數C:派生類的析構函數可以聲明為虛函數D:基類析構函數可以聲明為虛函數答案:【基類析構函數可以聲明為虛函數】9、問題:如果一個類至少有一個純虛函數,那么就稱該類為()。選項:A:都不對B:抽象類C:派生類D:虛函數答案:【抽象類】10、問題:下列有關C++的面向對象方法的多態和虛函數的敘述中,不正確的是()。選項:A:包含純虛成員函數的抽象基類的派生類,在派生類中可以重新定義純虛函數為非純虛成員函數B:包含純虛成員函數的類即為抽象基類C:抽象基類的派生類,增加新的成員函數或成員數據后,可以用于創建對象D:抽象基類不能實例化答案:【抽象基類的派生類,增加新的成員函數或成員數據后,可以用于創建對象】11、問題:類的成員函數前面加virtual關鍵字,則這個成員函數稱為虛函數。選項:A:錯B:對答案:【對】12、問題:虛函數是一個成員函數。選項:A:對B:錯答案:【對】13、問題:要想形成多態必須具備必須存在繼承關系,繼承關系中必須有同名的虛函數,并且基類和派生類的同名虛函數的參數必須不同。選項:A:錯B:對答案:【錯】14、問題:將基類中的成員函數通過virtual關鍵字聲明為虛函數之后,即使在派生類中同名同參數函數聲明時未加上virtual關鍵字,但它在所有的派生類中都將自動成為虛函數。選項:A:對B:錯答案:【對】15、問題:純虛函數是一個非成員函數。選項:A:錯B:對答案:【錯】16、問題:析構函數必須聲明為虛函數。選項:A:對B:錯答案:【錯】17、問題:含有純虛函數的類可以定義對象。選項:A:錯B:對答案:【錯】18、問題:純虛成員函數可以被派生類繼承,如果派生類不重新定義抽象基類中的所有純虛成員函數,則派生類同樣會成為抽象基類,因而也不能用于創建對象。選項:A:對B:錯答案:【對】19、問題:如果派生類的成員函數的原型(函數的首部)與基類中被定義為虛函數的成員函數原型相同,那么,這個函數自動繼承基類中虛函數的特性。選項:A:對B:錯答案:【對】20、問題:純虛函數是一個在基類中聲明的沒有具體內容的虛函數,為了實現多態(或接口功能),要求派生類定義自己的版本。選項:A:錯B:對答案:【對】第十章單元測試1、問題:下列運算符中,()運算符在C++中不能重載。選項:A:[]B:::C:+=D:+答案:【::】2、問題:利用成員函數重載運算符:obj1*obj2被編譯器解釋為()。選項:A:*(obj1,obj2)B:obj2.operator*(obj1)C:operator*(obj1,obj2)D:obj1.operator*(obj2)答案:【obj1.operator*(obj2)】3、問題:如果對類對象使用邏輯運算符“==”重載,以下函數聲明正確的是()。選項:::;::;::;::;答案:【::;】4、問題:在重載一個運算符時,其參數表中沒有任何參數,這表明該運算符是()。選項:A:作為成員函數重載的單目運算符B:作為成員函數重載的雙目運算符C:作為友元函數重載的單目運算符D:作為友元函數重載的雙目運算符答案:【作為成員函數重載的單目運算符】5、問題:在語句intn;cin>>n;中,cin是()。選項:A:對象名B:變量名C:函數名D:類名答案:【對象名】6、問題:關于運算符重載,下列表述中錯誤的是()。選項:A:不可以通過運算符重載來創建C++中原來沒有的運算符B:C++已有的大部分運算符都可以重載C:C++中的運算符不能做多次重載定義D:運算符函數的返回類型不能聲明為基本數據類型答案:【運算符函數的返回類型不能聲明為基本數據類型】7、問題:C++流中重載的運算符<<是一個()。選項:A:用于輸入操作的非成員函數B:用于輸入操作的成員函數C:用于輸出操作的成員函數D:用于輸出操作的非成員函數答案:【用于輸出操作的非成員函數】8、問題:若要對BigData類中用成員函數方式重載取模運算符,下列聲明選項中正確的是()。選項:A:BigData%(constBigData);B:BigDataoperator%(constBigData);C:operator%(BigData,BigData);D:BigData%operator(constBigData);答案:【BigDataoperator%(constBigData);】9、問題:下列運算符中哪些是不能夠被重載的()。選項:A:+=,new,/=,==B:*=,++,delete,=C:–>*,.*,sizeof,::,?:D:[],%,<=,--答案:【–>*,.*,sizeof,::,?:】10、問題:下面是重載為非成員函數的運算符的函數原型,其中錯誤的是()。選項:A:BigIntoperator-(BigInt,BigInt);B:BigInt&operator*(BigInt,BigInt);C:BigIntoperator+(BigInt,BigInt);D:BigInt&operator=(BigInt&,BigInt);答案:【BigInt&operator=(BigInt&,BigInt);】11、問題:如果表達式a>=b,中的“>=”是作為非成員函數重載的運算符,則可以等效地表示為()。選項:A:a.operator>=(b,a)B:a.operator>=(a)C:operator>=(a,b)D:a.operator>=(b)答案:【operator>=(a,b)】12、問題:在名為BigNumber類的類體中對運算符函數double進行如下聲明:operatordouble(BigNumber);函數聲明中有一個明顯的錯誤,這個錯誤就是()。選項:A:函數聲明中缺少函數體B:缺少對函數返回類型的說明C:參數表中不應該有任何參數D:參數聲明中缺少參數變量答案:【參數表中不應該有任何參數】13、問題:下列關于運算符重載的描述中,正確的是()。選項:A:一元運算符只能作為成員函數重載B:運算符重載成為成員函數時,若參數表中無參數,重載是一元運算符C:二元運算符重載成為非成員函數時,參數表中有一個參數D:C++中可以重載所有的運算符答案:【運算符重載成為成員函數時,若參數表中無參數,重載是一元運算符】14、問題:下列關于運算符重載的描述中,()是正確的。選項:A:運算符重載可以改變優先級B:運算符重載不可以改變語法結構C:運算符重載可以改變操作數的個數D:運算符重載可以改變結合性答案:【運算符重載不可以改變語法結構】15、問題:下列關于C++流的敘述中,下面說法正確的是()。選項:A:cin是C++預定義的標準輸入流函數B:cin是C++預定義的標準輸入流對象C:cin是C++預定義的標準輸入流類D:以上答案都不對答案:【cin是C++預定義的標準輸入流對象】16、問題:若要在類中將*重載為一元運算符,下列重載函數聲明中肯定有錯的是()。選項:答案:【】17、問題:重載流插入運算符<<時,下列設計不合理的是()。選項:A:將運算符函數的第一個參數設為ostream&B:為運算符函數設置兩個參數C:將運算符定義為類的成員函數D:將運算符函數的返回值類型設為ostream&答案:【將運算符定義為類的成員函數】18、問題:若為類MyNumber重載運算符“/”,下列聲明中,錯誤的是()。選項:A:friendMyNumberoperator/(float,MyNumber);B:friendMyNumberoperator/(MyNumber,MyNumber);C:friendMyNumberoperator/(int,float);D:friendMyNumberoperator/(MyNumber,int);答案:【friendMyNumberoperator/(int,float);】19、問題:運算符重載時以下性質不一定會保持的是()。選項:A:返回值類型、操作數類型B:操作數的個數、結合性C:優先級、結合性D:操作數的個數、優先級答案:【返回值類型、操作數類型】20、問題:以下類中說明了“++”運算符重載函數的原型。{public:......};編譯器把表達式”++d”解釋為:()。選項:A:d.operator++()B:d.operator++(d)C:operator++(d)D:operator++()答案:【operator++(d)】第十一章單元測試1、問題:C++程序進行文件的輸入,除了包含頭文件iostream外,還要包含頭文件()。選項:A:ostreamB:cstdioC:fstreamD:ifstream答案:【ifstream】2、問題:C++語言中,程序通過操縱符進行格式輸出處理時,必須包含的頭文件是()。選項:A:stdlib.hB:fstream.hC:iomanip.hD:iostream.h答案:【iomanip.h】3、問題:下列輸出語句中,不正確的是()。選項:A:cout<<0x20;C:cout<<’\t\n’;D:cout.put('O');答案:【cout<<’\t\n’;】4、問題:在ios中提供控制格式的標志位中,轉換為十六進制形式的標志位是()。選項:A:decB:octC:leftD:hex答案:【hex】5、問題:在執行語句intn,m;cin>>n>>m;中,輸入數據的分隔符,錯誤的是()。選項:A:分號B:空格鍵D:換行符答案:【分號】6、問題:磁盤文件操作中,打開磁盤文件的訪問方式常量中,以二進制方式打開文件的是()。選項:A:ios::inB:ios::outC:ios::binaryD:ios::ate答案:【ios::binary】7、問題:C++流中運算符>>是一個()。選項:A:用于輸入操作的非成員函數B:用于輸入操作的成員函數C:用于輸出操作的非成員函數D:用于輸出操作的成員函數答案:【用于輸入操作的非成員函數】8、問題:執行以下C++程序:char*num;cin>>num;cout<選項:

溫馨提示

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

評論

0/150

提交評論