C语言学习1:分支和循环

对近期学习的条件判断语句(分支语句)和循环语句做一下总结

分支语句和循环语句是C语言中两种重要的控制语句。

1. 分支语句

分支语句用于根据条件的真假来选择执行不同的语句块。C语言中常用的分支语句有if语句和switch语句。

- if语句:语法格式如下

if (condition) {
      // code to be executed if condition is true
  } else {
      // code to be executed if condition is false
  }
  

       if语句根据条件`condition`的真假来执行不同的代码块。如果`condition`为真,则执行if后大括号内的代码块;否则执行else后大括号内的代码块。else分支是可选的。if语句默认执行第一个语句,若执行多条需加大括号,若执行一条语句大括号可选。

其中常见操作符:

关系运算符(双目操作符)包括:>大于、<小于、>=大于等于、<=小于等于、==等于、!=不等于。

注:1.关系表达式通常返回值是0或者1,表示真假。在C语言中,0表示假,所有非零值表示真,但是一般默认值为1。

2.相等运算符==与赋值运算符=是两个不一样的运算符,不能混淆。前者为判断是否相等,后者是赋值运算, 为了防止混淆,我们在写相等关系式的时候通常把变量放在等号右边,此时如果写成赋值运算符,编译器会自动报错。形如4 =i编译器会报错。

3.多个关系运算符不能连用,例如:i<j<l,因为在此例子中,连续使用两个一样的关系运算符是没有错,但是通常有时不会得到自己想要的结果,因为关系运算符的计算是从左到右,所以执行时等同于(i<j)<l,如果i<j的返回值是0或1,所以最终该式子是0或1与l的比较。

逻辑运算符(双目操作符):&&(且),||(或)其含义与高中数学的且和或相同:&&同真为真||同假为假

条件运算符(三目操作符):需要接受三个操作数,形式例如:exp1?exp2:exp3 条件操作符的计算逻辑是,如果exp1为真,则计算exp2,而exp2的计算结果就是整个表达式的结果,如果exp1为假,那么计算exp3.exp3的计算结果就是整个表达式的计算结果。

例子:使用条件表达式实现找出两个数中较大值或者较小值。

#include <stdio.h>

intmain()

{

int a=0; int b=0;

scanf("%d %d",&a,&b);

int m=a>b?a:b;

printf("%d\n",m);

return0;

}

- switch语句:语法格式如下

  `
  switch (expression) {
      case constant1:
          // code to be executed if expression equals constant1
          break;
      case constant2:
          // code to be executed if expression equals constant2
          break;
      case constant3:
          // code to be executed if expression equals constant3
          break;
      default:
          // code to be executed if expression doesn't match any constant
  }
       当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果变量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。

注1.任何switch语句都必须遵循以下规则:switch的参数类型不能为实型 。c只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。

2.case标签必须是常量表达式,且具有唯一性(不允许两个case具有相同的值)。

2. 循环语句

循环语句用于重复执行一段代码块,直到满足退出条件为止。C语言中常用的循环语句有while循环、do-while循环和for循环。

- while循环:语法格式如下

  
  while (condition) {
      // code to be executed repeatedly as long as condition is true
  }
       while循环首先判断条件`condition`的真假,如果为真,则执行循环体内的代码块,并在执行完后再次判断条件真假。如果条件仍为真,则继续执行循环体内的代码块,直到条件为假时退出循环。

- do-while循环:语法格式如下

   do {
      // code to be executed repeatedly at least once
      // and then as long as condition is true
  } while (condition);
      do-while循环首先执行循环体内的代码块,然后判断条件`condition`的真假。如果为真,则继续执行循环体内的代码块,直到条件为假时退出循环。do-while循环保证循环体内的代码至少会被执行一次。

- for循环:语法格式如下

  for (initialization; condition; increment) {
      // code to be executed repeatedly as long as condition is true
  }
       for循环包含三个部分:初始化`initialization`、条件`condition`和自增/自减`increment`。在循环开始前,先执行初始化部分,然后判断条件的真假。如果条件为真,则执行循环体内的代码块,并在每次循环结束后执行自增/自减操作。直到条件为假时退出循环。

注:使用循环语句可以简化重复性的工作,提高代码的复用性和可维护性。但要注意循环的终止条件,避免死循环的发生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值