当前位置: 首页 > 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.jsqmd.com/news/100949/

相关文章:

  • 区块链交易所技术革命白皮书:如何用分布式架构扛住量子计算时代?
  • Java计算机毕设之基于JavaWeb的智慧养老院管理系统的设计与实现基于Java的养老服务智慧管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • Cordova与OpenHarmony施肥记录管理
  • Solidity入门(8)-库合约Library
  • 还买啥USB网卡~直接开启RNDIS就行
  • DApp开发暴风指南:7天从零到上线,手把手教你用代码撬动Web3流量红利
  • 冥想第一千七百三十五天(1735)
  • 零碳园区应急能源基础架构规划:备用电源与清洁能源联动配置
  • 2026年EOR名义雇主服务优势TOP8对比榜单,助力全球化布局与用工优化
  • 【课程设计/毕业设计】基于SpringBoot的在线天气查询系统基于springboot天气预报查询系统【附源码、数据库、万字文档】
  • 2025 全国最新水池布厂家TOP5 评测!云南等地优质企业权威榜单发布,赋能现代设施农业 - 全局中转站
  • 【MongoDB实战】5.1 聚合管道基础:理解阶段(Stage)概念
  • 实用指南:(113页PPT)西门子制造业研发工艺协同平台及制造平台整体规划(附下载方式)
  • Vue低代码平台实测红黑榜:别让“伪效率“消耗你的团队
  • 单目实时3D识别
  • 【计算机毕设】移动互联时代新闻编辑力探析(系统配套LW+开题报告+任务书)
  • 构建高效测试体系:测试文档编写规范详解
  • 简单的创建一个Spring Boot网页
  • 【课程设计/毕业设计】基于SpringBoot+Vue茶叶销售系统的设计与实现基于Java语言的茶叶销售系统的前端设计与实现【附源码、数据库、万字文档】
  • 通俗易懂的理解 LLM 知识入门浅析:核心原理、LLM是怎么学习的、LLM的局限性、Transformer 架构、注意力机制、如何训练一个 LLM
  • 如何降低对标注数据的依赖,实现多病种检测与病灶精准定位?请看此文
  • 长沙美食小吃攻略|五一广场 和 太平老街:不是来旅游,是来“吃服”的! - 资讯焦点
  • 第四章算法作业
  • 播放器视频后处理实践(二)氛围模式
  • 版本升级|Origin 2026 科学绘图与数据分析软件
  • 基于改进A*算法融合DWA算法的机器人路径规划MATLAB仿真程序(含注释) 包含传统A*算法...
  • 【课程设计/毕业设计】基于springboot/javaEE的二手手机交易平台的设计与实现基于javaEE的二手手机交易平台的设计与实现【附源码、数据库、万字文档】
  • 基于AI数字人系统源码的低成本开发方案与实践经验
  • K-Means聚类+PCA降维:高维数据聚类的最优组合实战指南
  • SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)