C语言的分支与循环(上)

1.if语句

if (表达式)
     语句

 表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行。在C语言中,0为假,非0表示真,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果是 不是0,则语句执行。

下面看一个例子:

#include <stdio.h>
 int main()
 {
     int num = 0;
    scanf("%d", &num);
 if(num > 1)
 printf("%d比数字1大\n", num);
return 0;
}

 if else语句

if (表达式)
    
     语句a
    
else
    语句b

注意: 默认在  if else 语句中默认都只控制⼀条语句。

假如上面的if else 语句中出现语句c,那么语句c是不受if else 语句控制的。不管if语句的条件的真 假,都会被执行。

如果我们想要控制两条及以上的语句该怎么办呢?

那就要使用else 后也可以跟上大括号。

if (表达式)
   { 
     语句a
     语句c
}

else
    语句b

就像这样我们就可以控制语句a和语句c了

2. 关系操作符

在c语言中用于比较的表达式,称为关系表达式。

>大于运算符

<小于运算符

>=大于等于运算符

<=小于等于运算符

==相等运算符

!=不相等运算符

以上的表达式通常返回0或1,表示真假。

注意:==相等运算符与赋值运算符=是两个不一样的运算符,不要混淆。

3. 条件操作符

条件操作符也称为三目操作符:  如果exp1为真,exp2计算,计算的结果是整个表达式的结果;如果exp1为假,exp3计算,计算的结果是整个表达式的结果.

exp1?exp2:exp3
# inclued <stdio.h>
int main()
{
  int a = 0;
  int b = 0;
  scanf("%d %d",&a,&b);
  int m = a>b? a : b;
  printf("%d\n",m)
  return 0;
}

 

4. 逻辑操作符:&&,||,!

!:逻辑取反运算符(改变单个表达式的真假)
&&:与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)
‖:或运算符,就是或者的意思(两侧至少有一个为真,则为真,否则为假)

5. switch语句

switch语句是一种if else的特殊结构,用于判断条件有多个结果的情况。

swith(expression){
     case value1:statement
     case value2:statement
     case value3:statement
     default:statement
}

在以上代码中,根据表达式expression不同值,执行相应的case分支。如果找不到对应值,就执行default分支
注意:switch后的expression必须是整型表达式
case后的值,必须是整型常量表达式

6. while循环

while语句和if语句非常相似,下面对if和while进行对比,

if (表达式)
     语句;




while (表达式)
       语句;

while语句是可以实现循环效果的。

#include <stdio.h>
int main()
{
  
   while(1)
        printf("hehe\n");//while 后面的条件满足,死循环打印hehe
   return 0;
}

7. for循环

for循环是三种循环中使用最多的,
for(表达式1;表达式2;表达式3)
1 用于循环变量的初始化
2 用于循环结束条件的判断
3 用于循环变量的调整

for (表达式1;表达式2;表达式3)
语句;


在整个循环过程中,表达式1只被执行一次,剩下的就是表达式2,循环语句,表达式3在循环。
 

8. do-while循环

do 
   语句;
while(表达式);

do while 循环则是先进入循环体,执行循环语句,然后再执行while后的表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环。

9. 循环的嵌套

前⾯学习了三种循环  while , do while ,for ,这三种循环往往会嵌套在⼀起才能更好的解决 问题,就是我们所说的:循环嵌套。

题目:找出100~200之间的素数

10. goto语句

C语⾔提供了⼀种非常特别的语法,就是 内跳转到设置好的标号处。goto语句和跳转符号,语句可以实现在同⼀个函数内跳转到设置好的标号处。

#include <stdio.h>
int main()
{
  printf("hehe\n");
  goto next:
  printf("haha\n");
next:
  printf("hi\n")
  return 0;

}

注意:如果goto语句使用不当,会导致在函数内部随意乱跳,打乱程序的执行流程。建议大家尽量不要去使用。但是在多层循环的代码中,goto语句能够快速跳出循环。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值