运算符
作用:用于指行代码的运算
c++中运算符主要分为:算术运算符,赋值运算符,比较运算符,逻辑运算符
算术运算符
+,-,*,%,/,前置递增,后置递增,后置递进,前置递减
#include<iostream>
using namespace std;
int main()
{
int num1 = 10, num2 = 3;
cout << num1 - num2 << endl;//7
cout << num1 + num2 << endl;//13
cout << num1 % num2 << endl;//1
cout << num1 * num2 << endl;//30
cout << num1 / num2 << endl;//3,两个整型相除,得到的也还是整数。
//注意:除数不能为0,会报错
int num3 = 30;
float num4 = 1.5f;
cout << num3 - num4 << endl;//28.5
cout << num3 + num4 << endl;//31.5
//cout << num3 % num4 << endl;//注意取余不能跟小数在一起,只能跟整数和整数
cout << num3 * num4 << endl;//45
double num5 = 9.5;
float num6 = 4.5;
cout << num5 - num6 << endl;//5
cout << num5 + num6 << endl;//14
//cout << num5 % num6 << endl;//小数之间不能取余
cout << num5 * num6 << endl;//42.75
cout << num5 / num6 << endl;//,2.111111,循环小数,因为c++只能取六位,所以是2.111111。
//前置加加和后置加加
int num9 = 9;
cout << ++num9 << endl;//会立即加一
cout << num9++ << endl;//等于9,,后置会先进行表达运算,后进行加1操作
//前置减减和后置减减
int num10 = 5;
cout << --num10 << endl;//会立即加一
cout << num10-- << endl;//等于9,因为,后置会先进行表达运算,后进行加1操作
system("pause");
return 0;
}
赋值运算符
=,+=,-=,*=,/=,/=,%=
一个列子你就可以明白
比如:
int a = 10;
a += 5; //15
这段表达式的意思相当于:
a = 5 + a;a原来是10,又因为加了5,所以就是15;其他和加等(+=)一个意思
比较运算符
作用:相当于数学中比较两个值的大小,在c++中比较完之后会返回0或1
比较运算符有如下几类
==相等,!=不等,<小于,>大于,<=小于等于,>=大于等于,c++中没有===(全等符号)
列如:
int num = 10;
int num1 = 20;
cout<<(num9 == num10)<<endl;//0,承接上文,C++中表示真假值,除0之外都是真值
//注意:记得用()包裹起来
逻辑运算符
!取反符号,&&与,||或
!a:若a为真,则!a为假,列如:
int a = 1;
cout<<!a<<endl;//为假(0)
&&与
它必须要两个表达式或者两个表达式以上进行连接,如果全部都满足为真,这会返回真,如果,有一个假,那么返回的会是一个假值。
int a=10,b=5,c=0;
cout<<(a<=10 && b< a && c==0);//它会返回一个真值(1),因为上述条件都满足。
cout<<(a>5&&c)//它会返回一个假值(0),因为c是0,它表示假。
||或
它必须要两个表达式或者两个表达式以上进行连接,如果它全部都是假,那么会返回假值,如果有一个为真,那么会返回一个真值。
int a=10,b=5,c=0;
cout<<(a<=10 || b>a || c==0);//只要有一个表达式为真,它就会返回一个真值。
cout<<(a<5||c)//只有全部都为假,它才会返回假值
程序流程结构
在c++中,支持最基本的三种程序运行结构:顺序结构,选择结构,循环结构。
三者的运行思路:
顺序结构:按照代码从上到下执行,按照顺序执行,不发生跳转。
选择结构:按照条件选择分支运行。
循环结构:根据条件,进行多次执行某一块代码
选择结构-if分支
1.单分支if
if表示如果,如果为真,就会执行if包裹的代码,一个简单的单分支if判断
int main()
{
int score;
cout << "请输入你要查询的分数" << endl;
cin >> score;
if (score >= 60)
{
cout << "恭喜你的成绩合格了" << endl;
}
if (score < 60)
{
cout << "你的成绩不合格了,小伙子,等着重修吧" << endl;
}
system("pause");
return 0;
}
2.多行if分支
if(条件){当条件满足时才会执行这段代码块}else{当条件不满足时,才会执行,相当于一个兜底操作}
#include<iostream>
using namespace std;
int main()
{
int score;
cout << "请输入你要查询的分数" << endl;
cin >> score;
if (score >= 60)
{
cout << "恭喜你的成绩合格了" << endl;
}else
{
cout << "你的成绩不合格了,小伙子,等着重修吧" << endl;
}
system("pause");
return 0;
}
3.多条件if语句
if(条件1){当条件1满足时才会执行这段代码块}else if(条件2){当条件2满足时才会执行这段代码块}........ else{当条件都不满足时,才会执行,相当于一个兜底操作}
三目运算符
三目运算符相当于if...else
语法:表达式1?表达式2:表达式3,
当运行为真时,执行表达式2,当表达式为假执行表达式3
int a = 10;
cout<<(a<=8?"大于":"不大于");//不大于
switch语句
作用:执行多条件分支语句。
语法:
switch(表达式)
{
case 结果1:执行语句;break;
case 结果2:执行语句;break;
case 结果3:执行语句;break;
default:执行语句;break;//兜底操作
}
switch优缺点:
switch缺点:判断时候只能是整型或者字符串,不可以是一个区间。
switch优点,结构清晰,执行效率高
循环结构
while循环语句
作用:满足循环条件,执行循环语句。
语法:while(循环条件){循环语句}
解释:只要循环条件为真,就执行循环语句。
do.....while语句
作用:满足循环条件,执行循环语句,但要注意,它第一次循环是不管条件是否满足,都会执行。
语法:
do{循环语句} while(循环条件);
水仙花数案例:
#include<iostream>
using namespace std;
int main()
{
int num = 100;
do {
int a = num % 10, b = num / 10 % 10, c = num / 100;
if (a*a*a+b*b*b+c*c*c == num)
{
cout << "水仙花数:" << num << endl;
}
num++;
}while (num<1000);
system("pause");
return 0;
}
for循环语句
作用:满足循环条件,执行循环语句
语法:for(起始表达式;条件表达式;末尾语句;){循环语句};
敲桌子案例:
#include<iostream>
using namespace std;
int main()
{
for (int i = 0; i <= 100; i++)
{
if (i % 10 == 7) {
cout << "敲桌子" << endl;
continue;
}
else if(i /10 ==7)
{
cout << "敲桌子" << endl;
continue;
}
else if (i%7== 0)
{
cout << "敲桌子" << endl;
continue;
}
cout << i << endl;
}
system("pause");
return 0;
}