分支结构
一:if条件语句
1.if语句第一种形式
//括号内写条件表达式
if (5 > 3) {
//如果表达式为真,则执行大括号内的语句
printf("你说的是真的!\n");
}
例一:
//定义一个字符型变量
char sex;
//输入C的值
scanf("%c", &sex);
//进行判断,如果是M(将常量写在==的前面,变量写在==的后面)
if ('m' == sex) {
//如果条件成立,则输出男性
printf("男性\n");
}
2.if语句第二种形式
例一
//定义一个字符型变量
char sex;
//输入C的值
scanf("%c", &sex);
//进行判断,如果是M(将常量写在==的前面,变量写在==的后面)
if ('m' == sex){
//如果条件成立,则输出男性
printf("男性\n");
}else{
//如果条件不成立,则输出女性
printf("女性\n");
}
例二
//定义一个整型变量
int year = 0;
//输入年份
scanf("%d", &year);
//条件1为能被400整除
BOOL condition1=(0 == year % 400);
//条件2为能被4整除但是不能被100整除
BOOL condition2=(0 == year % 4) && (year % 100 != 0);
进行判断,
if (condition1 || condition2) {
//如果条件1和条件2满足一个,则输出是闰年
printf("%d年是闰年!\n", year);
}else{
//否则输出是平年
printf("%d年是平年!\n", year);
}
3.if语句第三种形式
例一
// 定义一个变量存储年份信息
int year = 0;
// 输入年份
scanf("%d", &year);
// 判断
if (year % 400 == 0) {
// 如果条件满足,则输出闰年
printf("闰年\n");
}else if (year % 4 == 0 && year % 100 != 0){
// 如果条件1不满足,但是满足条件2,则输出闰年
printf("闰年\n");
}else{
// 如果条件1和条件2都不满足,进入else,输出不是闰年
printf("不是闰年\n");
}
例二
// 定义一个char型的变量
char c = 0;
//输入c的值
scanf("%c", &c);
//进行判断
if (c >= 'A' && c <= 'Z') {
//满足条件,输出大写字母
printf("大写字母\n");
}else if(c >= 'a' && c <= 'z'){
//条件满足,输出小写字母
printf("小写字母\n");
}else if(c >= '0' && c <= '9'){
//需要注意数字要加单引号
printf("数字\n");
}else{
//条件都不满足,则输出其他字符
printf("其他字符\n");
}
二:(条件表达式) ? 语句1 : 语句2;
例一:
//定义两个变量a,b
int a = 4, b = 9;
//定义一个变量来保存最大值
int max = a > b ? a : b;
//定义一个变量来保存最小值
int min = a < b ? a : b;
//输出max,验证结果
printf("max : %d\n", max);
//输出min,验证结果
printf("min : %d\n", min);
例二:
//定义三个整型变量
int a, b, c;
//输出提示
printf("input three number:");
//输入三个数
scanf("%d%d%d", &a, &b, &c);
//定义一个变量max,存储最大值
int max = a > b ? (a > c ? a :c) : (b > c ? b : c);
//输出最大值
printf("max : %d\n", max);
//定义一个变量min,存储最小值
int min = a < b ? (a < c ? a :c) : (b < c ? b : c);
//输出最小值
printf("min : %d\n", min);
三.switch条件语句
例一
//定义一个变量,用来存储电话信息
int number = 0;
//输入电话号码
scanf("%d",&number);
//开关语句形式
switch (number) {
case 110:
printf("警察局\n");
break;
//break的作用,跳出switch语句
//如果不加break,当选择一个case后将不再做任何判断,直接执行下面的语句
case 120:
printf("急救中心\n");
break;
case 119:
printf("消防队\n");
break;
//如果不满足各个case,则执行default内的语句
default:
printf("没这个号码,\n");
break;
}
例二
int opt = 0;
printf("select character:(format:21)");
scanf("%d", &opt);
switch (opt) {
case zhanshi:
printf("战士\n");
break;
case Paladin:
printf("圣骑\n");
break;
case DeathKnight:
printf("死骑\n");
break;
case 21:
printf("猎人\n");
break;
case 22:
printf("萨满\n");
break;
case 31:
printf("盗贼\n");
break;
case 32:
printf("德兽伊\n");
break;
case 33:
printf("武僧\n");
break;
case 41:
printf("法师\n");
break;
case 42:
printf("武士\n");
break;
case 43:
printf("牧师\n");
break;
default:
printf("no character\n");
break;
}