当前位置: 首页 > news >正文

C/C++条件判断

条件判断

if语句的三种形态

if(a<b){}  、 if(a<b){}else{} 、 if(a<b){}else if(a>b) else{}

if语句的嵌套

嵌套的常见错误(配对错误),与前面最近的,而且还没有配对的if匹配

错误避免方法:严格使用 { }、先写{}再写里面的内容、保持良好的“缩进”

switch语句

switch的基本使用

语法:

switch  (x) {
case  表达式1:语句1break;case  表达式2:语句2break;case  表达式3:语句3break;default 表达式1:语句1break;
}

流程图:

switch和if的选择

switch: 用于int/char/long/long long 类型的变量,和多个特定常量的判断处理。(float和double类型不可以)

if: 适用于各种逻辑判断

循环

while循环

使用场合:当需要反复执行某些“过程”时,就可以使用while循环。

使用方法        while (条件) {   语句1     语句2  .......  }

强烈建议,无论循环体内有几条语句,都使用{}

break的作用:跳出所在的循环。

死循环:有些场合(比如,游戏引擎的主循环, 就是一个死循环),更多场合,需要避免死循环。

while循环流程图

for循环

从功能上,for循环和while循环是完全等效的!

使用场合:在循环次数已经确定的情况下,使用for循环更方便!

使用方法:

for (表达式1; 表达式2;表达式3){

循环体

}

说明:表达式1:为循环做准备、表达式2:循环条件、表达式3: 改变循环计数

注意:表达式1、表达式2、表达式3, 这3个表达式的任意一个或多个,都可以省略!但是其中的“;”不可以省略!

for (; ; ) {  循环体 } 相当于: while (1) { 循环体 }

for循环的表达式1:在C89标准中,表达式1不能定义变量;在C99标准和C++中,表达式1可以定义变量;表达式1中定义的变量,仅在for循环中有效。

forx循环流程图

for (表达式1; 表达式2;表达式3){   循环语句  }

for 循环的次数控制:for (int i=0;  i<10;  i++) { ... }     //常用方式

for (int i=1;  i<=10;  i++) { ... }    //较少使用

for和while的选择

当已经确定了循环次数时,建议使用for;其他情况,可以使用for ,也可以使用while, 建议使用while。

do-while循环

使用场合:先执行一次循环体,然后再判断条件,以判定是否继续下一轮循环!即:至少执行一次循环体!

//使用方法:
do {循环体
} while (条件)

//特殊用法:【在特殊的宏定义中使用】
do {// 循环体
} while(0);

循环中的特殊控制:continue与break

break:结束本层循环。        continue:结束本次循环,进入一次循环

for语句中的continue

while语句中的continue

for (初始化; 条件; 增量) {// 代码1if (某些条件) {continue; // 跳过本次循环剩余部分}// 代码2 (当continue执行时,这部分会被跳过)
}

goto语句

        goto是C++中的一个跳转语句,它允许程序无条件跳转到同一函数内的标记语句处。尽管goto在某些情况下很有用,但过度使用会导致代码难以理解和维护(被称为"面条代码"),因此应当谨慎使用。

循环嵌套

要点:把内层的循环,看成一个完整的“大语句”

相关文章:

  • 混合开发部署实战:PyInstaller + .NET 8 + Docker全链路配置
  • flutter doctor 信号号超时
  • CCF CSP 第36次(2024.12)(1_移动_C++)
  • 基于STM32、HAL库的TCA9555PWR I/O扩展器驱动程序设计
  • linux如何用关键字搜索日志
  • 学习笔记十二——Rust 高阶函数彻底入门(超详细过程解析 + 每步数值追踪)
  • 【微信小程序】报错: http://127.0.0.1:7001 不在以下 request 合法域名列表中
  • 危化品安全员考试常见与注意事项
  • Python GUI 编程 | QPushButton 按钮控件详解 — 边框扁平化
  • virt-install和libguestfs工具常用虚拟机管理命令
  • Oracle REGEXP_SUBSTR
  • LINUX基石
  • 今日一记:五人分鱼与医院值班推理
  • 每日一题(小白)暴力娱乐篇30
  • 简单socket通信,回显 服务器程序与客户端程序之间的通信。
  • linux-vi和文件操作
  • Windows 图形显示驱动开发-WDDM 1.2功能—无显示器系统支持
  • CExercise_13_1排序算法_1插入排序
  • 了解一下Unity的RenderQueue
  • 【基于Servlet技术处理表单】
  • 报告显示2024年全球军费开支增幅达冷战后最大
  • 超级干细胞有助改善生育治疗
  • 四川邻水县县长石国平拟任县(市、区)党委书记
  • 特朗普将举行集会庆祝重返白宫执政百日,美媒:时机不当
  • 印度媒体称印巴在克什米尔再次交火
  • 女儿被偷拍后,一个父亲的战斗