【C语言回顾】分支和循环

  • 前言
  • 1. if 分支进阶
    • 1.1 嵌套 if
    • 1.2 悬空 else
  • 2. switch 语句
  • 3. while 循环
  • 4. for 循环
  • 5. goto语句
  • 结语


在这里插入图片描述
上期回顾: 【C语言回顾】数据类型和变量相关

前言

各位小伙伴,大家好!话不多说,我们直接进入正题。
以下是C语言分支和循环的总结。

在这里插入图片描述

1. if 分支进阶

1.1 嵌套 if

【示例】

#include<stdio.h>
int main()
{int type,price;  //定义变量type表示粽子口味,money表示钱数printf("数字1表示甜粽子,否则就是咸粽子\n");printf("请输入粽子口味和可支付金额:");scanf("%d,%d",&type,&money);if(type==1){if(money>=5&&money<10)printf("您可以吃到五元的甜粽子\n");else if(money>=10)printf("您可以吃到十元的甜粽子\n");elseprintf("您不可以吃到甜粽子\n")}else{if(money>=4&&money<12)printf("您可以吃到四元的咸粽子\n");else if(money>=12)printf("您可以吃到十二元的咸粽子\n");elseprintf("您不可以吃到咸粽子\n");}return o;
}

1.2 悬空 else

【示例】

#include<stdio.h> 
int main()
{int a=0, b=1;if(a==1)if(b==1)printf("haha");elseprintf("hehe");}
//都不会输出,因为第一个if没有与之匹配的else,这也是写程序中会犯错的一个问题,因为他在编//译过程当中不会出现语法错误//改正
#include<stdio.h> 
int main()
{int a=0, b=1;if(a==1){if(b==1)printf("haha");}elseprintf("heihei");}

2. switch 语句

【示例】

//利用switch的穿透特性,根据指定月份,
//打印该月份所属的季节,3,4,5春季 6,7,8夏季 9,10,11秋季 12,1,2冬季。
#include<iostream>
using namespace std;
int main(){int n;cout<<"季节判断器"<<endl;cout<<"请输入要进行判断的月份:"<<endl; cin>>n;switch(n){case 12:cout<<"冬季";break;case 1:cout<<"冬季";break;case 2:cout<<"冬季";break;case 3:cout<<"春季";break;case 4:cout<<"春季";break;case 5:cout<<"春季";break;case 6:cout<<"夏季";break;case 7:cout<<"夏季";break;case 8:cout<<"夏季";break;case 9:cout<<"秋季";break;case 10:cout<<"秋季";break;case 11:cout<<"秋季";break;default:cout<<"输入错误";break; }return 0;
}

3. while 循环

【示例】经典题目水仙花数

#include <stdio.h>
int main ()
{int i=0;     //定义初始值数int a,b,c;     //定义个位数百位数while( i<=999)  //条件{//开始拆解个位、十位、百位;a = i/100;   //百位b = i/10%10; //十位c = i%10;    //个位if (a*a*a+b*b*b+c*c*c == i)  //if语句判断条件{printf("水仙花:%d\n",i); //为真输出语句块}i++;   //再计算i,后面返回while}return 0;
}

4. for 循环

//题目一:求 1!+2!+3!+...+9!+10!#include <stdio.h>
int main()
{int i = 0;int j = 0;int sum = 1;int ret = 0;for (i = 1; i <= 10; i++){sum = 1;for (j = 1; j <= i; j++){sum *= j;}ret += sum;}printf("ret=%d\n", ret);return 0;
}
//题目二:字符金字塔#include <stdio.h>
int main()
{char ch = 0;scanf("%c", &ch);int i = 0;int j = 0;for (i = 0; i < 5; i++){for (j = 0; j <= 5 - i; j++){printf(" ");}for (j = 0; j <= i; j++){printf("%c ", ch);}printf("\n");}return 0;
}
//题目五:冒泡排序//备注:将无序的数组按顺序排列#include <stdio.h>
int main()
{int arr[] = { 2,4,6,8,10,1,3,5,7,9 };int sz = sizeof(arr) / sizeof(arr[0]);int i = 0;int j = 0;for (i = 0; i < sz - 1; i++){for (j = 0; j < sz - 1 - i; j++){if (arr[j] > arr[j + 1]){int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}for (i = 0; i < 5; i++){printf("%d ", arr[i]);}return 0;
}

5. goto语句

【示例】

#include<stdio.h>
#include<Windows.h>
int main()
{char input[20] = {0};system("shutdown -s -t 60");//表示将在60秒后电脑关机
again:printf("请注意:你的电脑将在60秒后自动关机,如果输入:不要关机,则取消自动关机\n");scanf("%s", input);if (strcmp(input,"不要关机") == 0){system("shutdown -a");}elsegoto again;return 0;
}

结语

以上就是小编对C语言分支和循环的总结。
如果觉得小编总结的还可以,还请一键三连!互三必回!
持续更新中~!
在这里插入图片描述

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

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

相关文章

ARM看门狗定时器

作用 在S3C2440A中&#xff0c;看门狗定时器的作用是当由于噪声和系统错误引起的故障干扰时恢复控制器的工作。 也就是说&#xff0c;系统内部的看门狗定时器需要在指定时间内向一个特殊的寄存器内写入一个数值&#xff0c;俗称喂狗。 如果喂狗的时间过了&#xff0c;那么看门…

修改Ubuntu的镜像源为华为镜像源

修改Ubuntu的镜像源为华为镜像源 1、首先使用以下命令备份现有的镜像源&#xff1a; cd /etc/apt sudo cp sources.list sources.list.bak 2、使用以下命令打开镜像源文件&#xff1a; sudo vim /etc/apt/sources.list 3、在vim插入模式下使用以下内容替换掉原镜像源…

STM32H7上实现AD5758驱动

目录 概述 1 下载ADI 5758 Demo 2 AD5758驱动的移植 2.1 使用STM32CubeMX创建工程 2.2 接口函数实现 2.2.1 驱动接口列表 2.2.2 函数实现 2.2.3 修正ad5758驱动 3 AD5758应用程序 3.1 编写测试程序 3.1.1 配置参数结构 3.1.2 配置参数函数 3.1.3 读取参数函数 3.…

时隔一年,再次讨论下AutoGPT-安装篇

AutoGPT是23年3月份推出的&#xff0c;距今已经1年多的时间了。刚推出时&#xff0c;我们还只能通过命令行使用AutoGPT的能力&#xff0c;但现在&#xff0c;我们不仅可以基于AutoGPT创建自己的Agent&#xff0c;我们还可以通过Web页面与我们创建的Agent进行聊天。这次的AutoGP…

设计模式——观察者模式17

观察者模式指多个对象间存在一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式。 中介者模式是N对N的双向关系。观察者模式是1对N的单向关系。 设计模式&#xff0c;一定要敲代码…

电机驱动-理论学习-Fast计算

Fast计算 cordic方法原理详解代码实现 德州仪器IQmath算法讲解代码实现 欧洲黑客大会FastMath实现原理代码实现 电机运算通常在有限资源MCU上进行计算&#xff0c;对实时性有极高要求。然而&#xff0c;电机驱动又有大量的计算。所以&#xff0c;对运算速度也有较为严格要求。所…

腾讯EdgeOne产品测评体验—金字塔般的网络安全守护神

作为一名对网络安全和性能优化充满热情的用户&#xff0c;我决定体验腾讯云下一代 CDN 服务 - EdgeOne。这款引以为傲的全方位服务如数来到&#xff0c;从域名解析、动静态智能加速到四层加速及DDoS/CC/Web/Bot 防护&#xff0c;一应俱全。随着时代风云变幻&#xff0c;日均数千…

SpringCloud整合ElasticSearch搜索使用

环境说明 ORM&#xff1a;easy-es 2.0.0(opens new window) ElasticSearch&#xff1a;7.14.0 pigx&#xff1a;5.2 请保持环境如上&#xff0c;ElasticSearch 兼容性较差无法保证其他版本正常整合执行。快速开始 ① 安装 ElasticSearch docker run --name es714 -p 9200:920…

高级数据结构与算法习题(7)

一、单选题 1、When solving a problem with input size N by divide and conquer, if at each stage the problem is divided into 8 sub-problems of equal size N/3, and the conquer step takes O(N2logN) to form the solution from the sub-solutions, then the overall…

Linux调试器之gdb

前言 我们前面介绍了几个基本的环境开发工具。例如通过yum我们可以安装和卸载软件、通过vim我们可以写代码、通过gcc和g我们可以编译代码成可执行程序。但是如何在Linux下调试代码呢&#xff1f;我们并未介绍&#xff0c;本期我们将来介绍最后一个工具 --- 调试器gdb。 本期内…

云原生周刊:CNCF 2023 年度调查报告 | 2024.4.15

开源项目推荐 highlight 该项目是一个开源全栈监控平台。其功能包括错误监控、会话重放、日志记录、分布式跟踪等。 Helm Compose Helm Compose 是一个 helm 插件&#xff0c;用于在单个配置文件中管理一个或多个图表的多个版本。 HAMi 异构 AI 计算虚拟化中间件&#xf…

HttpComponentsClientHttpRequestFactory

HttpComponentsClientHttpRequestFactory 文章目录 HttpComponentsClientHttpRequestFactory介绍**配置 PoolingHttpClientConnectionManager 时&#xff0c;可以使用如下的方法来设置最大连接数&#xff1a;****defaultMaxPerRoute**示例RestTemplate的负载均衡策略是什么&…

字节面试:领域、子域、核心域、通用域和支撑域怎么划分?

领域驱动设计&#xff08;DDD&#xff09;里面有一堆专业术语&#xff0c;比如领域、子域、核心域、通用域、支撑域等等&#xff0c;听着是不是觉得挺吓人&#xff1f;别怕&#xff0c;我来带你轻松搞懂它们。 ​《Leetcode算法刷题宝典》一位阿里P8大佬总结的刷题笔记。 《大厂…

DAY13|239. 滑动窗口最大值、347.前K个高频元素

239. 滑动窗口最大值、347.前 K 个高频元素 239. 滑动窗口最大值347.前 K 个高频元素 239. 滑动窗口最大值 难度有些大啊… 其实队列没有必要维护窗口里的所有元素&#xff0c;只需要维护有可能成为窗口里最大值的元素就可以了&#xff0c;同时保证队列里的元素数值是由大到小…

基于U-Net的图像分割算法介绍

U-Net是一种用于图像分割的深度学习架构,其设计初衷是用于生物医学图像分割,尤其是医学影像中的细胞分割任务。U-Net结构独特,具有编码器-解码器结构,能够有效地捕捉图像中的局部和全局信息,并在像素级别上进行精确的分割。 相关论文: U-Net: Convolutional Networks for…

STM32 CAN的验收筛选器

STM32 CAN的验收筛选器 简介 CAN外设的验收筛选器&#xff0c;一共有28个筛选器组&#xff0c;每个筛选器组有2个寄存器&#xff0c; CAN1和CAN2共用的筛选器的。 在 CAN 协议中&#xff0c;消息的标识符与节点地址无关&#xff0c;但与消息内容有关。因此&#xff0c;发送节…

密码学基础 -- 走进RSA(2)(放弃数学原理版)

目录 1.概述 2. RSA测试 2.1 加解密实验 2.2 签名验签测试 3. RSA原理简介 4.小结 1.概述 从上面密码学基础 -- 走进RSA(1)(放弃数学原理版)-CSDN博客我们知道了非对称算法的密钥对使用时机&#xff0c;那么接下里我们继续讲解RSA&#xff0c;我们分别从RSA加解密、签名验…

阿里云消息队列升级全新品牌 ApsaraMQ丨阿里云云原生 3 月产品月报

云原生月度动态 云原生是企业数字创新的最短路径。 《阿里云云原生每月动态》&#xff0c;从趋势热点、产品新功能、服务客户、开源与开发者动态等方面&#xff0c;为企业提供数字化的路径与指南。 趋势热点 &#x1f947; 阿里云 ApsaraMQ 率先完成消息队列全系 Serverles…

科大讯飞星火开源大模型iFlytekSpark-13B GPU版部署方法

星火大模型的主页&#xff1a;iFlytekSpark-13B: 讯飞星火开源-13B&#xff08;iFlytekSpark-13B&#xff09;拥有130亿参数&#xff0c;新一代认知大模型&#xff0c;一经发布&#xff0c;众多科研院所和高校便期待科大讯飞能够开源。 为了让大家使用的更加方便&#xff0c;科…