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

别再瞎学 C 语言了!真・胎教级入门教程 | NO.3 万字详解分支与循环 | 下篇

欢迎大家来到别再瞎学 C 语言了真・胎教级入门教程 | NO.3 万字详解分支与循环下篇学习.在上期中我们已经了解了分支与循环中的if语句,关系操作符,条件操作符,逻辑操作符和switch语句.这一期我们继续来了解剩下的内容.6. while循环在C语言中有三种循环语句,while语句就是其中一种,接下来详细介绍下while语句.首先在语法结构上, while 语句与 if 语句很像,来对比下.6.1 if 和while的对比if (expression) { //do something; } while (expression) { //do something; }它们的最大不同是if 语句对表达式只会判断一次,而while 语句中只要还满足表达式为真的条件就会不停的循环下去.与if语句相同,while循环体内如果想包含更多语句,就需要加上大括号.你可以对⽐来看⼀下具体写个代码吧!if (1) { printf(C语言真好玩!);//只打印一次 } while (1) { printf(C语言真好玩!);//无限打印内容 }首先,if 和 while 的括号里都是想要表达语句所要满足的条件,if 语句如满足条件执行后程序便往下走了,但while循环,顾名思义循环,只要还满足表达式为真的条件,循环体内的语句就会一次又一次的死循环执行,不会停止.这就是他们的区别while 语句是可以实现循环效果的。通常在循环次数不明确时比如等待用户输入正确值、文件读取到末尾),常用到while循环.6.2 while语句的执⾏流程来详细了解while语句的作用原理和使用方法:先画一张逻辑图:while语句的执行流程图⾸先上来就是执⾏判断表达式(expression)如果表达式的值为0(假)循环就会直接结束表达式的值不为0(真)则执⾏循环体内语句语句执⾏完后再继续执行表达式判断根据判断结果决定是进⾏执行语句并进行下⼀次判断还是跳出循环。6.3 while循环的实例实践练习1在屏幕上打印1~20的值在学习循环之前.要实现这个要求肯定是要敲键盘枚举出所有数字了,需要很多行代码,但使用循环就可以轻松实现.参考代码:int main(void) { int i 1; while (i 20) { printf(%d , i); i; } return 0; }练习二:输⼊⼀个正的整数逆序打印这个整数的每⼀位例如: 输入:1234 输出: 4 3 2 1 输入:521 输出: 1 2 5参考代码:int main() { int n 0; scanf(%d, n); printf(请输入一个正整数:); if (n 0) { return 1; } while(n) { printf(%d , n % 10); n / 10; } return 0; }题目解析:1. 要想得到n的最低位可以使⽤n%10的取模运算得到的余数就是最低位数字如1234 %10得到 4 .2. 要想去掉n的最低位找出倒数第⼆位则使⽤ n n / 10 操作就可以去掉最低位的如 n 1234 / 10得到123123相较于1234就去掉了最低位123 % 10就得到倒数第⼆位3。3. 循环1和2两个步骤在n变成0之前就能到所有的位。在其中添加打印语句就可以完善功能了.7. for循环照例先看看流程图:首先先执行表达式一:初始化循环变量,接下来就是执行表达式二的判断部分,表达式二的结果如果为零(假),则循环结束;表达式的结果如果不等于0(为真),则执行循环体内语句,循环语句执行完后,再去执行表达式三:调整循环变量,然后再去表达式二的地方判断,查看表达式二的结果是否为0,决定循环是否继续.整个循环的过程中表达式1初始化部分只被执⾏1次剩下的就是表达式2、循环语句、表达式3三个部分在循环。7.3 for循环的实践来一个同样的练习一:在屏幕上打印1-20的值参考代码:int main(void) { for (int i 1; i 20; i) { printf(%d , i); } return 0; }练习二:计算1-100之间3的倍数的数字之和参考代码:按最常规的思路,我们应该遍历1-100的数字,用if条件判断这个数是否是3的倍数,如果是,就加起来.int main() { int i 0; int sum 0; for(i 1; i 100; i) { if(i % 3 0) sum i; } printf(%d\n, sum); return 0; }也可以直接产生3的倍数来进行求和,这样就省去了多余的循环和判断int main() { int i 0; int sum 0; for(i 3; i 100; i 3) { sum i; } printf(%d\n, sum); return 0; }以上两种代码都能实现要求.7.4 while循环和for循环的对比for 和 while 在实现循环的过程中都有初始化、判断、调整这三个部分但是for循环的三个部分⾮常集中便于代码的维护⽽如果代码较多的时候while循环的三个部分就比较分散,所以从形式上 for 循环要更优⼀些。8. do-while循环8.1 do-while 语法形式在循环语句中 do while 语句的使⽤最少它的语法如下do { //do something; }while (expression)while 和 for 这两种循环都是先判断条件如果满⾜就进⼊循环执⾏循环语句如果不满⾜就跳 出循环⽽ do while 循环则是先直接进⼊循环体执⾏循环语句然后再执⾏ while 后的判断表达式表 达式为真就会进⾏下⼀次表达式为假则不再继续循环。也就是do-while 循环体内的语句至少会被执行一次.8.2 dowhile循环的执⾏流程照例看一下执行流程:在 do while 循环中先执⾏图上的“语句”执⾏完语句在去执⾏“判断表达式”判断表达式的 结果是!0则继续循环执⾏循环语句判断表达式的结果0则循环结束。所以在 do while 语句中循环体是⾄少执⾏⼀次的这是 do while 循环⽐较特殊的地⽅.8.3 dowhile循环的实例还是在屏幕上打印1-20的值:示范代码:int main(void) { int i 1; do { printf(%d , i); i i 1; }while(i 20); return 0; }⼀般 do while 使⽤在循环体⾄少被执⾏⼀次的场景下所以较少⼀些。练习二:输入一个正整数,并计算这个整数时几位数示例代码:#include stdio.h int main(void) { int n 0; scanf(%d, n); int cnt 0; do { cnt; n n / 10; } while (n); printf(%d\n, cnt); return 0; }这⾥并⾮必须使⽤do-while语句,但是这个代码就比较适合使用do-while循环,因为n即使是0也是1位数要统计位数的。示例三:用户交互菜单选择、游戏循环先显示菜单再判断是否退出nt main() { void game(); //函数写在后面的话,使用前要先声明 void menu(); game(); int choice 0; do { menu(); printf(您的选择:); scanf(%d, choice); switch (choice) { case 1: game(); break; case 0: printf(成功退出\n); default: printf(输入错误,请重新输入!\n); } } while (choice); return 0; }因为通常点开每一个游戏都会先给我们展示游戏菜单,来让我们选择是游玩还是退出,这个菜单是一定要打印的,所以这个代码也非常适合do-while循环.我这里展示的这个代码是用c语言写的猜数字小游戏,感兴趣的同学可以通过主页找到查看.9. break和continue语句在循环执⾏的过程中如果某些状况发⽣的时候需要提前终⽌循环这是⾮常常⻅的现象。C语⾔中 提供了break 和 continue两个关键字就是应⽤到循环中来跳出循环的。• break 的作⽤是⽤于永久的终⽌循环只要 break 被执⾏直接就会跳出循环继续往后执⾏。break只能跳出当前所在的一层循环如果是嵌套循环内层break不会影响外层循环• continue 的作⽤是跳过本次循环中continue后面的代码,在 for 循环和 while 循环中所差异的9.1 while循环中的break和continue9.1.1 break举例#include stdio.h int main() { int i 1; while(i 10) { if(i 6) break; printf(%d , i); i i 1; } return 0; }代码执行结果:打印了1,2,3,4,5后当i等于6的时候循环在 break 的地⽅终⽌不再打印不再循环。所以break 的作⽤就是永久的终⽌循环只要 break 被执⾏ break 外的第⼀层循环就终⽌了.那以后我们在循环中想在某种条件下终⽌循环则可以使⽤ break 来完成我们想要的效果。9.1.2 continue举例continue 是继续的意思在循环中的作⽤就是跳过本次循环中 continue 后边的代码继续进⾏ 下⼀次循环的判断。上面的代码,如果把break 换成 continue 会是什么效果呢?#include stdio.h int main() { int i 1; while(i 10) { if(i 6) continue; printf(%d , i); i i 1; //当i等于5后就执⾏continue直接跳过continue的代码去循环的判断的地⽅ //因为这⾥跳过了i i1所以i⼀直为5程序陷⼊和死循环 } return 0; }到这⾥我们就能分析出来continue 可以帮助我们跳过某⼀次循环 continue 后边的代码直接 到循环的判断部分进⾏下⼀次循环的判断如果循环的调整是在 continue 后边的话可能会造成 死循环。9.2 for循环中的break和continue9.2.1 break 举例其实和 while 循环中的 break ⼀样 要循环多少次只要执⾏到了 for 循环中的 break 也是⽤于终⽌循环的不管循环还需 break 循环就彻底终⽌我们上代码。int main() { int i 1; for(i 1; i 10; i) { if(i 6) break; printf(%d , i); } return 0; }break 的作⽤是永久的终⽌循环未来我们在某个条件发⽣的时候不想再继续循环的时候就可以使用break来完成.9.2.2 continue举例上⾯的代码如果把 break 换成 continue 会是什么结果呢int main() { int i 1; for(i 1; i 10; i) { if(i 6) continue;//这里continue跳过了后面的打印,来到了i的调整部分 printf(%d , i); } return 0; }所以在 for 循环中 continue 的作⽤是跳过本次循环中 continue 后的代码直接去到循环的调整部分。未来当某个条件发⽣的时候本次循环⽆需再执⾏后续某些操作的时候就可以使⽤ continue 来实现。在这⾥我们也可以对⽐⼀下 while 循环和 for 循环中 continue 的区别9.3 dowhile循环中的break和continuedo.while 语句中的 break 和 continue 的作⽤和 while 循环中⼏乎⼀模⼀样⼤家下来可以⾃⾏测试并体会.#include stdio.h int main() { int i 1; do { if(i 5) break; printf(%d , i); i i 1; }while(i 10); return 0; } int main() { int i 1; do { if(i 5) continue; printf(%d , i); i i 1; }while(i 10); 1 return 0; }10. 循环的嵌套前⾯学习了三种循环 while , do while for 这三种循环往往会嵌套在⼀起才能更好的解决 问题就是我们所说的循环嵌套这⾥我们就看⼀个例⼦。10.1 练习找出100~200之间的素数并打印在屏幕上.注素数⼜称质数只能被1和本⾝整除的数字解析:1.要从100~200之间找出素数⾸先得有100~200之间的数这⾥可以使⽤循环解决。2.假设要判断i是否为素数需要拿2~i-1之间的数字去试除i需要产⽣2~i-1之间的数字也可以使⽤循环解决。3.如果2~i-1之间有数字能整除i则i不是素数如果都不能整除则i是素数参考代码:int main() { int i 0; //循环产⽣100~200的数字 for(i 100; i 200; i) { //判断i是否为素数 //循环产⽣2~i-1之间的数字 int j 0; int flag 1;//假设i是素数 for(j 2; j i; j) { if(i % j 0) { flag 0; break; } } if(flag 1) printf(%d , i); } return 0; }11. goto语句C语⾔提供了⼀种⾮常特别的语法就是goto语句和跳转标号,goto语句可以实现在同一个函数内跳转到设置好的标号处。例如:int main() { printf(hehe\n); goto next; printf(haha\n); next: return 0; }int main(void) { again: printf(我爱C语言\n); printf(我爱编程\n); goto again; }注意:第二个示例是一个四循环,是不断的往下进行并跳回again处继续向下重复执行.goto 语句如果使⽤的不当就会导致在函数内部随意乱跳转打乱程序的执⾏流程所以我们的建 议是能不⽤尽量不去使⽤但是使⽤ goto 语句也不是⼀⽆是处在多层循环的代码中如果想快速跳 goto 就⾮常的⽅便了。for(...) { for(...) { for(...) { if(disaster) goto error; } } } error: //...本来for循环想提前退出就得使⽤3个 break ⼀个 break 只能跳出⼀层 break 才能跳出循环所以在这种情况下我们使⽤ for 循环如果3层循环嵌套 goto 语句就会更加的快捷。结语学习 C 语言的过程本质上是学习计算机如何思考的过程。它不像一些高级语言那样封装了大量细节反而会让你直面内存、地址、指令等底层逻辑。也许刚开始你会觉得语法繁琐、报错不断但只要坚持敲完每一个示例、弄懂每一个报错原因你会逐渐发现C 语言简洁、高效、强大它能带你真正走进编程的大门为后续学习 C、数据结构、算法、操作系统、嵌入式开发打下最坚实的基础。希望这篇文章能成为你 C 语言学习路上的起点也期待你写出越来越多优秀的代码.那么本文章就到此结束. 码字不易,如果觉得我写的还可以,还请多多点赞和收藏(人工狗头).如果觉得所写内容对您有些许帮助,或许可以关注一下 持续更新.C语言之后篇章的内容详解也会定期更新,敬请期待.菜鸟一枚,如有错误还请不吝赐教,关于文章表达形式的建议也请直接告知我. 正在学习中,你我共勉,无限进步!-----------------------------------------------------完

相关文章:

别再瞎学 C 语言了!真・胎教级入门教程 | NO.3 万字详解分支与循环 | 下篇

欢迎大家来到<<别再瞎学 C 语言了&#xff01;真・胎教级入门教程 | NO.3 万字详解分支与循环>>下篇学习.在上期中我们已经了解了分支与循环中的if语句,关系操作符,条件操作符,逻辑操作符和switch语句.这一期我们继续来了解剩下的内容.6. while循环在C语言中有三种…...

SpringBoot的服装商城系统毕设源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于Spring Boot与Vue框架的服装商城系统以解决传统电商平台在用户体验优化与业务逻辑实现方面的局限性。当前电子商务领域面临商品信息展示不…...

Java 判断选择循环

一、判断1.应用场景&#xff1a;只有满足条件&#xff0c;对应的代码才能执行2.三种形式&#xff1a;3.示例&#xff1a;4.注意事项&#xff1a;二、选择1.使用&#xff1a;把所有的选择一一列举出来&#xff0c;根据不同的条件任选其一2.格式&#xff1a;3.示例&#xff1a;4.…...

告别网盘限速!3步搞定百度网盘高速下载秘籍

告别网盘限速&#xff01;3步搞定百度网盘高速下载秘籍 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘的龟速下载而烦恼吗&#xff1f;每次看到那几十KB/s的速…...

向华为学习——解读华为流程型组织的基石:业务流架构(BPA)全景解析【附全文阅读】

华为流程型组织 BPA 业务流架构|推介总结 适应人群:企业高管、战略与变革负责人、流程与运营总监、组织与 HR 管理者、数字化与 IT 架构师、咨询顾问。 重要性总结:本文档是华为流程型组织建设的核心方法论,系统解析 BPA 业务流架构全景,明确战略驱动、业务本质、责任落地…...

百度网盘直链解析技术深度解析:突破限速壁垒的工程实践

百度网盘直链解析技术深度解析&#xff1a;突破限速壁垒的工程实践 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 在当今数字化时代&#xff0c;百度网盘作为国内主流云存储服…...

【SITS2026权威前瞻】:AI研发自动化测试的5大范式跃迁与2024落地避坑指南

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI研发自动化测试&#xff1a;SITS2026专题 随着大模型驱动的研发范式演进&#xff0c;AI系统本身的可测试性面临全新挑战——模型行为非确定、输入空间高维、验证标准模糊。SITS2026&#xff08;Softw…...

Python日志系统设计:从基础到企业级实践

Python日志系统设计&#xff1a;从基础到企业级实践 引言 日志系统是后端应用的重要组成部分&#xff0c;它记录系统运行状态、帮助排查问题、追踪用户行为。Python的logging模块提供了强大的日志功能&#xff0c;但在实际应用中需要合理设计才能发挥最大价值。 本文将深入探讨…...

基于Vue 3与JSON数据构建MBTI运势生成器:前端实战开发指南

1. 项目概述&#xff1a;当MBTI遇上运势&#xff0c;一个技术驱动的趣味应用最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“mbti-fortune”&#xff0c;作者是leilei926524-tech。光看名字&#xff0c;你可能会觉得这又是一个简单的星座运势或者性格测试的变种。但作为…...

HarmonyOS 6.0 跨端页面构建实践:从 UI 代码到热力交互卡片设计

HarmonyOS 6.0 跨端页面构建实践&#xff1a;从 UI 代码到热力交互卡片设计 前言 在 HarmonyOS 6.0 的跨端开发体系中&#xff0c;页面构建的核心目标已经从“能运行”逐步转向“高一致性体验 低成本跨端复用”。尤其是在多设备协同的场景下&#xff0c;一个 UI 组件不仅要适配…...

基于 Harmony6.0 的城市空气质量监测页面开发实践:ArkUI 页面构建与跨端能力深度解析

基于 Harmony6.0 的城市空气质量监测页面开发实践&#xff1a;ArkUI 页面构建与跨端能力深度解析 前言 随着 HarmonyOS NEXT 与 Harmony6.0 的持续演进&#xff0c;鸿蒙生态已经不再只是“多设备互联”这么简单&#xff0c;而是逐渐形成了一套完整的分布式应用开发体系。相比传…...

DISTINCT 带 WHERE 仍全表扫描?两层优化刀法拆解

DISTINCT 带 WHERE 仍全表扫描&#xff1f;两层优化刀法拆解 引言&#xff1a;一个看似多余的 DISTINCT&#xff0c;藏着性能陷阱 几乎每个写过 SQL 的人都用过 DISTINCT。它的语义很简单——去掉重复行。但"简单"不等于"快"。在一个客户的生产环境中&…...

从混淆矩阵到mIOU:手把手解析语义分割核心评价指标

1. 从像素战场到成绩单&#xff1a;理解混淆矩阵 第一次接触语义分割任务时&#xff0c;我盯着那些五彩斑斓的分割图直发懵——怎么判断这个模型到底好不好&#xff1f;直到导师扔给我一张"混淆矩阵"的表格&#xff0c;才恍然大悟这就像学生时代的考试成绩单。想象你…...

PCI、PCIe与InfiniBand接口技术对比与应用解析

1. 计算机接口技术演进背景在服务器和PC硬件架构中&#xff0c;I/O接口技术始终是决定系统性能的关键因素之一。作为从业15年的系统架构师&#xff0c;我见证了从传统PCI总线到现代高速互连技术的完整演进历程。这种演进并非简单的替代关系&#xff0c;而是针对不同应用场景的技…...

离线式SMPS输入整流器设计与优化指南

1. 离线式SMPS输入整流器设计基础开关电源(SMPS)的输入整流环节如同电力系统的"第一道闸门"&#xff0c;其设计质量直接影响后续DC-DC转换环节的稳定性。在离线式设计中&#xff0c;整流器需要将85-265VAC的宽范围交流输入转换为高压直流&#xff0c;这个看似简单的过…...

openwrt--by--myself

1. 完全清理配置make distclean // 清理所有配置make clean&#xff1a;最基础的清理&#xff0c;仅删除编译生成的固件、内核和软件包等产物&#xff08;即 bin/ 和 build_dir/ 目录&#xff09;。make dirclean&#xff1a;在 clean 的基础上&#xff0c;还会清除交叉编译工…...

《Java 100 天进阶之路》第1篇:编程语言类型有哪些?我心中的TOP1编程语言,什么是Java跨平台性?

第1篇&#xff1a;编程语言类型有哪些&#xff1f;我心中的TOP1编程语言&#xff0c;什么是Java跨平台性&#xff1f; 一、核心知识点 编程语言的三大类型&#xff1a;机器语言、汇编语言、高级语言Java为什么是“一次编写&#xff0c;到处运行”&#xff08;跨平台原理&…...

Java基础——抽象类与接口

前言&#xff1a; 在Java面向对象编程中&#xff0c;抽象类&#xff0c;接口&#xff0c;内部类以及Object类是构建灵活&#xff0c;可拓展代码的核心工具。理解它们的区别与联系&#xff0c;掌握使用场景&#xff0c;是每一位Java开发者进阶的必经之路。 本文将结合通俗易懂的…...

目标检测算法——史上最全遥感数据集汇总附下载链接【速速收藏】

&#x1f680;&#x1f680;&#x1f680; 近期&#xff0c;小海带在空闲之余收集整理了一批遥感检测数据集供大家参考。 整理不易&#xff0c;小伙伴们记得一键三连喔&#xff01;&#xff01;&#xff01;&#x1f388; &#x1f5a5;️ 专注开源数据集分享与深度学习科研思路…...

链表专项(二):链表反转、环判断

大家好,欢迎来到《算法面试60讲(2026最新版全真题带解析)》的第10篇内容!上一篇我们掌握了单链表、双链表的增删改查基础操作,本节课将聚焦链表专项的核心难点——链表反转和环判断,这两个考点是大厂面试中链表部分的“高频必考题”,无论是校招还是社招,几乎都会出现,…...

SecureVault - 基于新范式的Windows文件加密工具

前言作为一个常年和各种文件打交道的普通人&#xff0c;我一直有个困扰&#xff1a;现有的加密工具要么太复杂&#xff0c;要么太贵&#xff0c;要么用的都是几十年的老算法。我想&#xff0c;能不能做一款简单、便宜、但加密方式完全不同的新工具&#xff1f;于是就有了 Secur…...

Claude代码自动模式:跳过权限的更安全方式 Claude Code auto mode: a safer way to skip permissions —— Anthropic

Claude Code auto mode: a safer way to skip permissions Claude代码自动模式&#xff1a;跳过权限的更安全方式 https://www.anthropic.com/engineering/claude-code-auto-mode Claude Code users approve 93% of permission prompts. We built classifiers to automate so…...

鸿蒙与 H5 通信使用的方法及原理

鸿蒙&#xff08;HarmonyOS&#xff09;与 H5 的通信主要通过 ‌Web 组件&#xff08;WebView&#xff09;‌ 实现&#xff0c;支持多种机制以满足不同场景需求。‌一、通信方法‌‌1. runJavaScript() 方法&#xff08;原生 → H5&#xff09;‌鸿蒙原生侧通过 WebviewControl…...

第三篇:变量

一.变量 1.变量的创建 &#xff08;1&#xff09;语法格式&#xff1a;data_type name; 补充&#xff1a;其中“data_type"是数据类型&#xff0c;”name"是变量名&#xff0c;变量名根据需求随意取即可&#xff0c;但尽量取得有意义 例如&#xff1a;int age 10;(创…...

Obsidian 坚果云同步最佳实践:Nutstore Sync 大仓库提速、冲突策略、.obsidian配置同步与恢复方案

适用人群&#xff1a;Obsidian 重度用户&#xff08;上千/上万文件、图片/附件多、跨设备高频编辑、对稳定性与可恢复性要求高&#xff09;。 强烈建议&#xff1a;操作前先把整个 Vault 复制一份做离线备份。 1. 你要解决的不是“能不能同步”&#xff0c;而是“同步体系” 重…...

Java数据结构6(队列和二叉树初步)

目录1&#xff0c;队列的性质2&#xff0c;循环队列3&#xff0c;队列链式存储4&#xff0c;树的性质5&#xff0c;二叉树的遍历6&#xff0c;代码实现一&#xff0c;队列的性质同样是线性表&#xff0c;队列有线性表的相关操作&#xff0c;不过不同的是队列的性质为先进先出&a…...

Pikachu 靶场 XSS 通关笔记:从反射型到盲打与过滤绕过

目录 一、基础 XSS 类型 1. 反射型 XSS (GET)2. 反射型 XSS (POST)3. 存储型 XSS4. DOM 型 XSS5. DOM 型 XSS-x 二、进阶 XSS 场景 6. XSS 之盲打 (Blind XSS)7. XSS 之过滤8. XSS 之 htmlspecialchars9. XSS 之 href 输出10. XSS 之 JS 输出 三、XSS 绕过速查表 四、Pikach…...

别再用Excel硬扛了!SPSS数据视图和变量视图保姆级上手指南

别再用Excel硬扛了&#xff01;SPSS数据视图和变量视图保姆级上手指南 第一次打开SPSS时&#xff0c;很多从Excel转过来的用户会愣住——这个界面怎么既熟悉又陌生&#xff1f;左边明明也是表格&#xff0c;但为什么右键菜单里找不到"设置单元格格式"&#xff1f;右上…...

基于PSCAD的光伏-火电打捆直流送出系统建模与扰动特性仿真研究

基于PSCAD的光伏-火电打捆直流送出系统建模与扰动特性仿真研究 摘要 随着我国“双碳”目标的深入推进,以光伏为代表的新能源发电装机规模持续快速增长。然而,光伏发电具有间歇性和波动性特征,大规模并网对电力系统的安全稳定运行提出了严峻挑战。将光伏与火电打捆经高压直…...

C语言中的数据类型存储

1、二进制和进制转换我们经常能听到 2 进制、 8 进制、 10 进制、 16 进制 这样的讲法&#xff0c;那是什么意思呢&#xff1f;其实2进制、8进制、10进制、16进制是数值的不同表⽰形式⽽已。⽐如&#xff1a;数值15的各种进制的表⽰形式(十六进制的数值之前写&#xff1a;0x &a…...