C++零基础入门教程 #3变量的运算

有了变量,我们便可以对它进行操作。

首先,我们来了解一下表达式的概念。

表达式是由数字、算符、数字分组符号、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。                                ——来自百度百科

在C++中,一个表达式一定有一个返回值,比如a + b返回的是a的值加b的值等。

下面,我们一起来了解各种运算符的意义和应用。

一、运算符的意义

符号意义应用示例
+, -. *, /分别对应加减乘除int c = (a + b - c) * d / e;
=赋值运算符int b = a, d = c;
%取余运算符int a = b % c;
<<, >>, &, |, ~位运算符int a = b >> c;

这就是最基本的算术运算符了。其中,位运算我们暂时用不到(即使用到大多也是装13用的),在这里不做讲解,想要了解的读者可以戳 ↓ 。

C++位运算意义、应用详解

其中,最基本的加减乘除不做讲解,需要注意的是,除法运算比较特殊。

1、除法 /

整数 / 整数,结果为整数(向下取整)

int a = 10, b = 3;
int c = a / b;
cout << c << endl;
//输出:3

浮点数 / 整数或浮点数,结果为浮点数:

int a = 10, b = 4;
double c = (double)a / b;
double d = (double)a / (double)b;
cout << c << ' ' << d << endl;
//输出:2.5 2.5

2、赋值运算 = 

赋值运算符也是有返回值的,即赋值后的变量:

int a = 5, b = 10;
cout << (a = b) << endl;
//输出:10

所以,我们就可以实现连续赋值:

int a, b;
a = b = 0;
cout << a << ' ' << b;
//输出:0 0

为什么可以这么做呢?因为赋值运算符从右往左运算,也就是先执行b=0,再执行a=b。

因此,我们看到的a和b都被设置成了0。

3、取模/取余运算 %

与数学不同,C++中的 % 不是指百分比,而是指取模(mod),也就是余数:

int a = 10, b = 4, c;
c = a % b;
//c = a - a / b * b;
cout << c << endl;

实际上,第二行和第三行是等价的,大家看着理解就好,这里一般不会使用第二种方法取模。

二、int和char类型

还记得我在上一章抛出的问题吗?char为什么属于int呢?我们一试便知。

char c = 'A';
cout << (int)c << endl;

这里,我们把字符变量c强制转换成了int类型,结果怎样呢?

程序没有报错,输出了65。这是怎么回事呢?让我们再来试试。

cout << (int)'B' << ' ' << (int)'C' << endl;

程序分别输出了66和67。也就是说,字符实际上就是int类型。

这里就不得不提到ASCII码的概念了。ASCII码全程美国标准信息交换码,可以理解为是字符的编码,其中大写字母A为65,小写字母a为97,具体的表格列在下方:

(来自ASCII码对应表,ASCII码值的大小顺序 (zhihu.com),侵删)

实际运用中,我们一般不使用具体的ASCII码值,而是用字符代替。

例如,下面的程序就把字符c转化为整数变量a:

int a; char c;
cin >> c;
a = c - '0';
cout << a << endl;

哦对了,第二行的cin语句功能为从窗口读入数据,和cout一样,它啥都能读,具体不做说明。

那么今天这篇文章就到这里了,下期我们将会了解数组的概念以及一些基础的语句。

最后,如果你觉得这篇文章还不错的话,麻烦点个收藏点个关注,这是免费的,您随时可以取消。你们的支持是作者最大的动力!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

起床气233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值