C++判断:相等性和关系操作符
介绍C++的一个简单版本的if结构,它允许程序根据某些条件的真假做出决定。如果条件符合,即条件为真(true),会执行if结构主体语句。如条件不符合,即条件为假(false),不会执行if结构主题语句。等会看例子。
1.常见编程错误:如果 ==,!=, >=h和<=操作符的符号对之间出现空格,会出现语法错误。
2.常见编程错误:对!=,>=和<=这3个操作将来说,假如两个字符顺序搞反了(各自写成!=, =>和<=),便会产生语法的错误。某些情况下,将!=写成=!虽然不会报告语法错误,但是肯定是逻辑错误。
一丶相等性和关系操作符
关系操作符 | 含义 |
---|
> | 大于 | < | 小于 | >= | 大于等于 | <= | 小于等于 | 相等性操作符 | ------------------ | = | 等于 | != | 不等于 |
常见的编程错误:切不可将相等性操作符”==“同赋值操作符”=“混为一谈。其实按正统的逻辑,在测试的时候,相等性操作符才应读成........等于.......。相反,赋值操作符应该读成".....获得.....", “获得........的值”或者被赋予值....。有人喜欢把相等性操作符读成 ”双等于 正如稍后所述,若混淆了这两个操作符,不仅可能出现不易辨别的语法错误,在逻辑上有时也会出现不易察觉的错误。“
二丶使用步骤
只要满足一个if结构的条件,便会执行与if对应的输出语句。
代码如下(示例):
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main()
{
int num1,num2;
cout <<"输入两个整数我会告诉你!\n"
<<"他们满足的关系:";
cin>>num1>>num2;
if(num1 == num2)
cout<<num1<<"等于"<<num2<<endl;
if(num1 != num2)
cout<<num1<<"不等于"<<num2<<endl;
if(num1 < num2)
cout<<num1<<"小于"<<num2<<endl;
if(num1 > num2)
cout<<num1<<"大于"<<num2<<endl;
if(num1 <= num2)
cout<<num1<<"小于等于"<<num2<<endl;
if(num1 >= num2)
cout<<num1<<"大于等于"<<num2<<endl;
return 0;
}
}
输出结果
分别输入 3 7,22 12,7 7体验一下结果把 —
总结
至此:
6-8行
是using语句,帮助我们避免重复std::前缀。一旦我们包含了这些using语句,那么可分别直接写cout,不用写std::cout;直接写cin,不用写std::cin;直接写endl(是小写的L不是,123的1,有些编译器看不出来),而不用写std::endl,(注意:此次处开始,每个例子都将包含一条或者多条using语句)。
12行
int num1, num2;
声明了程序中使用的变量。你应该记住,变量既可以在声明中声明,也可以在多个声明中进行声明。如果在一个声明中声明了多个名字(就像本例这样),就要用逗号(,)将其隔开。我们将其称为逗号分开列表。
程序员采用连续流读取操作(第16行)输入两个整数。记住,由于第7行的存在,所以我们能直接写cin(而不是std::cin),首先一个值读入变量num1中,然后一个值读入变量num2中。
第18行和第19行的if结构
if ( num1 == num2 ) cout <<num1 <<" 等于 "<<num2 <<endl;
用于比较变量num1和num2的值,检测其相等性。假如值都是想等的,那么第19行的语句会显示一行文本。指出数字相等。如果在第21丶24丶27丶30和34行起始处的一条或多条if语句中,条件是真(true),那么对应的cout语句会显示一行文本。
注意: 每个if结构都在它的主体中有单独一个语句,而且每个主体都进行缩进处理。通过对if结构主体进行缩进有助于改善程序的可读性。在后面,我会展示如何用多语句主体来指定if结构(将主体语句封装到一对花括号{}中)。
良好的编程习惯(1):
对if结构的主体语句采用缩进,可突破出结构主体,并增强程序可读性。
良好的编程习惯(2):
在一个程序中,每一行只应有一条语句。
良好的编程习惯(3):
在 if 结构的条件之后,假如紧接在右侧的圆括号之后放置一个分号,会造成一处逻辑错误的(尽管不是语法错误)。分号会造成 if 结构的主体变成空的,因此 if 结构本身不会采取任何行动,无论它的条件是否为真。更糟糕是丶if 结构原始主体语句现在会变成紧接在 if 结构之后的一条顺序执行的,无论如何都会执行,这通常会导致程序产生不正确的结果。
注意: 请注意空白间距的使用。在C++语句中,空白字符(制表符丶换行符和空格)通常会被编译忽略。因此,按程序员的意愿,语句可分隔到多行上,而且可加上任意空距离。但是,假如标识符丶字符串(比如"hello")和常量(比如数字1000)分割到多行是不正确的。
常见的编程错误(1):
如通过插入空白字符的办法来分割一个标识符,会产生语法错误(比如将main误写ma in)。
良好的编程习惯(4):
较长的语句可分割到几个行上,如必须像这样分割一条语句,请挑选最合适的断点。比如对一个用逗号分隔开的列表来说,可选择在某个逗号之后断开;对于较长的表达式,可靠考虑在一个操作符之后断开等等。一个语句分割成多行后,除了第一行之外,其他所有行都采用缩进处理。
良好的编程习惯(5):
如果一个表达式里需要包含多个操作符,请务必参考以上操作符优先级表格,核实表达式中的操作符换自己希望的顺序执行。如果表达式过于复杂,以至于无法确定顺序,不妨碍表达式分割为几个小时语句,或者干脆就用括号强行规定顺序——这样的做法和在代数中无异。其间,请留意某些操作符(比如赋值符“=”)是按从右到左的顺序结合的,而非从左到右。
我们介绍了C++的许多重要的重要的特性,包括在屏幕上打印数据,从键盘输入数据,执行计算和做出决定等等。
|