当前位置: 首页 > 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.cnnetsun.cn/news/92209.html

相关文章:

  • 活动力度大的门头招牌企业
  • 【毕业设计】基于JavaWeb的兽医站管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • Java毕设选题推荐:基于JavaWeb的兽医站管理系统的设计与实现现代化兽医站管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Arduino配置8266开发板
  • 【课程设计/毕业设计】基于SpringBoot+Vue茶叶销售系统的设计与实现基于Java语言的茶叶销售系统的前端设计与实现【附源码、数据库、万字文档】
  • 41. 缺失的第一个正数
  • 打了一堆板子,才发现是VDD_EXT的锅
  • 技术亲民倒计时!飞猫 RedCap 轻量化 5G 随身 WiFi 即将上市!
  • # 深入 Ascend C 内存模型:掌握UB、GM与流水线优化,打造极致AI算子
  • 冥想第一千七百三十五天(1735)
  • 代理IP和普通IP有什么区别?这篇文章帮你捋明白
  • 体系结构分类和指令系统
  • 基于AI数字人系统源码的低成本开发方案与实践经验
  • SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
  • YOLO目标检测模型如何对接Apipost平台
  • 简单的创建一个Spring Boot网页
  • 鼠标滚轮缩放图片:前端实现高清无损放大技巧(附实战代码)
  • Numpy库实践2_索引和数组的操作
  • 图解 - 红黑树(插入)
  • Memgraph 全新 AI 图工具包:一键构建 GraphRAG 聊天机器人,实现快速上下文感知响应
  • 初始化列表和特殊成员
  • (二)前端基础框架构建
  • vLLM推理引擎教程6-Nsight Systems性能分析
  • 基于MATLAB的燃料电池汽车参数匹配与能量管理策略优化及仿真模型研究资料库
  • AM247L-0000伺服电机
  • DoraemonKit(DoKit)使用教程:从集成到实战
  • 构筑 AI 理论体系:深度学习 100 篇论文解读 第十九篇:序列建模的焦点——注意力机制 Attention Mechanism (2015)
  • 【小白笔记】移除元素与删除有序数组中的重复项与轮转数组(三步反转)
  • 什么是关键字驱动测试?
  • 前沿技术借鉴研讨-2025.12.16(超声心动图综述/妊娠期糖尿病/降低CTG解读主观性)