知识点概括:
1.BOOL布尔类型
2.关系运算符
3.逻辑运算符
4.if语句
5.枚举类型
6.switch语句
BOOL数据类型,是一种表示非真即假的数据类型,布尔类型的变量只有YES和NO两个值。YES表示表达式结果为真,NO表示表达式结果为假,在C语言中,认为非0即为真。
switch..case语句通常会有break结束case语句的执行。default后面的break可以舍掉
//枚举类型是一个构造类型,它使一组整型常量,罗列出了有的可能性。
//定义枚举,使用关键字 enum + 枚举类型的名字 {枚举值,多个枚举值之间通过逗号分割};最后的分号必不可少。
//枚举类型将人能够识别的识别符,和计算机能够识别的数字对应起来。
enum season {
spring, //春天
summer, //夏天
autumn, //秋天
winter, //冬天
};
enum company {
teaching = 801, //教学部 分机号801
marker = 802, //市场部 分机号802
personl = 803, //人事部 分机号803
consult = 804, //咨询部 分机号804
};
int main(int argc, const char * argv[])
{
// BOOL isTrue = NO;
// printf("%d", isTrue);
//关系运算符
// isTrue = (5 + 4) < 10;
// printf("%d", isTrue);
//逻辑运算符 &&(逻辑与) ||(逻辑或) !(逻辑非)
// int a = 0, b = 5;
// isTrue = a || (b = 2); //逻辑短路。
// isTrue = !!!a;
// printf("%d %d", isTrue, b);
/*use of undeclared identifier 'a'
变量 a 没有定义,解决方案,定义变量a。
expression result unused
表达式的结果没有使用,解决方案:定义变量存储表达式的结果。
unused variable 'b'
变量b没使用。
*/
//if语句第一种结构
//if(条件表达式){语句} 当条件表达式的条件成立时(为真),执行大括号内的语句,否则执行if之后的语句。
// int a = 10;
// if (a > 10) {
// printf("%d\n", a);
// }
//练习1:
// char sex = 0;
// printf("请输入性别:");
// scanf("%c", &sex);
// if (sex == 'm') {
// printf("男性");
// }
//if语句第二种格式
//if (条件表达式) {语句1} else {语句2}
//当条件表达式成立时,执行语句1,否则执行语句2。
// char sex = 0;
// printf("请输入你的性别(m/n):\n");
// scanf("%c", &sex);
// if (sex == 'm') {
// printf("男性");
// } else {
// printf("女性");
// }
// int a = 0; int b = 0; //求两个数的最大值。
// int max = 0; //存储两个数的最大值。
// printf("请输入两个整数值:\n");
// scanf("%d%d", &a, &b);
// if (a < b) {
// printf("%d\n", b);
// max = b;
// } else {
// printf("%d\n", a);
// max = a;
// }
// printf("%d",max + 10);
// int a = 0; int b = 0; //求两个数的最小值。
// int min = 0;
// printf("请输入两个整数值:\n");
// scanf("%d%d", &a, &b);
// if (a < b) {
// min = a;
// } else {
// min = b;
// }
// printf("min:%d\n", min);
//
// //条件运算符
// min = a < b ? a : b; //遇到条件表达式就加问好(?)。
// printf("%d", min);
//练习2: //判断年份是否是闰年。
// int year;
// printf("请输入一个年份:\n");
// scanf("%d", &year);
// if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
// printf("%d是闰年。\n", year);
// } else {
// printf("%d不是闰年。\n", year);
// }
// int a = 15, b = 20;
// if (a < b) {
// printf("%d", a);
// } else if (a == b) {
// printf("%d", a + b);
// } else {
// printf("%d", b);
// }
//求三个数值的最大值。
// int a = 0, b = 0, c = 0, max = 0, min = 0, mid = 0;
// printf("请输入3个数值:\n");
// scanf("%d%d%d", &a, &b, &c);
// //1.先求a 与 b 的最大值。
// max = a > b ? a : b;
// //2.再求max (a 与 b 的最大值) 与 c的最大值。
// max = max > c ? max : c;
// printf("max:%d", max);
//求三个数值的最小值。
// min = a < b ? a : b;
// min = min < c ? min : c;
// printf("min:%d", min);
//求三个数值的中间值.
// mid = (a + b + c ) - (max - min);
//枚举类型 enum + season是枚举数据类型的名字。
// enum season a = winter;
// printf("%d", a);
//switch语句 根据括号里表达式的值 与 switch中对应的case 后 的常量进行匹配,
//一旦发现相同,就执行该case分值的语句,如果没有匹配到对应的case,则就执行 default 分值的语句。
// enum company lanou = teaching;
// printf("请输入分机号:\n");
// scanf("%d", &lanou);
// switch (lanou) {
// case teaching:
// {//如果要在case分支中定义变量,必须要给整个case分支加上大括号。
// int a = 5;
// printf("接通教学部\n");
// break; } //break结束当前分支,跳出switch,执行switch之后的语句。
// case marker:
// printf("接通市场部\n");
// break;
// case personl:
// printf("接通人事部\n");
// break;
// case consult:
// printf("接通咨询部\n");
// break;
// //default 语句的执行顺序和位置无关,只要未匹配到对应的分支,就会执行default中的语句。
// default:
// printf("你他妈的到底找谁");
// break;
// }
// printf("switch 结束了。");