《C++语言入门经典》一第2章 与计算机交流的手段——数据的计算、输入与输出2.1 C++语言基本要素

简介: 本节书摘来自华章出版社《C++语言入门经典》一书中的第2章,第2.1节,作者 郭鑫 顾彦玲,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第2章 与计算机交流的手段——数据的计算、输入与输出

视频讲解:128分钟

通过鼠标、键盘等设备,我们可以将指令发送给计算机,而计算机会将执行结果显示出
来。这就是输入与输出。输入设备的信号,显示器上体现的图形、文字,甚至喇叭发出的声音
在计算机中的体现都是数据,它是计算机信息的载体。

通过学习本章,读者可以达到以下学习目的:

C++语言的基本要素

数据类型

数据的输入与输出

运算符

结合性和优先级

表达式

语句、左值与右值

2.1 C++语言基本要素

通常程序设计语言的基本要素包括标识符、关键字、常量和变量等。本节将介绍C++语言
的基本要素。

2.1.1 标识符
在C++语言中,变量、常量、函数、标签和用户定义的各种对象,被称为标识符。标识符
由一个或多个字符构成,字符可以是字母、数字或下划线,但是标识符的首字符必须是字母或
下划线,而不能是数字。例如,下面的标识符均是合法的。

maxAge
num
_sex

而下面的标识符是非法的。

1maxAge
nu!m

在C++语言中,标识符是区分大小写的。例如,“value”和“Value”是两个不同的标识
符。此外,标识符不能与C/C++的关键字同名。

注意
在C++语言中,标识符的长度可以是任意的,但是通常情况下,前1 024个字符是有意
义的,这与C语言不同。在C语言中,标识符也可以是任意长度,但是在外部链接进
程中调用该标识符时,通常前6个字符是有效的,如被多个文件共享的全局函数或变
量。如果标识符不用于外部进程链接,通常前31个字符是有效的。

C++语言入门经典
18
宝剑锋从磨砺出 梅花香自苦寒来

2.1.2 关键字

关键字是C++编译器内置的有特殊意义的标识符,用户不能定义与关键字相同的标识符。
C++语言的关键字如表2.1所示。
image

2.1.3 常量

常量的值在运行时是不能改变的,但是在定义常量时可以为其设置初始值。在C++中,可
以使用const关键字来定义一个常量。例如,下面的代码定义了一个MAX_VALUE 常量。

const int MAX_VALUE = 100;

对于常量,编译器会将其放置在一个只读的内存区域,其值不能被修改,但是可以应用在
各种表达式中。如果用户试图修改常量,编译器将提示错误。
常量的最大好处是其使用的灵活性。当程序中有多处需要使用一个常数值时,可以使用常
量代替。当需要改动常数值时,只需要改动常量的值即可。此外,在定义函数时,如果在函数
体中不需要修改参数值,建议将参数的类型定义为常量,这样当用户不小心在函数体内修改了
参数值,编译器将提示错误信息。

2.1.4 变量

其值可以改变的量称为变量。变量提供了一个具有名称(变量名)的存储区域,使得开发

宝剑锋从磨砺出 梅花香自苦寒来
人员可以通过名称来对存储区域进行读写。与常量不同的是,变量可以在程序中被随意赋值。
对于每一个变量,都具有两个属性,也就是通常所说的左值和右值。左值是指变量的地址值,
即存储变量值的内存地址;右值是指变量的数据值,即内存地址中存储的数据。
在程序中定义变量时,首先定义变量的数据类型,然后定义变量名。如下面的代码定义了
两个变量。

int min = 0 ; 
char* pch ;

在定义变量时,可以对变量进行初始化,即为其设置初始值。例如,上面的代码定义了一
个min整型变量,并将其初始化为0。在初始化变量时,可以将变量初始化为其自身。例如:

int min = min;

这样定义虽然是合法的,但也是很“愚蠢”和不明智的。在初始化变量时,可以进行隐式
初始化。例如:

int min(10);

当一条语句定义了多个变量时,可以为多个变量同时指定初始值,并且后续变量可以利用
之前的变量值作为其初始值。例如:

int min = 10 , max = min+50;

说明
在用一条语句定义多个变量时,变量之间用逗号分隔,在最后一个变量定义结束后,
以分号结束语句。

相关文章
|
15天前
|
存储 负载均衡 算法
基于 C++ 语言的迪杰斯特拉算法在局域网计算机管理中的应用剖析
在局域网计算机管理中,迪杰斯特拉算法用于优化网络路径、分配资源和定位故障节点,确保高效稳定的网络环境。该算法通过计算最短路径,提升数据传输速率与稳定性,实现负载均衡并快速排除故障。C++代码示例展示了其在网络模拟中的应用,为企业信息化建设提供有力支持。
42 15
|
2月前
|
Serverless 编译器 C++
【C++面向对象——类的多态性与虚函数】计算图像面积(头歌实践教学平台习题)【合集】
本任务要求设计一个矩形类、圆形类和图形基类,计算并输出相应图形面积。相关知识点包括纯虚函数和抽象类的使用。 **目录:** - 任务描述 - 相关知识 - 纯虚函数 - 特点 - 使用场景 - 作用 - 注意事项 - 相关概念对比 - 抽象类的使用 - 定义与概念 - 使用场景 - 编程要求 - 测试说明 - 通关代码 - 测试结果 **任务概述:** 1. **图形基类(Shape)**:包含纯虚函数 `void PrintArea()`。 2. **矩形类(Rectangle)**:继承 Shape 类,重写 `Print
61 4
|
5月前
|
算法 C++
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
128 5
|
5月前
|
存储 编译器 C语言
深入计算机语言之C++:类与对象(上)
深入计算机语言之C++:类与对象(上)
|
5月前
|
存储 分布式计算 编译器
深入计算机语言之C++:C到C++的过度-2
深入计算机语言之C++:C到C++的过度-2
|
5月前
|
编译器 Linux C语言
深入计算机语言之C++:C到C++的过度-1
深入计算机语言之C++:C到C++的过度-1
|
1月前
|
编译器 C++ 开发者
【C++篇】深度解析类与对象(下)
在上一篇博客中,我们学习了C++的基础类与对象概念,包括类的定义、对象的使用和构造函数的作用。在这一篇,我们将深入探讨C++类的一些重要特性,如构造函数的高级用法、类型转换、static成员、友元、内部类、匿名对象,以及对象拷贝优化等。这些内容可以帮助你更好地理解和应用面向对象编程的核心理念,提升代码的健壮性、灵活性和可维护性。
|
11天前
|
设计模式 安全 C++
【C++进阶】特殊类设计 && 单例模式
通过对特殊类设计和单例模式的深入探讨,我们可以更好地设计和实现复杂的C++程序。特殊类设计提高了代码的安全性和可维护性,而单例模式则确保类的唯一实例性和全局访问性。理解并掌握这些高级设计技巧,对于提升C++编程水平至关重要。
38 16
|
3天前
|
编译器 C++
类和对象(中 )C++
本文详细讲解了C++中的默认成员函数,包括构造函数、析构函数、拷贝构造函数、赋值运算符重载和取地址运算符重载等内容。重点分析了各函数的特点、使用场景及相互关系,如构造函数的主要任务是初始化对象,而非创建空间;析构函数用于清理资源;拷贝构造与赋值运算符的区别在于前者用于创建新对象,后者用于已存在的对象赋值。同时,文章还探讨了运算符重载的规则及其应用场景,并通过实例加深理解。最后强调,若类中存在资源管理,需显式定义拷贝构造和赋值运算符以避免浅拷贝问题。
|
3天前
|
存储 编译器 C++
类和对象(上)(C++)
本篇内容主要讲解了C++中类的相关知识,包括类的定义、实例化及this指针的作用。详细说明了类的定义格式、成员函数默认为inline、访问限定符(public、protected、private)的使用规则,以及class与struct的区别。同时分析了类实例化的概念,对象大小的计算规则和内存对齐原则。最后介绍了this指针的工作机制,解释了成员函数如何通过隐含的this指针区分不同对象的数据。这些知识点帮助我们更好地理解C++中类的封装性和对象的实现原理。