版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一章習(xí)題一、 選擇填空1. 下列各種高級語言中,( )是面向?qū)ο蟮某绦蛟O(shè)計語言。A.BASIC;B.PASCAL;C.C+ D.Ada2. 下列各種高級語言中,( )是最早提出了對象的概念。A.Algol 60;B.Simula 67;C.Smalltalk;D.C+3. 下述面向?qū)ο蟪橄蟮脑碇?,?)是不對的。A. 數(shù)據(jù)抽象;B. 行為共享;C.進化;D. 兼容;4. ( )不是面向?qū)ο笙到y(tǒng)所包含的要數(shù)。A. 重載; B. 對象;C. 類;D. 繼承;5. 關(guān)于C+與C語言的關(guān)系的描述中,( )是錯誤的。A. C語言是C+的一個子集;B. C語言與C+是兼容的;
2、C. C+對C語言進行了一些改進;D. C+和C語言都是面向?qū)ο蟮?6. 下面關(guān)于對象概念的描述中,( )是錯誤的。A.對象就是C語言中的結(jié)構(gòu)變量;B.對象代表著正在創(chuàng)建的系統(tǒng)中的一個實體;C. 對象是一個狀態(tài)和操作(或方法)的封裝體;D.對象之間的信息傳遞是通過消息進行的;7. 下面關(guān)于類概念的描述中,( )是錯誤的。A.類是抽象數(shù)據(jù)類型的實現(xiàn); B.類是具有共同行為的若干對象的統(tǒng)一描述體;C.類是創(chuàng)建對象的樣板;D.類就是C語言中的結(jié)構(gòu)類型;8. C+對C語言作了很多改進,下列描述中( )使得C語言發(fā)生了質(zhì)變,即從面向過程變成為面向?qū)ο?。A.增加了一些新的運算符;B.允許函數(shù)重載,并允許設(shè)
3、置缺省參數(shù);C.規(guī)定函數(shù)說明必須用原型;D.引進了類和對象的概念;9. 按照標識符的要求,( )符號不能組成標識符。A.連接符;B. 下劃線;C.大小寫字母;D.數(shù)字字符;10. 下列符號中,( )不可作為分隔符。A.,;B.:;C.?;D.;二、判斷下列描述的正確性,對者劃,錯者劃×。1 C+引進了引用的概念,對編程帶來了很多方便。2 C+允許使用友元,但是友元會破壞封裝性。3 C+中使用了新的注釋符(/),C語言中注釋符(/*/)不能在C+中使用。×4 C+中為了減輕使用者的負擔,與C語言相比較C+中減少了一些運算符。×5 C+程序中,每條語句結(jié)束時都加一個分
4、號(;)。6 C+中標識符內(nèi)的大小寫字母是沒有區(qū)別的。×7 C+中不允許使用宏定義的方法定義符號常量,只能用關(guān)鍵字const來定義符號常量。×8 在編寫C+程序時,一定要注意采用人們習(xí)慣使用的書寫格式,否則將會降低其可讀性。9 C+是一種以編譯方式實現(xiàn)的高級語言。10 在C+編譯過程中,包含預(yù)處理過程、編譯過程和連接過程,并且這三個過程的順序是不能改變的。11 預(yù)處理過程是一般編譯過程之后連接過程之前進行的。×12 源程序在編譯過程中可能會出現(xiàn)一些錯誤信息,但在連接過程中將不會出現(xiàn)錯誤信息。×三、分析下列程序的輸出結(jié)果1#include<iostr
5、eam.h>void main()cout<<"BeiJing"<<" "cout<<"ShangHai"<<"n "cout<<"TianJing"<<endl;1 BeiJjing ShangHai TianJing2.#include<iostream.h>void main()int a,b;cout<<"input a,b:"cin>>a>>
6、b;cout<<"a="<<a<<","<<"b="<<b<<endl;cout<<"a-b="<<a-b<<"n"假定,輸入如下兩個數(shù)據(jù):8 52 Input a,b:8 5A=8,b=5A-b=33#include <iostream.h>void main()char c=m;int d=5;cout<<"d="<<d<&
7、lt;":"cout<<"c="<<c<<"n"D=5,c=m四、編譯下列程序,改正所出現(xiàn)的各種錯誤信息,并分析輸出結(jié)果:1、 main ( )cout<<"This is a string!"1#include<iostream.h> void main()cout<<”This is a string!”;輸出結(jié)果:This is a string!2、 #include<iostream.h>void main( )cin&g
8、t;>x;int p=x*x;cout<<"p=<<p<<n"#include<iostream.h>void main( )int x;cin>>x;int p=x*x;cout<<”p=”<<p<<”n”;輸出結(jié)果:3 p=93、 #include <iostream.h>void main ( )int i,j;i=5;int k=i+j;cout<<"i+j="<<k<<"n"#
9、include <iostream.h>void main ( )int i,j;i=5;j=3;int k=i+j;cout<<”i+j=”<<k<<”n”;輸出結(jié)果:I+j=8五、通過對第四題中三個程序的所出現(xiàn)問題的修改,回答下列問題:1. 從對第四題1題的修改中,總結(jié)出編程時應(yīng)注意哪三個問題?2. C+程序中所出現(xiàn)的變量是否都必須先說明才能引用?3. 使用cout和運算符<<輸出字符串時應(yīng)注意什么問題?4. 有些變量雖然說明了但是沒有賦值,這時能否使用?5. 一個程序編譯通過了并且運行后得到了輸出結(jié)果,這個結(jié)果是否一定是正確的?
10、第二章習(xí)題一、 選擇填空1、 在16位機中,int型字寬為( )字節(jié)。A2; B。 4;C。 6; D 82、 類型修飾符unsigned修飾( )類型是錯誤的。A char; B. int; C.long int ; D float3、 下列十六進制的整型數(shù)常數(shù)表示中,( )是錯誤的。A0xaf; B. 0X1b; C. 2fx; D. 0xAE4 、下列double型常量表示中,( )是錯誤的。 AE15; B. .35; C. 3E5; D. 3E-55、下列字符常量表示中,( )是錯誤的。A. 105 ; B. *; C.4f; D. a6、下列字符串常量表示中, ( )是錯誤的。A.
11、""yes"or"No"" B."OK!" C. "abcdn" D. "ABC0"7、下列變量名中,( )是合法的。A.CHINA; B. byte-size; C. double; D. A+a8、在int a5=1,3,5;中,數(shù)組元素a1的值是( )。 A. 1; B. 0; C.3; D.29、在int b3=1,3,2,4,5,6,0;中a22的值是( )。 A.0; B. 5; C.6; D.210、下列給字符數(shù)組進行初始化中,( )是正確的。 Achar s1
12、 ="abcd; B. char s23="xyz" C. char s33=a,x,y; D. char s423="xyz","mnp"11、在int a=3,*p=&a; 中,*p的值是( )。A. 變量a的地址值; B.無意義; C. 變量p的地址值;D.312、對于int *pa5;的描述,()是正確的。A. pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素;B. pa是一個指向某個數(shù)組中第5個元素的指針,該元素是int型變量;C. pa5表示某個數(shù)組的第5個元素的值;D. pa是一個具有5個元素的
13、指針數(shù)組,每個元素是一個int型指針;13、下列關(guān)于指針的運算中,()是非法的。A 兩個指針在一定條件下,可以進行相等或不等的運算;B 可以用一個空指針賦值給某個指針;C 一個指針可以加上兩個整數(shù)之差;D 兩個指針在一定條件下,可以相加。14、指針可以用來表示數(shù)組元素,下列表示中()是錯誤的。已知:int a37;A. *(a+1)5; B. *(*a+3); C. *(*(a+1); D. *(&a00+2)15、下列表示引用的方法中,() 是正確的。已知:int m=10; A. int &x=m; B. int &y=10; C. int &z; D. f
14、loat &t=&m16、下列各運算符中,( )可以作用于浮點數(shù)。A+; B. %; C. >> D. &17、下列各運算符中,()不能作用于浮點數(shù)。A/; B.&& C.!; D.18、下列各運算符中,()優(yōu)先級最高。A. +(雙目);B. *(單目); C. <=; D. *=19、下列各運算符中,()優(yōu)先級最低。 A?:;B. |; C. |; D.!=20、下列各運算符中,()結(jié)合性從左到右。A. 三目;B. 賦值; C.比較; D.單目21、下列表達式中,()是非法的。已知:int a=5; float b=5.5;A. a%
15、3+b; B. b*b&&+a; C.(a>b)+(int(b)%2); D. - -a+b22、下列表達式中,()是合法的。已知:double m=3.2; int n=3;A. m<<2; B. (m+n)|n C. !m*=n; D. m=5,n=3.1,m+n23、下列關(guān)于類型轉(zhuǎn)換的描述中,()是錯誤的。A 在不同類型操作數(shù)組成的表達式中,其表達式類型一定是最高類型double型;B 逗號表達式的類型是最后一個表達式的類型;C 賦值表達式的類型是左值的類型;D 在由底向高的類型轉(zhuǎn)換中是保值映射。24、下列各表達式中,()有二義性。已知:int a(5)
16、; b(6);A. a+b>>3; B. +a+b+; C.b+(a=3); D. ( a=3)-a+二、 判斷下列描述是否正確,對者劃,錯者劃×。1、 任何字符常量與一個任意大小的整型數(shù)進行加減都是有意義的。×2、 轉(zhuǎn)義序列表示法只能表示字符不能表示數(shù)字。3、 在命名標識符中,大小寫字母是不加區(qū)別的。×4、 C+的程序中,對變量一定要先說明再使用,說明只要在使用之前就可以。5、 C+中數(shù)組元素的下標是從0開始,數(shù)組元素是連續(xù)存儲在內(nèi)存單元中的。6、 數(shù)組賦初值時,初始值表中的數(shù)據(jù)項的數(shù)目可以大于或等于數(shù)組元素的個數(shù)。×7、 枚舉變量的取值受
17、到該枚舉變量所對應(yīng)的枚舉表中的枚舉符的局限。8、 指針是用來存放某種變量的地址值的變量。這種變量的地址值也可以存放在某個變量中,存放某個指針的地址值的變量稱為指向指針的指針,即二級指針。9、 引用是用來給某個變量以別名的變量。,對引用的操作,實質(zhì)上就是對被引用的變量的操作。10、 運算符的優(yōu)先級和結(jié)合性可以確定表達式的計算順序。11、 在說明語句 中,的值和的值是相等的。12、 已知:表達式具有兩用性。×13、 移位運算符在移位操作中,無論左移還是右移,所移出的空位一律補0;×14、 某個變量的類型高是指該變量被存放在內(nèi)存中的高地址處。×15、 隱含的類型轉(zhuǎn)換都是
18、保值映射,顯式的類型轉(zhuǎn)換都是非保值映射。×16、 類型定義是用來定義一些C+中所沒有的新的類型。×三、 計算下列各表達式的值(下列各表達式是相互獨立的,不考慮前面對后面的影響。)1、 已知:unsigned int x=015,y=0x2b;A. x|y;B.xy;C.x&y;D.x+y; E.x<<=3; F.y>>=4.ABCDEF4738910422、 已知:inti(10),j(5);A. +i-j-;B.i=i*=j;C.i=3/2*(j=3-2);D.ij; E.i&j|1; F.i+i&0xff.ABCDEF65
19、01-161203、 已知:int a(5),b(3);計算下列表達式得值以及a和b的值。A.!a&&b+;B.a|b+4&&a*b;C.a=1,b=2,a>b?+a:+b;D.+b,a=10,a+5;E.a+=b%=a+b; F.a!=b>2<=a+1.ABCDEF0,5,31,5,33,1,315,10,48,8,31,5,34、 已知:int d(5),*pd=&d,&rd=d;A. d+-rd;B.*pd*rd; C.+*pd-rd; D.+rd-d.ABCD025005、 已知:1的ASCII碼的值為49。A.3+2&
20、lt;<1+1;B.2*9|3<<1;C.5%-3*2/6-3; D.8= =3<=2&5; E.!(3>5)|2<6; F.6>=3+2-(0-7).ABCDEF2022-3011四、 按下列要求編寫程序1 從鍵盤上輸入兩個int型數(shù),比較其大小,并輸出顯示其中小的。2 從鍵盤上輸入一個int型數(shù),一個浮點型數(shù)比較其大小,并輸出其中大的。3 輸入一攝氏溫度,編程輸出華氏溫度。已知:華氏溫度轉(zhuǎn)換為攝氏溫度的計算公式如下:C=(F-32)*5/9其中,F(xiàn)表示華氏溫度,C表示攝氏溫度。#include <iostream.h>void
21、main() float c,f; cout<<”華氏溫度:”; cin>>f; c=(f-32)*5/9; cout<<” 攝氏溫度:”<<c<<endl; 4 編程實現(xiàn)輸入公里數(shù),輸出顯示其英里數(shù)。已知:1英里=1.60934公里(用符號常量)。#include <iostream.h> const float r=1.60934; void main() float m,I; cout<<” 公里數(shù):”; cin>>m; I=r*m; cout<<”英里數(shù):”<<I&l
22、t;<endl;5 輸入一個int型數(shù),將它的低4位(右4位)都置為1。#include <iostream.h>void main() int n,m; cout<<”輸入一個整數(shù):”; cin>>n; m=n|15; cout<<”結(jié)果為:”<<m<<endl;第三章習(xí)題一、 選擇填空1. 預(yù)處理命令在程序中都是以( )開頭的。A. * ; B. # ;C . :;D. / ;2. 文件包含命令中被包含的文件的擴轉(zhuǎn)名( )。A.必須為.h;B.不能用.h;C .必須是.c;D.不一定是.h;3. 下列條件編譯命令
23、中#if()<語句序列1>#else<語句序列2>#endifA.整常量表達式;B.任何標識符;C .任意表達式;D.被定義的宏名;4. 帶參數(shù)的宏定義中,程序中引用宏定義的實參( )。A.只能是常量;B.只能是整型量;C .只能是整形表達式;D.可以是任意表達式;5. 下列( )是語句A. ;;B.a=17;C .x+y;D. cout<<”n”;6. 下列for循環(huán)的次數(shù)為( )。for(int i(0),x=0;!x&&i<=5;i+)A.5;B.6;C .1;D.無限;7. 下列while循環(huán)的次數(shù)是( )。while(int
24、i=0)i- -;A.0;B.1;C .5;D.無限;8. 下列do-while循環(huán)的循環(huán)次數(shù)為( )。已知:int i(5);docout<<i- - <<endl;i- - ;while(i!=0);A.0;B.1;C .5;D.無限;9. 下列for循環(huán)的循環(huán)體執(zhí)行次數(shù)為( )。for(int i(0),j(10);i=j=10;i+,j- -) A.0;B.1;C .10;D.無限;10. 已知:int a,b;下列switch語句中,( )是正確的。A. switch(a);case a:a+;break;case b:b+;break;B. switch(a
25、+b) case 1:a+b;break;case 2:a-b|C. switch(a*a)case1,2:+a;case3,4:+b;D. switch(a/10+b)case 5:a/5;breakdefault:a+b;11. 下述關(guān)于循環(huán)體的描述中,( )是錯誤的。A. 循環(huán)體中可以出現(xiàn)break語句和continue語句;B. 循環(huán)體中還可以出現(xiàn)循環(huán)語句;C. 循環(huán)體中不能出現(xiàn)goto語句;D. 循環(huán)體中可以出現(xiàn)開關(guān)語句。12. 下述關(guān)于goto語句的描述中,( )是正確的。A. goto語句可在一個文件中隨意轉(zhuǎn)向;B. goto語句后面要跟上一個他所轉(zhuǎn)向的語句;C. goto語句可
26、以同時轉(zhuǎn)向多條語句;D. goto語句可以從一個循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外。13. 下述關(guān)于break語句的描述中,( )是正確的。A. break語句可用于循環(huán)體內(nèi),它將退出該重循環(huán);B. break語句可用于開關(guān)語句中,它將退出開關(guān)語句。C. break語句可用于if體內(nèi),它將退出if語句;D. break語句在一個循環(huán)體內(nèi)可以出現(xiàn)多次。14. 下述關(guān)于開關(guān)語句的描述中,( )是正確的。A. 開關(guān)語句中default子句可以沒有,也可以有一個;B. 開關(guān)語句中每個語句序列中必須有break語句;C. 開關(guān)語句中default子句只能放在最后;D. 開關(guān)語句中case子句后面的表達式可以是整形表達
27、式。15. 下列關(guān)于條件語句的描述中,()是錯誤的。A. if語句中只有一個else子句;B. if語句中可以有多個else if子句;C. if語句中if體內(nèi)不能是開關(guān)語句;D. if語句中的if體中可以是循環(huán)語句。二、 判斷下列描述是否正確,對者劃,錯者劃×。 預(yù)處理命令是在進行編譯時首先執(zhí)行的,然后再進行正常編譯。 宏定義命令是以分號結(jié)束的。× 帶參數(shù)的宏定義只能有1至2個參數(shù)。× 文件包含命令所包含的文件是不受限制的。× 條件編譯命令只在編譯時才有作用。 預(yù)處理命令的主要作用是提高效率的。× 復(fù)合語句就是分程序。× 條件語句不
28、能作為多路分支語句。× 開關(guān)語句不可以嵌套,在開關(guān)語句的語句序列中不能再有開關(guān)語句×10開關(guān)語句中的default關(guān)鍵字,只能放在該語句的末尾,不能放在開頭或中間。×11Switch語句中必須有break語句否則無法退出switch語句。×12While循環(huán)語句的循環(huán)體至少執(zhí)行一次。×13Do-while循環(huán)可以寫成while循環(huán)的格式。14For循環(huán)是只有可以確定的循環(huán)次數(shù)時才可使用,否則不能用for循環(huán)。×15只有for循環(huán)的循環(huán)體可以是空語句,其他種循環(huán)的循環(huán)體不能用空語句。×16當循環(huán)體為空語句時,將說明該循環(huán)不作任
29、何工作,只起延時作用。×17循環(huán)是可以嵌套的,一個循環(huán)體內(nèi)可以包含另一種循環(huán)語句。18在多重循環(huán)中,內(nèi)重循環(huán)的循環(huán)變量應(yīng)用的次數(shù)比外重的多。19Break語句可以出現(xiàn)在各種循環(huán)體中。20continue語句只能出現(xiàn)在循環(huán)體中。三、 分析下列程序的輸出結(jié)果。1.#include<iostream.h>#define M 1.5#define A(a) M*avoid main()int x(5),y(6);cout<<A(x+y)<<endl;13.52. #include<iostream.h>#define MAX(a,b) (a)&
30、gt;(b)?(a):(b)void main()int m(1),n(2),p(0),q;q=MAX(n,n+p)*10;cout<<q<<endl;203.#include<iostream.h>#include”f1.cpp”void main()int a(5),b;b=f1(a);cout<<b<<endl;f1.cpp文件內(nèi)容如下:#define M(m) m*mf1(int x)int a(3);return M(x+a);134.#include<iostream.h>void main()int i(0)
31、;while(+i)if(i= =10) break;if(i%3!=1) continue;cout<<i<<endl;1475.#include<iostream.h>void main()int i(1);doi+;cout<<+i<<endl;if(i= =7) break;while(i= =3);cout<<”O(jiān)k!n”;3 5 Ok!6.#include<iostream.h>void main()int i(1),j(2),k(3),a(10);if(!i)a- -;else if (j)if(
32、k) a=5;elsea=6;a+;cout<<a<<endl;if(i<j)if(i!=3)if(!k)a=1;else if(k)a=5;a+=2;cout<<a<<endl;677.#include<iostream.h>void main()int i,j,a88;* * a=1;for(i=1;i<8;i+)* *(a+i)=1;*(*(a+i)+i)=1;for(j=1;j<i;j+)*(*(a+i)+j)= *(*(a+i-1)+j-1)+ *(*(a+i-1)+j);for(i=0;i<8;i+
33、)for(j=0;j<=i;j+)cout<<""<<*(*(a+i)+j);cout<<endl;7. 11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1 1 7 21 35 35 21 7 18.#include<iostream.h>void main()int x(5);doswitch(x%2)case 1:x- -;break;case 0:x+;break;x- -;cout<<x<<endl;while(x>0);8.
34、 31 -19.#include<iostream.h>void main()int a(5),b(6),i(0),j(0);switch(a)case 5:switch(b)case 5:i+;break;case 6:j+;break;default: i+;j+;case 6: i+;j+;break;default: i+;j+;cout<<i<<”,“<<j<<endl;1,210.#include<iostream.h>char input="SSSWILTECH1111W1WALLMP1"
35、void main()int i;char c;for(i=2;(c=inputi)!='0'i+)switch(c)case 'a':cout<<'i'continue;case'1':break;case 1:while(c=input+i)!='1'&&c!='0');case 9:cout<<c;case 'E':case 'L':continue;default :cout<<c; continue;cou
36、t<<' 'cout<<endl;SWITCHWAMP四、 按下列要求編程,并上機調(diào)試。 求100之內(nèi)的自然數(shù)中奇數(shù)之和。 求100之內(nèi)的自然數(shù)中被13整除的最大數(shù)。 求輸入兩個正整數(shù)的最大公約數(shù)和最小公倍數(shù)。 求下列分數(shù)序列的前15項之和。2/1,3/2,5/3,8/5,13/8,21/13,. . . 求i!(i=1,. . .,10)(即求1!+2!+3!+4!+5!+6!+7!+8!+9!+10!之和) 求出11000之間的完全平方數(shù)。所謂完全平方數(shù)是指能夠表示成為另一個證書的平方的整數(shù)。要求每行輸出8個數(shù)。 輸入4個int型數(shù),按其大小順序輸出
37、。 有一函數(shù)如下所示: x (x<1)Y= x+5 (1x<10) x-5 (x10)已知x值時,輸出y值。 求一元二次方程ax2+bx+c=0的解。討論下述情況:(1)b2-4ac=0,有兩個相等實根;(2)b2-4ac>0,有兩個不等實根;(3) b2-4ac<0,有兩個共軛復(fù)根;(4)a=0,不是二次方程。10編程輸出如下圖案。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *第四章習(xí)題一、 選擇填空1. 當一個函數(shù)無返回值時,定義它時函數(shù)的類型應(yīng)是( )
38、A. void; B. 任意;C . int;D. 無;2. 在函數(shù)說明時,下列( )項是不必要的。A.函數(shù)的類型;B.函數(shù)參數(shù)類型和名次;C .函數(shù)名字;D.返回值表達式;3. 在函數(shù)的返回值類型與返回值表達式的類型的描述中,( )是錯誤的。A. 函數(shù)的返回值的類型是定義函數(shù)時確定的;B. 函數(shù)的返回值的類型就是返回值表達式的類型;C. 函數(shù)的返回值表達式的類型與函數(shù)返回值類型不同時,表達示類型應(yīng)轉(zhuǎn)換成函數(shù)返回值類型;D. 函數(shù)的返回值類型決定了返回值表達式的類型。4. 在一個被調(diào)用函數(shù)中,關(guān)于return語句使用的描述,( )是錯誤的。A. 被調(diào)用函數(shù)中可以不用 return語句;B. 被
39、調(diào)用函數(shù)中可以使用多個return語句;C. 被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句;D. 被調(diào)用函數(shù)中,一個return語句可返回多個值給調(diào)用函數(shù)。5. 下列( )是引用調(diào)用A. 形參是指針,實參是地址值;B. 形參和實參都是變量;C. 形參是數(shù)組名,實參是數(shù)組名;D. 形參是引用,實參是變量。6. 在傳值調(diào)用中,要求( )。A. 形參和實參類型任意,個數(shù)相等;B. 形參和實參類型都完全一致,個數(shù)相等;C. 形參和實參對應(yīng)的類型一致,個數(shù)相等;D. 形參和實參對應(yīng)的類型一致,個數(shù)任意。7. 在C+中,關(guān)于下列設(shè)置參數(shù)默認的描述中,( )是正確的。A. 不允許設(shè)置參數(shù)的默認值;
40、B. 設(shè)置參數(shù)默認值只能在定義函數(shù)時設(shè)置;C. 設(shè)置參數(shù)默認值時,應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的;D. 設(shè)置參數(shù)默認值時,應(yīng)該全部參數(shù)都設(shè)置;8. 重載函數(shù)在調(diào)用時選擇的依據(jù)中,( )是錯誤的。A.參數(shù)個數(shù);B.參數(shù)的類型;C .函數(shù)名字;D.函數(shù)的類型;9. 下列的標識符中,( )是文件級作用域的。A.函數(shù)形參;B.語句標號;C .外部靜態(tài)類標識符;D.自動類標識符。10. 有一個int 型變量,在程序中使用頻度很高,最好定義為( )。A.register;B.auto;C .extern;D.static;11. 下列標識符中,( )不是局部變量。A.register類;B.外部stati
41、c類;C .auto類;D.函數(shù)形參;12. 下列存儲類標識符中,( )的可見性與存在性不一值。A. 外部類;B.自動類;C .內(nèi)部靜態(tài)類;D.寄存器類。13. 下列存儲類標識符中,要求通過函數(shù)來實現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用()合適。A.內(nèi)聯(lián)函數(shù); B.重載函數(shù);C .遞歸調(diào)用;D.嵌套調(diào)用。14. 采用函數(shù)重載的目的在于( )。A.實現(xiàn)共享;B.減少空間;C .提高速度;D.使用方便,提高可讀性。15. 在將兩個字符串連接起來組成一個字符串時,選用( )函數(shù)。B. A.strlen();B.strcpy();C .strcat();D.strcmp. 二、 判斷下列描述
42、的正確性,對者劃,錯者劃×。 在C+中,定義函數(shù)時必須給出函數(shù)的類型 在C+中,說明函數(shù)時要用函數(shù)原型,即定義函數(shù)時的函數(shù)頭部分。 在C+中,所有函數(shù)在調(diào)用前都要說明。× 如果一個函數(shù)沒有返回值,定義時需用void說明。 在C+中,傳址調(diào)用將被引用調(diào)用所代替。× 使用內(nèi)聯(lián)函數(shù)是以犧牲增大空間開銷為代價的。 返回值類型、參數(shù)個數(shù)和類型都相同的函數(shù)也可以重載。× 在設(shè)置了參數(shù)默認值后,調(diào)用函數(shù)的對應(yīng)實參就必須省略。× 計算函數(shù)參數(shù)順序引起的二義性完全是由不同的編譯系統(tǒng)決定的。 For循環(huán)中,循環(huán)變量的作用域是該循環(huán)的循環(huán)體內(nèi)。 語句標號的作用域是定
43、義該語句標號的文件內(nèi)。× 函數(shù)形參的作用域是該函數(shù)的函數(shù)體。 定義外部變量時,不用存儲類說明符extern, 而說明外部變量時用它。 內(nèi)部靜態(tài)類變量與自動類變量作用域相同,但是生存期不同。 靜態(tài)生存期的標識符的壽命是短的,而動態(tài)生存期的標識符的壽命是長的。× 重新定義的標識符在定義它的區(qū)域內(nèi)是可見的,而與其同名的原標識符在此區(qū)域內(nèi)是不可見的。但是,它是存在的。 靜態(tài)類標識符在它的作用域之外是不存在的。× 所有的函數(shù)在定義它的程序中都是可見的。× 編譯系統(tǒng)所提供的系統(tǒng)函數(shù)都被定義在他所對應(yīng)的頭文件中。 調(diào)用系統(tǒng)函數(shù)時,要先將該系統(tǒng)函數(shù)的原型說明所在的頭文件
44、包含進去。三、 分析下列程序的輸出結(jié)果。1.#include<iostream.h>#define N 5void fun();void main()for (int i(1);i<N;i+)fun();void fun ()static int a;int b(2);cout<<(a+=3,a+b)<<endl;1 5811142. #include<iostream.h>int add(int a,int b);void main()extern int x,y;cout<<add(x,y)<<endl;int
45、x(20),y(5);int add(int a,int b)int s=a+b;return s;253.#include<iostream.h>void f(int j);void main()for(int i(1);i<=4;i+)f(i);void f(int j)static int a(10);int b(1);b+;cout<<a<<”+”<<b<<”+”<<j<<”=”<<a+b+j<<endl;a+=10;2 10+2+1=1320+2+2=2430+2+3=3
46、540+2+4=464.#include<iostream.h>void f(int n)int x(5);static int y(10);if(n>0)+x;+y;cout<<x<<”,”<<y<<endl;void main()int m(1);f(m);6,115.#include<iostream.h>int fac(int a);void main()int s(0);for(int i(1);i<=5;i+)s+=fac(i);cout<<”5!+4!+3!+2!+1!=”<&l
47、t;s<<endl;int fac(int a)static int b=1;b*=a;return b;5!+4!+3!+2!+1!=1536.#include<iostream.h>void fun(int ,int , int *);void main()int x,y,z;fun(5,6,&x);fun(7,x,&y);fun(x,y,&z);cout<<x<<”,”<<y<<”,”<<z<<endl;void fun(int a,int b,int *c)b+=a;
48、*c=b-a;6,6,67.#include<iostream.h>int add(int x, int y=8);void main()int a(5);cout<<”sum1=”<<add(a)<<endl;cout<<”sum2=”<<add(a,add(a)<<endl;cout<<”sum3=”<<add(a,add(a,add(a)<<endl;int add(int x,int y)return x+y;sum1=13sum2=18sum3=238.#inclu
49、de<iostream.h>#define N 6int f1(int a);void main()int a(N);cout<<f1(a)<<endl;int f1(int a)return(a= =0)?1:a*f1(a-1);7209.#include<iostream.h>void swap(int &,int &);void main()int a(5),b(8);cout<<”a=”<<a<<”,“<<”b=”<<b<<endl;swap(a,b)
50、;cout<<”a=”<<a<<”,“<<”b=”<<b<<endl;void swap(int &x,int &y)int temp;temp=x;x=y;y=temp;a=5,b=8a=8,b=510.#include<iostream.h>int &f1(int n,int s)int &m=sn;return m;void main()int s=5,4,3,2,1,0;f1(3,s)=10;cout<<f1(3,s)<<endl;1011. #i
51、nclude<iostream.h>void print(int),print(char),print(char *);void main()int u(1998);print(u);print(u);print(“abcd”);void print(char x)cout<<x<<endl;void print(char *x)cout<<x<<endl;void print(int x)cout<<x<<endl;u1998abcd12.#include<iostream.h>void ff(i
52、nt),ff(double);void main()float a(88.18);ff(a);char b(a);ff(b);void ff(int x)cout<<”ff(int):”<<x<<endl;void ff(double x)cout<<”ff(double):”<<x<<endl;ff(double):88.18ff(int):97四、 按下列要求編程,并上機驗證。 從鍵盤上輸入15浮點數(shù),求出其和幾平均值。要求寫出求和平均值的函數(shù)。 從鍵盤上輸入10個int型數(shù),去掉重復(fù)的。降其剩余的由大到小排序輸出。
53、給定某個年、月、日的值,例如,1998年4月7日。計算出這一天是該年的第幾天。要求寫出計算潤年的函數(shù)和計算日期的函數(shù)。 寫出一個函數(shù),使從鍵盤上輸入的一個字符串反序存放,并在主函數(shù)中輸入和輸出該字符串。 寫出一個函數(shù),要求將輸入的十六進制數(shù)轉(zhuǎn)換成十進制數(shù)。要求函數(shù)調(diào)用時,使用指針作函數(shù)形參。 編寫兩個函數(shù):一個是將一個5位 int型數(shù)轉(zhuǎn)換成為每兩個數(shù)字間加一個空格的空字符串;另一個是求出轉(zhuǎn)換后的字符串的長度。由主函數(shù)輸入int型數(shù),并輸出轉(zhuǎn)換后的字符串和長度。 輸入5個學(xué)生4門功課的成績,然后求出: A.每個學(xué)生的總分; B. 每門課程的平均分; C. 輸出總分最高的學(xué)生的姓名和總分數(shù)。 使用
54、遞歸調(diào)用方法將一個n位整數(shù)轉(zhuǎn)換成字符串。 使用函數(shù)重載的方法定義兩個重名函數(shù),分別求出int型數(shù)的兩個點間距離和浮點數(shù)的兩點間距離。 已知二維字符數(shù)組s5=“abcd”,”efgh”,”ijkl”,”mnop”;使用字符串處理函數(shù),將該數(shù)組的4個字符串連接起來,組成一個字符串:abcdefghijklmnop。 編程求下式的值:n1+n2+n3+n4+n10,其中n=1,2,3。編寫函數(shù)時,設(shè)置參數(shù)n的默認值為2。 編一個程序驗證哥德巴赫猜想:任何一個充分大的偶數(shù)(大于等于6)總可以表示成兩個素數(shù)之和。要求編一個求素數(shù)prime()函數(shù),它有一個int型參數(shù),當參數(shù)值為素數(shù)時返回1,否則返回0
55、。第五章習(xí)題一、 選擇填空1. 在下列關(guān)鍵字中,用以說明類中公有成員的是( )A. public; B. private;C. protected;D. friend;2. 下列的各類函數(shù)中,( )不是類的成員函數(shù)。A. 構(gòu)造函數(shù);B. 析構(gòu)函數(shù);C . 友元函數(shù);D. 拷貝初始化構(gòu)造函數(shù);3. 作用域運算符的功能是( )。A. 標識作用域的級別的;B. 指出作用域的范圍的;C. 給定作用域的大小的;D. 標識某個成員是屬于哪個類的。4. ( )是不可能作為該類的成員的。A. 自身類對象的指針;B.自身類的對象;C.自身類對象的引用; D.另一個類的對象。5. ( )不是構(gòu)造函數(shù)的特征A. 構(gòu)
56、造函數(shù)的函數(shù)名與類名相同;B. 構(gòu)造函數(shù)可以重載;C. 構(gòu)造函數(shù)可以設(shè)置缺省參數(shù);D. 構(gòu)造函數(shù)必須指定類型說明。6. ( )是析構(gòu)函數(shù)的特征。A. 一個類中只能定義一個析構(gòu)函數(shù);B. 析構(gòu)函數(shù)與類名不同;C. 析構(gòu)函數(shù)的定義只能在類體內(nèi);D. 析構(gòu)函數(shù)可以有各個或多個參數(shù)。7. 通常的拷貝初始化函數(shù)的參數(shù)是( )。E. 某個對象名;A. 某個對象的成員名;B. 某個對象的引用名;C. 某個對象的指針名;8. 關(guān)于成員函數(shù)特征的下述描述中,( )是錯誤的。D. 成員函數(shù)一般是內(nèi)聯(lián)函數(shù);A. 成員函數(shù)可以重載;B. 成員函數(shù)可以設(shè)置參數(shù)的缺省值;C. 成員函數(shù)可以是靜態(tài)的。9. 下述靜態(tài)數(shù)據(jù)成員的特征中,( )是錯誤的。D. 說明靜態(tài)數(shù)據(jù)成員時前邊要加修飾符sta
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年SA20培訓(xùn)教程:解讀數(shù)據(jù)背后的秘密
- 內(nèi)蒙古通遼市(2024年-2025年小學(xué)五年級語文)人教版小升初真題(上學(xué)期)試卷及答案
- 第45屆世界技能大賽塑料模具工程項目全國選拔賽(參考)技術(shù)文件
- 辦公室5S成功案例:2024年培訓(xùn)課件
- 2024年國際研討會:《廢墟的召喚》課件的學(xué)術(shù)交流
- 《優(yōu)化營商環(huán)境條例》測試題及答案
- 《雪孩子》教案:2024年教學(xué)方法的探索
- 《消費行為學(xué)》教案:2024年智能科技對消費行為的影響
- 2024年教學(xué)評價:《狐假虎威》課件的效果評估
- 2024年VB程序設(shè)計教案發(fā)展趨勢
- 拱橋懸鏈線計算表
- 一對一學(xué)生課時簽到表
- 木材材積速算表
- 如何培養(yǎng)學(xué)生良好的雙姿習(xí)慣(精)
- 計算機及外部設(shè)備裝配調(diào)試員國家職業(yè)技能標準(2019年版)
- GB18613-2012中小型異步三相電動機能效限定值及能效等級
- 《臨床決策分析》課件.ppt
- 家風(fēng)家訓(xùn)PPT課件
- 淚道沖洗PPT學(xué)習(xí)教案
- 淺談校園影視在學(xué)校教育中的作用
- 無公害農(nóng)產(chǎn)品查詢
評論
0/150
提交評論