在教程(三)中,我们学习了基本的运算符,这节课中我会给大家介绍一个三目运算符和分支结构语句。准备好了吗?
1. 三目运算符
除了三中讲到的基本运算符之外,C语言还有一个三目运算符“? :”,基本格式是:
表达式1 ? 表达式2 : 表达式3
它是这样子执行的:当表达式1判断为真时,执行表达式2,当表达式1判断为假时,则执行表达式3。?表示判断表达式1的真假。
举例说明:
int score = 85;
score > 60 ? printf("小明及格了"):printf("小明挂科了");
输出结果:
小明及格了
2. 分支结构语句
(1)if语句
if(表达式)
{
代码块
};
“如果……则……”,如果表达式为真,执行{ }里的代码块,判断为假则不执行代码块。
举例说明:
int score = 85;
if(score >= 80)
{
printf("小明的成绩很优秀");
}
(2)简单if-else语句
if(表达式)
{
代码块1
};
else
{
代码块2
};
如果表达式为真,执行代码块1;否则,表达式为假的话,则执行else后面的代码块2。
举例说明:
int score = 85;
if(score < 60)
{
printf("小明的成绩有待提高");
}
else{
printf("小明的成绩及格了");
}
这个语句和三目运算符有点类似,区别是if-else可以在{ }里写上很多执行代码,而三目运算符只能执行一个语句。
(3)多重if-else语句
if(表达式1)
{
代码块1
}
......
else if(表达式m)
{
代码块m
}
......
else
{
代码块n
}
从上到下依次判断表达式的值,当出现某个值为真时,执行表达式对应的代码块;如果前面表达式的值都判断为假时,则执行else后面的代码块n。
int score = 64;
if(score > 80)
{
printf("小明的成绩很优秀");
}
else if(score > 70)
{
printf("小明的成绩不错");
}
else if(score >= 60)
{
printf("小明的成绩及格了");
}
else
{
printf("小明挂科了");
}
输出结果:
小明的成绩及格了
(4)嵌套if-else语句
嵌套的意思if-else语句里面还有if-else语句:
if(表达式1)
{
if(表达式1-1)
{
代码块1-1
}
else
{
代码块1-2
}
}
else
{
代码块2
}
在小明及格的基础上判断他的成绩是否优秀:
int score = 85;
if(score >= 60)
{
if(score >= 80)
{
printf("小明的成绩很优秀");
}
else
{
printf("小明的成绩不错");
}
}
else
{
printf("小明挂科了");
}
输出结果:
小明的成绩很优秀
3. 练习题
(1)
int money = 40;
int price = 50;
printf("够钱买吗:");
printf("%c\n",money>=price? 'Y':'N');
求输出结果。
(2)当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是______
if(aif(cx=1;
}
else
{
if(aif(bx=2;
}
else
{
x=3;
}
}
else
{
x=6;
}
}
}
else
{
x=7;
}
A . 1 B. 2 C. 3 D. 6
敢来挑战第2题的嵌套结构吗?把答案写在评论里吧
教程(三) 练习题答案:1. A 2. C 3. B
int money = 40;
int price = 50; printf("够钱买吗:");
printf("%cn",money>=price? 'Y':'N');
%C指的是 money和price2个名词
N
第二道题你们是怎么看懂的?
最后一题为什么不是3呢
3、钱购买吗
N
够钱买吗:N
B
N ,B