作用域,基本数据类型(常量const),转义字符,单引号与双引号,运算符

1.作用域

**全局作用域:**定义在所有花括号外的名字具有"全局作用域"

**块作用域:**在某个花括号内定义的名字具有"块作用域"

一般把具有全局作用域的变量叫做"全局变量",具有块作用域的变量叫做"局部变量"

如果在嵌套作用域里出现重名,一般范围更小的局部变量会覆盖全局变量。如果要特意访问全局变量,需要加上双冒号:: ,指明是默认命名空间。

cpp 复制代码
#include<iostream>
using namespace std;

// 全局作用域,全局变量
int number = 0;

int main()
{
	// 块作用域,局部变量
	int number = 1;

	// 访问局部变量
	cout << "number = " << number << endl;
	// 访问全局变量
	cout << "number = " << ::number << endl;

	cin.get();
}

2.常量

定义方法:

cpp 复制代码
方法1:
#define ZERO 0

在文件头用 #define 来定义常量,也叫作"宏定义"。这种宏定义的方式是保留的C语言特性,在C++中一般不推荐。而且没有数据类型


方法2:
const int Zero = 0;

常量定义后不能修改,定义时候必须赋值,不能先声明,在赋值如
const int Zero
Zero = 0

3.转义字符

单引号是 char 字符类型, 双引号是 string 字符串类型,使用字符串要写**#include<string>**

如想要定义单引号

cpp 复制代码
#include<string>
char a = '\'';           #定义单引号字符
string b = "abc";

4.运算符

注:

如果希望判断一个整型变量a是否在某个范围(0, 100)内,不能直接写:0 < a < 100;

由于小于运算符"<"满足左结合律,要先计算0 < a,得到一个布尔类型的结果,再跟后面的100进行比较。此时布尔类型做整数提升,不管值是真(1)还是假(0),都会满足 < 100 的判断,因此最终结果一定是true。

要想得到正确的结果,需要将两次关系判断拆开,写成逻辑与的关系。

cpp 复制代码
判断一个整型变量a是否在某个范围(0, 100)内
a = -1;              
0 < a < 100;         //错误写法    不论a取什么值,总是true
0 < a && a < 100;    //正确写法    false
相关推荐
_.Switch1 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一路向前的月光1 小时前
Vue2中的监听和计算属性的区别
前端·javascript·vue.js
长路 ㅤ   1 小时前
vite学习教程06、vite.config.js配置
前端·vite配置·端口设置·本地开发
长路 ㅤ   1 小时前
vue-live2d看板娘集成方案设计使用教程
前端·javascript·vue.js·live2d
Fan_web1 小时前
jQuery——事件委托
开发语言·前端·javascript·css·jquery
安冬的码畜日常1 小时前
【CSS in Depth 2 精译_044】第七章 响应式设计概述
前端·css·css3·html5·响应式设计·响应式
莹雨潇潇2 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
Jiaberrr2 小时前
Element UI教程:如何将Radio单选框的圆框改为方框
前端·javascript·vue.js·ui·elementui
Tiffany_Ho3 小时前
【TypeScript】知识点梳理(三)
前端·typescript
安冬的码畜日常4 小时前
【D3.js in Action 3 精译_029】3.5 给 D3 条形图加注图表标签(上)
开发语言·前端·javascript·信息可视化·数据可视化·d3.js