输入输出和运算符
输入
在前文中,我们已经学会了输出Hello!World,但是如果我们需要从输入一个数字,并将其原样输出呢?
此时我们不仅要学会输出,还要学会输入
输入的语法和输出很像,我们给出例子:
int a;
cin>>a;
可以看到,只是把out改成了in,非常好理解。
需要注意的是,输出是<<符号而输入是>>,二者箭头是相反的
跟输出一个<<输出一个内容一样,输入>>一个也只能输入一个内容,例如
int a,b;
cin>>a,b;
就是一份典型的错误代码
正确的代码应该是
int a,b;
cin>>a>>b;
此外,cin会自动忽略空格和换行,这是个很重要的特性
输出
在前文中我们已经讲过一些基础的输出,在这里仅补充前面未涉及到的部分知识
在使用cout要原样输出某些内容时,我们一般使用""输出字符串,但是我们发现部分字符没法直接打在引号里面,例如换行
此时,我们就需要用到转义字符
在 C++ 中,转义字符用于表示一些无法直接输入或具有特殊意义的字符,他们一般都由反斜杠 \ 开头
在竞赛中,一般只用得到换行,即\(\n\)
例如:
cout<<"A\na";
输出的大小写会在两行,因为\n是换行
此外<<endl,也可是换行
运算符
在c++中,运算符主要分为以下几种:
1.算术运算符
2.关系运算符
3.逻辑运算符
4.位运算符
5.赋值运算符
6.其他杂项运算符
在本文,我们仅介绍算术运算符和赋值运算符
算术运算符
1.+
作用是将两个数相加,例如
cout<<5+2;
最后得到的结果是7
2.-
作用是用左边的操作数减去右边的操作数,例如
cout<<5-2;
得到的结果会是3
3.*
作用是将两个数相乘,例如
cout<<5*2;
得到的结果会是10
4./
作用是用左边的操作数去除以右边的操作数
需要注意的是,如果两边都是整数,那么得到的结果也会是整数,如果除不尽就向下取整,例如
cout<<5/2;
得到的结果会是2,如果我们想得到实数结果,可以尝试
cout<<5.0/2;
我们就会发现得到的结果会是2.5
5.%
作用是取余,即得到左边的操作数整除右边的操作数所得到的余数,例如
cout<<5%2;
得到的结果会是1
6.++
作用是自增,即整数值增加1,例如
int a=5;
a++;
cout<<a;
得到的结果会是6
有个值得注意的点,自增可以放在要运算的值前面或者后面
区别是如果放在前面就会在一开始就自增,如果放在后面就会在所有表达式结束之后在自增
举个例子
int a=5;
cout<<a++;
得到的输出会是5,因为我们输出完之后才会自增
但如果把代码改成
int a=5;
cout<<++a;
我们就会发现得到的答案是6,因为自增在一开始就进行了
7.--
如同上面的自增,--就是整数值-1,也同样如同++一样可以放前面或者后面,区别同样为先减和后减的区别
例如
int a=5;
cout<<a--;
得到的结果会是5
int a=5;
cout<<--a;
得到的结果就会是4
赋值运算符
首先,最简单的赋值运算符就是=,即将右边的操作数赋给左边的操作数
例如
int a=5;
a=7;
cout<<a;
得到的结果是7,因为我们将7赋给了a
除了=外,我们所学的算术运算符可以放到=前面成为赋值运算符
例如,将+号放到=前面,成为+=
意思是将左边操作数加右边操作数得到的结果赋给左边操作数,例如
int a=5;
a+=2;
cout<<a;
我们得到的输出将会是7,因为我们将a的5和2相加得到7赋值给了a
同理,/=,*=,%=,-=都是赋值运算符,计算方法跟+=相同,我们不再赘述
运算符混用与优先级
各种不同的运算符是可以混用的,例如
int a=5;
a=5+7;
cout<<a;
此时得到的结果会是12
但如果
int a=5;
a=5+2*5;
cout<<a;
我们得到的结果会是15,而非7乘5得到35,因为运算符是有优先级的,乘除法会比加减法更高,同等级从左往右依次计算
如果我们想要先算加法再算减法,可以在表达式里面加括号,括号里面的会优先计算,例如
int a;
a=(5+2)*5;
cout<<a;
此时我们的答案就会是35了
在我们目前所学运算符中,赋值运算符低于算术运算符,算术运算符中%*/三种高于+-两种

浙公网安备 33010602011771号