【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;那么看门…

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;一定要敲代码…

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

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

高级数据结构与算法习题(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。 本期内…

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

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

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

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

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

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

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

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

leetcode-链表中间节点

876. 链表的中间结点 题目 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[3,4,5] 解释&#xff1a;链表只有一个中间…

12.MySQL应用架构演变

MySQL应用架构演变 1.总览 单机单库主从架构分库分表云数据库 2.单机单库 介绍 一个简单的小型网站或者应用背后的架构可以非常简单&#xff0c;数据存储只需要一个MySQL Instance就能满足数据读取和写入需求&#xff08;这里忽略掉了数据备份的实例&#xff09;&#xff…

三款好用的 Docker 可视化管理工具

文章目录 1、Docker Desktop1.1、介绍1.2、下载地址1.3、在Windows上安装Docker桌面1.4、启动Docker Desktop1.5、Docker相关学习网址 2、Portainer2.1、介绍2.2、安装使用 3、Docker UI3.1、介绍3.2、安装使用3.2.1、常规方式安装3.2.2、通过容器安装 Docker提供了命令行工具&…

【vue】购物车案例

change"fun"&#xff1a;元素值发生改变时&#xff0c;会触发事件fun <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale…

Qt创建基于应用程序的插件

应用程序插件 什么是插件插件的好处插件的种类应用程序插件创建应用程序的插件步骤:创建测试插件的应用程序步骤:应用程序插件示例开发环境创建示例生成插件运行结果总结什么是插件 插件是一种用于应用程序功能扩展和增强,且按照特定规范编写的应用程序接口的程序。 插件的…

linux 自定义快捷指令(docker

vi /root/.bashrc alias disdocker images alias dpsdocker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}" 保存退出后使用sourece /root/.bashrc 让其立即生效 sourece /root/.bashrc

Python学习笔记(37)——用xlwings库生成excel

老规矩先pip入xlwings库 STEP1:下载xlwings库 windowsr>>cmd>>pip install xlwings (如果需要不同版本可以到pypi上搜&#xff09; STEP2:完成EXCEL初级创建 请打开您的编写软件~~~~~&#xff08;小编的显示结果为PYCHARM编写的&#xff0c;因为颜色标注好看(…

【论文笔记】PointMamba: A Simple State Space Model for Point Cloud Analysis

原文链接&#xff1a;https://arxiv.org/abs/2402.10739 1. 引言 基于Transformer的点云分析方法有二次时空复杂度&#xff0c;一些方法通过限制感受野降低计算。这引出了一个问题&#xff1a;如何设计方法实现线性复杂度并有全局感受野。 状态空间模型&#xff08;SSM&…

蓝桥杯 — — 纯质数

纯质数 题目&#xff1a; 思路&#xff1a; 一个最简单的思路就是枚举出所有的质数&#xff0c;然后再判断这个质数是否是一个纯质数。 枚举出所有的质数&#xff1a; 可以使用常规的暴力求解法&#xff0c;其时间复杂度为&#xff08; O ( N N ) O(N\sqrt{N}) O(NN ​)&…