目录
[ 表达式内的关系操作符与逻辑操作符:](# 表达式内的关系操作符与逻辑操作符:)
[ else:](# else:)
[ 循环语句:](# 循环语句:)
[ do...while语句](# do...while语句)
[ for语句:](# for语句:)
语法结构:
1.if(表达式)
语句;
2.if(表达式)
语句1;
else
语句2;
3.if(表达式)
语句1;
else if(表达式)
语句2;
else
语句3;
*表达式结果为非0(真)则执行语句
{ }代表代码块
if(5 == a ){//这么写if结构更加清晰明了
...; //变量放在右侧可以避免少写=
}
else{
...;
}
注意:“==”与“=”的区别
示例:
18 <= age <= 30的程序中判断过程是:
18 <= age (40) 为真 所以左边部分变为1
1 <= 30 为真 值为 1
所以if内的语句可以被执行
正确写法:
else 与相邻最近的if匹配(就近)
else会与第二个if匹配而不是第一个
正确的写代码规范十分重要,如下这样写就不会有问题:
当然也是可以简化的:
switch(整型常量表达式){
case 1:
........;
break;
case 2:
........;
break;
case 3:
........;
break;
...
case n:
........;
break;
default:
........;
break;
}
1.switch中必须为整型的常量表达式
2*.break语句建议在每个case后加上,避免以后修改时忘记添加*
3.default只能出现一次
思考:
#include <stdio.h>
int main() {
int n = 1;
int m = 2;
switch (n) {
case 1:
m++;
case 2:
n++;
case 3:
switch (n) {//switch允许嵌套使用
case 1:
n++;
case 2:
m++;
n++;
break;
}
case 4:
m++;
break;
default:
break;
}
printf("m = %d, n = %d\n", m, n);
return 0;
}
while(表达式){
循环语句;
}
以下给出三个示例
示例1:
示例2:
程序没有结束,这是一个死循环
示例3:
do{
循环语句;
}while(表达式);//分号不要忘记
for( 初始化部分;条件判断部分;调整部分 ){
循环语句;
}
- 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
- 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。
\1. 请问下面的代码中循环体执行几次?
#include <stdio.h>
int main() {
int i = 0;
int k = 0;
for(i =0,k=0; k=0; i++,k++)
k++;
return 0;
}
2.下面的代码会输出什么?
#include<stdio.h>
int main(){
int i = 0;
int j = 0;
for(; i < 10; i++)
for(; j < 10; j++)
printf("%d ",j);
return 0;
}
代码应该书写规范:
#include<stdio.h>
int main(){
int i = 0;
int j = 0;
for(i = 0; i < 10; i++)
for(j = 0; j < 10; j++)
printf("%d ",j);
return 0;
}
m=5,n=3
0 1 2 3 4 5 6 7 8 9(因为在第一次大循环中j已经变为10 后面的大循环中第二个循环是没有输出的)