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

分支语句和循环语句

if语句

if(表达式)语句1else语句2

若表达式为真,则执行语句,反之则执行语句2
eg:

#include<stdio.h>intmain(){intn=0;scanf("%d",&n);if(n%2==1)printf("%d是奇数\n",n);elseprintf("%d是偶数\n",n);return0;}

默认if和else语句中默认都只控制一条语句,如果衣服同时控制两条语句,那么有使用大括号将代码括起来,e1se后也可以大括号

在if语句中,else可以与另一个if语句连用,构成多重判断

#include<stdio.h>intmain(){intage=0;scanf("%d",&age);if(age>=18)//if 后使⽤{} 控制多条语句-这个块也叫:程序块,或者复合语句{printf("成年了\n");printf("可以谈恋爱了\n");}else//else 后使⽤{}控制多条语句-这个块也叫:程序块,或者复合语句 {printf("未成年\n");printf("不可以早恋哦\n");}return0;}

注:1.else语句中要是可以与另一个if语句连用,构成多重判断,即嵌套if。
2.如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。

关系操作符
C 语⾔⽤于⽐较的表达式,称为 “关系表达式”,⾥⾯使⽤的运算符就称为“关系运算符”,主要有下⾯6个
• > ⼤于运算符
• < ⼩于运算符
• >= ⼤于等于运算
• <= ⼩于等于运算符
• == 相等运算符
• != 不相等运算符

易错1.多个关系运算符不宜连⽤。
2.相等运算符 == 与赋值运算符 = 是两个不⼀样的运算符,不要混淆。 为了防⽌出现这种错误,通常将变量写在等号的右边。

eg:通常将i < j< k写作i < j && j < k

条件操作符
条件操作符也叫三⽬操作符, 形式如下:

exp1?exp2:exp3

如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;
如果exp1 为假, exp3 计算,计算的结果是整个表达式的结果。

逻辑操作符

逻辑运算符提供逻辑判断功能,⽤于构建更复杂的表达式,主要有下⾯三个运算符
• ! :逻辑取反运算符(改变单个表达式的真假)
• && :逻辑与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)
• || :逻辑或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)

注:C语⾔中,⾮0表⽰真,0表⽰假
短路
C语⾔逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的。
如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”

switch语句
switch 语句是⼀种特殊形式的 if…else 结构,⽤于判断条件有多个结果的情况。它把多重的else if 改成更易⽤、可读性更好的形式。

switch(expression){casevalue1:statementcasevalue2:statement...default:statement}

注:• switch 后的 expression 必须是整型表达式
• case 后的值,必须是整形常量表达式
•case 和后边的数字之间必须有空格
•每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个 switch 语句。
•switch 后边的 expression 的结果不是 value1 ,也不是 value2 的时候,就会执⾏default

while循环
while 语句的语法结构和 if 语句⾮常相似。

while(表达式)语句;//如果循环体想包含更多的语句,可以加上⼤括号

for循环

for 循环是三种循环中使⽤最多的, for 循环的语法形式如下:

for(表达式1;表达式2;表达式3)语句;//如果循环体想包含更多的语句,可以加上⼤括号

表达式1 ⽤于循环变量的初始化
表达式2 ⽤于循环结束条件的判断
表达式3 ⽤于循环变量的调整

do-while循环
在循环语句中 do while 语句的使⽤最少,它的语法如下:

do语句;while(表达式);

break和continue语句

• break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执⾏。
• continue 的作⽤是跳过本次循环中 continue 后边的代码,在 for 循环和 while 循环中有所差异的。

go to语句
goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。

http://www.rkmt.cn/news/111723.html

相关文章:

  • Solidity入门(8)-库合约Library
  • Java计算机毕设之基于JavaWeb的智慧养老院管理系统的设计与实现基于Java的养老服务智慧管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • Cordova与OpenHarmony施肥记录管理
  • 单目实时3D识别
  • 通俗易懂的理解 LLM 知识入门浅析:核心原理、LLM是怎么学习的、LLM的局限性、Transformer 架构、注意力机制、如何训练一个 LLM
  • 基于改进A*算法融合DWA算法的机器人路径规划MATLAB仿真程序(含注释) 包含传统A*算法...
  • 基于AI数字人系统源码的低成本开发方案与实践经验
  • 实战笔记】台达PLC与温控器联机全流程(附源码)
  • “comsol煤矿模型仿真合集:瓦斯抽采、采空区耦合性、采场倾斜煤层、注氮灭火与岩石压裂损伤模...
  • 黄金票据(Golden Ticket)和白银票据(Silver Ticket)
  • 0x3f第六天 递归思想
  • 云原生安全实战:一次72小时的DDoS攻击,我们是怎么活下来的?
  • 高效缺陷管理的艺术与科学
  • GA-BP多变量时序预测:基于遗传算法优化BP神经网络的Excel格式数据集预测程序
  • 全新升级!洗车服务行业专属小程序源码,致力于为各类洗车服务商提供最得力的线上助手
  • 基于CNN多变量时间序列预测的MATLAB程序(含清晰注释与测试数据集)
  • Flutter 国际化(i18n)全指南:一键切换中/英/日多语言
  • 永磁同步电机谐波注入与5/7次谐波抑制——基于MATLAB Simulink仿真模型操作教程
  • 艾默生EV2000变频器源代码:算法特色显著
  • 数字人平台选型指南:四大维度全面解析
  • 快速上线的二手车小程序源码系统,助力车商降本增效
  • ESP32模组买四博智联的
  • GEO战略解码:AI搜索时代,如何重构品牌认知的底层逻辑
  • A860-0360-T101编码器
  • [Java EE] 多线程编程初阶 - 教程
  • 辽宁省企业如何做信创产品认证?信创认证流程与费用详解
  • Java 学习路线:零基础到实战,小白收藏这篇就够了
  • 重练算法(代码随想录版) day42 - 动态规划part9
  • A860-2000-T351编码器
  • 带你搞懂BootLoader(四)-第三个BootLoader