6.10 c语言

7.1 if-else语句

简化形式
if(表达式)语句块
阶梯形式
if(表达式1)语句块1
else if(表达式2)语句块2
嵌套形式
if()
if() 语句1
else 语句2
else
if() 语句3
else 语句4
表达式一般情况下为逻辑表达式或关系表达式

#include <stdio.h>//从小到大排序,输出顺序不变,值交换了
int main()
{int a,b,c,t;printf("请输入3个数:");scanf("%d%d%d",&a,&b,&c);if(a>b){t = a;a = b;b = t;}if(a>c){t = a;a = c;c = t;}if(b>c){t = b;b = c;c = t;}printf("从小到大为%d,%d,%d",a,b,c);return 0;
}

7.2 switch语句

多分支选择结构
switch(表达式)
{
case 常量表达式1: 语句块1:break;
default: 语句块n+1
}
1、每个常量表达式的值必须各不相同,否则将出现矛盾
2、当表达式的值与case后面的常量表达式的值相等时,就执行case后面的语句
3、switch中的表达式可以是整形,字符型表达式或枚举
4、case常量:只起语句标号的作用
5、break语句用于强行跳出Switch体,一般每个case后面应有一个break语句,defalut分支后的break可以省略
6、多个case可以执行一条语句

#include <stdio.h>
int main()
{int tmp = 1;switch(tmp){case 1:printf("A\n");//break;case 2:printf("B\n");break;default:printf("NOT");}return 0;
}

//Switch学生成绩

#include <stdio.h>
int main()
{float score = 0;printf("请输入成绩:");scanf("%f",&score);if(score<0 || score>100){printf("输入错误!\n");}else{switch((int)score/10)//强制转换类型(int){case 9:printf("A\n");break;case 8:printf("B\n");break;case 7:printf("C\n");break;default:printf("D");}}return 0;
}

7.3 循环语句

7.3.1 goto

当程序有多个出口,使用goto把这些出口集中到一处很方便,特别是函数中有很多重复的工作的时候
1、无条件跳转易于理解
2、可以减少嵌套
3、帮助编译器做优化

#include <stdio.h>
int main()
{int i,sum = 0;loop://loop跳转if(i<=100){sum += i;i++;goto loop;//跳转loop}printf("%d",sum);return 0;
}

7.3.2 while

while(表达式)
{
statements;
}
1、变量初值
2、终止条件
3、变量变化

#include <stdio.h>
int main()
{int i,sum = 0;while(i<=100)//先判断再执行{sum += i;i++;}printf("%d",sum);return 0;
}

7.3.3 do-while

do-while构成循环
do{
statements;
}while(表达式);

#include <stdio.h>
int main()
{int i,sum = 0;do{sum += i;i++;}while(i<=100);printf("%d",sum);return 0;
}

7.3.4 for

表达式1可以省略,但循环之前应要给循环变量赋值
表达式2可以省略,将陷入死循环
表达式3可以省略,但在循环体中增加循环使变量的值改变的语句

#include <stdio.h>
int main()
{int i = 0,sum = 0;for(;i<=100;){sum += i;i++;}printf("sum = %d",sum);return 0;
}
#include <stdio.h>//99乘法表
int main()
{int i = 0,j = 0;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d\t",j,i,j*i);// \t缩进8位puts("");//输出字符串,字符串自动换行}return 0;
}

7.4辅助控制语句

7.4.1 break

用于从循环体内跳出一层循环体,即提前结束循环
break只能用在循环语句和Switch语句中

#include <stdio.h>
#define PI 3.14
int main()
{float r = 0,area = 0;for(r=1;r<=10;r++){area = PI*r*r;if(area>100)break;printf("r = %f,area = %f\n",r,area);}return 0;
}

7.4.2 continue

结束本次循环,接着判定下一次是否执行循环
continue只结束本次循环,break终止本层循环

#include <stdio.h>
#define PI 3.14
int main()
{int i;for(i=100;i<=120;i++){if(i%3 == 0)continue;//余0终止本次执行下一次printf("i = %d\n",i);}return 0;
}

7.4.3 return

终止包含它的函数执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/25868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【recast-navigation-js】使用three.js辅助绘制Agent寻路路径

目录 说在前面setAgentTarget绘制寻路路径结果问题其他 说在前面 操作系统&#xff1a;windows 11浏览器&#xff1a;edge版本 124.0.2478.97recast-navigation-js版本&#xff1a;0.29.0golang版本&#xff1a;1.21.5上一篇&#xff1a;【recast-navigation-js】使用three.js辅…

linux:centos7升级libstdc++版本到3.4.26

下载&#xff0c;解压 wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip unzip libstdc.so_.6.0.26.zip 复制到【/usr/lib64】&#xff1a; cp libstdc.so.6.0.26 /usr/lib64创建软链接 cd /usr/lib64 sln libstdc.so.6.0.26 libstdc.so.6查看一…

Python | Leetcode Python题解之第144题二叉树的前序遍历

题目&#xff1a; 题解&#xff1a; class Solution:def preorderTraversal(self, root: TreeNode) -> List[int]:res list()if not root:return resp1 rootwhile p1:p2 p1.leftif p2:while p2.right and p2.right ! p1:p2 p2.rightif not p2.right:res.append(p1.val)…

机器学习笔记 - LoRA:大型语言模型的低秩适应

一、简述 1、模型微调 随着大型语言模型 (LLM) 的规模增加到数千亿,对这些模型进行微调成为一项挑战。传统上,要微调模型,我们需要更新所有模型参数。这也称为完全微调 (FFT) 。下图详细概述了此方法的工作原理。 完全微调FFT 的计算成本和资源需求很大,因为更新每…

数据中台、数据仓库、数据湖的区别和关联

区别 概念定义 数据中台&#xff1a;是企业级的逻辑概念&#xff0c;体现企业数据向业务价值转化的能力。它距离业务更近&#xff0c;能够更快速地响应业务和应用开发需求&#xff0c;为业务提供速度更快的服务。数据仓库&#xff1a;是为企业所有级别的决策制定过程&#xff…

初识 CAS理论

1、CAS 通过硬件保证比较-更新的原子性&#xff0c;不涉及用户态内核态的切换。 2、CAS 是 CPU 的原子指令(cmpxchg指令)&#xff0c;不会造成数据的不一致问题。Unsafe提供的 CAS 方法底层实现的是 CPU 指令cmpxchg。 3、执行cmpxchg指令&#xff0c;会判断 当前系统是否为多…

Vmess协议是什么意思? VLESS与VMess有什么区别?

VMess 是一个基于 TCP 的加密传输协议&#xff0c;所有数据使用 TCP 传输&#xff0c;是由 V2Ray 原创并使用于 V2Ray 的加密传输协议&#xff0c;它分为入站和出站两部分&#xff0c;其作用是帮助客户端跟服务器之间建立通信。在 V2Ray 上客户端与服务器的通信主要是通过 VMes…

深度学习的点云分类

深度学习的点云分类 点云分类是指将三维点云数据中的每个点或整个点云进行分类的任务。点云数据由大量三维点构成&#xff0c;每个点包含空间坐标&#xff08;x, y, z&#xff09;&#xff0c;有时还包含其他信息如颜色和法向量。点云分类在自动驾驶、机器人导航、3D重建等领域…

bitset 优化DP

bitset bitset 可以 用二进制代替0&#xff0c;1选择情况&#xff0c;也就是把固有的时间复杂度除以64或者32&#xff0c;且常数非常小&#xff0c;有些题目1e8都可以过

【InternLM实战营第二期笔记】06:Lagent AgentLego 智能体应用搭建

文章目录 讲解为什么要有智能体什么是 Agent智能体的组成智能体框架AutoGPTReWooReAct Lagent & Agent LegoAgentLego 实操Lagent Web Demo自定义工具 AgentLego&#xff1a;组装智能体“乐高”直接使用作为智能体&#xff0c;WebUI文生图测试 Agent 工具能力微调 讲解 为…

idea如何使用git reset进行回退以及如何使用git stash将暂存区文件储藏,打包后重新恢复暂存区文件

最近遇到一个棘手的问题&#xff0c;本来按照计划表开发&#xff0c;但是项目经理突然让你改一个小bug&#xff0c;改完需要马上部署到线上&#xff0c;但是你手上的活做到一半还没做完&#xff0c;提交上去那肯定是不可行的。这时就可以使用git stash命令先把当前进度&#xf…

三.四其他小组件

1、头部 2、logo组件 3、头部功能组件 4、视图组件 其他的没啥可以说的 视图数一下吧 说明白点就是 router封装的组件 <template><div:class"{ slideRight: state.slideclass.slideRight, slideLeft: state.slideclass.slideLeft , fadeInFadeOut: state.slidec…

Discuz! X3.4发帖时间修改插件批量操作版

下载地址&#xff1a;Discuz! X3.4发帖时间修改插件批量操作版 发帖时间与回复时间说明 1、使用本插件修改发帖时间&#xff0c;则帖子中的回复楼层的时间会保持同步同间隔修改&#xff0c;所谓同步同间隔就是如果某个回复是在主题发布之后一小时回复的&#xff0c;那么修改之…

【NLP】Python正则表达式

正则表达式&#xff08;Regular Expression, 简称 Regex&#xff09;是一种用于匹配字符串中字符模式的强大工具。在Python中&#xff0c;正则表达式由 re 模块支持。正则表达式可以用于搜索、编辑和处理文本。 正则表达式语法 正则表达式由普通字符和特殊字符&#xff08;元字…

71、最长上升子序列II

最长上升子序列II 题目描述 给定一个长度为N的数列&#xff0c;求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数N。 第二行包含N个整数&#xff0c;表示完整序列。 输出格式 输出一个整数&#xff0c;表示最大长度。 数据范围 1 ≤ N ≤ 100000…

初阶c++入门

1.命名空间 namespace 变量的查找范围&#xff08;默认的情况下&#xff09; 当前的局部变量全局变量不会去命名空间去找&#xff08;以一定的格式 命名::变量或者函数&#xff0c;就是直接去命名空间里去查找&#xff09; 命名空间可以嵌套&#xff0c;来解决命名空间命名重复…

electron录制工具-desktopCapturer录屏

需求 录屏状态时&#xff0c;屏幕底部有个计时器&#xff0c;点击计时器停止录屏&#xff0c;跳转录屏结束的视频播放。 效果如下 electron-录屏演示 实现 计时器 创建一个浮窗&#xff0c;根据x、y坐标移动窗口的位置&#xff1b; // 获取屏幕的主显示器信息const { width…

AI服务器相关知识

在当今社会&#xff0c;人工智能的应用场景愈发广泛&#xff0c;如小爱同学、天猫精灵等 AI 服务已深入人们的生活。随着人工智能时代的来临&#xff0c;AI 服务器也开始在社会各行业发挥重要作用。那么&#xff0c;AI 服务器与传统服务器相比&#xff0c;究竟有何独特之处&…

ArcGIS要点和难点以及具体应用和优缺点介绍

ArcGIS是一款强大的地理信息系统(GIS)软件,广泛应用于各种领域,如城市规划、自然资源管理、环境保护、应急响应、地理科学研究和商业分析等。以下是对ArcGIS的详细介绍: 产品概述: ArcGIS提供了一个可伸缩的、全面的GIS平台,满足从桌面到服务器、野外和Web的各种GIS用户…

【docker】 pull access denied for alpine-java, repository does not exist

问题&#xff1a; com.spotify.docker.client.exceptions.DockerException: pull access denied for alpine-java, repository does not exist or may require docker login: denied: requested access to the resource is denied org.apache.maven.plugin.MojoExecutionExce…