C语言分支和循环语句

一、分支语句

        1.if 语句

                简单 if 语句

  • 语法格式:if (条件表达式) { 语句块; }。当条件表达式的值为真(非零)时,就会执行语句块中的内容;如果条件表达式的值为假(零),则跳过语句块。
#include <stdio.h>
int main()
{
    int num = 10;
    if (num > 5) {
        printf("这个数字大于5\n");
    }
    return 0;
}

 if语句判断num > 5这个条件表达式,因为 10 大于 5,条件为真,所以会执行printf函数,输出相应的信息。

                简单 if 语句 

  • 语法格式:if (条件表达式) { 语句块1; } else { 语句块2; }。当条件表达式的值为真(非零)时,执行语句块 1;当条件表达式的值为假(零)时,执行语句块 2。
#include <stdio.h>
int main()
{
    int num = 3;
    if (num > 5) {
        printf("这个数字大于5\n");
    } else {
        printf("这个数字小于等于5\n");
    }
    return 0;
}

 num的值为 3,num > 5这个条件表达式为假,所以会执行else后面的语句块,输出 “这个数字小于等于 5”。

                if - else if - else 语句

  • 语法格式:if (条件表达式1) { 语句块1; } else if (条件表达式2) { 语句块2; }... else { 语句块n; }。它用于多分支的情况,会按照顺序依次判断条件表达式。当某个条件表达式的值为真(非零)时,就执行对应的语句块,然后跳出整个if - else if - else结构;如果所有的条件表达式都为假(零),则执行else后面的语句块。
#include <stdio.h>
int main()
{
    int score = 75;
    if (score >= 90) {
        printf("优秀\n");
    } else if (score >= 70) {
        printf("良好\n");
    } else if (score >= 60) {
        printf("及格\n");
    } else {
        printf("不及格\n");
    }
    return 0;
}

 根据score的值来判断成绩等级。因为75大于等于 70 且小于 90,所以会输出 “良好”。

        2.switch 语句

        switch 语句是一种有限制的控制流语句,它用于根据表达式的值执行不同的代码块。

一个 switch 语句允许测试一个变量等于多个值时的情况,每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。

switch (表达式) {
    case 常量表达式1:
        语句块1;
        break;
    case 常量表达式2:
        语句块2;
        break;
   ...
    case 常量表达式n:
        语句块n;
        break;
    default:
        语句块n + 1;
}

switch语句首先计算switch后面表达式的值,然后将这个值与各个case后面的常量表达式的值进行比较。如果找到匹配的值,就执行对应的语句块,直到遇到break语句跳出switch结构;如果没有找到匹配的值,则执行default后面的语句块(default部分是可选的) 。

二、循环语句

        1.for 循环

for循环语法是for(初始化表达式; 条件判断表达式; 循环变量更新表达式) {循环体语句}。

int sum = 0;
for(int i = 1; i <= 100; i++) {
    sum += i;
}
printf("1到100的和为:%d", sum);

for循环适合用于已知循环次数的情况。比如计算数列的前n项和,或者对一个数组的固定长度部分进行操作。例如,上面列子要计算 1 到 100 的整数和 。

        2.while 循环

while(条件判断表达式) {循环体语句}

例如:int i = 0; while(i < 10) { printf("%d ", i); i++; }

首先需要在while循环之前初始化循环变量,这里int i = 0定义并初始化了变量i。然后条件判断表达式i < 10决定了循环是否继续,只要这个条件为真,就会执行循环体。在循环体内部,printf("%d ", i);用于输出当前i的值,i++;用于更新循环变量,将其值加 1。

int num;
scanf("%d", &num);
while(num!= 0) {
    printf("你输入的数是:%d\n", num);
    scanf("%d", &num);
}

while循环当不知道循环的具体次数,但知道循环结束的条件时使用。例如,以下程序从用户处读取整数,直到用户输入 0 为止:

        3.do - while 循环

do {循环体语句} while(条件判断表达式);

例如:int i = 0; do { printf("%d ", i); i++; } while(i < 10);

先执行一次循环体语句,然后再根据条件判断表达式来决定是否继续循环。在这个例子中,先执行printf("%d ", i);i++;,然后判断i < 10是否成立,若成立则继续循环。

int choice;
do {
    printf("1. 开始游戏\n");
    printf("2. 查看记录\n");
    printf("3. 退出游戏\n");
    scanf("%d", &choice);
    // 根据用户选择执行不同操作
} while(choice!= 3);

do-while循环适用于至少需要执行一次循环体的情况。比如一个游戏的主菜单循环,游戏启动后,至少要显示一次菜单,之后根据用户的选择来决定是否继续显示菜单。


【论文复现】风光制氢合成氨系统优化研究(Python代码实现)内容概要:本文围绕“风光制氢合成氨系统优化研究”展开,重点介绍了基于Python代码实现的论文复现工作,旨在通过对风能、太阳能耦合制氢进而合成氨的综合能源系统进行建模与优化,提升可再生能源利用率与系统经济性。研究涵盖系统容量配置、能量调度策略、多能协同优化等核心内容,采用优化算法求解系统运行成本最小化或效率最大化目标,并提供完整的代码实现路径,便于科研人员复现实验结果并进一步开展创新研究。; 适合人群:具备一定Python编程基础,从事新能源系统优化、综合能源系统调度、氢能利用等相关领域的研究生、科研人员及工程技术人员,尤其适合有志于复现高水平论文成果的研究者。; 使用场景及目标:①复现SCI级别论文中的风光制氢合成氨系统优化模型;②掌握综合能源系统建模与优化求解方法;③学习Python在能源系统优化中的实际应用,包括数学建模、数据处理与算法实现;④为后续拓展至虚拟电厂、储能调度、碳交易机制等方向提供技术基础。; 阅读建议:建议读者结合文中提供的代码与网盘资源,按照文档结构逐步操作,重点关注模型构建逻辑与代码实现细节,同时推荐对比Matlab版本实现以加深对不同工具优劣的理解,强化科研复现能力与工程实践水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值