(一)控制语句入门
一.条件判断语句
1.if-else语句
if(条件){
/* 如果表达式为真将执行的语句 */
}else{
/* 如果表达式为假将执行的语句 */
}
2.if语句
if(条件){
/* 如果表达式为真将执行的语句 */
}
3.if-else if-else语句
if(条件1){
/* 当条件1为真时执行 */
} else if(条件2){
/* 当条件2为真时执行 */
} else if(条件3){
/* 当条件3为真时执行 */
}else{
/* 当上面条件都不为真时执行 */
}
4.switch-case语句
switch(表达式){
case 整型常量1:
/* 表达式等于整型常量1执行的代码 */
break; /* 可选的 */
case 整型常量2:
/* 表达式等于整型常量2执行的代码 */
break; /* 可选的 */
/* 您可以有任意数量的 case 语句 */
default : /* 可选的 */
/* 表达式不等于上面所有情况执行的代码 */
}
二.循环语句
1.while语句(循环体)
while(条件){
/* 如果条件为真将重复执行的语句 */
}
2.do-while语句
do {
/* 如果表达式为真将重复执行的语句 */
}while(条件);
do-while
循环与while
循环的区别:do-while
循环是先循环后判断,循环体至少执行一次;while
循环是先判断后循环,循环体可能一次也不执行。
3.for语句
for (初始值;条件;递增或递减){
/* 如果条件为真将重复执行的语句 */
}
(二)运算符与变量扩展
一.短路与&&:左边表达式是false
,右边就不执行,逻辑表达式值为false
。
二.短路或||
:左边表达式是true
,右边就不执行,逻辑表达式值为true
。
int x = 1;
printf("%d\n",1<0 && ++x);
printf("x=%d\n",x);
输出:0 x=1
(三)控制语句扩展
一.switch-case省略break语句
实现输入年和月,返回该月的天数的函数。
int days_of_mouth(int year,int mouth){
int days;
switch(mouth){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 2:
days = (year%4==0&&year%100||year%400==0)?29:28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = -1; // 表示错误
}
return days;
}