每日刷题-6

目录

一、选择题

二、算法题

1.Fibonacci数列

2.合法括号序列判断


一、选择题

1、

解析:内联函数是一种可以提高函数执行效率的方法,它的原理是编译时在函数调用点直接展开函数体的代码,从而避免了函数调用的开销。

但是,内联函数也有一些限制和缺点,比如:

  • 内联函数不能包含复杂的结构控制语句,例如循环语句和 switch 语句,否则会导致代码膨胀和效率降低。
  • 内联函数不能是直接递归函数,即自己内部还调用自己的函数,否则会造成无限循环或栈溢出。
  • 内联函数的定义必须出现在内联函数第一次被调用之前,否则编译器无法展开函数体。
  • 内联函数只是对编译器的一个建议,编译器可以根据函数的复杂度和调用频率来决定是否真正进行内联。

因此,适宜采用内联函数的情况是:函数代码少、频繁调用,并且没有复杂的流程控制和递归调用。这样可以最大程度地利用内联函数的优势,提高程序的运行速度。答案选C。

2、

解析:缺省参数(默认参数):在声明和定义函数时,可以给函数的参数带上一个默认值;在调用函数时,如果用户没有传递实参,则使用定义时所给的默认值,如果用户传递了实参,就使用用户传递的实参。
全缺省参数:每个参数都有默认值;
半缺省参数:部分参数具有默认值,并且默认值必须从右往左依次给出,例如:

void f(int a, int b = 20, int c = 10)编译成功 
void f(int a = 10, int b, int c = 20)编译失败。答案为D。

3、

解析:类定义2种方式:
1、可以将声明和成员函数的定义全部放在类中
2、类中只放成员变量和成员函数的声明,成员函数的定义可以放在.cpp文件中定义,注意:成员函数名前必须添加类名
class:默认访问权限private;struct:默认的访问权限public
建议:将成员变量设置为private将成员函数设置为public。答案为A。

4、

解析:构造函数的特点有以下几点:

  • 构造函数的名称必须与类名相同,区分大小写;
  • 构造函数没有返回值,也不能用void修饰
  • 构造函数可以用任何访问修饰符(public、protected和private)修饰;
  • 构造函数不能用static、final、abstract和synchronized等关键字修饰;
  • 构造函数不能被覆写(override);
  • 构造函数可以被重载(overload),以参数的个数、类型及顺序区分;重载意味着一个类里可以有多个构造函数,构造函数1可以调用构造函数2完成对象初始化,通过this关键字:this(参数1,参数2…)实现;答案为C。

5、

解析:一般来说,使用初始化列表比在构造函数内部赋值更高效,因为初始化列表可以直接调用成员变量的构造函数,而不需要先调用默认构造函数再进行赋值。而且,有些情况下必须使用初始化
(1)常量成员,因为常量只能初始化不能赋值,所以必须放在初始化列表里面
(2)引用类型,引用必须在定义的时候初始化,并且不能重新赋值,所以也要写在初始化列表里面
(3)没有默认构造函数的类类型,因为使用初始化列表可以不必调用默认构造函数来初始化,而是直接调用拷贝构造函数或其他合适的构造函数初始化。答案选B。

6、

解析:如果将运算符符重载成类的成员函数,形参个数要比该运算符需要的参数个数少1,因为成员函数具有隐藏的this指针。如果类中具有单个参数的构造函数,该构造函数具有类型转换的作用,对于B选项,编译器在编译代码节点,会调用单参构造函数将3转换为BigNumber的对象
但是D选项第一个参数不是对象,没有this指针,所以错误,

 

7、

解析:友元函数是C++中的一种特殊函数,它具有访问类中私有成员的权限,即使该函数不是类的成员函数。友元函数可以在类内部声明为友元或在类外部声明为友元。
D是错误的,友元函数是有关键字friend修饰,但是调用的时候不是通过指针this调用的,因为友元函数不属于任何类没有this指针。
 

二、算法题

1.Fibonacci数列

解析:找到两个斐波那契数,使得F[i]<=n<=fF[i+1],然后计算n到两个数之间的距离。

代码:

#include <iostream>
using namespace std;int main() {int n;while(cin>>n){int f0=0,f1=1,f2=1;int step=0;while(n>f2){f0=f1;f1=f2;f2=f1+f0;}step=(f2-n)<(n-f1)?(f2-n):(n-f1);cout<<step;}
}

2.合法括号序列判断

解析:本题考察对栈的应用。用栈结构实现,栈中存放左括号,当遇到右括号之后,检查栈中是否有左括号,如果有则出栈,如果没有,则说明不匹配。当把字符串遍历完全之后,检查栈是否为空,为空则说明是合法括号序列。

代码:

class Parenthesis {public:bool chkParenthesis(string A, int n) {stack<char> sc;for (auto ele : A) {switch (ele) {case '(':sc.push(ele);break;case ')': {if (sc.empty() || sc.top() != '(')return false;elsesc.pop();}break;default:return false;}}return true;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/79650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Haproxy负载均衡集群 超详细 (附部署实例)

Haproxy 一、Web集群调度器1.1 常用的Web集群调度器1.2 常用集群调度器的优缺点&#xff08;LVS ,Nginx,Haproxy)1.2.1 Nginx1.2.2 LVS1.2.3 Haproxy 1.3 LVS、Nginx、Haproxy的区别 二、Haproxy2.1 简介2.2 Haproxy的主要特性2.3 Haproxy应用分析2.4 Haproxy的调度算法(负载均…

牛客: BM5 合并k个已排序的链表

牛客: BM5 合并k个已排序的链表 文章目录 牛客: BM5 合并k个已排序的链表题目描述题解思路题解代码 题目描述 题解思路 合并链表数组中的前两条链表,直到链表数组的长度为一, 返回这个唯一的链表 题解代码 package main/** type ListNode struct{* Val int* Next *ListN…

#循循渐进学51单片机#步进电机与蜂鸣器#not.8

1、能够理解清楚单片机IO口的结构。 2)t1相当于PnP三级管&#xff0c;t2相当于npn三极管 3&#xff09; 强推挽io具有较强的驱动能力&#xff0c;电流输出能力很强。 2、能够看懂上下拉电阻的电路应用&#xff0c;并且熟练使用上下拉电阻。 3、理解28BYJ-48减速步进电机的工作…

链表oj题 链表与LinkedList 栈的概念 队列的概念 树和二叉树

第 1 题&#xff08;编程题&#xff09; 题目名称&#xff1a; 求环的入口点 题目内容&#xff1a; 求环的入口点https://leetcode-cn.com/problems/linked-list-cycle-ii/description/ 第 2 题&#xff08;编程题&#xff09; 题目名称&#xff1a; 判断链表带环 题目…

软件设计模式(二):工厂、门面、调停者和装饰器模式

前言 在这篇文章中&#xff0c;荔枝将会梳理软件设计模式中的四种&#xff1a;工厂模式、Facade模式、Mediator模式和装饰器Decorator模式。其中比较重要的就是工厂模式和装饰器模式&#xff0c;工厂模式在开发中使用的频数比较高。希望荔枝的这篇文章能讲清楚哈哈哈哈&#xf…

Ceph入门到精通-ceph对于长文件名如何处理

RADOS object with short name 上一篇博文&#xff0c;我们将介绍了对象相关的数据结构ghobject_t&#xff0c;以及对象在底层文件系统存储的文件名&#xff0c;以及如何从文件名对应到 ghobject_t对象。 映射关系如下图所示&#xff1a; 这里面有一个漏洞&#xff0c;即obje…

【栈与队列面试题】有效的括号(动图演示)

leetcode20.括号匹配问题 前言&#xff1a; &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&#x1f4a5; ✨✨刷题专栏:http://t.csdn.cn/UlvTc ⛳⛳本篇内容:力扣上栈与队列的面试OJ题目 目录 leetcode20.括号匹配问题 1.问题描…

华硕电脑怎么录屏?分享实用录制经验!

“华硕电脑怎么录屏呀&#xff0c;刚买的笔记本电脑&#xff0c;是华硕的&#xff0c;自我感觉挺好用的&#xff0c;但是不知道怎么录屏&#xff0c;最近刚好要录一个教程&#xff0c;怎么都找不到在哪里录制&#xff0c;有人能教教我吗&#xff1f;” 随着电脑技术的不断发展…

低代码开源项目整理

低代码是基于可视化和模型驱动理念&#xff0c;结合云原生与多端体验技术&#xff0c;它能够在多数业务场景下实现大幅度的提效降本&#xff0c;为专业开发者提供了一种全新的高生产力开发范式。下面就来分享几个值得学习和使用的前端低代码开源项目&#xff0c;更深入地了解什…

如何实现微服务

一、问题拆解 1.1、客户端如何访问这些服务 原来的Monolithic方式开发&#xff0c;所有的服务都是本地的&#xff0c;UI可以直接调用&#xff1b;现在按功能拆分成独立的服务&#xff0c;跑在独立的虚拟机上的Java进程了。客户端UI如何访问他的&#xff1f; 后台有N个服务&a…

CSS - 鼠标移入整行高亮显示,适用于会员套餐各参数对比页面(display: table,div 转表格形式)

效果图 可根据基础示例和进阶示例&#xff0c;复制进行改造样式。 如下图所示&#xff0c;本文提供 2 个示例。 基础示例 找个 HTML 页面&#xff0c;一键复制运行。 <body><h1 style"text-align: center;">基础示例</h1><section class"…

初试小程序轮播组件

文章目录 一、轮播组件&#xff08;一&#xff09;swiper组件1、功能描述2、属性说明 &#xff08;二&#xff09;swiper-item组件1、功能描述2、属性说明 &#xff08;三&#xff09;轮播组件使用基本语法 二、案例演示&#xff08;一&#xff09;运行效果&#xff08;二&…

JavaEE初阶(5)多线程案例(定时器、标准库中的定时器、实现定时器、线程池、标准库中的线程池、实现线程池)

接上次博客&#xff1a;JavaEE初阶&#xff08;4&#xff09;&#xff08;线程的状态、线程安全、synchronized、volatile、wait 和 notify、多线程的代码案例&#xff1a;单例模式——饿汉懒汉、阻塞队列&#xff09;_di-Dora的博客-CSDN博客 目录 多线程案例 定时器 标准…

9.19-21,openEuler与您相约2023欧洲开源峰会

2023年9月19日-21日&#xff0c;openEuler将参加在西班牙毕尔巴鄂举办的 OSSUMMIT 2023&#xff08;Open Source Summit Europe 2023&#xff09;&#xff0c;这是openEuler继去年正式亮相后的第二次全面参加该峰会。 Open Source Summit Europe是由Linux基金会主办&#xff0…

verdi dump状态机的波形时直接显示状态名

前段时间看到别人用verdi看状态机的波形时&#xff0c;可以显示定义的状态参数&#xff0c;觉得很有意思&#xff0c;特地学习了一下 通常拉出状态机信号的波形是下面这样的 这种信号&#xff0c;我们要想知道每个数值代表的状态&#xff0c;还需要跟定义的parameter比对 像这…

【Flowable】任务监听器(五)

前言 之前有需要使用到Flowable&#xff0c;鉴于网上的资料不是很多也不是很全也是捣鼓了半天&#xff0c;因此争取能在这里简单分享一下经验&#xff0c;帮助有需要的朋友&#xff0c;也非常欢迎大家指出不足的地方。 一、监听器 在Flowable中&#xff0c;我们可以使用监听…

Android 实战项目分享(一)用Android Studio绘制贝塞尔曲线的艺术之旅

一、项目概述 欢迎来到创意之源&#xff01;我们精心打造的绘图应用程序将带你进入一个充满艺术和技术的奇妙世界。通过使用Android Studio&#xff0c;我们实现了绘制贝塞尔曲线的功能&#xff0c;让你能够轻松创作出令人惊叹的艺术作品。不论你是热爱绘画的大学生还是渴望学习…

elementui el-dialog 动态生成多个,点击按钮打开对应的 dialog

业务场景&#xff1a; 根据后端返回的数据&#xff0c;动态生成表单&#xff0c;返回的数据中会有表单字段的类型&#xff0c;如果单选、多选、富文本&#xff0c;其它的属性还好说&#xff0c;重点说在富文本&#xff0c;因为我想通过 dialog 弹窗的方式&#xff0c;进行富文…

Unity 性能优化之Shader分析处理函数ShaderUtil.HasProceduralInstancing: 深入解析与实用案例

Unity 性能优化之Shader分析处理函数ShaderUtil.HasProceduralInstancing: 深入解析与实用案例 点击封面跳转到Unity国际版下载页面 简介 在Unity中&#xff0c;性能优化是游戏开发过程中非常重要的一环。其中&#xff0c;Shader的优化对于游戏的性能提升起着至关重要的作用。…

VS2015+opencv 3.4.6开发环境

VS2015+opencv 3.4.6开发环境 一、安装包下载二、安装过程三、VS环境配置四、测试一、安装包下载 这里提供两种下载方法:   1. opencv官网   2. csdn资源下载 二、安装过程 2.1 下载opencv-3.4.6 安装包 2.2 双击开始安装,选择要安装目录,点击Extract。  2.3 等待解…