牛客网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.mzph.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…