第三章 判断
0.目录
if语句:一种情况
if-else语句:两种情况
else-if语句:多种情况(分段函数)
switch-case语句:多种情况(枚举情况)
1.语句结构
if语句:一种情况
if (……)
{
……
}
//其他表示,但不建议
if (……)
……;
else
……;
if-else语句:两种情况
if (……)
{
……
}
else
{
……
}
else-if语句:多种情况(分段函数)
if (……)
{
……
}
else if (……)
{
……
}
else
{
……
}
//如果情况多,也可以在其中加入else-if
switch-case语句:多种情况(枚举情况)
switch (控制表达式)
{
case 常量:
……
break;
case ……:
……
break;
case ……:
……
break;
……
default: //可以没有
……
}
/*控制表达式 必须为整数
C99常量可以是①1+1,②可以先定义常量const int MRN = 2,然后在switch-case语句中常量用 MRN
break,会走到遇到一个break,离开整个switch(要明白case不是划分一段一段的标志,只有break能跳出来)*/
举例:
//if
if (price <= money) {
printf("找您%d元", money - price);
}
if (price > money) {
printf("请再支付%d元", price - money);
}
//if-else
if (price <= money) {
printf("找您%d元", money - price);
}else {
printf("请再支付%d元", price - money);
}
//switch-case
switch ( type )
{
case 1:
printf("你好1");
break;
case 2:
printf("你好2");
break;
case 3:
printf("你好3");
break;
default:
printf("你好");
}
2.关系运算
真假关系:满足为1,不满足为0
== !=
> >= < <=
3.嵌套与级联
//嵌套,即是if内套if
if (a < b)
if (b < c)
max = c;
else
max = b;
else
if (a < c)
max = c;
else
max = a;
//级联,即是if后跟if
if (x < 0) {
f = -1;
}
else if (x == 0) {
f = 0;
}
else {
f = 2 * x;
}
printf("%d", f);
4.重要内容
else总和最近的if匹配,除非有{}分割
break跳出循环
continue 跳过本次循环剩下的步骤
goto 跳出多层循环
第四章 循环
0.目录
while语句(先判断)
do-while语句(先执行)
for语句(起始范围已知,递归变化)for循环相当于do-while
1.语句结构
while语句(先判断)
while (……)
{
……
}
do-while语句(先执行)
do
{
……
} while (……);
for语句(递归变化)
for (i = 1; i<= 5;i++)//注意循环条件可以与i无关,起始条件呢??
{
……
}
2.一些Q&A
do while 和 while 的选择,要不要先做一次,这时候举例一个特殊情况,一般是1,0
for的循环条件确定,老师方法是看次数,0-n-1和1-n都是n次(<=)
for注意循环条件可以与i无关,起始条件呢??