让选择和循环不再成为你的绊脚石!!!
目录
2.表达式成立(为真),则语句执行。 表达是不成立(为假),则语句不执行。
2.if默认只能接一条语句,如果要接许多语句时,加上{},一般一个语句也加上(美观)。
2.表达式1————用于循环变量的初始化。 表达式2————用于循环结束条件的判断。 表达式3————用于循环变量的调整
一.程序设计的结构
程序设计有顺序结构,选择结构,循环结构。相信大家学到这里顺序结构都可以写出来了吧!
在这里由我给大家梳理一下选择结构(if,switch),循环结构(for,while,do-while)。
准备好了吗,我就要发车了!
二.关系操作符
这里为什么我不先写这两个结构呢(因为如果没有关系操作符结构也就无法正常运行就会导致许多bug出现。
>大于运算符 <小于运算符 >=大于等于运算符 <=小于等于运算符 ==相等运算符 !=不相等运算符
且还要明白在c语言中0表示假非0表示真。学了这么多但是还不知道两个表达式和起来的真假;
这就引出了第三点
三,逻辑操作符(发现了吗这里很像高中数学的集合那一部分)
1.!逻辑取反(和你设想的刚好相反)
2.&&逻辑与(并且)——————两真为真,一假则假(前后表达式同时满足表达式为真)
3.||逻辑或(或者)—————一真为真(前后表达式只要有一个满足表达式为真)
四.if语句
1.格式
if(限制范围表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}
2.表达式成立(为真),则语句执行。
表达是不成立(为假),则语句不执行。
以下是对上面的文字用代码表示
#include<stddio.h>
int main()
{
if(1)
{
printf("学好c语言");
}
else if(0)
{
printf("好好学习");
}
return 0;
}
此时你就会发现它会执行第一个打印“学好c语言”;如果你有幸是用的vs2022/vs2019的话,你还可以按F10(调试)来查看他的每一是怎么走的。
3.嵌套if
其实我早在上面的格式中就已经把嵌套if写上去了,仔细找欧。这里就不卖关子了。
else if(表达式2)
{
语句2;
}
其实就是这一句,为什么不直接写if而是在if前加上else?
因为如果你的if很多大脑思维就会混乱(第一个我写的到底走通了吗)如果加上else就知道第一个已经行不通了,
4.else和else if的区别
else表示所有的不符合的反面。else if表示所有不符合的反面其中之一。else范围大,else if范围小。
5.悬空else
如果有多个if和else,可以记住这一条规则,else总是和最接近的if匹配。
如果有多个if和else,可以记住这一条规则,else总是和最接近的if匹配。
例如
#include<stddio.h>
int main()
{
if(1)
printf("加油");
if(3)
printf("学习");
else
printf("拿个好offer");
return 0;
}
底下的else跟着if(1)还是if(3)
答案是if(3)
通过这个例子大家应该已经和清楚了吧
6一些注意事项
1.if或else后面都没有分号(;)。
2.if默认只能接一条语句,如果要接许多语句时,加上{},一般一个语句也加上(美观)。
五.switch语句
1.格式
switch(判断表达式)
{
case 1;
case 2;
case 3;
default
}
2.注意事项
判断表达式中必须是整形表达式
case后面的值,必须是整形常量表达式
case后面的要加空格再接数字
3.default
如果想要case3以后的都为一个东西就用这个或者无法匹配代码中的case语句(不再case的范围)
4,break
只有在switch语句中使用break才能跳出switch语句
case决定是式入口
break决定的是出口
六.while循环
1,格式
int i;(初始化)
while(判断)
{
语句;
i++;(调整)++
}
和if语句的格式很像
七,for循环
1.格式
for(表达式1;表达式2;表达式3)
{
语句;
}
2.表达式1————用于循环变量的初始化。
表达式2————用于循环结束条件的判断。
表达式3————用于循环变量的调整
3.while循环与for循环的对比
while和for都有初始化,条件判断,变量调整。但是while的不太集中不便与维护
for三个部分非常集中,便于维护。
八,do-while循环
1.格式
do
语句;
while (表达式);
2.do-while循环的循环体至少被执行一次
九.break和continue的用法
break的作用是永久的终止循环,break出现直接跳出循环。
continue的作用是跳过本次循环后面的代码(跳过continue后面的代码然后接着运行)————循环时才能用。