牛客網C++專項題目整理(2)

1.參加位運算的數據可以是任何類型的數據。請問這句話的說法是正確的嗎?

答案:錯誤

位運算符主要用于整型數據(如intunsigned intlongunsigned long等)和字符型數據(如charunsigned char),因為這些類型的數據在內存中以二進制形式直接存儲,位運算符可以直接對它們的二進制位進行操作。

如果嘗試對非整型數據(如浮點數、字符串或對象等)使用位運算符,將會導致編譯錯誤。他們的內部表示與整形不同。

2.一個全局變量tally,兩個線程并發執行(代碼段都是ThreadProc),問兩個線程都結束后,tally取值范圍為_______

1

2

3

4

5

int tally=0;//全局變量

??void ThreadProc(){

??? ?for(int i=1;i<=50;i++)

??????????tally+=1;

}

A[50,100]

B[100.100]

C[1275,2550]

D[2550,2550]

答案:A

在兩個線程并發的過程中,a線程對tally加1后,還沒有更新tally在內存中的值,線程b讀取tally值,執行加1,更新tally為1,然后a線程重新讀取tally值,這樣交替運行,最終為50 最大值的情況: a線程對tally加到50后,更新tally在內存中的值為50,然后線程b讀取tally值,再執行加50運算,結果為100;

如果對total+=1加上互斥鎖,才會固定為100。

3.下面函數的輸出結果是()

1

2

3

4

void?func()?{

????int?k?=?1^(1?<<?31?>>?31);

????printf("%d\n",?k);

}

A0

B-1

C-2

D1

答案:?C

首先0000 0000 0000 0000 0000 0000 0000 0001左移31位得

1000 0000 0000 0000 0000 0000 0000 0000 (-2147483648)

與1異或 得1111 1111 1111 1111 1111 1111 1111 1110

補碼轉原碼,-1并將除符號位的位取反 1000 0000 0000 0000 0000 0000 0000 0010(-2)

4.下列程序的運行結果是0.請為橫線處選擇合適的程序()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

#include?<iostream>

#include?<cmath>

using?namespace?std;

class?Base?{

public:

????Base(int?X?=?0);

????Base(Base?&p);

????static?void?GetC(Base?a1,?Base?a2)?{

????????cout?<<?a2.X?-?a1.X;

????}

private:

????int?X;

};

Base::Base(int?XX)?{

????X?=?XX;

}

Base::Base(Base?&p)?{

????X?=?p.X;

}

int?main()?{

????Base?a1(5);

????Base?a2(a1);

????__________?=?Base::GetC;

????(*q)(a1,?a2);

????return?0;

}

Avoid (Base::*q)(Base,Base)

Bvoid *q(Base,Base)

Cvoid *q()

Dvoid (*q)(Base,Base)

答案 D 靜態成員函數不用加作用域非靜態成員函數要加作用域

5. 下列關于運算符重載的敘述中,正確的是(????????)

A通過運算符重載,可以定義新的運算符

B有的運算符只能作為成員函數重載

C若重載運算符+,則相應的運算符函數名是+

D重載二元運算符時,必須聲明兩個形參

答案 B?

一般情況下,單目運算符最好重載為類的成員函數,雙目運算符最好重載為類的友元函數。

關于選項 A,通過運算符重載不能創建全新的運算符符號,而只能改變已有的運算符的行為。

關于選項 B,有些運算符可以作為成員函數進行重載,而有些則不能。具體要根據運算符的性質和所需的操作數類型來決定。

關于選項 C,重載運算符時,相應的運算符函數名并不一定與運算符本身的符號相同,而是通過運算符函數的命名來定義。

關于選項 D,如果用成員函數重載,只寫一個參數的話,默認就是調用者為第一個參數。
作者:陳讓然
鏈接:牛客網公司真題_免費模擬題庫_企業面試|筆試真題
來源:牛客網

6.以下說法不正確的是?

A類成員的定義必須放在類定義體內部

B類的一個成員只能具有一種訪問控制屬性

C在類中,不作特別說明的數據成員均為私有類型

D構造函數和析構函數是特殊的成員函數,因此不允許重載

E類成員的定義必須是成員變量在前、成員函數在后

答案 :ADE

A:類成員的聲明要放在類定義體內部,而定義可以在外部

D:? 構造函數可以重載,析構函數不可以

E: 沒有順序要求

7 閱讀C語言代碼輸出()

1

2

3

4

5

6

7

8

int main()

{

????int arr[]={1,2,3,4,5,6,7};

????int *p=arr;

????*(p++)+=89;

????printf("%d,%d\n",*p,*(++p));

????return 0;

}

A3 3

B2 2

C2 3

D3 2

答案: A

prinf從右到左編譯,從左到右輸出,*p已經是++p之后的了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716472.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716472.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716472.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mac 本地使用dockerfile啟動 springboot項目

1.創建Dockerfile放在項目的根目錄下 2.編寫Dockerfile FROM openjdk:11 MAINTAINER ChengLinADD target/JiaLi-0.0.1-SNAPSHOT.jar /app.jar# 暴露 Spring Boot 應用的端口號 EXPOSE 8088 # 啟動 Spring Boot 應用 CMD ["java", "-jar", "app.jar&q…

前端學習第四天-css提升

達標要求 掌握css復合選擇器 塊級元素和行內元素及行內塊的區別? 哪些元素是塊元素,行內元素及行內塊元素? 熟練掌握display的用法 能夠說出css三大特性 熟練運用背景樣式 1. CSS復合選擇器 復合選擇器是由兩個或多個基礎選擇器&#xff0c;通過不同的方式組合而成的…

vue2結合electron開發跨平臺應用(桌面端應用)

1.確定nodejs和electron的版本號 確定nodejs和electron的版本號及其重要&#xff0c;因為electron的開發版本需要指定的nodejs版本支持。 本文安裝測試使用的是: 1.node18.19.0 2.npm10.2.3 3.vue-cli5.0.8 4.electron29.0.0 2.創建vue2項目 vue create elctron29.0.0_no…

zotero | 多平臺同步 | 堅果云

zotero注冊登陸 打開zotero軟件&#xff0c;mac電腦打開首選項&#xff0c;如下圖所示&#xff1a; 然后點擊同步選項&#xff0c;如下圖所示&#xff0c;如果已經有賬號&#xff0c;請登陸賬號&#xff0c;無則注冊賬號之后再登陸&#xff1b; 注冊堅果云賬號 注冊完堅果…

求最短路徑之BF算法

介紹 全稱Bellman-Ford算法&#xff0c;目的是求解有負權邊的最短路徑問題。 考慮環&#xff0c;根據環中邊的邊權之和的正負&#xff0c;將環分為零環、正環、負環。其中零環、正環不會影響最短路徑的求解&#xff0c;而負環會影響最短路徑的求解。 可用BF算法返回一個bool值…

暗黑大氣MT蘋果CMS MT主題源碼-PC版適用于蘋果CMS V10

蘋果CMS MT主題是一款多功能的主題&#xff0c;適用于蘋果CMS V10的暗黑大氣風格。 地 址 &#xff1a; runruncode.com/houtai/19704.html 初次使用說明&#xff1a; 在后臺設置中&#xff0c;選擇MT主題&#xff0c;并在模板目錄中填寫HTML。 后臺地址為&#xff1a;MT主題…

*JAVAWEB--maven*

一:介紹: maven是一種專門管理以及構建JAVA項目的一個工具,maven屹立這么久也是因為其有三個非常好用的功能: 1.提供標準化的項目結構 比方說平時我們編寫JAVA項目的時候,如果想把原本在eclipse當中編寫的項目導入到IDEA當中進行使用,就會導致報錯,因為這兩個的項目結構并不一樣…

圖神經網絡實戰——基于DeepWalk創建節點表示

圖神經網絡實戰——基于DeepWalk創建節點表示 0. 前言1. Word2Vec1.1 CBOW 與 skip-gram1.2 構建 skip-gram 模型1.3 skip-gram 模型1.4 實現 Word2Vec 模型 2. DeepWalk 和隨機行走3. 實現 DeepWalk小結系列鏈接 0. 前言 DeepWalk 是機器學習 (machine learning, ML) 技術在圖…

[Angular 基礎] - routing 路由(上)

[Angular 基礎] - routing 路由(上) 之前部分 Angular 筆記&#xff1a; [Angular 基礎] - 生命周期函數 [Angular 基礎] - 自定義指令&#xff0c;深入學習 directive [Angular 基礎] - service 服務 終于到 routing 了……這部分的內容比我想象的要復雜很多&#xff0c;果…

LC打怪錄 選擇排序 215.Kth Largest Element in an Array

題目鏈接&#xff1a;力扣 選擇排序知識 設第一個元素為比較元素&#xff0c;依次和后面的元素比較&#xff0c;比較完所有元素并找到最小元素&#xff0c;記錄最小元素下標&#xff0c;和第0個下表元素進行交換。在未排序區域中&#xff0c;重復上述操作&#xff0c;以此類推…

力扣每日一題 用隊列實現棧 模擬

Problem: 225. 用隊列實現棧 文章目錄 思路復雜度Code 思路 &#x1f468;?&#x1f3eb; 力扣官解 輔助隊列存棧頂元素主隊列存逆序序列 復雜度 時間復雜度: 添加時間復雜度, 示例&#xff1a; O ( n ) O(n) O(n) 空間復雜度: 添加空間復雜度, 示例&#xff1a; O ( …

js監聽網頁iframe里面元素變化其實就是監聽iframe變化

想要監聽網頁里面iframe標簽內容變化&#xff0c;需要通過監聽網頁dom元素變化&#xff0c;然后通過查詢得到iframe標簽&#xff0c;再通過iframe.contentWindow.document得到ifram內的document&#xff0c;然后再使用選擇器得到body元素&#xff0c;有了body元素&#xff0c;就…

2024年華為OD機試真題-貪吃的猴子-Python-OD統一考試(C卷)

題目描述: 一只貪吃的猴子,來到一個果園,發現許多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根數由數組numbers給出。猴子獲取香蕉,每次都只能從行的開頭或者末尾獲取,并且只能獲取N次,求猴子最多能獲取多少根香蕉。 輸入描述: 第一行為數組numbers的長度 第二…

Java和JavaScript之間的主要區別與聯系

目錄 概況 主要區別 聯系 總結 概況 Java和JavaScript&#xff0c;盡管名字相似&#xff0c;但它們在編程世界中卻扮演著截然不同的角色。Java&#xff0c;一種強類型、面向對象的編程語言&#xff0c;廣泛應用于企業級應用和安卓應用開發。它的設計理念是一次編寫&#x…

使用協程庫httpx并發請求

httpx和aiohttp都是比較常用的異步請求庫&#xff0c;當然requests多線程或requestsgevent也是不錯的選擇。 一個使用httpx進行并發請求的腳本如下&#xff1a; import functools import sys import timeimport anyio import httpxasync def fetch(client, results, index) -…

詳解 JavaScript 中的數組

詳解 JavaScript 中的數組 創建數組 注&#xff1a;在JS中的數組不要求元素的類型&#xff0c;元素類型可以一樣&#xff0c;也可以不一樣 1.使用 new 關鍵字創建 let array new Array()2.使用字面量方式創建(常用) let array1 [1,2,3,"4"]獲取數組元素 使用下…

西安-騰訊云-Python面試經驗--一面涼經

自我介紹手撕鏈表排序操作系統 a. 線程和進程區別 b. 線程安全 c. 如何保證線程安全 d. 線程崩潰&#xff0c;會不會影響所在的進程 e. 什么是守護進程&#xff0c;僵尸進程&#xff0c;孤兒進程 f. 如何產生一個守護進程 g. 如何避免僵尸進程或者孤兒進程redis a. 持久化方式有…

【STK】手把手教你利用STK進行仿真-STK軟件簡介05 STK部分第三方分析模塊介紹

1.導彈建模工具MMT 導彈建模工具MMT(Missile Modeling Tools)是STK在導彈分析領域的擴展分析應用,它是由四個獨立的應用程序組成的相互支持與關聯的系統,由第三方研究機構開發,能夠與STK基本航天分析環境進行聯合仿真分析。MMT主要用于導彈總體設計(包括彈道導彈、巡航導彈…

python進階:可迭代對象和迭代器

一、Iterable&#xff08;可迭代對象&#xff09; 1、可迭代對象&#xff1a;能夠進行迭代操作的對象。 可以理解為&#xff1a;能夠使用for循環遍歷的都是可迭代對象&#xff1b;**所有的可迭代對象&#xff0c;偶可以用內置函數iter轉換為迭代器** 2、可迭代對象包括&…

藍橋杯題練習:平地起高樓

題目要求 function convertToTree(regions, rootId "0") {// TODO: 在這里寫入具體的實現邏輯// 將平鋪的結構轉化為樹狀結構&#xff0c;并將 rootId 下的所有子節點數組返回// 如果不存在 rootId 下的子節點&#xff0c;則返回一個空數組}module.exports convert…