目录
if语句
switch语句
while语句
for语句
do while语句
if语句
1.if语句:if表示如果条件成立就执行语句
语法结构:if(表达式)
语句;
举例:
int main()
{
int age = 20;
if (age >= 18)
{
printf("成年\n");
}
return 0;
}
语法结构:if(表达式)
语句1;
int main()
{
int age = 20;
if (age >= 18)
{
printf("成年\n");
}
else
{
printf("未成年\n");
}
return 0;
}
3.if-else if语句:多条件语句
语法结构:if(表达式1)
语句1;
else if (表达式2)
语句2;
else
语句3;
举例:
int main()
{
int age = 25;
if (age < 18)
{
printf("青少年\n");
}
else if (age>=18 && age<30)
{
printf("青年\n");
}
else if (age >= 30 && age<50)
{
printf("中年\n");
}
else if (age >= 50 && age<80)
{
printf("老年\n");
}
else
{
printf("老寿星\n");
}
return 0;
}
悬挂else
举个例子:
int main()
{
int a = 0;
int b = 2;
if (a == 1) //什么都没打印,if要与最近的else匹配
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
上面代码中else到底是更那个if匹配,如果写成这样是不是误以为会跟第一个if匹配呢,这就是书写不规范的问题,实际上else是与最近if进行匹配。
1.判断一个数字是否为奇数
代码:
int main()
{
int num = 0;
scanf("%d", &num);
if (num % 2 == 1)
{
printf("%d是奇数\n", num);
}
else
{
printf("%d不是奇数\n", num);
}
return 0;
}
写法1:
int main()
{
int i = 1;
while (i <= 100)
{
printf("%d ", i);
i += 2;//每次都产生的是奇数
}
return 0;
}
写法2:
int main()
{
int i = 1;
while (i <= 100)
{
//判断i是否为奇数
if (i % 2 == 1)
{
printf("%d ", i);
}
i++;
}
return 0;
}
switch语句
swiich语句通常用于多分支语句。
语法结构:
switch(整型表达式)
{
case1:
case2:
default:
}
举个例子:
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)//括号里面必须是整型表达式
{
case 1: //case后面要放整型常量表达式
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
}
return 0;
}
代码如下
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); // m = 5 n = 3
return 0;
}
上面结果为什么m=5,n=3,大家可以好好想以下,其实很简单,开始n=1执行case1,这是m=3了,但是没有break,继续执行case2,n=2,再执行case3,由于n=2执行case2,此时m=4,n=3;遇到break,跳出中间的switch语句,执行case4,此时m=5,所以最后m=5,n=3.
while语句
while语句:可以循环进行。
语句结构:while(表达式)
语句;
举例:打印1-10
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i++;
}
return 0;
}
下面举两个代码,可以看出break,和continue之间的区别
代码1:
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
break; //w永久的终止循环
printf("%d ", i);//1-4
i++;
}
return 0;
}
上面代码输出结果是1、2、3、4,因为当i==5的时候就用到break,直接跳出循环结构,结束了循环。
代码2:
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
continue; //表示跳出本次循环后面的代码,进入下次循环的入口判断
printf("%d ", i);
i++;
}
return 0;
}