首页 > 其他分享 >C语言入门(6)--控制结构

C语言入门(6)--控制结构

时间:2024-10-27 11:17:29浏览次数:8  
标签:语句 迭代 -- 控制结构 C语言 break int printf include

C语言控制结构

控制结构是C语言中用于控制程序执行流程的基本机制。主要包括顺序结构、选择结构和循环结构。

1. 顺序结构

顺序结构是程序中最基本的控制结构,按照代码的书写顺序从上到下依次执行。

示例代码
#include <stdio.h>

int main() {
    printf("第一行\n");
    printf("第二行\n");
    printf("第三行\n");
    return 0;
}

输出:

第一行
第二行
第三行
2. 选择结构

选择结构用于根据条件的真假来选择执行不同的代码块。主要包括if语句和switch语句。

2.1 if语句

if语句用于测试一个条件,如果条件为真,则执行相应的代码块。

单分支if语句
#include <stdio.h>

int main() {
    int age = 20;
    if (age >= 18) {
        printf("成年\n");
    }
    return 0;
}
双分支if-else语句
#include <stdio.h>

int main() {
    int age = 16;
    if (age >= 18) {
        printf("成年\n");
    } else {
        printf("未成年\n");
    }
    return 0;
}
多分支if-else if-else语句
#include <stdio.h>

int main() {
    int age = 25;
    if (age <= 12) {
        printf("童年\n");
    } else if (age < 18) {
        printf("青少年\n");
    } else if (age < 60) {
        printf("壮年\n");
    } else {
        printf("老年\n");
    }
    return 0;
}
2.2 switch语句

switch语句用于根据一个表达式的值来选择多个代码块之一来执行。

示例代码
#include <stdio.h>

int main() {
    int day = 3;
    switch (day) {
        case 1:
            printf("星期一\n");
            break;
        case 2:
            printf("星期二\n");
            break;
        case 3:
            printf("星期三\n");
            break;
        case 4:
            printf("星期四\n");
            break;
        case 5:
            printf("星期五\n");
            break;
        case 6:
            printf("星期六\n");
            break;
        case 7:
            printf("星期天\n");
            break;
        default:
            printf("无效的输入\n");
            break;
    }
    return 0;
}
3. 循环结构

循环结构用于重复执行一段代码,直到满足某个条件为止。主要包括for循环、while循环和do-while循环。

3.1 for循环

for循环用于已知迭代次数的情况。

示例代码
#include <stdio.h>

int main() {
    for (int i = 0; i < 5; i++) {
        printf("迭代 %d\n", i);
    }
    return 0;
}

输出:

迭代 0
迭代 1
迭代 2
迭代 3
迭代 4
3.2 while循环

while循环用于在条件为真时重复执行一段代码。

示例代码
#include <stdio.h>

int main() {
    int i = 0;
    while (i < 5) {
        printf("迭代 %d\n", i);
        i++;
    }
    return 0;
}

输出:

迭代 0
迭代 1
迭代 2
迭代 3
迭代 4
3.3 do-while循环

do-while循环至少执行一次代码块,然后在条件为真时继续执行。

示例代码
#include <stdio.h>

int main() {
    int i = 0;
    do {
        printf("迭代 %d\n", i);
        i++;
    } while (i < 5);
    return 0;
}

输出:

迭代 0
迭代 1
迭代 2
迭代 3
迭代 4
4. 跳转语句

跳转语句用于控制程序的执行流程,包括breakcontinuegoto

4.1 break语句

break语句用于终止最近的封闭循环或switch语句的执行。

示例代码
#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            break;  // 当i等于5时,跳出循环
        }
        printf("%d ", i);
    }
    return 0;
}

输出:

0 1 2 3 4
4.2 continue语句

continue语句用于跳过当前循环迭代中剩余的代码,并立即开始下一次迭代。

示例代码
#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            continue;  // 当i等于5时,跳过本次循环的剩余部分
        }
        printf("%d ", i);
    }
    return 0;
}

输出:

0 1 2 3 4 6 7 8 9
4.3 goto语句

goto语句用于无条件跳转到程序中的指定位置。

示例代码
#include <stdio.h>

int main() {
    int i = 0;
    while (1) {  // 无限循环
        printf("Enter a number (0 to quit): ");
        scanf("%d", &i);
        if (i == 0) {
            goto end;  // 跳转到标签end的位置
        }
        printf("You entered: %d\n", i);
    }
    end:  // 标签end
    printf("Exiting program...\n");
    return 0;
}

通过以上内容,你应该对C语言中的控制结构有了深入的了解。掌握这些控制结构对于编写高效、灵活的C程序至关重要。

关于C语言控制结构的内容,咱们到这告一段落。

希望能对你有帮助。

下期见!

标签:语句,迭代,--,控制结构,C语言,break,int,printf,include
From: https://blog.csdn.net/Chen7Chan/article/details/143260614

相关文章

  • 【毕业设计】基于Springboot + Vue的城市垃圾分类管理系统
    随着城市化进程的加快,城市垃圾的处理与分类成为了社会关注的重点。传统的垃圾管理方式通常依赖于人工分拣和纸质记录,这种方式不仅效率低下,还容易产生信息记录错误和数据丢失的情况。因此,开发一个智能化的城市垃圾分类管理系统显得尤为重要。本文将介绍基于SpringBoot开发的城市......
  • 学生宿舍管理信息化:Spring Boot系统研究
    3系统分析3.1可行性分析通过对本学生宿舍信息管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。3.1.1技术可行性本学生宿舍信息管理系统采用SpringBoot框架,JAVA作为开发语言,是......
  • Spring Boot助力学生宿舍信息管理自动化
    2相关技术2.1MYSQL数据库MySQL是一个真正的多用户、多线程SQL数据库服务器。是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适用于Web站点或者其他......
  • 数组指针的相关知识
    1.数组指针的概念    1.顾名思义,数组指针就是指向数组的指针(地址),要和指针数组做区分。    数组指针:类型为int(*)[常量],是一个地址。    指针数组:是由int*类型之类的指针为元素的数组,是一个数组。    2.数组指针指向的是整一个数组,而非......
  • 【毕业设计】基于SpringBoot + Vue的扶贫助农系统
    在当今数字化时代,信息技术的快速发展为各个领域带来了新的机遇和挑战。特别是在扶贫助农领域,传统的管理方法往往面临效率低、错误率高、检索困难等问题。为了提高扶贫助农信息的管理效率,本文介绍了一个基于SpringBoot框架开发的扶贫助农系统。1.为什么需要一个扶贫助农系统?......
  • 2024CSP游记
    希望这次JS都1=rp++DAY018:00出发去莆田(为什么不是福州,明明福州更近)19:15基本复习完了DAY1普及组考试时30min口胡了一下最后一题,感觉是构建fail树之后跑一下所有可能的结果\(O(r\suml)\)但是听大佬们说是DP,还好没写,只写了个暴力嘻嘻期望得分:\(100+100+100......
  • C项目要怎么缩短编译时间
    在处理C项目时,为缩短编译时间可以采取以下措施:1.优化代码结构,减少不必要的编译依赖;2.使用并行编译技术;3.优化编译器设置;4.利用增量编译和预编译技术;5.合理配置硬件资源。通过这些方法,我们可以显著减少C项目的编译时间,从而提高开发效率。1.优化代码结构项目的代码结构是影响编......
  • CSP-S2024游记
    Day998244351/998244352打板子~40个。(但是一个都没用上)Day1带了三包饼干和一瓶水,准备做不出来就吃吃吃。开考前5分钟。先把模板敲好了。大样例有60M?下发的pdf密码文件是错的,但是半分钟没人有反应。监考:“把选手文件夹建在桌面”(使用的是NOILinux),然后被询问是不......
  • NTT
    NTT线性卷积定义:\[(f*g)[i]=\sum_{j=0}^{i}f[j]\cdotg[i-j]\]卷积定理:\[\mathcal{F}(f*g)=\mathcal{F}(f)\cdot\mathcal{F}(g)\]于是,求线性卷积可以转化为,先变换,再直接相乘,最后逆变换。注意:序列长度须变成N+M-1,对齐2^k。循环卷积(圆周卷积)一般用于两个等长序......
  • 免费的进销存系统有哪些
    免费的进销存(库存管理)系统在市场上逐渐增多,帮助中小型企业进行有效管理。其中主要的免费系统包括:1.Odoo;2.inFlowInventoryFreeEdition;3.ABCInventory;4.LoMag仓库管理;5.PartKeepr。例如,Odoo提供了一套完整的企业资源规划解决方案,其进销存模块既强大又易用,可免费用于少量......