第四章
条件运算符
//
// main.c
// project1
//
// Created by sihan guo on 2019/06/13.
// Copyright © 2019 sihan guo. All rights reserved.
//
#include <stdio.h>
#include <stdbool.h>
int main(int argc, const char * argv[]) {
// insert code here...
// 条件运算符
int a = 4,b = 5,max;
if(a>b){
max = a;
}else{
max = b;
}
printf("max:%d\n",max);
//如果想用一句话概括的话,用条件运算符的话:
//前面判断是否为真,若为真选择前者,若为假则选择后者
max = (a>b)?a:b;
printf("max2:%d\n",max);
//总结:
//条件运算符有三个操作对象 也叫三目运算符 他是C语言中唯一一个三目运算符
//表达式1?表达式2:表达式3
//max = a>b?a":b;也可以用
//条件运算符的结合顺序是从右往左的
//switch语句
//多分支选择结构
//格式:后面的{}不可以省略
// switch (表达式) {
// case 常量表达式1:
// {
// 一行或者多行的语句;
// }
// break;
// case 常量表达式2:
// {
// 一行或者多行的语句;
// }
// break;
// case......
// default:
// 一行或者多行;
// break;
// }
//switch后边的表达式的值若满足任何某个case后面的常量表达式的值 则执行该case后面的一行或者多行语句
//一直遇到break停止 跳出这个switch语句
//如果所有的case都不满足,则会执行default中包含的一行或者多行语句,然后跳出挣个switch语句
//举例:
//一般用整型变量int,不用char,但是也可以用
int abc = 3;
switch(abc){
case 1:
printf("1");
break;
case 2:
printf("2");
break;
case 3:
printf("3\n");
break;
default:
printf("-1");
break;
}
//每个case后面都不可以相同,要不然会出现编辑错误
//case和default顺序并没有影响,谁在上面谁在下面都无所谓 但是一般的话用default在最后
//绝对不要忘break语句,否则后果很严重
//如果忘记的话,如果在一个case语句末尾中不加break的话,会导致执行完一个case中包含的语句后,流程会继续执行下一个case的语句,直到遇到break;
//所以绝对不要忘记每个case语句(包括default语句)后面一定要加break;
//case后边可以有多行语句,而且不用加{} 系统会自动顺序执行本case后边的所有语句,一直到break
//{}加括号也是可以的
//default可以没有,那么所有的case条件所有都不满足时,则挣个的switch都不会被执行ß
//特殊写法
//多个case语句可以共用一句执行语句
//case 1:
//case 2:
//case 3:
//执行语句
}