循环和判断

做判断

if-else 语句

- if(条件成立){} else {} 
  • 条件成立执行if后面的语句,若不成立则执行else后面的语句

  • if-else语句后面可以没有{ },而是一条语句(需要加 ; ),但只会执行这一条语句

关系运算

  • 关系运算符
  • ![[未命名图片.png]]
  • \=\=!=比其他运算符优先级低,所有关系运算符的优先级比算术运算符低,但比赋值运算符高

做循环

while 循环

- while<循环条件>{
		<循环体语句>
	}
  • 循环执行前会判断是否循环,当条件满足时,不断重复循环体内的语句,不满足时一次也不会被执行

do-while 循环

- do
	{
	   <循环体语句>
	} while<循环条件>);
  • 进入循环时不做判断,而是在执行完一轮循环体语句后,再来检查循环的条件是否满足,如果满足则继续循环,不满足则结束循环

  • 两个循环的区别是:while可能一次都不会执行,而do-while至少执行一次循环体语句,并且结尾需要加分号

for 循环

for<初始动作> ; <循环条件> ; <每轮的动作>(执行完循环体语句后执行))
	{
	   <循环体语句>;
	}
  • 建议在for语句中定义循环变量(仅限C99),做求和的程序时,记录结果的变量应该初始化为0,而做求积的变量时,记录结果的变量应该初始化为1。

  • for中的每一个表达式都是可以省略的,但分号不能省略

  • for( ; 条件 ; ) = while(条件)

循环的选择

  • 如果有固定次数,用for

  • 如果必须执行一次,用do while

  • 其他情况用while

逻辑类型和运算

逻辑类型

bool 类型

  • 返回turefalse

  • 需要增加头文件

    #include<stdbool.h>

逻辑运算

  • 逻辑运算是对逻辑量进行的运算,结果只有0或1

  • 逻辑量是关系运算或逻辑运算的结果
    请添加图片描述

  • 若要表达数学中的区间,如:×∈(4,6)

    不能写4<x<6,因为逻辑运算结果只有0或1,计算机判断前半部分4<x是否成立,给出0或1后才会再和6作比较,x>4&&x<6才是正确的表达方法。

  • 判断一个字符是否是大小写字母

      `c>='A'&&c<='Z'`(大写)//` c>='a'&&c<='z'`(小写)
    

条件运算

  • m<n ? x : a+5

  • 判断 m<n是否成立,成立执行x,不成立执行a+5

逗号运算

  • 逗号的优先级最低

  • 一般只用于for循环

  • for(i=0,j=l0;i<j;i++,j--)…

嵌套、级联和多路分支

嵌套的 if-else

  • 当if的条件满足或者不满足的时候要执行的语句也是一条ifif-else语句,这就是嵌套的if语句

  • else总是与最近的if匹配

  • 建议:即使只有一条语句的时候,也在ifelse后面加上{}

级联的if-else

- if (expl)
	  stl;
	else if (exp2)
	    st2;
	else
	  st3;
  • 如果不这样写,用嵌套会导致代码越来越往右偏,这种写法把所有else语句都对齐

多路分支

switch-case 语句

switch(控制表达式){
	case 常量:
	    语句;
	     ……;
	case 常量:
	    语句;
	     ……;
	default(除上述条件以外的各种情况):
	   语句;
	    ……;
	}
  • 控制表达式只能是整数型(int)的结果

  • 常量可以是常数,也可以是常数计算的表达式

  • 在执行完分支中的最后一条语句后,如果后面没有break,就会按顺序执行到下面的case里去,直到遇到一个break或者switch结束为止。

循环控制

  • break:跳出循环,只能跳出所在的循环

  • 接力break:运用中间变量,在循环外面连续if判断使用break

  • continue:跳过循环这一轮剩下的语句进入下一轮

  • goto:在循环里需要离开的位置放上goto X(非固定),在要跳到的位置写上X:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会敲倪码不会敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值