使用表达式、语句和运算符
1.语句
所有的c++都由语句组成,语句是以分号结尾的命令。语句控制程序的执行流程、评估表达式甚至可以什么也不做(空语句)。
空白:
在c++程序源代码中,空格、制表符和换行符统称为空白。空白旨在让程序员方便阅读代码,编译器通常忽略他们。
正确的缩进有助于识别程序块或函数块的开始和结束位置。
复合语句:
可将多条语句编组,构成一条复合语句,这种语句以{开头,以}结束。可将复合语句放在任何可使用单条语句的地方。
复合语句中的每条语句都必须以分号结尾,但复合语句本身不能以分号结尾。如:
{
temp=a;
a=b;
b=temp;
}
这条复合语句交换a与b的值,交换时使用变量临时存储了一个变量的值。
2.表达式
表达式是语句中任何返回一个值的部分。如:
z = x = y + 13;
这条语句包含三个表达式:
表达式 y + 13,值被存储在变量x中;
表达式x = y + 13,它返回变量x的值,而该返回值被存储在变量z中;
表达式z = x = y + 13,它返回z的值,但是该返回值并未存储到其他变量中。
赋值运算符=导致左操作数的值变为右操作数的值
操作数是一个数学术语,指的是被运算符操作的表达式。
程序清单4.1 Expression.cpp
#include
?
intmain()
{
intx=12,y=42,z=88;
std::cout<<"Before -- x: "<
std::cout<<" z: "<
z=x=y+13;
std::cout<<"After -- x: "<
std::cout<<" z: "<
return0;
}
3.运算符
运算符是导致编译器执行操作的符号。
赋值运算符:=(常量可以作为右值,但不能作为左值,比如95 = grade非法)
数学运算符:+、-、*、/、%(%为求模运算符,返回整数除法的余数)
组合运算符:+=、-=、*=、/=、%=(都是自赋值运算符)
关系运算符:==、!=、>、>=、<、<=
逻辑运算符:&&、||、!
位运算符:&、|、^、~、<<、>>
递增与递减运算符:++、--
前缀运算符与后缀运算符:递增运算符++与递减运算符--若放在变量前面,就称为前缀运算符,放在变量后面则称为后缀运算符。
如:++count;中的++为前缀运算符,count++;中的++为后缀运算符
区别在于进行赋值时,前缀运算符会在赋值前执行,而后缀运算符会在赋值后执行
intx=5;
intsum=++x;
这两条语句使得x为6;sum为6;
intx=5;
intsum=x++;
这两条语句导致sum为5,x为6。
程序清单4.2 Years.cpp
#include
?
intmain()
{
intyear=2016;
std::cout<<"The year "<<++year<<" passes.\n";
std::cout<<"The year "<<++year<<" passes.\n";
std::cout<<"The year "<<++year<<" passes.\n";
?
std::cout<<"\nIt is now"<
std::cout<<" Have the Chicago Cubs won the World Series yet?\n";
std::cout<<"\nThe year "<
std::cout<<"The year "<
std::cout<<"The year "<
?
std::cout<<"\nSurely the Cubs have won the Series by now.\n";
return0;
}
运算符优先级:表就不打了,自己去查,貌似版本挺多。
4.if-else条件语句
程序清单4.3 Grader.cpp
#include
?
intmain()
{
intgrade;
std::cout<<"Enter a grade (1-100): ";
std::cin>>grade;
?
if (grade>=70)
std::cout<<"\nYou passed. Hooray!\n";
else
std::cout<<"\nYou failed. sigh.\n";
return0;
}
程序清单4.4 NewGrader.cpp
#include
?
intmain()
{
intgrade;
std::cout<<"Enter a grade (1-100): ";
std::cin>>grade;
?
if (grade>=70)
{
if (grade>=90)
{
std::cout<<"\nYou got an A. Great job!\n";
return0;
}
if (grade>=80)
{
std::cout<<"\nYou got a B. Good work!\n";
return0;
}
std::cout<<"\nYou got a C.\n";
}
elseif (grade>=60)
{
std::cout<<"\nYou got a D.\n";
}
else
std::cout<<"\nYou got an F. Congratulations!\n";
}
大家有兴趣学习C/C++的小伙伴可以加QQ群一起学习:1083020561
原文链接:https://www.cnblogs.com/adapter-chen/p/13293616.html