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另起一行的,结果却没有。

相关推荐
Bella的成长园地8 分钟前
面试中关于 c++ async 的高频面试问题有哪些?
c++·面试
彷徨而立16 分钟前
【C/C++】什么是 运行时库?运行时库 /MT 和 /MD 的区别?
c语言·c++
qq_4171292517 分钟前
C++中的桥接模式变体
开发语言·c++·算法
No0d1es3 小时前
电子学会青少年软件编程(C语言)等级考试试卷(三级)2025年12月
c语言·c++·青少年编程·电子学会·三级
bjxiaxueliang3 小时前
一文掌握C/C++命名规范:风格、规则与实践详解
c语言·开发语言·c++
xu_yule4 小时前
网络和Linux网络-13(高级IO+多路转接)五种IO模型+select编程
linux·网络·c++·select·i/o
2301_765703144 小时前
C++与自动驾驶系统
开发语言·c++·算法
轩情吖5 小时前
Qt的窗口(三)
c++·qt
热爱编程的小刘5 小时前
Lesson04---类与对象(下篇)
开发语言·c++·算法
郝学胜-神的一滴5 小时前
Linux网络编程之listen函数:深入解析与应用实践
linux·服务器·开发语言·网络·c++·程序人生