C语言到C++的桥梁:基本数据类型与表达方式的学习之旅(一)

1 基本数据与表达式

  • 1.1概述

  • 1.2C++语言的字符集与词汇

  • 1.3C++语言的基本数据类型与存储形式

  • 1.4数据对象与访问

  • 1.5表达式

  • 1.6数据输入与输出

通过本章内容的学习,帮助读者理解字符集与词汇,从而掌握基本数据类型与表达式。

建立项目

笔者这里使用VS2022建立项目。步骤和建立C语言程序项目并没有什么不同。步骤见下:

打开VS2022之后,点击文件->新建->项目,

选择空项目之后,进行下一步

为项目填写名称和选择存储位置之后就可以点击创建了

刚创立的新项目是无法直接写代码的,这里需要再创建一个源文件(在文件夹中找到源文件,选择"添加"中的"新建项"),然后为源文件命名就行了。

新探秘

了解类

class类对函数封装是C++相比较C突出的特点之一,这里对类的使用进行演示。

问题如下:

在笔者看来,使用class类需要搞明白两个方面:对象的属性(需要获取的数据)和对象的功能(需要展示的东西)。以此题为例,就可以设置一个圆类,数据成员为半径,成员函数为置半径值、求圆半径、求周长、求面积。

代码见下:

c 复制代码
#include <iostream>

using namespace std;

class Circle
{
	double radius;
public:
	void Set_Radius(double r) { radius = r; }
	double Get_Radius() { return radius; }
	double Get_Girth() { return 2 * 3.14 * radius; }
	double Get_Area() { return  3.14 * radius * radius; }
};

int main()
{
	Circle A, B;
	A.Set_Radius(6.23);
	cout << "A.Radius = " << A.Get_Radius() << endl;
	cout << "A.Girth = " << A.Get_Girth() << endl;
	cout << "A.Area = " << A.Get_Area() << endl; 
	B.Set_Radius(10.24);
	cout << "B.Radius = " << B.Get_Radius() << endl;
	cout << "B.Girth = " << B.Get_Girth() << endl;
	cout << "B.Area = " << B.Get_Area() << endl;
	return 0;
}

枚举

在这之前一直都是听说这种类型,但是从来不知道如何使用,今天终于明白了。

枚举作为一种结构类型,是用户自定义的。它的关键字是enum,需要注意的是定义的时候声明就像数学集合中的列举法一样,需要把所有的可能包含其中,数据的输出为其在括号中的下标。

代码见下:

c 复制代码
#include <iostream>

using namespace std;

enum colour { red, green, yellow, blue, white };

int main()
{
	colour c;
	c = red;
	cout << "red = " << c << endl;
	c = yellow;
	cout << "yellow = " << c << endl; 
	c = white;
	cout << "white = " << c << endl;
	return 0;
}

运行结果见下:

零碎

'B'+1输出是整型数据,运算过程为字符B的ASCII码+1。这里的解释是B是字符型的数据,占用1字节,1是整型数据,占用4字节。按照占用内存大的计算,所以最后结果为整型数据。

疑云

\b作为退格,没有理解其含义。

比如:

c 复制代码
#include <iostream>

using namespace std;

int main()
{
	cout << "A\t" << "A\b\bB" << endl;
	return 0;
}

第二个A为什么没有另起一行,光标明明停留在了第二个A的前面,此时endl换行应该会使A另起一行的,结果却没有。

相关推荐
山河木马1 分钟前
前端学习C++之:.h(.hpp)与.cpp文件
前端·javascript·c++
2401_891957313 分钟前
list的一些特性(C++)
开发语言·c++
米饭「」1 小时前
C++AVL树
java·开发语言·c++
心愿许得无限大1 小时前
Qt 常用界面组件
开发语言·c++·qt
GiraKoo2 小时前
【GiraKoo】C++17的新特性
c++
Rockson2 小时前
C++如何查询实时贵金属行情
c++·api
shenyan~2 小时前
关于 c、c#、c++ 三者区别
开发语言·c++
mit6.8243 小时前
[vroom] docs | 输入与问题定义 | 任务与运输工具 | json
c++·自动驾驶
charlie1145141913 小时前
如何使用Qt创建一个浮在MainWindow上的滑动小Panel
开发语言·c++·qt·界面设计
cpp_learners6 小时前
QML与C++交互之创建自定义对象
c++·qt·qml