一. 关系运算符:
就是用来比较大小的
运算符 | 名称 |
> | 大于 |
>= | 大于等于 |
== | 等于 |
<= | 小于等于 |
< | 小于 |
!= | 不等于 |
1. 运算符间不能有空格, 而且顺序不能被颠倒
2. 可以直接用于基本数据类型, 但对于浮点数来说, 只能比较大小, 不能比较是否相等.
※ 面试题: 分别写出BOOL, int, float. 指针类型的变量a与”零”的比较.
bool: if( !a )
if( a )
int:if( 0 == a )
float:const floatEXP = 0.000001
if( a < EXP && a > -EXP ) // a在0.000001和-0.000001之间, 无限接近于0.
指针: if(NULL i = a ) or if( NULL == a )
二. 逻辑运算符:
1. 运算符类型:a
① &&与运算
② ||或运算
③ ! 非运算
2. 优先顺序:
1).逻辑运算符之间的按由高到低顺序为:!(非) &&(与) ||(或)
2).逻辑运算符和其他运算符优先级由高到低顺序为:
!(非) 算术运算符 关系运算符 &&和|| 赋值运算符 |
3. 运算法则:
&&: 有0则0, 全1为1
|| : 有1为1, 全0为0
! : 有1为0, 有0为1 (取反)
三. 短路运算:
1. 在”与”运算中, 如果第一个运算为0, 后面的就不作运算了.
2. 在”或”运算中, 如果第一个运算为1, 后面的就不作运算了.
注: 只要运算没作完, 就叫短路运算, 不管后面还剩几个表达式或者前面作了多少个表达式的运算.
四. if语句:
1. 语句格式:
if(表达式1)
{
语句块1
}
else if(表达式2)
{
语句块2
}
else if(表达式3)
{
语句块3
}
……
else if(表达式n)
{
语句块n
}
else(表达式m)
{
语句块m
}
五. switch:
表达形式:
switch(表达式)
{
case 1: 常量表达式1: 语句组1
case 2: 常量表达式2: 语句组2
…
case n: 常量表达式n: 语句组n
break;
default: 语句组1
}
1). switch后跟的表达式只能是int, char, 枚举的
2). case里如果要定义变量, 要加大括号, 例:
switch(表达式)
{
case1:
{
// …..
}
break;
}
3). 多个case可以共用一组语句:
int nInput = 0 ;
scanf("%d", &nInput ) ;
switch( nInput )
{
case1:
case2:
case3:
{
printf("%d\n", nInput ) ;
}
break;
}
4). 使用技巧:
为防止丢失break, 先把结构搭起来, 再在结构内输入内容.
循环语句的使用
一. while循环:
1. 反复执行的程序段称为循环体
2. 循环变量: int i = 0 ; i为循环变量.
一般地, 默认一重循环写为int i = 0, 二重循环写为int j = 0 ;
3. 一般格式:
while( 一般是关系和逻辑表达式 )
{
循环体
}
后续语句 ;
①. while后不能加分号, 加了就成死循环.
死循环: 循环体中无循环终止条件或循环条件永远为真.
解决方法: 通过break和return语句结束循环.
②. 死循环形式:
while(1)
{
....
}
4. while循环执行流程:
首先判断循环中的条件是否为真, 如果为真, 则执行while循环体中的语句, 执行完毕后, 再回到条件那重新判断; 如果为假, 再跳过循环体,执行后面的条件.
二. do-while循环:
先执行循环体中的语句, 再判断条件真假, 如果为真则继续循环, 为假则停止循环. 就是说它至少执行一次循环. 一般格式为:
do
{
循环体
}while(表达式) ;
后续语句;
※do-while循环中while(条件)后面的分号必须要加, 否则编译报错.
三. for循环:
格式:
for( 初始化 ; 条件表达式 ; 增量 )
{
循环体 ;
}
1. for( int i = 1 ; i < 6 ; ++i )
在C语言中报错, 在C++中通过.
2. 死循环: for( ; 1 ; )
3. for循环不仅可以用于循环次数已经确定的情况, 还可以用于循环次数不确定而只给出循环结束条件的情况.
四. 其他:
1. 题目: 计算1+2+3+4+5. 比较以下两种写法(结果一样):
int i = 1 ; int i = 0 ;
int Sum = 0 ; int Sum = 0 ;
while( i <6 ) while( i < 5 )
{ {
Sum = Sum+ i ; ++i ;
++i ; Sum =Sum + i ;
} }