ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++入门教程之五:运算符(上)

2021-05-16 14:35:08  阅读:102  来源: 互联网

标签:cout int 入门教程 C++ 运算符 ++ 表达式


C++入门教程之五:运算符(上)

运算符是C++的精华之一,是程序设计中最重要的一环之一,也是理解一个程序的关键。许多人倒在了运算符的学习中(也有人倒在了指针上),因此,学会C++的运算符是学习C++的关键所在。下面我将逐一介绍C++的运算符

算术运算符

算术运算符是最基本的运算符,包括小学我们就学过的+、-、×、÷和取余。

a+b;//加
a-b;//减
a*b;//乘
a/b;//除
a%b;//取余

没错,用法就是这么简单。

唯一值得讲一下的是取余。如a%b,小学我们学过,a÷b=c……d,则有a%b=d,读作“a模b等于d”。如果a或者b不是整数类型,则程序在编译的时候,会先将a和b向下取整为整数再进行运算,如果没法取整,则会报错。

此外还有自加运算符++和自减运算符--,用法如下

a++;
++a;
a--;
--a;

其中前两个表示把a的值加1,后两个表示把a的值减1。一般来说,前两个表达式差别不大,你想用哪个用哪个。但是,它们还是有区别的。假设有下面一个程序:

int x=3;
cout << (x++)+(++x) << endl;

输出:

8

具体过程是这样的:首先x被赋值为3。第二行中先运行x++,x的值先放到了表达式中,然后再加1,也就是说,运算完x++后,x的值被加了1,变成4,但是表达式变成3+(++x),然后,运行++x,它的作用与x+1完全一样,先将x的值加1,变为5,再将5放到表达式中,整个表达式变为3+5,即8。

--运算符与++运算符相同,只不过加1变成了减1。给大家出一道题,大家可以在评论区中打出答案:

int x=3;
int y=4;
cout << (x++)/3+(--y)*2-(x--)%6+(y++)*3-(y--) << endl;//求输出

关系运算符

关系运算符包括==、!=、>=、<=、<、>。
用法:

int a=1,b=2;
if(a==b)cout << "a等于b" << endl;
if(a!=b)cout << "a不等于b" << endl;
if(a<=b)cout << "a小于等于b" << endl;
if(a>=b)cout << "a大于等于b" << endl;
if(a<b)cout << "a小于b" << endl;
if(a>b)cout << "a大于b" << endl;

输出:

a不等于b
a小于等于b
a小于b

由此可知,关系运算符运算的是两个数字之间的关系,如果为真,则表达式的值为1,代表真;如果为假,则表达式的值为0,代表假。关系运算符通常用于控制语句中作为条件使用。

逻辑运算符

逻辑运算符包括||(逻辑或)、&&(逻辑与)、!(逻辑非)
基本用法如下:

bool a=true,b=false;
cout << (a||b) << endl;
cout << (a&&b) << endl;
cout << (!a) << endl;

输出结果:

1
0
0

a或b意味着a和b中只要有一个是真的,那么整个表达式都是真的;a与b意味着a和b中只要有一个是假的,那么整个表达式都是假的。!a意味着如果a为真,这表达式为假;如果a为假,则表达式为真。

a b a&&b a||b
0 0 0 0
0 1 0 1
1 1 1 1

注意:只有变量的值是0时,这个变量才会被认为是假的,否则都会被认为是真的。

赋值运算符

=是C++中的赋值运算符。用法非常简单

a=1;

其中表示把1赋值给a。赋值运算符=表示把右边的值赋值给左边的变量。赋值的意思是:用要赋的值替换掉变量中原有的值。赋值有几点要求:首先,赋的值必须与变量的数据类型一样,比如:

int a;
a="Hello"

就会报错。
第二点,=的左边必须是变量,不能是常量。如

const int a=0;
a=1;//错误
1=2;//错误

此外,还有一种赋值操作,即运算符=,如a+=2,等同于a=a+2。如:

int a=1;
cout << a+=1 << endl;
cout << a-=3 << endl;
cout << a/=-1 << endl;
cout << a*=5 << endl;
cout << a%=2 << endl;

输出:

2
-1
1
5
1

其他运算符

sizeof()

sizeof返回变量的字节数。比如

int a=1;
cout << sizeof(a);

输出:

4

此外,还可以sizeof(数据类型),输出的是该数据类型的变量所占的字节数,如:

cout << sizeof(int) << endl;
cout << sizeof(long long) << endl;
cout << sizeof(float) << endl;
cout << sizeof(double) << endl;

输出:

4
8
4
8

?:

有关这个运算符的知识,参见我之前的文章C++入门教程之三:控制语句

强制转换类型

用法是:

float a=1.5
cout << (int)a << endl;

输出:

1

强制转换类型可以将任意类型的值转换为括号内数据类型,但不会改变原变量的值。但是强制转换类型是有范围的,只能在(unsigned) int, (unsigned) long, (unsigned) long long, (unsigned) float, (unsigned) double,boolchar类型之间转换。(char类型在转换时会变成ASCII码)

,

用法如下:

int a=1;
cout << a+=3,a++,a%3 << endl;

输出结果:

2

逗号运算符的意思是:执行一连串运算,其值为整个由逗号连接的列表中的最后一项的值。

此外,还有指针运算符和成员运算符,关于它们的知识将在后面讲到。

标签:cout,int,入门教程,C++,运算符,++,表达式
来源: https://www.cnblogs.com/zqqrx0546/p/14773742.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有