freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c第五章習(xí)題解答(已修改)

2025-01-26 20:54 本頁面
 

【正文】 18第五章 數(shù)組與指針習(xí)題第五章 數(shù)組與指針習(xí)題一、.基本概念與基礎(chǔ)知識自測題 填充題 數(shù)組定義時有三個要素:數(shù)組名,數(shù)組元素的 (1) 和數(shù)組元素的 (2) 。按元素在數(shù)組中的位置進行訪問,是通過 (3) 進行的,稱為 (4) 或 (5) 訪問。為了使數(shù)組聲明中數(shù)組的大小修改更為方便,總是將 (6) 用于聲明數(shù)組長度。答案:(1)類型(2)數(shù)量(3)下標(biāo)運算符(4)下標(biāo)(5)索引(6)常變量 C/C++中的多維數(shù)組用的是一個 (1) 的定義,即多維數(shù)組的基本定義是 (2) 構(gòu)成的數(shù)組,三維數(shù)組的元素是 (3) 。答案:(1)嵌套(2)以數(shù)組作為元素(3)二維數(shù)組 計算機內(nèi)存是一維編址的,多維數(shù)組在內(nèi)存中的存儲 (1) ,C/C++多維在內(nèi)存中的排列是 (2) 方式,即越 (3) 的下標(biāo)變化 (4) 。設(shè)數(shù)組a有m行n列,每個元素占內(nèi)存u個字節(jié),則a[i][j]的首地址為 (5) + (6) 。答案:(1)必須要轉(zhuǎn)化為一維方式, (2)按行方式(3)右(4)越快(5)a數(shù)組的首地址(6)(i*n+j)*u 對于多維數(shù)組, (1) 的大小是確定的,所謂“不檢查數(shù)組邊界”只是不檢查 (2) 的邊界,而 (3) 的邊界是在控制之中的,所以多維數(shù)組名作為函數(shù)的參數(shù)只可以 (4) 缺省。答案:(1)較低各維的(2)最高維(第一維)(3)較低各維(4)最高維 指針變量保存了另一變量的 (1)值,不可以任意給指針變量賦一個地址值,只能賦給它 (2) 和 (3) 的地址。使用變量名來訪問變量,是按 (4) 來直接存取變量稱為 (5) 方式;而借助指針變量取得另一變量的地址,訪問該變量稱為 (6) 方式。答案:(1)地址(2)NULL(3)已經(jīng)分配了內(nèi)存的變量的地址(4)按變量的地址(5)直接訪問(6)間接訪問 固定指向一個對象的指針,稱為 (1) ,即 (2) ,定義時const放在 (3) 。而指向“常量”的指針稱為 (4) ,指針本身可以指向別的對象,但 (5) ,定義時const放在 (6) 。答案:(1)指針常量(2)指針本身是常量(3)const放在類型說明之后,變量名之前(4)常量指針(5)不能通過該指針修改對象(6)const放在類型說明之前 數(shù)組名在表達式中被自動轉(zhuǎn)換為指向 (1) 的指針常量,數(shù)組名是地址,但數(shù)組名中放的地址是 (2) ,所以數(shù)組名 (3) 。這樣數(shù)組名可以由 (4) 來代替,C++這樣做使用時十分方便,但丟失了數(shù)組的另一要素 (5) ,數(shù)組名是指向數(shù)組 (6) 的指針,而不是指向數(shù)組 (7)的。編譯器按數(shù)組定義的大小分配內(nèi)存,但運行時對 (8) 不加檢測,這會帶來無法預(yù)知的嚴(yán)重錯誤。答案:(1)數(shù)組第一個元素(2)不可改變的(3)稱指針常量(4)指針(5)數(shù)組元素的數(shù)量(6)元素(7)整體(8)對數(shù)組的邊界不加檢測 有一個三維數(shù)組:int z3d[2][3][4]。給出指向三維數(shù)組第i行第j列第k頁元素的指針的三種表達方式 (1) , (2) , (3) 。再給出這些元素的三種表達方式 (4) , (5) , (6) 。答案:(1)z3d[i][j]+k或amp。z3d[i][j][k](2)*(z3d[i]+j)+k(3)*(*(z3d+i)+j)+k(4)z3d[i][j][k]或*(z3d[i][j]+k)(5)*(*(z3d[i]+j)+k)(6)*(*(*(z3d+i)+j)+k) 物理上,C++是怎樣訪問數(shù)組元素的?請對訪問方法作簡單介紹。答:物理上,C++語言的下標(biāo)運算符[ ]是以指針作為操作數(shù)的,a[i]被編譯系統(tǒng)解釋為*(a+i),即表示為a所指(固定不可變)元素向后第i個元素。無論我們是以下標(biāo)方式或指針方式存取數(shù)組元素時,系統(tǒng)都是轉(zhuǎn)換為指針方法實現(xiàn)。這樣做對多維數(shù)組尤其方便。 什么是回溯算法?答:回溯法是對枚舉法的一種改進。回溯法的基本思想是,通過對問題的分析找出解決問題的線索,先在一個局部上找出滿足問題條件的局部的解,然后逐步由局部解向整個問題的解的方向試探,若試探成功就得到問題的解,試探失敗逐步向后退,改變局部解再向前試探?;厮莘鼙苊饷杜e法的許多不必要的搜索,使問題比較快地得到解決。 用數(shù)組名作為函數(shù)的參數(shù)時,可否加上數(shù)組的長度?如果需要加則怎樣加?為什么?答:被調(diào)函數(shù)中作為形式參數(shù)的一維數(shù)組不需要說明長度,即使說明了大小也不起作用,因為C++只傳遞數(shù)組首地址,而對數(shù)組邊界不加檢查。 需要編寫一個對多維數(shù)組通用的算法(即各維的大小未定),怎樣才能把實參多維數(shù)組的信息全部傳遞到函數(shù)中去?答:最佳方法是用函數(shù)模板,多維數(shù)組用模板類型參數(shù)傳遞,各維的大小作為參數(shù)傳遞。也可以用一維數(shù)組加各維的大小都作為參數(shù)傳遞。 解釋運算符“*”和“amp?!钡淖饔茫\算符“.”和“”的作用。答:在應(yīng)用指針變量時,“*”是間接引用(dereference)運算符,作用于一個指針類型的變量,訪問該指針?biāo)赶虻膬?nèi)存數(shù)據(jù)。因結(jié)果是內(nèi)存中可尋址的數(shù)據(jù)?!癮mp?!笔侨〉刂愤\算符,作用于內(nèi)存中一個可尋址的數(shù)據(jù)(如:變量,對象和數(shù)組元素等等),操作的結(jié)果是獲得該數(shù)據(jù)的地址。運算符“.”和“”是成員訪問運算符(Member Access Oprator)。在對象或結(jié)構(gòu)外部去訪問公有的數(shù)據(jù)成員或函數(shù)成員時,是在對象名后加“.”(點操作符),再加成員函數(shù)名或函數(shù)名就可以了。但是這些成員必須是公有的成員,只有公有成員才能在對象的外面對它進行訪問。當(dāng)用指向?qū)ο蠛徒Y(jié)構(gòu)變量的指針訪問其公有成員時,則只要在指針變量名后加 “” (箭頭操作符),再加公有成員名就可以了。 什么是this指針?簡述它的作用。答:當(dāng)我們在對象的外部訪問該對象的公有成員時,必須指明是哪一個對象。但是當(dāng)我們用對象的成員函數(shù)來訪問本對象的成員時,在成員函數(shù)中只要給出成員名就可以實現(xiàn)對該對象成員的訪問。但同一個類創(chuàng)建的多個對象共用同一份成員函數(shù)的拷貝。既然是同一份拷貝,那么成員函數(shù)又怎么知道是取哪一個對象的成員數(shù)據(jù)呢?其實每一個對象有一個隱藏的this指針,它始終指向該對象,并將該指針作為一個參數(shù)自動傳遞給該成員函數(shù)。這就是說,成員操作符總是要使用的,只不過在對象內(nèi)是隱式的,即在對象內(nèi)省略了this指針。 指針變量與整型量的加減運算代表什么意義?答:指針變量與整型量的加減表示移動指針,以指向當(dāng)前目標(biāo)前面或后面的若干個位置的目標(biāo)。指針與整型量i的加減等于指針值(地址)與i*sizeof(目標(biāo)類型)積的加減,得出新的地址。 設(shè)a為數(shù)組名,那么a++是否合法?為什么?答:非法。因為a是指針常量。 指針作為函數(shù)的參數(shù)時,它傳遞的是什么?實參要用什么?而使用引用時實參要用什么?何時只能用指針而不能用引用?答:是地址,是指針?biāo)赶虻淖兞炕驅(qū)ο蟮膬?nèi)存首地址,在物理上講我們傳的是指針的值,與傳其它變量是沒有差異的,函數(shù)獲得的是另一個變量的地址,在邏輯上講我們是把另一個變量的地址傳過去了,可以看作傳地址。實參要用變量或?qū)ο蟮牡刂?。而使用引用時實參要用變量或?qū)ο蟊旧怼崊閿?shù)組時,只能用指針而不能用引用,因為數(shù)組的引用不存在。 指針作為函數(shù)的返回值時,應(yīng)該注意什么?答:指針指向的數(shù)據(jù)的生命期必須不僅僅在函數(shù)域中,函數(shù)消亡后,數(shù)據(jù)仍然存在。如果返回的指針,它所指的變量或?qū)ο笠严?,則該返回值無意義,這一點必須十分小心??傊苯邮褂弥羔槻还苁亲鳛閰?shù)還是返回值,都要注意安全性。 設(shè)有語句char *ps=”It’s a book.”。是否建立了一個字符串,并把”it’s a book.”作為其初值?隨后又有語句:*ps=”It’s a car”。這又代表什么?是否正確。答:沒有建立字符串,只是讓ps指向一個放在代碼區(qū)中的特殊字符串,而該字符串所在內(nèi)存是不可寫的。后一條語句要求把字符串賦給不可寫的字符串空間是錯的。二、編程與綜合練習(xí)題 打印楊輝三角形(10行)。使用二維數(shù)組并利用每個系數(shù)等于其肩上兩系數(shù)之和。解:
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1