C语言从头学14——流程控制(三)

2024-06-01 04:52
文章标签 语言 流程 14 控制 从头

本文主要是介绍C语言从头学14——流程控制(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       还是接着学习流程控制,并继续上一篇的编号。
7、break语句
        break 语句有两种用法。一种是与 switch 语句配套使用,前面已经学习过了。另一种用法
是在循环体内部跳出循环,不再进行后面的循环了,这种用法一般和 if 语句结合,即使在无限循环情况下,也可以有条件的跳出。
 8、continue 语句
       continue 语句用于在循环内部终止本轮循环,进入下一轮循环。只要遇到 continue 语句,
循环内部位于continue后面的语句就不执行了,回到循环开始执行下一轮循环。continue与break类似,一般也需要与 if 语句配合使用。break是彻底退出循环,continue是结束一轮循环再开始一轮新循环。
       举一个例子进一步说明break、continue的使用方法。这个小程序的功能分成两部分:a.输入部分:每次循环输入一个字符,当输入回车符"\n"时,利用break语句跳出循环;b.显示部分:依次显示输入的字符,遇到字符 "0" 执行 continue 进入下一次循环 ( 不显示 "0" ) ;退出循环的条件与输入相同。输入时请加上几个 "0" 验证效果。具体代码如下:

#include<stdio.h>
int main(void)
{char ch[1024]; //定义一个字符数组int n = 0; //定义一个整形变量并赋初值printf("请开始输入字符:(回车结束)\n");while (1) //使用while循环语句{char c = getchar(); //从键盘接收一个字符并赋给字符变量cch[n] = c; //字符数组依序存储输入的字符if (c == '\n') { break; } //检查到输入回车符时利用break退出while循环n++; //n做自增运算}printf("显示输入的内容:\n");for (int i = 0; i < 1024; i++) //根据声明的字符数组长度进行for循环{if (ch[i] == '\n')  break;  //遇到数组中的回车符时利用break退出for循环if (ch[i] == '0')  continue; //当遇到字符0时,不显示直接进入下一循环printf("%c", ch[i]);}getchar(); //阻塞程序运行return 0;
}

9、goto 语句
       goto 语句用于跳到指定的标签名。许多教程介绍编程知识时,都讲尽量不用goto语句,容易出错。它的用法非常简单,我们可以在任意一个语句前(不能在语句中间)做一个标记(一般是几个字母加冒号),这样,我们在程序的其它地方只要写上"goto 标记;"(这里的标记不用冒号),程序就跑到标记处开始运行了。
   注意:goto只能在同一函数中跳转,不能转到其它函数中。
   还是听人劝吃饱饭,能不用尽量不用吧。
 

这篇关于C语言从头学14——流程控制(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020040

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

C语言:柔性数组

数组定义 柔性数组 err int arr[0] = {0}; // ERROR 柔性数组 // 常见struct Test{int len;char arr[1024];} // 柔性数组struct Test{int len;char arr[0];}struct Test *t;t = malloc(sizeof(Test) + 11);strcpy(t->arr,