1 语句
1.1 普通语句
编程语言,都是由按顺序执行的语句组成的。
cout<<"Hello World"<<endl;
在这条语句中我们使用cout在命令窗口中显示文本。在C++中所有语句都是以分号“;”结尾的,分号界定了语句的边界。通常出于方便和可读性的考虑,一条语句放在一行中,当然也可以接着分号继续写下一条语句。如下语句其实是两条语句
cout<<"Hello World"<<endl;cout<<"Hello C++"<<endl;
注意:通常来说编译器不考虑空白,包括空格、制表符、换车符、回车等,但是字符串字面量中的空格将导致输出不同
语句使用不当也会出现报错
cout<<"Hello
World"<<endl;
错误原因是由于红色指出部分的代码缺少引号 (”)结束语句缺少分号(;)。如非要将一条语句放在两行中可以在第一行末尾添加反斜杠(\)
cout<<"Hello\
world";
或者
cout<<"Hello"
" world";
在文本很长,表达式有很多变量组成,导致语句很长,显示器无法完全显示时,将语句划分成多行是很有帮助的。
1.2 复合语句
在编程时可以使用花括号({})将多条语句组合在一起,以创建复合语句:
{
int shu=2;
cout<<" 请输出 "<<endl;
}
复合语句将众多语句组合在一起,指出他们属于同一条语句。在编写if语句时,复合语句特别有帮助。
2 使用运算符
2.1 赋值运算符(=)
int shu=2;
在上述语句中使用赋值运算符将int变量初始化为2.赋值运算符将左边的值替换成等号右边的值。
在此有必要理解下左值和右值的概念,左值通常是指内存单元。如上面的语句中shu实际上是指向一个内存单元,即左值。此外,右值可以是内存单元中的内容。
2.2 加(+)、减(-)、乘(*)、除(/)、取余(%)运算符
#include<iostream>
using namespace std;
int main()
{
cout<<"输入两个数"<<endl;
int shu1=0,shu2=0;
cin>>shu1;
cin>>shu2;
cout<<shu1<<"+"<<shu2<<"="<<shu1+shu2<<endl;
cout<<shu1<<"-"<<shu2<<"="<<shu1-shu2<<endl;
cout<<shu1<<"*"<<shu2<<"="<<shu1*shu2<<endl;
cout<<shu1<<"/"<<shu2<<"="<<shu1/shu2<<endl;
cout<<shu1<<"%"<<shu2<<"="<<shu1%shu2<<endl;
return 0;
}
运算结果
以上除法运算时因为定义的两个数是整形所以不包含小数,而%是取余运算符它输出两个数相除后的余数。
2.3 递增运算符(++)递减运算符(–)
#include<iostream>
using namespace std;
int main()
{
int shu1=22;
cout<<"先输出一个数:"<<shu1<<endl;
int shu2=shu1++;
cout<<"shu2的结果为:"<<shu2<<endl;
cout<<"shu1的结果为:"<<shu1<<endl;
shu1=22;
int shu3=++shu1;
cout<<"shu3的结果为:"<<shu3<<endl;
cout<<"shu1的结果为:"<<shu1<<endl;
shu1=22;
int shu4=shu1--;
cout<<"shu4的结果为:"<<shu4<<endl;
cout<<"shu1的结果为:"<<shu1<<endl;
shu1=22;
int shu5=--shu1;
cout<<"shu5的结果为:"<<shu5<<endl;
cout<<"shu1的结果为:"<<shu1<<endl;
return 0;
}
输出结果为
如上结果表明,使用后缀运算符时,先将右值赋给左值,再将右值递增或递减。前缀运算符则完全相反,先将右值递增或递减,再将结果赋给左值。
2.4 关系运算符(<,>,>=,<=)
#include<iostream>
using namespace std;
int main()
{
cout<<"输入两个数"<<endl;
int shu1=0,shu2=0;
cin>>shu1;
cin>>shu2;
bool xiangdeng=(shu1==shu2);
cout<<"等值运算结果为:"<<xiangdeng<<endl;
bool buxiangdeng=(shu1!=shu2);
cout<<"不等值运算结果为:"<<buxiangdeng<<endl;
bool dayu=(shu1>shu2) ;
cout<<"大于运算为:"<<shu1<<">"<<shu2;
cout<<" 是否正确:"<<dayu<<endl;
bool xiaoyu=(shu1<shu2) ;
cout<<"小于运算为:"<<shu1<<"<"<<shu2;
cout<<" 是否正确:"<<xiaoyu<<endl;
bool dayudengyu=(shu1>=shu2) ;
cout<<"大于等于运算为:"<<shu1<<">="<<shu2;
cout<<" 是否正确:"<<dayudengyu<<endl;
bool xiaoyudengyu=(shu1<=shu2) ;
cout<<"小于等于运算为:"<<shu1<<"<="<<shu2;
cout<<" 是否正确:"<<xiaoyudengyu<<endl;
return 0;
}
运算结果
1158301