![c語言基礎(chǔ)教程課后答案-呂鳳翥編_第1頁](http://file4.renrendoc.com/view14/M04/3A/35/wKhkGWYustiAB_44AAMBbka8q00369.jpg)
![c語言基礎(chǔ)教程課后答案-呂鳳翥編_第2頁](http://file4.renrendoc.com/view14/M04/3A/35/wKhkGWYustiAB_44AAMBbka8q003692.jpg)
![c語言基礎(chǔ)教程課后答案-呂鳳翥編_第3頁](http://file4.renrendoc.com/view14/M04/3A/35/wKhkGWYustiAB_44AAMBbka8q003693.jpg)
![c語言基礎(chǔ)教程課后答案-呂鳳翥編_第4頁](http://file4.renrendoc.com/view14/M04/3A/35/wKhkGWYustiAB_44AAMBbka8q003694.jpg)
![c語言基礎(chǔ)教程課后答案-呂鳳翥編_第5頁](http://file4.renrendoc.com/view14/M04/3A/35/wKhkGWYustiAB_44AAMBbka8q003695.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一#
一、選擇填空
1.下列各種高級語言中,()是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。
A.BASIC;B.PASCAL;C.C++D.Ada
2.下列各種高級語言中,()是最早提出了對象的概念。
A.Algol60;B.Simula67;C.Smalltalk;D.C++
3.下述面向?qū)ο蟪橄蟮脑碇校ǎ┦遣粚Φ摹?/p>
A.數(shù)據(jù)抽象;B.行為共享;C.進(jìn)化;D.兼容;
4.()不是面向?qū)ο笙到y(tǒng)所包含的要數(shù)。
A.重載;B.對象;C.類;D.繼承;
5.關(guān)于C++與C語言的關(guān)系的描述中,()是錯誤的。
A.C語言是C++的一個子集;B.C語言與C++是兼容的;
C.C++對C語言進(jìn)行了一些改進(jìn);D.C++和C語言都是面向?qū)ο蟮模?/p>
6.下面關(guān)于對象概念的描述中,()是錯誤的。
A.對象就是C語言中的結(jié)構(gòu)變量;B.對象代表著正在創(chuàng)建的系統(tǒng)中的一個實(shí)體;
C.對象是一個狀態(tài)和操作(或方法)的封裝體;D.對象之間的信息傳遞是通過消息進(jìn)行的;
7.下面關(guān)于類概念的描述中,()是錯誤的。
A.類是抽象數(shù)據(jù)類型的實(shí)現(xiàn);B.類是具有共同行為的若干對象的統(tǒng)一描述體;
C.類是創(chuàng)建對象的樣板;D.類就是C語言中的結(jié)構(gòu)類型;
8.C++對C語言作了很多改進(jìn),下列描述中()使得C語言發(fā)生了質(zhì)變,即從面向過程變成為
面向?qū)ο蟆?/p>
A.增加了一些新的運(yùn)算符;B.允許函數(shù)重載,并允許設(shè)置缺省參數(shù);
C.規(guī)定函數(shù)說明必須用原型;D.引進(jìn)了類和對象的概念;
9.按照標(biāo)識符的要求,()符號不能組成標(biāo)識符。
A.連接符;B.下劃線;C.大小寫字母;D.數(shù)字字符;
10.下列符號中,()不可作為分隔符。
A.,;B.:;C.?;D.;
二、判斷下列描述的正確性,對者劃錯者劃X。
1.C++引進(jìn)了引用的概念,對編程帶來了很多方便。V
2.C++允許使用友元,但是友元會破壞封裝性。V
3.C++中使用了新的注釋符(〃),C語言中注釋符(/*…*/)不能在C++中使用。X
4.C++中為了減輕使用者的負(fù)擔(dān),與C語言相比較C++中減少了一些運(yùn)算符。X
5.C++程序中,每條語句結(jié)束時都加一個分號(;)。V
6.C++中標(biāo)識符內(nèi)的大小寫字母是沒有區(qū)別的。X
7.C++中不允許使用宏定義的方法定義符號常量,只能用關(guān)鍵字const來定義符號常量。X
8.在編寫C++程序時,一定要注意采用人們習(xí)慣使用的書寫格式,否則將會降低其可讀性。V
9.C++是一種以編譯方式實(shí)現(xiàn)的高級語言。V
10.在C++編譯過程中,包含預(yù)處理過程、編譯過程和連接過程,并且這三個過程的順序是不能改
變的。V
11.預(yù)處理過程是一般編譯過程之后連接過程之前進(jìn)行的。X
12.源程序在編譯過程中可能會出現(xiàn)一些錯誤信息,但在連接過程中將不會出現(xiàn)錯誤信息。X
三、分析下列程序的輸出結(jié)果
1.#include<iostream.h>
voidmain()
cout?,,BeiJing,,?,'H;
cout?',ShangHai',?,,\n”;
cout?"TianJing"?endI;
}
1.BeiJjingShangHai
TianJing
2.#include<iostream.h>
voidmain()
(
inta,b;
cout?"inputa,b:n;
cin?a?b;
cout?,,a=,,?a?n,n?,,b=,,?b?endl;
cout?na-b="?a-b?"\n";
)
假定,輸入如下兩個數(shù)據(jù):85
2.Inputa,b:85
A=8,b=5
A-b=3
3.#include<iostream.h>
voidmain()
(
charc='m';
intd=5;
cout?,"c=",?c?,,\nn;
)
D=5,c=m
四、編譯下列程序,改正所出現(xiàn)的各種錯誤信息,并分析輸出結(jié)果:
1、main()
(
cout?,'Thisisastring!";
)
1.#include<iostream.h>
voidmain()
(
cout?,,rrhisisastring!”;
)
輸出結(jié)果:Thisisastring!
2、#include<iostream.h>
voidmain()
cin?x;
intp=x*x;
cout?np=?p?\nn;
)
#include<iostreani.h>
voidmain()
(
intx;
cin?x;
intp=x*x;
coutv<''p="v<pv<”\n";
}
輸出結(jié)果:3
p=9
3、#include<iostream.h>
voidmain()
{inti,j;
i=5;
intk=i+j;
cout?"i+j="?k?"\n";
)
#include<iostream.h>
voidmain()
{intij;
i=5;
j=3;
intk=i+j;
coutvv"i+j="vvk<v"\n";
}
輸出結(jié)果:I+j=8
五、通過對第四題中三個程序的所出現(xiàn)問題的修改,回答下列問題:
1.從對第四題1題的修改中,總結(jié)出編程時應(yīng)注意哪三個問題?
2.C++程序中所出現(xiàn)的變量是否都必須先說明才能引用?
3.使用cout和運(yùn)算符<<輸出字符串時應(yīng)注意什么問題?
4.有些變量雖然說明了但是沒有賦值,這時能否使用?
5.一個程序編譯通過了并且運(yùn)行后得到了輸出結(jié)果,這個結(jié)果是否一定是正確的?
第二本
一、選擇填空
1、在16位機(jī)中,int型字寬為()字節(jié)。
A.2;Bo4;C?6:D8
2、類型修飾符unsigned修飾()類型是錯誤的。
A.char;B.int;C.longint;Dfloat
3、下列十六進(jìn)制的整型數(shù)常數(shù)表示中,()是錯誤的。
A.Oxaf;B.OXlb;C.2fx;D.OxAE
4、下列double型常量表示中,()是錯誤的。
A.E15;B..35;C.3E5;D.3E-5
5、下列字符常量表示中,()是錯誤的。
A.4\105,;B.D.
6、下列字符串常量表示中,()是錯誤的。
A.1,\Myes\,,or\"No\'M,;BJVOKN";C.nabcd\nu;D."ABC\0”
7、下列變量名中,()是合法的。
A.CHINA;B.byte-size;C.double;D.A+a
8、在inta[5]={l,3,5};中,數(shù)組元素a⑴的值是()。
A.1;B.0;C.3;D.2
9、在一耳][3]={{1},{3,2},{4,5,6},{0}};中2[2][2]的值是().
A.0;B.5;C.6;D.2
10、下列給字符數(shù)組進(jìn)行初始化中,()是正確的。
A.charsi[]="abcd;B.chars2[3]="xyz";
C.chars3m3]={'a','x','y'};D.chars4[2[3]={"xyz","mnp"!;
11、在inta=3,*p=&a;中,*p的值是()。
A.變量a的地址值;B.無意義;C,變量p的地址值;D.3
12、對于int*pa[5];的描述,()是正確的。
A.pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素;
B.pa是一個指向某個數(shù)組中第5個元素的指針,該元素是int型變量:
C.pa[5]表示某個數(shù)組的第5個元素的值;
D.pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針;
13、下列關(guān)于指針的運(yùn)算中,()是非法的。
A.兩個指針在一定條件下,可以進(jìn)行相等或不等的運(yùn)算;
B.可以用一個空指針賦值給某個指針;
C.一個指針可以加上兩個整數(shù)之差;
D.兩個指針在一定條件下,可以相加。
14、指針可以用來表示數(shù)組元素,下列表示中()是錯誤的。
已知:inta[3]⑺;
A.*(a+l)[5];B.*(*a+3);C.*(*(a+l));D.*(&a[0][0]+2)
15、下列表示引用的方法中,()是正確的。
已知:intm=10;
A.int&x=m;B.int&y=10;C.int&z;D.float&t=&m
16、下列各運(yùn)算符中,()可以作用于浮點(diǎn)數(shù)。
A.++;B.%;C.?;D.&
17、下列各運(yùn)算符中,()不能作用于浮點(diǎn)數(shù)。
A./;B.&&;C.!;D.~
18、下列各運(yùn)算符中,()優(yōu)先級最高。
A.+(雙目);B.*(單目);C.<=;D.*=
19、下列各運(yùn)算符中,()優(yōu)先級最低。
A.?:;B.I;C.II;D.!=
20、下列各運(yùn)算符中,()結(jié)合性從左到右。
A.三目;B.賦值;C.比較;D.單目
21、下列表達(dá)式中,()是非法的。
已知:inta=5;floatb=5.5;
A.a%3+b;B.b*b&&++a;C.(a>b)+(int(b)%2);D.--a+b
22、下列表達(dá)式中,()是合法的。
已知:doublem=3.2;intn=3;
A.m?2;B.(m+n)lnC.!m*=n;D.m=5,n=3.l,m+n
23、下列關(guān)于類型轉(zhuǎn)換的描述中,()是錯誤的。
A.在不同類型操作數(shù)組成的表達(dá)式中,其表達(dá)式類型一定是最高類型double型;
B.逗號表達(dá)式的類型是最后一個表達(dá)式的類型;
C.賦值表達(dá)式的類型是左值的類型;
D.在由底向高的類型轉(zhuǎn)換中是保值映射。
24、下列各表達(dá)式中,()有二義性。
已知:inta(5);b(6);
A.a+b?3;B.++a+b++;C.b+(a=3);D.(a=3)-a++
二、判斷下列描述是否正確,對者劃J,錯者劃X。
1、任何字符常量與一個任意大小的整型數(shù)進(jìn)行加減都是有意義的。X
2、轉(zhuǎn)義序列表示法只能表示字符不能表示數(shù)字。V
3、在命名標(biāo)識符中,大小寫字母是不加區(qū)別的。X
4、C++的程序中,對變量一定要先說明再使用,說明只要在使用之前就可以。V
5、C++中數(shù)組元素的下標(biāo)是從0開始,數(shù)組元素是連續(xù)存儲在內(nèi)存單元中的。V
6、數(shù)組賦初值時,初始值表中的數(shù)據(jù)項(xiàng)的數(shù)目可以大于或等于數(shù)組元素的個數(shù)。X
7、枚舉變量的取值受到該枚舉變量所對應(yīng)的枚舉表中的枚舉符的局限。V
8、指針是用來存放某種變量的地址值的變量。這種變量的地址值也可以存放在某個變量
中,存放某個指針的地址值的變量稱為指向指針的指針,即二級指針。V
9、引用是用來給某個變量以別名的變量。,對引用的操作,實(shí)質(zhì)上就是對被引用的變量的
操作。V
10、運(yùn)算符的優(yōu)先級和結(jié)合性可以確定表達(dá)式的計(jì)算順序。V
11、在說明語句中,的值和的值是相等的。V
12、已知:表達(dá)式具有兩用性。X
13、移位運(yùn)算符在移位操作中,無論左移還是右移,所移出的空位一律補(bǔ)0;X
14、某個變量的類型高是指該變量被存放在內(nèi)存中的高地址處。X
15、隱含的類型轉(zhuǎn)換都是保值映射,顯式的類型轉(zhuǎn)換都是非保值映射。X
16、類型定義是用來定義一些C++中所沒有的新的類型。X
三、計(jì)算下列各表達(dá)式的值
(下列各表達(dá)式是相互獨(dú)立的,不考慮前面對后面的影響。)
1、已知:unsignedintx=015,y=0x2b;
A.xly;B.xAy;C.x&y;D.~x+~y;E.x?=3;F.y?=4.
ABCDEF
4738942949672381042
2、已知:inti(10).j(5);
A.++i-j-;B.i=i*=j;C.i=3/2*(j=3-2);D.~iAj;E.i&jll;F.i+i&Oxff.
ABCDEF
6501-16120
3、已知:inta(5),b(3);計(jì)算下列表達(dá)式得值以及a和b的值。
A.!a&&b++;B.allb+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.
ABcDEF
0531,5,33,1315,10,48,8,31,53
4、已知I:intd(5),*pd=&d,&rd=d;
A.d+-rd;B.*pd*rd;C.++*pd-rd;D.++rd-d.
ABCD
02500
5、已知:」'的ASCH碼的值為49。
A.3+2?l+l;B.2*9I3?1;C.5%-3*2/6-3;D.8==3<=2&5;
E.!('3'>'5')II2<6;F.6>=3+2-C0J-7).
ABCDEF
2022-3011
四、按下列要求編寫程序
1.從鍵盤上輸入兩個int型數(shù),比較其大小,并輸出顯示其中小的。
2.從鍵盤上輸入一個int型數(shù),一個浮點(diǎn)型數(shù)比較其大小,并輸出其中大的。
3.輸入一攝氏溫度,編程輸出華氏溫度。已知:華氏溫度轉(zhuǎn)換為攝氏溫度的計(jì)算公式如下:
C=(F?32)*5/9
其中,F(xiàn)表示華氏溫度,C表示攝氏溫度。
#include<iostream.h>
voidmain()
{
floatc,f;
coutvv”華氏溫度:”;cin?f;
c=(f-32)*5/9;
coiitvv”攝氏溫度:"vvcvvendl;
}
4.編程實(shí)現(xiàn)輸入公里數(shù),輸出顯示其英里數(shù)。已知:1英里=1.60934公里(用符號常量)。
#include<iostream.h>
constfloatr=1.60934;
voidmain()
(
floatmJ;
coutv<”公里數(shù):”;
cin?m;
I=r*m;
coutvv"英里數(shù):"vvkvendl;
5.輸入一個int型數(shù),將它的低4位(右4位)都置為1。
#include<iostream.h>
voidmain()
(
intn,m;
coutv<”輸入一個整數(shù):”;
cin?n;
m=nll5;
coutvv”結(jié)果為:,5?m?endl;
第三才習(xí)殿
一、選擇填空
1.預(yù)處理命令在程序中都是以()開頭的。
A.*;B.#;C.:;D./;
2.文件包含命令中被包含的文件的擴(kuò)轉(zhuǎn)名()。
A.必須為.h;B.不能用.h;C.必須是.c;D.不定是.h;
3.下列條件編譯命令中
#if()
〈語句序列1>
#else
〈語句序列2>
#endif
A.整常量表達(dá)式;B.任何標(biāo)識符;C.任意表達(dá)式;D.被定義的宏名;
4.帶參數(shù)的宏定義中,程序中引用宏定義的實(shí)參()。
A.只能是常量;B.只能是整型量;C.只能是整形表達(dá)式;D.可以是任意表達(dá)式;
5.下列()是語句
A.;;B.a=17;C.x+y;D.cout?''\n";
6.下列for循環(huán)的次數(shù)為()?
for(inti(0),x=0;!x&&i<=5;i++)
A.5;B.6;C.1;D.無限;
7.下列while循環(huán)的次數(shù)是()。
while(inti=0)i-
A.0;B.l;C.5;D.無限;
8.下列do-while循環(huán)的循環(huán)次數(shù)為()o
已知:inti(5);
do{cout?i--?endl;
}while(i!=O);
A.O;B.l;C.5;D.無限;
9.下列for循環(huán)的循環(huán)體執(zhí)行次數(shù)為()o
for(inti(0),j(10);i=j=10;i++,j--)
A.O;B.l;C.10;D.無限;
10.已知:inta,b;下列switch語句中,()是正確的。
A.switch(a);
{casea:a++;break;
caseb:b++;break;
)
B.switch(a+b)
{casel:a+b;break;
case2:a-b
}l
C.switch(a*a)
{casel,2:++a;
case3,4:++b;
)
D.switch(a/10+b)
{case5:a/5;break
default: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語句可以同時轉(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子句后面的表達(dá)式可以是整形表達(dá)式。
15.下列關(guān)于條件語句的描述中,()是錯誤的。
A.if語句中只有一個else子句;
B.if語句中可以有多個elseif子句;
C.if語句中if體內(nèi)不能是開關(guān)語句;
D.if語句中的if體中可以是循環(huán)語句。
二、判斷下列描述是否正確,對者劃J,錯者劃X。
1.預(yù)處理命令是在進(jìn)行編譯時首先執(zhí)行的,然后再進(jìn)行正常編譯。V
2.宏定義命令是以分號結(jié)束的。X
3.帶參數(shù)的宏定義只能有1至2個參數(shù)。X
4.文件包含命令所包含的文件是不受限制的。X
5.條件編譯命令只在編譯時才有作用。V
6.預(yù)處理命令的主要作用是提高效率的。X
7.復(fù)合語句就是分程序。X
8.條件語句不能作為多路分支語句。X
9.開關(guān)語句不可以嵌套,在開關(guān)語句的語句序列中不能再有開關(guān)語句X
10.開關(guān)語句中的default關(guān)鍵字,只能放在該語句的末尾,不能放在開頭或中間。X
11.Switch語句中必須有break語句否則無法退出switch語句。X
12.While循環(huán)語句的循環(huán)體至少執(zhí)行一次。X
13.Do-while循環(huán)可以寫成while循環(huán)的格式。V
14.For循環(huán)是只有可以確定的循環(huán)次數(shù)時才可使用,否則不能用for循環(huán)。X
15.只有for循環(huán)的循環(huán)體可以是空語句,其他種循環(huán)的循環(huán)體不能用空語句。X
16.當(dāng)循環(huán)體為空語句時,將說明該循環(huán)不作任何工作,只起延時作用。X
17.循環(huán)是可以嵌套的,?個循環(huán)體內(nèi)可以包含另一種循環(huán)語句。V
18.在多重循環(huán)中,內(nèi)重循環(huán)的循環(huán)變量應(yīng)用的次數(shù)比外重的多。V
19.Break語句可以出現(xiàn)在各種循環(huán)體中。V
20.continue語句只能出現(xiàn)在循環(huán)體中。V
#include<iostream.h>
#defineM1.5
#defineA(a)M*a
voidmain()
{
intx(5),y(6);
cout?A(x+y)?endl;
)
13.5
#include<iostream.h>
#defineMAX(a,b)(a)>(b)?(a):(b)
voidmain()
intm(l),n(2),p(0),q;
q=MAX(n,n+p)*l0;
cout?q?endl;
)
20
3.
#include<iostream.h>
#include"fl.cpp”
voidmain()
(
inta(5),b;
b=fl(a);
cout?b?endl;
)
fl.cpp文件內(nèi)容如下:
#defineM(m)m*m
fl(intx)
{
inta(3);
return-M(x+a);
)
13
4.
#include<iostream.h>
voidmain()
(
inti(0);
while(++i)
(
if(i==10)break;
if(i%3!=l)continue;
cout?i?endl;
4
7
5.
#include<iostream.h>
voidmain()
(
inti(l);
do{
i++;
cout?++i?endl;
if(i==7)break;
}while(i==3);
coutvv”O(jiān)k!\n”;
Ok!
6.
#include<iostream.h>
voidmain()
(
inti(l),j(2),k(3),a(10);
if(!i)
a--;
elseif(j)
if(k)a=5;
else
a=6;
a++;
cout?a?endl;
if(i<j)
if(i!=3)
if(!k)
a=l;
elseif(k)
a=5;
a+=2;
cout?a?endl;
)
6
7
7.
#include<iostream.h>
voidmain()
{
inti,j,a[8][8];
**a=l;
for(i=l;i<8;i++)
{
**(a+i)=l;
*(*(a+i)+i)=l;
for(j=l;j<i;j++)
*(*(a+i)+j)=*(*(a+i-l)+j-l)+*(*(a+i-l)+j);
)
for(i=0;i<8;i++)
for(j=0;j<=i;j++)
cout?,,n?*(*(a4-i)+j);
cout?endl;
)
)
7.1
11
121
1331
14641
15101051
1615201561
8.
#include<iostream.h>
voidmain()
(
intx(5);
do{
switch(x%2)
(
casel:x-
break;
case0:x++;
break;
)
x--;
cout?x?endl;
}while(x>0);
)
8.3
1
1
9.
#include<iostream.h>
voidmain()
(
inta(5),b(6),i(0),j(0);
switch(a)
(
case5:switch(b)
case5:i++;break;
case6:j++;break;
default:i++;j++;
)
case6:i++;
j++;
break;
default:i++;j++;
)
cout?i?endl;
)
1,2
10.
#include<iostream.h>
charinput[]=MSSSWILTECHl\l\lIWMWALLMPr";
voidmain()
(
inti;
charc;
for(i=2;(c=input[i])!='\0';i++)
(
switch(c)
(
case'a,:cout?,i';
continue;
case'1'break;
case1:while((c=input|++i])!=M,&&c!=,\0,);
case9:cout?c;
case'E’:
case'L'icontinue;
default:cout?c;continue;
)
cout?'
)
cout?endl;
)
SWITCH?WAMP
四、按下列要求編程,并上機(jī)調(diào)試。
1.求100之內(nèi)的自然數(shù)中奇數(shù)之和。
2.求100之內(nèi)的自然數(shù)中被13整除的最大數(shù)。
3.求輸入兩個正整數(shù)的最大公約數(shù)和最小公倍數(shù)。
4.求下列分?jǐn)?shù)序列的前15項(xiàng)之和。
2/1,3/2,5/3,8/5,13/8,21/13,...
5.求Ei!(i=l,.…10)(即求1!+2!+3!+4!+5!+6!+7!+8!+9!+10!之和)
6.求出1?1000之間的完全平方數(shù)。所謂完全平方數(shù)是指能夠表示成為另一個證書的平方的
整數(shù)。要求每行輸出8個數(shù)。
7.輸入4個int型數(shù),按其大小順序輸出。
8.有一函數(shù)如下所示:
、(X<1)
Y=<x+5
(lWx<10)
jX-5(x>10)
已知x值時,輸出y值。
9.求一元二次方程ax2+bx+c=0的解。
討論下述情況:
(1)b2-4ac=0,有兩個相等實(shí)根;
(2)b'4ac>0,有兩個不等實(shí)根;
(3)b2-4ac<0,有兩個共腕復(fù)根;
(4)a=0,不是二次方程。
10.編程輸出如下圖案。
*
*****
*******
********
*****
*****
***
*
第四本融M
一、選擇填空
i.當(dāng)一個函數(shù)無返回值時,定義它時函數(shù)的類型應(yīng)是()
A.void;B.任意;C.int;D.無;
2.在函數(shù)說明忖,下列()項(xiàng)是不必要的。
A.函數(shù)的類型;B.函數(shù)參數(shù)類型和名次;C.函數(shù)名字;D.返回值表達(dá)式;
3.在函數(shù)的返回值類型與返回值表達(dá)式的類型的描述中,()是錯誤的。
A.函數(shù)的返回值的類型是定義函數(shù)時確定的;
B.函數(shù)的返回值的類型就是返回值表達(dá)式的類型;
C.函數(shù)的返回值表達(dá)式的類型與函數(shù)返回值類型不同時,表達(dá)示類型應(yīng)轉(zhuǎn)換成函數(shù)返回
值類型;
D.函數(shù)的返回值類型決定了返回值表達(dá)式的類型。
4.在一個被調(diào)用函數(shù)中,關(guān)于return語句使用的描述,()是錯誤的。
A.被調(diào)用函數(shù)中可以不用return語句;
B.被調(diào)用函數(shù)中可以使用多個return語句;
C.被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句;
D.被調(diào)用函數(shù)中,?個return語句可返回多個值給調(diào)用函數(shù)。
5.下列()是引用調(diào)用
A.形參是指針,實(shí)參是地址值;
B.形參和實(shí)參都是變量;
C.形參是數(shù)組名,實(shí)參是數(shù)組名;
D.形參是引用,實(shí)參是變量。
6.在傳值調(diào)用中,要求()。
A.形參和實(shí)參類型任意,個數(shù)相等;
B.形參和實(shí)參類型都完全一致,個數(shù)相等;
C.形參和實(shí)參對應(yīng)的類型一致,個數(shù)相等;
D.形參和實(shí)參對應(yīng)的類型一致,個數(shù)任意。
7.在C++中,關(guān)于下列設(shè)置參數(shù)默認(rèn)的描述中,()是正確的。
A.不允許設(shè)置參數(shù)的默認(rèn)值;
B.設(shè)置參數(shù)默認(rèn)值只能在定義函數(shù)時設(shè)置;
C.設(shè)置參數(shù)默認(rèn)值時,應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的;
D.設(shè)置參數(shù)默認(rèn)值時,應(yīng)該全部參數(shù)都設(shè)置;
8.重載函數(shù)在調(diào)用時選擇的依據(jù)中,()是錯誤的。
A.參數(shù)個數(shù);B.參數(shù)的類型;C.函數(shù)名字;D.函數(shù)的類型;
9.下列的標(biāo)識符中,()是文件級作用域的。
A.函數(shù)形參;B.語句標(biāo)號;C.外部靜態(tài)類標(biāo)識符;D.自動類標(biāo)識符.
10.有一個int型變量,在程序中使用頻度很高,最好定義為()。
A.register;B.auto;C.extern;D.static;
11.下列標(biāo)識符中,()不是局部變量。
A.register類;B.外部static類;C.auto類;D.函數(shù)形參;
12.下列存儲類標(biāo)識符中,()的可見性與存在性不一值。
A.外部類;B.自動類;C.內(nèi)部靜態(tài)類;D.寄存器類。
13.下列存儲類標(biāo)識符中,要求通過函數(shù)來實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,
選用()合適。
A.內(nèi)聯(lián)函數(shù);B.重載函數(shù);C.遞歸調(diào)用;D.嵌套調(diào)用。
14.采用函數(shù)重載的目的在于()。
A.實(shí)現(xiàn)共享;B.減少空間;C.提高速度;D.使用方便,提高可讀性。
15.在將兩個字符串連接起來組成一個字符串時,選用()函數(shù)。
B.A.strlen();B.strcpy();C,strcat();D.strcmp.
二、判斷下列描述的正確性,對者劃錯者劃X。
1.在C++中,定義函數(shù)時必須給出函數(shù)的類型J
2.在C++中,說明函數(shù)時要用函數(shù)原型,即定義函數(shù)時的函數(shù)頭部分。V
3.在C++中,所有函數(shù)在調(diào)用前都要說明。X
4.如果一個函數(shù)沒有返回值,定義時需用void說明。V
5.在C++中,傳址調(diào)用將被引用調(diào)用所代替。X
6.使用內(nèi)聯(lián)函數(shù)是以犧牲增大空間開銷為代價的。V
7.返回值類型、參數(shù)個數(shù)和類型都相同的函數(shù)也可以重載。X
8.在設(shè)置了參數(shù)默認(rèn)值后,調(diào)用函數(shù)的對應(yīng)實(shí)參就必須省略。X
9.計(jì)算函數(shù)參數(shù)順序引起的二義性完全是由不同的編譯系統(tǒng)決定的。J
10.For循環(huán)中,循環(huán)變量的作用域是該循環(huán)的循環(huán)體內(nèi)。J
11.語句標(biāo)號的作用域是定義該語句標(biāo)號的文件內(nèi)。X
12.函數(shù)形參的作用域是該函數(shù)的函數(shù)體。V
13.定義外部變量時,不用存儲類說明符extern,而說明外部變量時用它。V
14.內(nèi)部靜態(tài)類變量與自動類變量作用域相同,但是生存期不同。。
15.靜態(tài)生存期的標(biāo)識符的壽命是短的,而動態(tài)生存期的標(biāo)識符的壽命是長的。X
16.重新定義的標(biāo)識符在定義它的區(qū)域內(nèi)是可見的,而與其同名的原標(biāo)識符在此區(qū)域內(nèi)是不
可見的。但是,它是存在的。V
17.靜態(tài)類標(biāo)識符在它的作用域之外是不存在的。X
18.所有的函數(shù)在定義它的程序中都是可見的。X
19.編譯系統(tǒng)所提供的系統(tǒng)函數(shù)都被定義在他所對應(yīng)的頭文件中。J
20.調(diào)用系統(tǒng)函數(shù)時,要先將該系統(tǒng)函數(shù)的原型說明所在的頭文件包含進(jìn)去。V
三、分析下列程序的輸出結(jié)果。
1,#include<iostream.h>
#defineN5
voidfun();
voidmain()
(
for(inti(l);i<N;i++)
fun();
)
voidfun()
(
staticinta;
intb(2);
cout?(a+=3,a+b)?endl;
)
1.5
8
11
14
2.#include<iostream.h>
intadd(inta,intb);
voidmain()
(
externintx,y;
cout?add(x,y)?endl;
)
intx(20),y(5);
intadd(inta,intb)
(
ints=a+b;
returns;
)
25
3.#include<iostream.h>
voidf(intj);
voidmain()
(
for(inti(l);i<=4;i++)
f(i);
)
voidf(intj)
(
staticinta(10);
intb(l);
b++;
cout?a?,,4-,,?b?,,+,,<<j?,,=,?a+b-ij?endl;
a+=10;
)
2.10+2+1=13
20+2+2=24
30+2+3=35
40+2+4=46
4.#include<iostream.h>
voidf(intn)
(
intx(5);
staticinty(10);
if(n>0)
(
++x;
++y;
cout?x?,,,,,?y?endl;
)
)
voidmain()
(
intm(l);
f(m);
)
6,11
5.#include<iostream.h>
intfac(inta);
voidmain()
{
ints(0);
for(inti⑴;i<=5;i++)
s+=fac(i);
coutv<”5!+4!+3!+2!+1!=,,?s?endl;
intfac(inta)
(
staticintb=l;
b*=a;
returnb;
)
5!+4!+3!+2!+l!=153
6.#include<iostream.h>
voidfun(int,int,int*);
voidmain()
(
intx,y,z;
fun(5,6,&x);
fun(7,x,&y);
fun(x,y,&z);
cout<<x?,\,,?y?,,,,,?z?endl;
)
voidfun(inta,intbjnt*c)
(
b+=a;
*c=b-a;
)
6,6,6
7.#include<iostream.h>
intadd(intx,inty=8);
voidmain()
(
inta(5);
couK^^uml=,,?add(a)?endl;
cout?,,sum2=,,?add(a,add(a))?endl;
cout?,,sum3=,,?add(a,add(a,add(a)))<<endl;
}
intadd(intx,inty)
{
returnx+y;
)
suml=13
sum2=18
sum3=23
8.#include<iostream.h>
#defineN6
intfl(inta);
voidmain()
inta(N);
cout?f1(a)?endl;
)
intfl(inta)
(
return(a==0)?l:a*fl(a-l);
)
720
9.#include<iostream.h>
voidswap(int&jnt&);
voidmain()
(
inta(5),b(8);
cout?,,a=,,?a?,,,tt?,,b=,,?b<<endl;
swap(a,b);
cout?,,a=,?a?,,,tt?,,b=,,?b<<endl;
)
voidswap(int&x,int&y)
(
inttemp;
temp=x;
x=y;
y=temp;
)
a=5,b=8
a=8,b=5
10.#include<iostream.h>
int&fl(intn,ints[])
(
int&m=s[n];
returnm;
}
voidmain()
{
ints[]={5,4,3,2,l,0);
fl(3,s)=10;
cout?fl(3,s)?endl;
)
10
11.#include<iostream.h>
voidprint(int),print(char),print(char*);
voidmain()
intu(1998);
print(U);
print(u);
print("abcd”);
)
voidprint(charx)
(
cout?x?endl;
)
voidprint(char*x)
(
cout?x?endl;
)
voidprint(intx)
{
cout?x?endl;
)
u
1998
abed
12.#include<iostream.h>
voidff(int),ff(double);
voidmain()
(
floata(88.18);
ff(a);
charb('a');
ff(b);
)
voidff(intx)
(
cout?,,ff(int):,,?x?endl;
}
voidff(doublex)
(
cout?,,ff(double):,,?x?endl;
}
ff(double):88.18
ff(int):97
四、按下列要求編程,并上機(jī)驗(yàn)證。
1.從鍵盤上輸入15浮點(diǎn)數(shù),求出其和幾平均值。要求寫出求和平均值的函數(shù)。
2.從鍵盤上輸入10個int型數(shù),去掉重復(fù)的。降其剩余的由大到小排序輸出。
3.給定某個年、月、日的值,例如,1998年4月7日。計(jì)算出這一天是該年的第幾天。要求寫
出計(jì)算潤年的函數(shù)和計(jì)算日期的函數(shù)。
4.寫出一個函數(shù),使從鍵盤上輸入的一個字符串反序存放,并在主函數(shù)中輸入和輸出該字符串。
5.寫出一個函數(shù),要求將輸入的十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)。要求函數(shù)調(diào)用時,使用指針作函
數(shù)形參。
6.編寫兩個函數(shù):一個是將一個5位int型數(shù)轉(zhuǎn)換成為每兩個數(shù)字間加一個空格的空字符串;
另一個是求出轉(zhuǎn)換后的字符串的長度。由主函數(shù)輸入int型數(shù),并輸出轉(zhuǎn)換后的字符串和長
度。
7.輸入5個學(xué)生4門功課的成績,然后求出:
A.每個學(xué)生的總分;B.每門課程的平均分;C.輸出總分最高的學(xué)生的姓名和總分?jǐn)?shù)。
8.使用遞歸調(diào)用方法將一個n位整數(shù)轉(zhuǎn)換成字符串。
9.使用函數(shù)重載的方法定義兩個重名函數(shù),分別求出int型數(shù)的兩個點(diǎn)間距離和浮點(diǎn)數(shù)的兩點(diǎn)間
距離。
10.已知二維字符數(shù)組s[][5]={“abcd”,“efgh","ijkT,"mnop”};使用字符串處理函數(shù),將該數(shù)組的4
個字符串連接起來,組成一個字符串:abcdefghijklmnopo
11.編程求下式的值:n1+n2+n3+n4+...+n10,其中n=l,2,3。編寫函數(shù)時,設(shè)置參數(shù)n的默認(rèn)值
為2。
12.編一個程序驗(yàn)證哥德巴赫猜想:任何一個充分大的偶數(shù)(大于等于6)總可以表示成兩個
素?cái)?shù)之和。要求編一個求素?cái)?shù)prime。函數(shù),它有一個int型參數(shù),當(dāng)參數(shù)值為素?cái)?shù)時返回
1,否則返回0。
第3木
一、選擇填空
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,作用域運(yùn)算符的功能是()。
A.標(biāo)識作用域的級別的;B.指出作用域的范圍的;
C.給定作用域的大小的;D.標(biāo)識某個成員是屬于哪個類的。
4.()是不可能作為該類的成員的。
A.自身類對象的指針;B.自身類的對象;
C.自身類對象的引用;D.另一個類的對象。
5.()不是構(gòu)造函數(shù)的特征
A.構(gòu)造函數(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ù)成員時前邊要加修飾符static;
A.靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化;
B.引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加〈類名〉和作用域運(yùn)算符;
C.靜態(tài)數(shù)據(jù)成員不是所有對象所共用的。
10.友元的作用()。
A.提高程序的運(yùn)用效率;
B.加強(qiáng)類的封裝性;
C.實(shí)現(xiàn)數(shù)據(jù)的隱藏性;
D.增加成員函數(shù)的種類。
二、判斷下列描述的正確性,對者劃錯者劃X。
1.使用關(guān)鍵字class定義的類中缺省的訪問權(quán)限是私有(private)的。J
2.作用域運(yùn)算符(::)只能用來限定成員函數(shù)所屬的類。V
3.析構(gòu)函數(shù)是一種函數(shù)體為空的成員函數(shù)。X
4.構(gòu)造函數(shù)和析構(gòu)函數(shù)都不能重載。X
5.說明或定義對象時?,類名前面不需要加class關(guān)鍵字。V
6.對象成員的表示與結(jié)構(gòu)變量成員表示相同,使用運(yùn)算符.或V
7.所謂私有成員是指只有類中所提供的成員函數(shù)才能直接使用它們,任何類外的函數(shù)對它們的訪
間都是非法的。X
8.某類中的友元類的所有成員函數(shù)可以存取或修改該類中的私有成員。V
9.可以在類的構(gòu)造函數(shù)中對靜態(tài)數(shù)據(jù)成員進(jìn)行初始化。X
10.如果一個成員函數(shù)只存取一個類的靜態(tài)數(shù)據(jù)成員,則可將該成員函數(shù)說明為靜態(tài)成員函數(shù)。
三、分析下列程序的輸出結(jié)果。
1.
#include<iostream.h>
classA{
public:
A();
A(inti,intj);
voidprint();
private:
inta,b;
);
A::A()
a=b=O;
coutvv''Defaultconstructorcalled.\n^^;
)
A::A(inti,intj)
{
a=i;
b=j;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能養(yǎng)殖雞舍租賃經(jīng)營合同
- 2025年花崗巖地磚項(xiàng)目可行性研究報(bào)告
- 2025年度個人經(jīng)營貸款合同范本
- 2025年度城市軌道交通環(huán)境職業(yè)健康安全生產(chǎn)監(jiān)管服務(wù)協(xié)議
- 2025年度數(shù)據(jù)中心制冷系統(tǒng)機(jī)電安裝勞務(wù)合同
- 2025年度教育軟件開發(fā)與技術(shù)咨詢合同范本
- 2025年度智慧城市建設(shè)過橋資金合同
- 2025年度鋼琴演奏家經(jīng)紀(jì)代理服務(wù)合同
- 2025年度清潔能源項(xiàng)目投資合作協(xié)議書
- 2025年度化妝行業(yè)人才招聘與派遣合同范本
- 2024年臨床醫(yī)師定期考核試題中醫(yī)知識題庫及答案(共330題) (二)
- 2025-2030年中國反滲透膜行業(yè)市場發(fā)展趨勢展望與投資策略分析報(bào)告
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級上學(xué)期期末質(zhì)量檢測道德與法治試題 (含答案)
- 2025年山東省濟(jì)寧高新區(qū)管委會“優(yōu)才”招聘20人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國社會科學(xué)評價研究院第一批專業(yè)技術(shù)人員招聘2人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- (2024年高考真題)2024年普通高等學(xué)校招生全國統(tǒng)一考試數(shù)學(xué)試卷-新課標(biāo)Ⅰ卷(含部分解析)
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
- 奧太焊機(jī)維修教材MZ系列
- 化工裝置實(shí)用操作技術(shù)指南講解
- 春季高考英語《大綱短語》(218個核心詞匯相關(guān)短語)
- 護(hù)理文書書寫規(guī)范ppt課件
評論
0/150
提交評論