C C 綜合測試題 三

2021-07-03 02:23:22 字數 3142 閱讀 8199

又刷了一套題

1.補充下面函式**:

如果兩段記憶體重疊,用

memcpy函式可能會導致行為未定義。 而memmove函式能夠避免這種問題,下面是一種實現方式,請補充**。

#include using namespace std;

void* memmove(void* str1,const void* str2,size_t n)

}else

}return ( );

}

a.    pstr1str1

b.    pstr1+n< pstr2str2

c.   pstr1+n< pstr2 || pstr2+nstr2

d.   pstr2+nstr1 答案

:a 只要pstr1

的位址在

pstr2

的前面,甚至是,

pstr1

的起始位址和

pstr2

一樣。

如下語句

for(size_t i=0;i!=n;++i)

return b;

}

則func(1)= ?

a.30

b.20

c.16

d.0

答案:d

沒有break語句,所以一直向下執行,執行到b=0結束

5.

class a

;class b

;

在32

位機器上用

gcc編譯以上**,求

sizeof(a),sizeof(b)

分別是多少。

a. 12 16

b. 12 12

c. 16 24

d. 16 20

答案:c

copy

別人的,人家寫的非常好

根據以下條件進行計算:

1、  結構體的大小等於結構體內最大成員大小的整數倍

2、  結構體內的成員的首位址相對於結構體首位址的偏移量是其型別大小的整數倍,比如說double型成員相對於結構體的首位址的位址偏移量應該是8的倍數。

3、  為了滿足規則1和2編譯器會在結構體成員之後進行位元組填充!

a中,a佔4個位元組,b本應佔2個位元組,但由於c佔4個位元組,為了滿足條件2,b多占用2個位元組,為了滿足條件1,d占用4個位元組,一共16個位元組。

b中,a佔8個位元組,b佔2個位元組,但由於c佔4個位元組,為了滿足條件2,b多占用2個位元組,

即abc共占用8+4+4=16個位元組,

為了滿足條件1,d將占用8個位元組,一共24個位元組。

6.下面有關繼承、多型、組合的描述,說法錯誤的是?

a. 封裝,把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏

b. 繼承可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件

c. 隱藏是指派生類中的函式把基類中相同名字的函式遮蔽掉了

d. 覆蓋是指不同的函式使用相同的函式名,但是函式的引數個數或型別不同 答案

:d d說的明明是函式過載好不好。。。。

7.下面有關c++執行緒安全,說法錯誤的是?

a.執行緒安全問題都是由全域性變數及靜態變數引起的 b.

若每個執行緒中對全域性變數、靜態變數只有讀操作,而無寫操作,一般來說,這個全域性變數是執行緒安全的;若有多個執行緒同時執行寫操作,一般都需要考慮執行緒同步,否則的話就可能影響執行緒安全

c. c++

標準庫裡面的

string

保證是執行緒安全的

d. posix

執行緒標準要求

c標準庫中的大多數函式具備執行緒安全性

答案:c

c++標準庫出現的時候,

c++還沒有執行緒的概念,所以

string

不能保證是執行緒安全的

8.以下程式的輸出是

class base

virtual~base() {}

void func1()

int getvalue()

protected:

virtual void func2()

protected:

int i;

};class child: public base

void func1()

protected:

void func2() };

int main()

a. 11

b. 101

c. 12

d. 102

答案:c

func1

不是虛函式,

func2

是虛函式,所以

pb->func1();
呼叫的是base類的func1和child類的func2

9.下面對靜態資料成員的描述中,正確的是?

a. 靜態資料成員可以在類體內進行初始化 b.

靜態資料成員不可以被類的物件呼叫 c.

靜態資料成員不受

private

控制符的作用 d.

靜態資料成員可以直接用類名呼叫

答案:d a

中,const static

型別可以在類體內進行初始化

10.#include

與#include "file.h"

的區別?

a.    

前者首先從當前工作路徑搜尋並引用

file.h

,而後者首先從

standard library

的路徑尋找和引用

file.h

b.    

前者首先從

standardlibrary

的路徑尋找和引用

file.h

,而後者首先從當前工作路徑搜尋並引用

file.h

c.   

兩者都是首先從

standardlibrary

的路徑尋找和引用

file.h

d.   

兩者都是首先從當前工作路徑搜尋並引用

file.h

答案:b

虛幻引擎測試題(三)

1 如果要在遊戲的開始和結束執行某些操作,可以在ue4哪兒處理?2 ue4中,各種字元編碼如何轉換?3 c 原始檔中的注釋在藍圖中顯示為亂碼,為什麼?4 外掛程式中的loadingphase是什麼?5 如何切換不同的引擎版本?6 對於乙個團隊專案,如何處理ddc?7 ufunction,uprope...

js面試題, 函式提公升, 變數提公升,綜合測試

function foo return this foo.getname function foo.prototype.getname function var getname function function getname foo.getname 2 getname 4 foo getname...

STM32線纜綜合測試系統

經過前段時間的辛苦,系統全面公升級基本完成,從測試機過結果看,完全符合設計要求,能夠實現對線纜的短路 斷路 絕緣和耐壓故障進行檢測以及對二極體 繼電器 開關等電子元器件的可靠性進行測試 測試單元採取模組化設計,每個分布式開關單元有多達 128 點的測試容量,且擴充套件方便根據需要可以輕鬆擴容到327...