一:BOOL布尔类型
bool isTure;//没有定义初始值,默认是0,没有定义是为了下面引用它来装其他的值,并且它的值可以是很多数值,范围是:-128~127,也就是一个带符号的范围
int number1,number2;
printf("please input two number:");
scanf("%d%d",&number1,&number2);
isTure=(number1==number2)||(number1!=number2);//引用bool 的变量isTure,用于装别人的结果
printf("%d\n",isTure);
if(isTure){//引用bool结果
printf("number1 is bigger!\n");
}else{
printf("number2 is bigger!\n");
}
int a=10,b=20;
// BOOL c=a<b &&a++;//这里a=11,因为是与,必须两边都为真才为真,因此a++必须执行完。a=11
BOOL c=a<b ||a++;//这里a=10,因为是或,前面a<b已经是对的了,整个||或都是对的,因此后面a++就不再执行了。a=10
printf("%d,%d,%d\n",a,b,c);
二:关系运算符
>,<,>=,<=,!=,==有小括号就先优先执行小括号里面的
三:逻辑运算符
与&&(同1为真)、或||(同为假时才为假的)、非!
四:补充:条件运算符 a>b?a:b 满足大于条件则返回a,不满足则返回b
//通过条件运算符比较三个数的大小
// int a=10,b=20,c=22;
// int max= a>b?a:b;
// max= max>c?max:c;
// printf("max:%d\n",max);
四:if语句
if{}else if{} ,比多个if{}完成更好,更加高效不用每次判断完所有的if{},就会低效好多!
//if语句
// int a,b;
// printf("Please input :");
// scanf("%d%d",&a,&b);
// if(a==b){
// printf("相等\n");
// }
//练习1:控制台输⼊入⼀一个字符,如果输⼊入的是m,则输出男性,否则什么都不输出。如果从控制台输⼊入⼀一个字符,如果输⼊入的是m,则输出男性,否则输出⼥女性,那怎么实现呢?
// char a;
// printf("请输入一个字符:");
// scanf("%c",&a);
// if(a=='m'){ //大括号里面的语句只有一行语句时,可以省略{}
// printf("男性\n");
// }
if(a=='m') //大括号里面的语句只有一行语句时,可以省略{}
printf("男性\n");
// else{
// printf("女性\n");
// }
练习2:输⼊入⼀一个年份,判断该年份是否是闰年?如果是闰年,则输出该年是闰年,否则输出该年不是闰年。(注释:能被400整除%==0,或||则能被4整除%==0,但不能被100整除%!=0)
// int year;
// printf ("Please input a year:");
// scanf("%d",&year);
// if((year%4==0&&year%100!=0)||year%400==0){
// printf("\n\tThis is 润年\n");
// }else{
// printf("\n\t%d is 平年\n",year);
// }
// if{}else if{} ,比多个if{}完成更好,更加高效不用每次判断完所有的if{},就会低效好多!
//ASCII表里面
// //练习3:从键盘输⼊入⼀一个字符,如果是数字打印this is digital,如果是⼤大写字⺟母,打印this is capital letter,如果是⼩小写字⺟母,打印this is letter,如果是其他字符,打印other
// char number;
// printf("Please input a char:");
// scanf("%c",&number);
// if(number>='0'&& number<='9'){
// printf("this is digital\n");
// }else if(number>='A'&& number<='z'){
// printf("this is capital letter\n");
// }else if(number>='a'&& number<='z'){
// printf("this is letter\n");
// }else{
// printf("other\n");
// }
五:枚举类型
//枚举,枚举通常写在头文件下面
enum season{
spring=1,//如果不设定初始值是1,则默认是0开始,下面的依次参照前面的那个递增1。如设定autumn=7,但summer参照spring,则summer=2.并且可以任意设定个别枚举值
summer,//这样默认就是=2
autumn=100,//这样默认就是=3
winter//这样默认就是=4,最后一个枚举,并不需要“,"逗号
};//分号不可以漏了!
//下面显示怎么使用枚举
enum apartment{//下面有用
shichangbu=901,
jiaoxuebu,
zhiguibu,
xingzhengbu
};
// //枚举的作用是让程序的可读性更加强大!
int a;//如果是char型的必须定义枚举时的值必须是在0~255之间内
printf("Please input a number between 901 to 904:");
scanf("%d",&a);
switch(a){
case shichangbu:{//case后面不可以是变量名(只可以是整型),花括号是必须要加上的。因为涉及case里面有变量,就必须要有括号,否则可以有,也可以没有。
printf("市场部\n");
break;
}
case jiaoxuebu:{
printf("教学部\n");
break;
}
case zhiguibu:{
printf("职业规划部\n");
break;
}
case xingzhengbu:{
printf("行政部\n");
break;
}
default:{
printf("error!\n");
break;
}
}
六:switch语句
一般switch可以喝枚举结合在一起
跟if的区别:当情况比较多时,就需要switch case来实现
//如果是多个case的情况一样的,则有如下的情况:
enum weekDay{
monday=1,//逗号隔开
tuesday,
wednesday,
thursday,
friday,
saturday,
sunday//最后一个不需要逗号
};
// int weekDay;
// printf("请输入1~7,代表星期一到日:");
// scanf("%d",&weekDay);
// switch(weekDay){
// case 1:
// case 2:
// case 4:{
// printf("吃面包\n");
// break;
// }
// case 3:
// case 5:
// case 6:
// case 7:{
// printf("吃面\n");
// break;
// }
// default:{//可以省掉
// printf("error\n");
// break;
// }
// }
//switch case与if else区别:有范围的用后者,情况比较少的用前者!