关系运算符:
>:判断左边表达式是否大于右边表达式,如果大于结果为1,如果小于结果为0
3>5 结果为0 10>2 结果为1
<:判断左边表达式是否小于右边表达式,如果小于结果为1,如果大于结果为0
2<1 结果为0 2<6 结果为1
==:判断左边表达式是否等于右边表达式,如果等于结果为1,如果不等于结果为0
int num1=10,num2=10; num1==num2; 结果为1
20==10;结果为0
!=:判断左边表达式是否不等于右边表达式,如果不等结果为1,如果等于结果为0
int num1=10,num2=10; num1!=num2; 结果为0
>=:判断左边表达式是否大于或等于右边表达式,如果大于或等于结果为1,否则结果为0
<=:判断左边表达式是否小于或等于右边表达式,如果小于或等于结果为1,否则结果为0
逻辑运算符:
&&:逻辑与 读作并且 左右两边表达式都为真,结果才为真
口诀:1假则假
||:逻辑或 读作或者 左右两边表达式有一个为真,结果就是真
口诀:1真则真
!:逻辑非 读作取反 真变假,假变真(口诀)
C语言中非0都为真,0为假
!5;结果为0
!最高 -> 算数运算符 -> 关系运算符 -> &&和|| -> =
sizeof运算符:
计算类型、常量、变量所占的内存空间字节数
语法:
sizeof(类型);
sizeof(常量值);
sizeof(变量);
运算结果是unsigned long类型
注意:如果用sizeof计算char类型的常量,那么计算的结果是4
中文(包括汉字和符号)在Mac占3个字节
程序的三种结构:
顺序结构:程序从上往下依次执行
分支结构:程序有选择的执行或者不执行某段代码
循环结构:重复的执行某段代码
if语句四种形式::
if(表达式){
语句块;
}
语义:如果表达式的结果为真,那么执行语句块,否则不执行语句块
if(表达式){
语句块1;
}else{
语句块2;
}
语义:如果表达式为真,那么执行语句块1,否则执行语句块2
if语句的嵌套:
就是说if或者else块里面可以接任意的if-else语句
if(表达式1){
语句块1
}else if(表达式2){
语句块2
}else if(表达式3){
语句块3
}
……………………
else{
语句块n
}
语义:判断表达式1,如果成立执行语句块1,否则继续判断表达式2,如果成立执行语句块2,否则继续往下判断表达式3,如果成立执行语句块3,否则继续往下判断,直到所有的表达式都不成立,那么执行语句块n
三目运算符:
语法:表达式1 ? 表达式2: 表达式3
语义:运行表达式1,结果为真则执行表达式2,否则执行表达式3
口语:问表达式1成立吗?成立则执行表达式2,否则表达式3
可以跟 if(){
}else{
}
互换
代码块:
用{}包起来的部分就叫代码块
1.代码块里面声明的变量不能在代码块外访问(因为出了代码块,会被系统回收这部分的内存空间)
2.代码块里面可以声明代码块外面之前同名的变量,如果这样做得话,代码块里同名的变量会在代码块内暂时遮盖掉外面的变量
if语句需要注意的地方:
1.千万不要在if语句后面加分号,手贱要加加在大括号后面
2.大括号可以省略,如果省略的话,只能作用域离它最近的一条语句。但是这条语句不能是声明变量的
3.避免让你的条件永真或者永假,因为这么做毫无意义