实践是检验真理的唯一标准。
认识运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。 C++ 内置了丰富的运算符,并提供了以下类型的运算符。
- 算数运算符
- 关系运算符
- 逻辑运算符
- 位运运算符
- 赋值运算符
- 其他运算符
这里将介绍算数、关系、逻辑、赋值运算符。
算数运算符
运算符“+”:将两个操作数相加,如“A+B”。
运算符“–”:从第一个操作数中减去第二个操作数,如“A-B”。
运算符“*”:将两个操作数相乘,如“A*B”。
运算符“/”:分子除以分母,如“B/A”。
运算符“%”:取模运算符,求整除后的余数,如“B%A”。
运算符“++”:自增运算符,整数值增加1,如“A++”。
运算符“– –”:自减运算符,整数值减1,如“A- –”。
下面提供一些例子:
#include <iostream>
using namespace std;
int main()
{
int a = 24;
int b = 12;
int c;
c = a + b;
cout << "c1= " << c << endl ;
c = a - b;
cout << "c2= " << c << endl ;
c = a * b;
cout << "c3= " << c << endl ;
c = a / b;
cout << "c4= " << c << endl ;
c = a % b;
cout << "c5= " << c << endl ;
int d = 15; //赋值语句
c = d++;
cout << "c6= " << c << endl ;
d = 8; // 重新赋值
c = d--;
cout << "c7= " << c << endl ;
return 0;
p
}
关系运算符
关系运算符常用于分支循环语句。
运算符“==”:检查两个操作数的值是否相等,如果相等则条件为真,如“A==B”。注意区分“=”(赋值)与“==”!该结果返回布尔值(0|1)。
运算符“!=”:检查两个操作数的值是否相等,如果不相等则条件为真,如“A!=B”。该结果返回布尔值。
运算符“>”:检查左操作数的值是否大于右操作数的值,如果是则条件为真,如“A>B”。该结果返回布尔值。
运算符“<”:检查左操作数的值是否小于右操作数的值,如果是则条件为真,如“A<B”。该结果返回布尔值。
运算符“>=”:检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真,如“A>=B”。该结果返回布尔值。
运算符“<=”:检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真,如“A<=B”。该结果返回布尔值。
下面提供一些例子:
#include <iostream>
using namespace std;
int main()
{
int a = 24;
int b = 12;
int c ;
if( a == b )
{
cout << "a 等于 b" << endl ;
}
else
{
cout << "a 不等于 b" << endl ;
}
if ( a < b )
{
cout << "a 小于 b" << endl ;
}
else
{
cout << "a 不小于 b" << endl ;
}
if ( a > b )
{
cout << "a 大于 b" << endl ;
}
else
{
cout << "a 不大于 b" << endl ;
}
a = 16;
b = 25;
if ( a <= b )
{
cout << "a 小于或等于 b" << endl ;
}
if ( b >= a )
{
cout << "b 大于或等于 a" << endl ;
}
return 0;
}
逻辑运算符
逻辑运算符常用于分支循环语句。
运算符“&&”:逻辑与运算符,如果两个操作数都 true,则条件为 true,如“A&&B”。该结果返回布尔值。
运算符“||”:逻辑或运算符,如果两个操作数中有任意一个 true,则条件为 true,如“A||B”。该结果返回布尔值。
运算符“!”:逻辑非运算符。用来逆转操作数的逻辑状态,如果条件为 true 则逻辑非运算符将使其为 false,如“!(A&&B)”。该结果返回布尔值。
下面提供一些例子:
#include <iostream>
using namespace std;
int main()
{
int a = 9;
int b = 25;
int c ;
if ( a && b )
{
cout << "条件为真"<< endl ;
}
if ( a || b )
{
cout << "条件为真"<< endl ;
}
a = 4;
b = 13;
if ( a && b )
{
cout << "条件为真"<< endl ;
}
else
{
cout << "条件不为真"<< endl ;
}
if ( !(a && b) )
{
cout << "条件为真"<< endl ;
}
return 0;
}
赋值运算符(部分)
运算符“=”:简单的赋值运算符,把右边操作数的值赋给左边操作数。如“A=B”。
运算符“+=”:加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数。如“A+=B”等价于“A=A+B”。
运算符“-=”:减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数。如“A-=B”等价于“A=A-B”。
运算符“/=”:减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数。如“A/=B”等价于“A=A/B”。
运算符“*=”:乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数。如“A*=B”等价于“A=A*B”。
下面提供一些例子:
#include <iostream>
using namespace std;
int main()
{
int b = 21;
int a ;
a = b;
cout << "= 运算符,a 的值 = : " <<a<< endl ;
a += b;
cout << "+= 运算符,a 的值 = : " <<a<< endl ;
a -= b;
cout << "-= 运算符,a 的值 = : " <<a<< endl ;
a /= b;
cout << "/= 运算符,a 的值 = : " <<a<< endl ;
a *= b;
cout << "*= 运算符,a 的值 = : " <<a<< endl ;
return 0;
}
分支与循环
在C++编程中,分支和循环结构是控制程序流程的基本工具。分支结构允许程序根据特定条件执行不同的代码块,而循环结构则允许程序重复执行某个代码块。
分支结构
if语句
if 语句是最基本的分支结构,它根据条件的真假来决定是否执行某段代码。
#include <iostream>
int main() {
int a = 8;
if (a > 7) {
std::cout << "a大于7" << std::endl;
}
return 0;
}
if…else… 语句
if…else… 语句用于根据条件执行两个不同的代码块中的一个。
#include <iostream>
int main() {
int a = 8;
if (a > 10) {
std::cout << "a大于10" << std::endl;
} else {
std::cout << "a不大于10" << std::endl;
}
return 0;
}
if…else if…else… 语句
if…else if…else… 语句用于根据多个条件执行不同的代码块。
#include <iostream>
int main() {
int a = 8;
if (a > 7) {
std::cout << "a大于7" << std::endl;
} else if (a == 7) {
std::cout << "a等于7" << std::endl;
} else {
std::cout << "a小于7" << std::endl;
}
return 0;
}
循环结构
for循环
for 循环是一种常用的循环结构,它允许你指定循环的初始化、条件和迭代步骤。
#include <iostream>
int main() {
for (int i = 0; i < 10; ++i) {
std::cout << "i= " << i << std::endl;
}
return 0;
}
while循环
while循环在条件为真时重复执行代码块。
#include <iostream>
int main() {
int i = 0;
while (i <= 10) {
std::cout << "i= " << i << std::endl;
i++;
}
return 0;
}
do…while循环
do…while循环至少执行一次代码块,然后在条件为真时重复执行。
#include <iostream>
int main() {
int i = 0;
do {
std::cout << "i= " << i << std::endl;
i++;
} while (i <= 10);
return 0;
}
嵌套循环
你可以在循环内部使用另一个循环,这被称为循环的嵌套。
#include <iostream>
int main(){
for(int i = 1;i <= 6;i++ ){ //该控制行决定了循环时的当前行号
for(int j = 1;j <= 6-i;j++){ //该控制行决定了打印空格符的数量,i决定行号。
cout<<" ";
}
for(int k = 1;k <= i*2-1;k++){ //该控制行决定了打印*符号的数量,i决定行号。
cout<<"*";
}
cout<<endl;
}
}
上面示例为使用嵌套循环打印6行高的正三角形。
-END-
作者:SYLVIA
审核:SYLVIA
评论(0)
暂无评论