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

news2024/11/16 9:25:36

本文参考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;
}

        


明天继续吧!加油!

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

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

相关文章

就业班 2401--3.11 Linux Day15--ftp数据传输测试server和client+谷歌验证码登录远程连接

文件服务器 路漫漫其修远兮&#xff0c;吾将上下而求索.构建NFS远程共享存储 一、NFS介绍 文件系统级别共享&#xff08;是NAS存储&#xff09; --------- 已经做好了格式化&#xff0c;可以直接用。 速度慢比如&#xff1a;nfs&#xff0c;sambaNFS NFS&#xff1a;Networ…

并发通信(网络进程线程)

如果为每个客户端创建一个进程&#xff08;或线程&#xff09;&#xff0c;因为linux系统文件标识符最多1024位&#xff0c;是有限的。 所以使用IO复用技术&#xff0c;提高并发程度。 阻塞与非阻塞 阻塞式复用 非阻塞复用 信号驱动IO 在属主进程&#xff08;线程中声明&…

QML | 在QML中导入JavaScript资源、导入JavaScript资源、包含一个JavaScript 资源

01 在QML中导入JavaScript资源 JavaScript资源可以被QML文档和其他JavaScript通过相对或者绝对路径进行导入。如果使用相对路径,位置解析需要相对于包含import语句的QML文档或JavaScript资源的位置。如果JavaScript需要从网络资源中进行获取,组件的status属性会被设置为Loadi…

重庆医科大学和重庆市生物信息学学会联合主办!第十六届生物信息学和生物医学技术国际会议(ICBBT 2024)即将召开!

2024年第十六届生物信息学和生物医学技术国际会议&#xff08;ICBBT 2024&#xff09;将于5月24-26日在中国重庆举行。本次会议由重庆医科大学和重庆市生物信息学学会联合主办。ICBBT会议系列一年一届&#xff0c;已有15年历史。本次会议的主要目标旨在促进生物信息学和生物医学…

如何正确选择国外服务器的带宽和线路呢?

国外大带宽服务器是一种提供高带宽、高速网络连接和良好稳定性的服务器&#xff0c;但在中国使用这类服务器可能涉及到违反法律法规的风险。因此我无法为你提供相关帮助。接下来和源库一起了解如何正确选择国外服务器的带宽和线路呢? 考虑目标用户的地理位置。如果目标用户主要…

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

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

分享10个ai人工智能ppt生成软件,一键轻松搞定PPT制作!

ai 人工智能发展至今&#xff0c;已经诞生了各式各样的 AI 软件&#xff0c;最常见的如 AI 写作软件、AI 绘画软件、AI 人工智能 ppt 生成器、AI 人工智能抠图软件等等。对每天要面对各类文档、演示文稿&#xff08;PPT&#xff09;的职场人来说&#xff0c;最被需要的 AI 软件…

S5PV210_视频编解码项目_裸机开发:实现按键的外部中断处理

加粗样式本文所作内容&#xff1a; 基于S5PV210芯片实现按键的外部中断处理程序&#xff0c;搭建中断处理流程框架 S5PV210对于中断处理的操作流程 1 外部中断得到触发&#xff1a; 1&#xff09;外部中断在初始化阶段得到使能 2&#xff09;外界达到了外部中断的触发条件 …

Linux Centos系统 磁盘分区和文件系统管理 (深入理解)

CSDN 成就一亿技术人&#xff01; 作者主页&#xff1a;点击&#xff01; Linux专栏&#xff1a;点击&#xff01; CSDN 成就一亿技术人&#xff01; 前言———— 磁盘 在Linux系统中&#xff0c;磁盘是一种用于存储数据的物理设备&#xff0c;可以是传统的硬盘驱动器&am…

strstr函数、chdir函数、access函数、strdup函数的介绍

1、strstr函数 strstr 是 C 语言中的一个字符串处理函数&#xff0c;用于在一个字符串中查找子字符串的第一次出现。 函数原型 char *strstr(const char *haystack, const char *needle); haystack&#xff1a;要在其中搜索的字符串。needle&#xff1a;要查找的子字符串。 函…

创造一款安卓自定义控件(4)——使用Matrix的setPolyToPoly方法实现图像纠正

接上文&#xff1a; 创造一款安卓自定义控件_任意4顶点裁剪框http://t.csdnimg.cn/vu1r5 创造一款安卓自定义控件_任意4顶点裁剪框2_为裁剪框添加放大镜功能http://t.csdnimg.cn/qkngh 创造一款安卓自定义控件_裁剪原理介绍http://t.csdnimg.cn/ORRRL 需求 随着需求修改&#x…

CURE-Net: A Cascaded Deep Network for Underwater Image Enhancement

文章目录 论文结构 及 读论文的方法总结论文理解看图AbstractIntroductionRELATED WORKPROPOSED METHODA Philosophy of Model DesignB Framework of CURE-NetC Proposed GESNet and ORSNetD Proposed DEB and SRBE Loss Function Experiment And ResultA Implementation Detai…

vue学习笔记20-组件全局注册

组件注册方式 一个vue组件在使用前需要先被“注册”&#xff0c;这样Vue才能在渲染模板时找到其对应的实现。组件注册有两种方式&#xff1a;全局注册和局部注册 ps:之前注册&#xff1a;引入➡️注入➡️显示 全局注册 语法规则 import { createApp } from vueconst app …

java Day7 正则表达式|异常

文章目录 1、正则表达式1.1 常用1.2 字符串匹配&#xff0c;提取&#xff0c;分割 2、异常2.1 运行时异常2.2 编译时异常2.3 自定义异常2.3.1 自定义编译时异常2.3.2 自定义运行时异常 1、正则表达式 就是由一些特定的字符组成&#xff0c;完成一个特定的规则 可以用来校验数据…

洛谷 素数环 Prime Ring Problem

题目描述 PDF 输入格式 输出格式 题意翻译 输入正整数 nn&#xff0c;把整数 1,2,\dots ,n1,2,…,n 组成一个环&#xff0c;使得相邻两个整数之和均为素数。输出时&#xff0c;从整数 11 开始逆时针排列。同一个环恰好输出一次。n\leq 16n≤16&#xff0c;保证一定有解。 多…

AHU 汇编 实验三

实验名称&#xff1a;实验三 串操作指令 二、实验内容&#xff1a; 在数据段定义缓冲区&#xff0c;从键盘接收两串字符到两个缓冲区&#xff0c;将第二串中与第一串字符不一致的字符显示在屏幕。 实验过程&#xff1a; 源代码&#xff1a; data segmentmess1 db 16,?,16…

go go.mod file not found in current directory or any parent directory

场景&#xff1a; 安装好 liteide 之后创建了第一个 “hello world” 的golang 项目&#xff0c;却报了如下错误。 原因分析&#xff1a; go 的环境配置问题。与 golang 的包管理有关。 解决方案&#xff1a; 如果你是 Windows 系统&#xff0c;快捷键 “WinR”&#xff0c…

【教程】使用小米换机来迁移数据

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 1、在新旧手机上都下载安装小米换机app&#xff1a;小米换机-小米应用商店 2、在新手机上&#xff0c;选择旧手机类型 3、授予权限 4、在旧手机上&#xff0c;授予权限 4、输入锁屏密码 5、选择发现的新手机 6、等…

Python高级二

一、异常 1、定义 异常是在程序执行过程中出现的错误或意外情况。当程序遇到异常时&#xff0c;它会中断当前的执行流程&#xff0c;并尝试找到相应的异常处理机制来解决问题。 2、常见异常类型 SyntaxError&#xff1a;语法错误&#xff0c;通常是代码书写不符合Python语法规则…

js【详解】DOM

文档对象模型&#xff08;Document Object Model&#xff0c;简称DOM&#xff09; DOM 是哪种数据结构 &#xff1f; DOM 的本质是浏览器通过HTML代码解析出来的一棵 树。 操作 DOM 常用的 API 有哪些 &#xff1f; 获取 DOM 节点 //方式 1&#xff1a;通过【id】获取&#xf…