第一章習(xí)題及其解答[1].doc_第1頁(yè)
第一章習(xí)題及其解答[1].doc_第2頁(yè)
第一章習(xí)題及其解答[1].doc_第3頁(yè)
第一章習(xí)題及其解答[1].doc_第4頁(yè)
第一章習(xí)題及其解答[1].doc_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

習(xí)題1及其解答1.1選擇題1.一個(gè)最簡(jiǎn)單的C+程序,可以只有一個(gè)( c )。(a) 庫(kù)函數(shù)(b) 自定義函數(shù)(c) main函數(shù)(d) 空函數(shù)2.用C+語(yǔ)言編制的源程序要變?yōu)槟繕?biāo)程序必須要經(jīng)過(guò)( d )。(a) 解釋(b) 匯編(c) 編輯(d) 編譯3. C+程序中的簡(jiǎn)單語(yǔ)句必須以( b )結(jié)束。(a) 冒號(hào)(b) 分號(hào)(c) 空格(d)花括號(hào)4.有說(shuō)明 int a=0; double x=5.16; 以下語(yǔ)句中,( c )屬于編譯錯(cuò)誤。(a) x=a/x;(b) x=x/a;(c) a=a%x;(d) x=x*a;5. 執(zhí)行C+程序時(shí)出現(xiàn)的“溢出”錯(cuò)誤屬于( c )錯(cuò)誤。(a) 編譯 (b) 連接 (c) 運(yùn)行 (d) 邏輯6.下列選項(xiàng)中,全部都是C+關(guān)鍵字的選項(xiàng)為( c )。(a) while IF Static(b) break char go(c) sizeof case extern(d) switch float integer7. 按C+標(biāo)識(shí)符的語(yǔ)法規(guī)定,合法的標(biāo)識(shí)符是( a )。(a) _abc(b) new(c) (d) “age“8C+語(yǔ)句中,兩個(gè)標(biāo)識(shí)符之間( a )不能作為C+的分隔符。(a) 數(shù)字(b) ;(c) :(d) +9下列正確的八進(jìn)制整型常量表示是( b )。(a) 0a0(b) 015(c) 080(d) 0x1010下列錯(cuò)誤的十六進(jìn)制整型常量表示是( c )。(a) 0x11(b) 0xaf(c) 0xg(d) 0x1f11 在下列選項(xiàng)中,全部都合法的浮點(diǎn)型數(shù)據(jù)的選項(xiàng)為( b )。(a) -1e3.5 15. 2e-4(b) 12.34 -1e+5 0.1E-12(c) 0.2e-2 -12345. e-5(d) 5.0e(1+4) 0.1 8e+212下列正確的字符常量為( d )。(a) “a”(b) name(c) a(d) 10113下列選項(xiàng)中,( d )不能交換變量a和b的值。(a) t=b; b=a; a=t;(b) a=a+b; b=a-b; a=ab;(c) t=a; a=b; b=t;(d) a=b; b=a; 14關(guān)于下列語(yǔ)句敘述錯(cuò)誤的是( a )。int i=10, *p=&i;(a) p的值為10(b) p指向整型變量i(c) *p表示變量i的值(d) p的值是變量i的地址15有以下變量說(shuō)明,下面不正確的賦值語(yǔ)句是( b )。int a=5, b=10, c; int *p1 = &a, *p2 = &b; (a) *p2 = b ;(b) p1 = a ;(c) p2 = p1 ;(d) c = *p1 *( *p2 ) ;16有以下變量說(shuō)明,下面正確的語(yǔ)句是( b )。 int a=10, b; int &pa=a, &pb=b; (a) &pb = a;(b) pb = pa;(c) pb = &pa;(d) *pb = *pa;17執(zhí)行下面語(yǔ)句序列后,a和b的值分別為( b )。int a = 5 , b = 3 , t ;int &ra = a ;int &rb = b ;t = ra ; ra = rb ; rb = t ;(a) 3和3(b) 3和5(c) 5和3(d) 5和518. 在下列運(yùn)算符中,( d )優(yōu)先級(jí)最高。(a) =(b) *=(c) +(d) *19.在下列運(yùn)算符中,( d )優(yōu)先級(jí)最低。(a) ! (b) &(c) !=(d) ? :20設(shè) int i=1, j=2; 則表達(dá)式 i+j 的值為( c )。(a) 1(b) 2(c) 3(d) 421設(shè) int i=1, j=2; 則表達(dá)式 +i+j 的值為( d )。(a) 1(b) 2(c) 3(d) 422在下列表達(dá)式選項(xiàng)中,( c )是正確。(a) +(a+)(b) a+b(c) a+b(d) a+b23已知 int i=0, j=1, k=2; 則邏輯表達(dá)式 +i|-j&+k 的值為( b )。(a) 0(b) 1(c) 2(d) 324. 執(zhí)行下列語(yǔ)句后,x的值是( d ),y的值是( c )。 int x, y ; x = y = 1; + x | + y ;(a) 不確定(b) 0(c) 1(d) 225.設(shè)x為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系 1x5 的C+邏輯表達(dá)式是( a )。(a) 1 x 5(b) x=2|x=3|x=4(c) 1x & x5(d) !(x=5)26. 已知 int x=5; 執(zhí)行下列語(yǔ)句后,x的值為( c )。x += x -= x * x; (a) 25(b) 40(c) 40(d) 2027. 設(shè) int a=1, b=2, c=3, d=4; 則以下條件表達(dá)式的值為( a )。a b ? a : c d ? c : d(a) 1(b) 2(c) 3(d) 428. 以下逗號(hào)表達(dá)式的值為( d )。( x = 4 * 5, x * 5 ), x + 25 (a) 25(b) 20(c) 100(d) 451.2把下列數(shù)學(xué)表達(dá)式寫(xiě)成c+算術(shù)表達(dá)式1 2. xxx(ax+b)+c+d+e3. ln(1+|10) 4.5. cot 6. lg(a2+ab+b2) 【解答】1. 1/(1 + 1/(1 + 1/(x + y)2. x * ( x * ( x * ( a * x + b ) + c ) + d ) + e3. log( 1 + pow( fabs( ( a + b )/( a b ) ),10)4. sqrt( 1 + 3.14159/2 * cos( 48 * 3.14159/180 ) )5. 1/tan( ( 1 - x*x )/( 1 + x*x)或者 cos( ( 1 - x*x )/( 1 + x*x ) )/sin( ( 1 - x*x )/( 1 + x*x ) )6. log10( a * a + a * b + b * b )1.3 用邏輯表達(dá)式表示下列條件1. i 被j整除2. n是小于正整數(shù)k的偶數(shù)3. 1x104. x,y其中有一個(gè)小于z5. y 100,10,并且 y 10,1006. 坐標(biāo)點(diǎn)(x, y)落在以(10, 20)為圓心,以35為半徑的圓內(nèi)7. 三條邊a,b和c構(gòu)成三角形8. 年份Year能被4整除,但不能被100整除或者能被400整除【解答】1. i%j = 02.(nk)&(n%2 = 0)3. 1=x & x10 4. xz|y=-100 & y=10 & y=100 )6. sqrt(pow(x-10),2) + pow(y-20),2)c & b+ca & c+ab8. (year%4 = 0) & (year%100!=0)|(year%400=0)1.4 閱讀下列程序,寫(xiě)出執(zhí)行結(jié)果1#include using namespace std;int main() int a = 1, b = 2; bool x, y; cout (a+)+(+b) endl; cout a % b b; y = a- & b; cout x endl; cout y endl;【解答】42012#include using namespace std;int main() int x,y,z,f; x = y = z = 1; f = -x | y- & z+; cout x = x endl; cout y = y endl; cout z = z endl; cout f = f endl;【解答】 x=0 y=0 z=2 f=13#include #includeusing namespace std;int main() int a=123; int &ra=a; int *pa=&a; coutsetw(5)decasetw(5)octrasetw(5)hex*paendl;【解答】 123 173 7b1.5 思考題1什么叫數(shù)據(jù)類型?變量的類型定義有什么作用?【解答】數(shù)據(jù)“類型”是對(duì)數(shù)據(jù)的抽象。類型相同的數(shù)據(jù)有相同的表示形式、存儲(chǔ)格式以及相關(guān)的操作。定義一個(gè)變量時(shí),計(jì)算機(jī)根據(jù)變量的類型分配存儲(chǔ)空間,并以該類型解釋存放的數(shù)據(jù)。2普通數(shù)據(jù)類型變量和指針類型變量的定義、存儲(chǔ)、使用方式上有何區(qū)別?請(qǐng)編寫(xiě)一個(gè)程序驗(yàn)證之。【解答】變量類型定義存儲(chǔ)使用方式數(shù)據(jù)類型 標(biāo)識(shí)符數(shù)據(jù)值通過(guò)名訪問(wèn)即直接訪問(wèn)對(duì)變量?jī)?nèi)容操作指針類型 * 標(biāo)識(shí)符地址值通過(guò)指針變量的地址值間址訪問(wèn)對(duì)象驗(yàn)證程序:#includeusing namespace std;int main() int a,b,c; coutabc;/對(duì)普通數(shù)據(jù)類型變量賦值 int *pa=&a,*pb=&b,*pc=&c;/用變量地址值初始化指針變量 couta,b,c= a, b, cendl;/名訪問(wèn),輸出a,b,c的值 coutpa,pb,pc= pa, pb, pcendl; /輸出指針變量的地址值 /間址訪問(wèn),輸出pa,pb,pc指向的變量的賦值 cout*pa,*pb,*pc= *pa, *pb, *pcendl; 3什么叫數(shù)據(jù)對(duì)象的引用?對(duì)象的引用和對(duì)象的指針有什么區(qū)別?請(qǐng)用一個(gè)驗(yàn)證程序說(shuō)明之。【解答】引用是為數(shù)據(jù)對(duì)象定義別名。引用與指針有以下幾點(diǎn)區(qū)別:(1)引用名不是內(nèi)存變量,而指針變量要開(kāi)辟內(nèi)存空間。(2)引用名需要在變量定義與變量名綁定,并且不能重定義;指針變量可以在程序中賦給不同的地址值,改變指向。(3)程序中用變量名和引用名訪問(wèn)對(duì)象的形式和效果一樣;指針變量通過(guò)間址訪問(wèn)對(duì)象。驗(yàn)證程序:#includeusing namespace std;int main () int a; couta; int ra=a; int *pa=&a; couta的值:aendl; couta的地址:&aendl; coutra的值:raendl; coutra的地址:&raendl; coutpa所指向的變量的值:*paendl; coutpa的地址:paendl;4數(shù)據(jù)對(duì)象在C+中有什么不同的訪問(wèn)方式?請(qǐng)編寫(xiě)一個(gè)程序驗(yàn)證之?!窘獯稹繑?shù)據(jù)對(duì)象在C+中的訪問(wèn)方式有:名訪問(wèn),引用(別名)訪問(wèn),間址訪問(wèn)。驗(yàn)證程序:#includeusing namespace std;int main() int a; couta; a=a+5; /名訪問(wèn) cout&aendl;/輸出變量地址 cout*(&a)endl;/地址訪問(wèn),輸出變量值 int *pa=&a;/說(shuō)明指針變量,指向變量a cout*paendl;/間址訪問(wèn),輸出變量值 int &ra=a;/ra是a的引用 coutraa & ax(2)(a+b)!=x(3)a|(b+x)(4)a=(b*x)(5)a-bx(6)(a/x=b)7閱讀以下程序,分析下面語(yǔ)句序列中每一個(gè)字符“*”和“&”的意義,寫(xiě)出輸出結(jié)果。#include using namespace std;int main() int a=10, b=20; int *p = &a, *q = &b; *p = *p * *q; int & ra = a; ra=a; int * & rt = q; *rt = 30;couta=anb=bn*p=*pn*q=*q nra=ran*rt=*rtendl;【解答】字符“*”和“&”的意義見(jiàn)程序中添加的注釋。#include using namespace std;int main() int a=10, b=20; int *p = &a, *q = &b;/“*”是指針類型說(shuō)明符,“&”是取址運(yùn)算符 *p = *p * *q;/第1、2、4個(gè)“*”是間址訪問(wèn)符,第3個(gè)“*”算術(shù)乘運(yùn)算符 int & ra = a;/“&”是引用說(shuō)明符 ra=a; int * & rt = q;/“*”是指針類型說(shuō)明符,“&”是引用說(shuō)明符 *rt = 30;/“*”是間址訪問(wèn)符/輸出語(yǔ)句中的“*”是間址訪問(wèn)符couta=anb=bn*p=*pn*q=*q nra=ran*rt=*rtendl;程序輸出結(jié)果為:a=200b=30*p=200*q=30ra=200*rt=301.6 編程題1.輸入一個(gè)三位整數(shù),將它反向輸出?!窘獯稹?include using namespace std;int main() int x,i,j,k; cout x; i = x/100; j = x/10 %10; k = x%10;cout k j i endl;2.輸入平面上某點(diǎn)橫坐標(biāo)x和縱坐標(biāo)y,若該點(diǎn)在由圖3.1表示的方塊區(qū)域內(nèi),則輸出1;否則,輸出0。圖1.11 正方形【解答】#include using

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論