1.布尔类型
BOOL是一种表示非真即假的数据类型,存储YES(1)和NO(0)两个值
BOOL a = YES;
printf("%d\n" , a);//结果为1
2.关系运算符
关系运算符: > , >=, < ,<= ,== , !=
int n1 = 10, n2= 32;
BOOL isTrue = NO;//定义初始bool型值为0
isTrue = n1 >n2; isTrue = (n1 == n2);
isTrue = n1 >= n2; isTrue = (n1 != n2);
printf(%d\n,isTrue);//结果0
3.逻辑运算符
逻辑与(&&) ,逻辑或(||) ,逻辑非(!)
逻辑与的短路现象:
如果左边的表达式为假,则不会再判断右边.千万不要把赋值操作放在逻辑与预符的右边,有可能执行不到.不为o 的都为真.
// isTrue = 1>4 && num < num2 ;
// printf("isTrue = %d\n", isTrue);//结果为0 //逻辑或:逻辑或运算符两边的表达式同时为假,整个逻辑表达式的结果为假. 如果左边的表达式为真,则不用判断右边.
// isTrue = 1>0 || num < num2 ;
// printf("isTrue = %d\n", isTrue);//结果为1
4.if语句
常见格式 : if(){} ,,,if(){}else{} ,,,if(){}else if(){}else{}
例子:
//判断输入的年份是否是瑞年
int year = 0;
printf("please input a new year:\n");
scanf("%d", &year);
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){
printf("this year %d is a 瑞年 \n", year);
}else{
printf("this year %d is a 平年 \n", year);
}
//if应用
char m = 0 ;
printf("please input a char\n");
scanf("%c", &m);
if ( m>'0' && m <= '9' ) {
printf("this is digital\n");
} else if ( m >= 'A' && m <= 'Z' ) {
printf("this is capital letter\n");
} else if ( m >= 'a' && m <= 'z' ) {
printf("this is letter\n");
} else {
printf("other\n");
}
4.条件运算符
条件表达式 ? 表达式1 : 表达式 2 例如: a > b ? a : b // ? 相当于if, : 相当于else
例题:
//求两个数的最小值
int min = 0;
if (a > b) {
min = b;
}else{
min = a;
} //相当于min = a > b ? b : a
printf("min = %d\n", min);
5.switch..case语
switch
语句
语法:
!
switch(整型表达式){
case 值1:{ //case后面的标示必须是一个常量或者常量表达式 :例如 3 + 4
语句1;
break;
}
case 值2:{ //如果想在case中定义变量,一定要加上大括号.
语句2;
break; //break作用,结束当前分支,退出switch,执行switch之后的语句.
}
...
default:{
语句n + 1;
break;
}
}