C3.【C++ Cont】名字空间、注释和变量

目录

1.回顾

2.名字空间(也称命名空间)

介绍

代码示例

3.注释

4.练习

B2003 输出第二个整数

方法1

方法2


1.回顾

在C1.【C++ Cont】准备中提到了名字空间(namespace)语句

using namespace std;

2.名字空间(也称命名空间)

介绍

1.处在在同一个空间内的,若有重名则会名字冲突,因此要对名字进行隔离,使用名字前要先交代名字空间

2.变量,函数和类都是大量存在的,这些变量,函数和类的名称如果都存在于全局作用域中,可能会导致很多冲突使用"名字空间"的目的是对标识符的名称进行隔离,以避免命名冲突或名字污染,因此引入namespace关键字

3.std(全称standard),即namespace std为标准名字空间,C++将标准库的定义(比如cout和cin)实现都放到这个命名空间中,因此使用标准库函数前要不仅要包含头文件(#include <iostream>)还要使用名字空间来表示名字空间std 中信息都是可见和可用(using namespace std;)

代码示例

在不使用namespace std的情况下,使用"std::"来使用std下的cout和cin

#include <iostream>
int main() 
{std::cout<<"Hello World!"<<std::endl;return 0;
}

和下方代码的执行效果是等同的

#include <iostream>
using namespace std;
int main() 
{cout<<"Hello World!"<<endl;return 0;
}

在竞赛中,建议使用using namespace std;节省时间;在软件开发建议采用"std::"写法

3.注释

可参见9.【C语言】注释 点我跳转

Dev C++的注释和取消注释的快捷键:Ctrl + /

4.全局变量和局部变量

参见4.【C语言】初识常量与变量

在C++中,当全局变量和局部变量名字一样时,局部变量会优先使用,如果强制使用全局变量,可以在前面加上::

#include <iostream>
using namespace std;
int a=0;
int main()
{int a=1;cout<<a<<endl;cout<<::a;
}

 

在算法竞赛中,尽量多使用全局变量,默认会初始化为0,执行速度快;很多时候,会避免传参,因为全局变量到处都可以使用

在软件开发中,尽量使用局部变量,防止出现不可控因素

5.练习

https://www.luogu.com.cn/problem/B2003

练习1:B2003 输出第二个整数

题目描述

输入三个整数,整数之间由一个空格分隔。把第二个输入的整数输出。

输入格式

只有一行,共三个整数,整数之间由一个空格分隔。

输出格式

只有一行,一个整数,即输入的第二个整数。

输入输出样例

输入

123 456 789

输出

456

说明/提示

对于100%的数据,输入的整数在[1,10^9]内。

两种解法

方法1

#include <iostream>
using namespace std;
int main() 
{int tmp=0;int x=0;for (int i=0;i<3;i++){cin>>tmp;if (1==i)x=tmp;} cout<<x;return 0;
}

方法2

#include <iostream>
using namespace std;
int main() 
{int n1,n2,n3;cin>>n1>>n2>>n3;cout<<n2;return 0;
}

用cin>>?>>?>>...>>?这样的写法可以一次性读取多个数据

用cout<<?<<?<<...<<?这样的写法可以一次性打印多个数据

本代码还有优化的空间,可以提高运行速度,优化方法是不读n3

    int n1,n2;cin>>n1>>n2;cout<<n2;

练习2:B2005 字符三角形

题目描述

给定一个字符,用它构造一个底边长 55 个字符,高 33 个字符的等腰字符三角形。

输入格式

输入只有一行,包含一个字符。

输出格式

该字符构成的等腰三角形,底边长 55 个字符,高 33 个字符。

输入输出样例

输入 #1

*

输出 #1

  ****
*****

说明/提示

对于 100%100% 的数据,输入的字符是 ASCII 中的可见字符。

代码示例

#include <iostream>
using namespace std;
int main() 
{char a;cin>>a;cout<<"  "<<a<<"  "<<endl;cout<<" "<<a<<a<<a<<" "<<endl;cout<<a<<a<<a<<a<<a;return 0;
}

 重复输出a要采用此写法:"<<a<<a<<a<<"

本代码还有优化的空间,可以提高运行速度,优化方法是不输出末尾的空格

cout<<"  "<<a<<endl;cout<<" "<<a<<a<<a<<endl;cout<<a<<a<<a<<a<<a;

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

常见自动化测试框架分层架构

作为一名专业的测试人员&#xff0c;搭建一个高级的自动化测试框架需要考虑多个因素。以下是一些步骤和指导&#xff0c;帮助你构建一个强大且灵活的自动化测试框架&#xff1a; 1. 理解框架的概念&#xff1a; - 首先&#xff0c;我们需要明确什么是“框架”。在自动化测试中…

103 - Lecture 2 Table and Data Part 1

SQL - Tables and Data Part 1 Relational Database Management System(RDBMS) 关系型数据库管理系统&#xff08;RDBMS&#xff09;是基于关系模型的数据库系统&#xff0c;它支持多种关系操作。关系模型是一种数据存储和检索的模型&#xff0c;它使用表格来组织数据&#x…

NestJS vs Fastify:Node.js框架的性能对决

在Node.js的世界中&#xff0c;框架的选择对于应用的性能和可维护性有着至关重要的影响。NestJS和Fastify是两个备受瞩目的框架&#xff0c;它们各自以其独特的优势在开发者社区中赢得了声誉。本文将深入探讨这两个框架的性能特点&#xff0c;并分析它们在不同场景下的适用性。…

【NOIP普及组】明明的随机数

【NOIP普及组】明明的随机数 C语言实现C实现Java实现Python实现 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 明明想在学校中请一些同学一起做一项问卷调查&#xff0c;为了实验的客观性&#xff0c;他先用计算机生成了N个1到1000之间的随…

python中t是什么意思

python中t是什么意思&#xff1f; python中t指的是“\r”&#xff1a;回车符&#xff0c;返回到这一行的开头&#xff0c;return的意思。 其他相关&#xff1a; \n&#xff1a;换行符&#xff0c;到下一行的同一位置&#xff0c;纵坐标相同&#xff0c;new line的意思。 \t…

OracleJDK与OpenJDK的区别(附带win11下多版本jdk安装)

OracleJDK与OpenJDK的区别&#xff08;附带win11下多版本jdk安装&#xff09; 在Java开发领域&#xff0c;OracleJDK与OpenJDK是两个常被提及的名词&#xff0c;它们都是Java开发工具包&#xff08;JDK&#xff09;的实现&#xff0c;但各自具有不同的特点和优势。在早期的jav…

代码随想录算法训练营第三十一天 | 56.合并区间 738.单调递增的数字 968.监控二叉树

LeetCode 56.合并区间&#xff1a; 文章链接 题目链接&#xff1a;56.合并区间 思路&#xff1a; ① 合并所有重叠的区间&#xff0c;合并后的区间数组不重叠&#xff0c;因此下面两种多区间重叠&#xff0c;其中的区间都要进行合并 ② 合并区间&#xff1a;因为情况2也算作…

[ComfyUI]FaceAging:太好玩啦!FaceAging终于装好了!负50到正100岁随心调整!超强又难装的节点安装教程来了! Comfyui教程

大家好&#xff01;今天我要向大家介绍一个超级有趣的话题——[ComfyUI]FaceAging&#xff01;这个工具能够让你轻松实现人脸年龄的调整&#xff0c;从负50岁到正100岁&#xff0c;让你的创作更加有趣和独特。 想象一下&#xff0c;你有一个强大的AI助手&#xff0c;它能够根据…

蓝桥杯真题——乐乐的序列和(C语言)

问题描述 乐乐在玩一个游戏&#xff0c;她有一排宝石&#xff0c;每个宝石上都刻有一个整数值。她的目标是从中挑选出一些宝石&#xff0c;使得选出的宝石数量为偶数&#xff0c;且这些宝石上的数字总和最大。如果不选任何宝石&#xff08;即选出宝石数量为 00&#xff0c;也是…

猫用宠物空气净化器哪个牌子好?求噪音小的宠物空气净化器推荐!

最近真是烦躁到了顶峰&#xff01;猫咪换毛季太折磨人了&#xff0c;白天上班累的要死&#xff0c;晚上回家还要和猫毛斗争。每天回家都是一场豪赌&#xff0c;需要花费的清理时间取决于家里的猫毛散落程度。有时候忙起来完全不想管&#xff0c;回到家只想躺着。 但最近身体出…

redis7学习笔记

文章目录 1. 简介1.1 功能介绍1.1.1 分布式缓存1.1.2 内存存储和持久化(RDBAOF)1.1.3 高可用架构搭配1.1.4 缓存穿透、击穿、雪崩1.1.5 分布式锁1.1.6 队列 1.2 数据类型StringListHashSetZSetGEOHyperLogLogBitmapBitfieldStream 2. 命令2.1 通用命令copydeldumpexistsexpire …

32位汇编——通用寄存器

通用寄存器 什么是寄存器呢&#xff1f; 计算机在三个地方可以存储数据&#xff0c;第一个是把数据存到CPU中&#xff0c;第二个把数据存到内存中&#xff0c;第三个把数据存到硬盘上。 那这个所谓的寄存器&#xff0c;就是CPU中用来存储数据的地方。那这个寄存器有多大呢&a…

1.1 OpenCV准备工作

介绍了如何在Windows系统中配置Python和Anaconda环境&#xff0c;并安装OpenCV库。首先从Python官网下载并安装Python&#xff0c;然后配置环境变量。接着安装Anaconda&#xff0c;并通过Anaconda Navigator或Prompt管理包。最后&#xff0c;在Anaconda Prompt中使用pip命令安装…

在gitlab,把新分支替换成master分支

1、备份master分支&#xff0c;可以打tag 2、删除master分支 正常情况下&#xff0c;master分支不允许删除&#xff0c;需要做两个操作才能删除 a、变更项目默认分支为非master分支&#xff0c;可以先随便选择 b、取消master为非保护分支 操作了上述两步&#xff0c;就可以删…

【专题】产业全球化视角下中国企业出海人才趋势洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p38107 在当今全球化进程不断加速的时代背景下&#xff0c;出海业务已成为众多企业拓展市场、实现可持续发展的重要战略方向。随着世界经济的紧密联系&#xff0c;不同国家和地区的市场机遇与挑战并存。文末202份出海行业研究报告最新…

uniapp vue3 使用echarts-gl 绘画3d图表

我自己翻遍了网上&#xff0c;以及插件市场&#xff0c;其实并没有uniapp 上使用echarts-gl的样例&#xff0c;大多数都是使用插件市场的echarts的插件 开始自己尝试直接用echartsgl 没有成功&#xff0c;后来尝试使用threejs 但是也遇到一些问题&#xff0c;最后我看官网的时…

世窗健康亮相第三届中国营养师发展大会——AI赋能营养健康 共建人类健康共同体

近日,为贯彻落实《“健康中国2030”规划纲要》,加强营养健康人才队伍建设,推动中国营养健康产业迈向高质量发展。由中国营养师发展大会组委会主办,全国各地营养师协会等多家机构共同发起的第三届中国营养师发展大会在石家庄市成功举办。作为深耕数字健康领域多年的综合服务运营…

基于 GADF+Swin-CNN-GAM 的高创新轴承故障诊断模型

往期精彩内容&#xff1a; Python-凯斯西储大学&#xff08;CWRU&#xff09;轴承数据解读与分类处理 Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客 Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客 Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客 三十多个开源…

ubuntu20.04安装ros与rosdep

目录 前置配置 配置apt清华源 配置ros软件源 添加ros安装源&#xff08;中科大软件源&#xff09; 设置秘钥 更新源 ros安装 安装ros 初始化 rosdep 更新 rosdep 设置环境变量 安装 rosinstall 安装验证 启动海龟仿真器 操控海龟仿真器 rosdep安装更新 安装 使用…

20241105,LeetCode 每日一题,用 Go 实现两数之和的非暴力解法

题目 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 …