do while循环、嵌套循环、数组简介

本文参考C Primer Plus进行学习

文章目录

  • 出口循环条件:do while
  • 如何选择循环
  • 嵌套循环
  • 数组简介
    • 在for循环中使用数组


一.出口循环条件:do while

        出口循环条件,即在循环的每次迭代之后检查测试条件,这保证了至少执行循环体中的内容一次。

#include<stdio.h>
int main()
{
	const int secret_code=13;
	int code_entered;
	
	do
	{
		printf("To enter the triskaidekaphobia therapy club,\n");
		printf("Please enter the secret number:");
		scanf("%d",&code_entered);
	}
	while(code_entered!=secret_code);
	printf("Congratulations!You are cured!\n");
	return 0;
}

while循环也可以完成,不过代码稍微长一点。 

#include<stdio.h>
int main()
{
	const int secret_code=13;
	int code_entered;
	
	printf("To enter the triskaidekaphobia therapy club,\n");
 	printf("Please enter the secret number:");
	scanf("%d",&code_entered);

	while(code_entered!=secret_code)
	{
		printf("To enter the triskaidekaphobia therapy club,\n");
 	 	printf("Please enter the secret number:");
		scanf("%d",&code_entered);
		printf("Congratulations!You are cured!\n");
	}
	
	return 0;
}

下面是do while的通用形式

do

        statement

while(expression);

        statement可以是一条简单语句或复合语句。注意,do while 循环以分号结尾。

         do while 循环在执行完循环体后才执行测试条件,所以至少执行循环体一次;而for循环和while循环先执行测试条件再执行循环体。

二.如何选择循环

        通常,入口条件循环用的比较多,其一,一般原则是在执行之前测试比较好。其二,测试放在循环的开头,可读性比较高。在许多应用中,要求一开始不符合条件就直接跳出循环。

         一般而言,当循环涉及初始化和更新变量时,用for循环比较合适,其他情况下while循环比较好。

while(scanf("%ld",&sum)==1)

对于涉及索引基数的循环,用for循环更合适。

for(count=1;count<=100;count++)

三.嵌套循环

#include<stdio.h>
#define ROWS 6
#define CHARS 10
int main(void)
{
	int row;
	char ch;
	
	for(row=0;row<6;row++)
	{
		for(ch='A';ch<('A'+CHARS);ch++)
		printf("%c",ch);
		printf("\n");
	}
	return 0;
}

#include<stdio.h>
int main(void)
{
	const int ROWS=6;
	const int CHARS=6;
	int row;
	char ch;
	
	for(row=0;row<6;row++)
	{
		for(ch='A'+row;ch<('A'+CHARS);ch++)
		printf("%c",ch);
		printf("\n");
	}
	return 0;
}

 四.数组简介

        float debts[20];

声明debts是一个内含20个元素的数组,每个元素都可以储存float类型的值。数组的第一个元素是debts[0],最后一个是debts[19]。可以给每个元素赋float类型的值。

例如:debts[10]=32.54;

scanf("%f",&debts[10]);        //把一个数值读入数组的第11个元素

 在for循环中使用数组

#include<stdio.h>
#define SIZE 10
#define PAR 72
int main(void)
{
	int index,score[SIZE];
	int sum=0;
	float average;
	
	printf("Enter %d golf scores:\n",SIZE);
	for(index=0;index<SIZE;index++)
		scanf("%d",&score[index]);
	printf("The scores read in are as follows:\n");
	for(index=0;index<SIZE;index++)
		printf("%5d",score[index]);
	printf("\n");
	for(index=0;index<SIZE;index++)
		sum+=score[index];
	average=(float) sum/SIZE;
	printf("Sum of scores =%d,average=%.2f\n",sum,average);
	printf("That is a handicap of %.0f.\n",average-PAR);
	return 0;
}

        


明天继续吧!加油!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《互联网的世界》第六讲-去中心化和安全

互联网构建于开放互联的中立原则之上&#xff0c;公平接入&#xff0c;数据互联互通&#xff0c;流量被无差别对待&#xff0c;这意味着互联网本质上是匿名&#xff0c;去中心的&#xff0c;这与我们的现实世界完全不同。 但互联网上的主流业务却是 c/s 产销模式&#xff0c;试…

【教程】APP备案全攻略:确保你的应用合规上线

【教程】APP备案全攻略&#xff1a;确保你的应用合规上线 摘要 本文详细介绍了中国大陆地区互联网信息服务提供者&#xff08;AP&#xff09;进行APP备案的流程、要求和注意事项。包括备案对象、备案方式、备案内容、备案流程等方面的详细说明&#xff0c;帮助开发者顺利完成…

sensitive-word 敏感词 违规文字检测

1、快速开始 - JDK1.7- Maven 3.x 2、Maven 引入 <!-- https://mvnrepository.com/artifact/com.github.houbb/sensitive-word --><dependency><groupId>com.github.houbb</groupId><artifactId>sensitive-word</artifactId><version…

基于PLC除尘设备控制系统的设计

摘要 工业作为我国第二支柱产业&#xff0c;在近十几年来发展非常迅速&#xff0c;虽然带了了可观的经济效益&#xff0c;但在工业生产中所产生的大量粉尘气体对大气的污染现象也不容忽视。为减少工业粉尘对环境的污染&#xff0c;世界各国制定了严格的环境保护要求。为了减少…

金山办公内推

作为金山办公刚刚校招等待入职的一员&#xff0c;我诚挚地邀请您加入我的内推计划&#xff0c;与我一起共同打造卓越的工作环境和未来。 我能帮你 &#xff08;与直接填我的内推码不同&#xff0c;我直接通过内部问卷帮你投&#xff09; 1&#xff0c;直接通过校招群里的连接…

异步编程和asyncio

介绍异步编程的重要性和在Python中的应用&#xff0c;特别是在I/O密集型任务和网络编程场景下。 目录 理解异步编程 异步编程基本概念 任务与Future 异步编程的工作原理 事件循环 协程&#xff08;Coroutines&#xff09; 异步与同步代码的结合 深入asyncio模块 事件循…

数据库查询操作

数据库查询操作 数据准备查询的基本操作查询部分字段的值取别名去重 条件查询比较运算符逻辑运算符模糊查询范围查询为空判断 排序分组聚合count(*) : 求表的总的记录数max(字段名): 查询对应字段的最大的值min(字段名): 查询对应字段的最小的值sum(字段名): 查询对应字段的值的…

宝塔 Let‘s Encrypt 该帐户1小时内失败的订单次数超过5次,解决办法

今日用宝塔申请SSL证书时候提示失败&#xff1a;内容如下 {x} 我信了&#xff0c;当我等了一个小时&#xff0c;再次申请时候依然是同样的错误 {x} 我信了&#xff0c;当我等了一天&#xff0c;再次申请时候依然是同样的错误 不等了 当遇到这种情况该怎么办呢&#xff1f;这时候…

@RequestBody

目录 概述 深入细节 案例 RequestBody与前端传过来的json数据的匹配规则 指定模型中的属性对应什么key 用Valid校验RequestBody的参数 根据RequestBody的内容来区分使用哪个资源 概述 RequestBody主要用来接收前端传递给后端的json字符串中的数据(请求体中的数据)而最常…

【中级软件设计师】上午题02-程序设计语言

上午题02-程序设计语言 1 编译程序和解释程序2 程序设计语言基本成分3 传值调用与传引用调用4 编译器的工作阶段4.1 编译方式和解释方式4.2 符号表4.3 词法、语法、语义分析与目标代码生成4.4 程序异常和错误4.5 中间代码 5 正规式 1 编译程序和解释程序 解释器&#xff1a; 翻…

LeetCode - 寻找数组的中心

先学习一下前缀和吧 LCR 012.寻找数组的中心LCR 012. 代码解析 在读题读到左侧元素之和等于右侧所有元素之和的时候&#xff0c;我觉得可以用前缀和&#xff0c;然后结合下面的示例&#xff0c;模拟了一下发现确实可以。 我的想法是搞两个数组&#xff0c;一个来存从左到右数…

Halcon测量专栏-圆弧测量

1.前言 1.1什么是圆弧 圆上任意两点间的部分叫做圆弧。由于圆弧有正反的特性&#xff0c;即为有顺时针方向和逆时针方向&#xff0c;在确定圆弧时&#xff0c;也需要确定圆弧的方向。 1.2halcon实现方式 针对圆弧的问题。1&#xff1a;它与圆是相似的&#xff0c;都具备中心…

视频监控汇聚管理系统EasyCVR平台RTMP推流异常是什么原因?

AI视频智能分析/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff08;专网、内网、局域网、广域网、公网等&#xff09;&#xff0c;支持设备通过4G、5G、WIFI、有线等方式接入&#xff0c;并将设备进行统一集中接入与视频汇聚管理&#xff0c;经平台接入的视频流能实现多…

王道机试C++第 5 章 数据结构二:队列queue和21年蓝桥杯省赛选择题Day32

目录 5.2 队列 1&#xff0e;STL-queue 课上演示&#xff1a; 基本代码展示&#xff1a; 2. 队列的应用 例:约瑟夫问题 No. 2 题目描述&#xff1a; 思路提示&#xff1a; 代码展示&#xff1a; 例&#xff1a;猫狗收容所 题目描述&#xff1a; 代码表示&#xff1…

安防视频监控汇聚平台EasyCVR使用RTMP推流出现异常的原因排查与解决

AI视频智能分析/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff08;专网、内网、局域网、广域网、公网等&#xff09;&#xff0c;支持设备通过4G、5G、WIFI、有线等方式接入&#xff0c;并将设备进行统一集中接入与视频汇聚管理&#xff0c;经平台接入的视频流能实现多…

大数据开发 hadoop集群 2.hadoop框架入门

自从我学会了寻找&#xff0c;我就已经找到 ——史铁生 —— 24.3.10 内容简介 Hadoop入门&#xff1a; ①概念 ②环境准备 ③hadoop生产集群搭建 ④常见错误的解决方案 ①概念&#xff1a;1.Hadoop是什么 2.Hadoop发展历史 3.Hadoop…

【Linux】线程封装_互斥

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;【LeetCode】winter vacation training 目录 &#x1f449;&#x1f3fb;线程封装Thread.cpp &#x1f449;&am…

骨传导耳机哪个牌子好?五大热门品质机型盘点,体验超赞!

在蓝牙耳机中&#xff0c;骨传导耳机凭借不入耳佩戴更健康等优点&#xff0c;迅速成为当下的热门款式&#xff0c;但随着骨传导耳机市场的品牌日渐增多&#xff0c;以及市场上不专业的骨传导耳机泛滥成灾的问题&#xff0c;有很多消费者在选择骨传导耳机的时候&#xff0c;都出…

【算法】Hash存储——开放寻址法

模拟散列表 维护一个集合&#xff0c;支持如下几种操作&#xff1a; I x&#xff0c;插入一个整数 x&#xff1b; Q x&#xff0c;询问整数 x是否在集合中出现过&#xff1b; 现在要进行 N次操作&#xff0c;对于每个询问操作输出对应的结果。 输入格式 第一行包含整数 N&am…

代码随想录 贪心算法-中等题目-序列问题

376.摆动序列 376. 摆动序列 中等 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为 摆动序列 。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如&#xff0c; [1, 7…