循环控制结构-程序员宅基地

技术标签: C语言C++专题总结  

最近我们的C语言课程刚刚结束对循环控制结构的学习。在此对C语言中循环控制结构的知识点进行总结,并发表看法。
循环结构主要分为两种:当型循环结构和直到型循环。当型循环是根据条件决定是否执行循环,直到型循环是先循环再判断,即至少循环一次。C语言中主要是通过for、while、do-while三中循环语句来实现循环的。
一、while语句为当型循环。格式为:
while(循环控制表达式)
{
循环语句
}
当循环控制表达式成立时则执行循环,while便于多组循环输入。对于特殊情况,例如:while(r!=0)等价于while,即r不等于0时循环;while(!r)为r=0时循环。另外,当输入为有效输入时执行循环的语句为:while(scanf("%d",&x)=1);当输入不是无效输入时,语句为(scanf("%d",&x)=EOF)(ps:EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。为C语言中的一个常量。)对于C++则直接使用while(cin>>a>>b>>…)表示输入为有效输入时执行循环。
二、do-while语句属于直到型循环。格式为:
do
{
循环语句
}while(循环控制表达式)
先执行一次循环再进行判断,若循环条件成立则继续循环,循环体内的语句至少循环执行一次。
三、for语句属于当型循环。格式为:
for(初始化表达式;循环控制表达式;增值表达式)
{
循环语句
}
即循环控制表达式成立时则执行循环,根据增量表达式确定循环几次之后结束循环,一般来说for(…)已经确定了循环执行次数和终止条件。注意三个表达式之间是用分号隔开。
注意:1.循环变量可在循环体中做一般变量使用,这时循环变量变化唯一。
2.和变量赋初值在重复累加之前,作为重复累加的第一条语句。
3.for、while之后无分号。
4.break为跳出循环语句,终止循环。
关于三种循环结构的选择:若循环次数已知,计数控制的循环用for;若循环次数未知,用条件控制的循环用while;循环体至少执行一次的用do-while。也要根据实际情况进行选择,当有多组输入时,一般采用while。对于只有一组输入的了情况,一般用for即可。对于有些题目,不能一下算出来,就需要把所有的情况都罗列出来,这种方法叫暴力法。许多题目不是用一个循环写的,而是在一个循环中在套一个循环,即为循环嵌套结构。举个例子:openjudg中的画矩形问题,题目要求是用输入一个字符,输出一个用该字符组成实心或空心矩形方阵。代码如下:

#include<stdio.h>
using namespace std;
int main()
{
    
    int a,b,n;
    char x;
    scanf("%d %d %c %d",&a,&b,&x,&n);
    if(n==1)
	{
    
        for(int i=1;i<=a;i++)
        {
    
            for(int j=1;j<=b;j++)
            printf("%c",x);
            printf("\n");
        }
		}
    if(n==0)
	{
    
	
		for(int j=1;j<=b;j++)
		{
    
			if(j==1||j==b)
			{
    
			for(int i=1;i<=a;i++)
			printf("%c",x);
			printf("\n");
			}
			
		else
		{
    
		for(int i=1;i<=a;i++)	
			{
    
				if(i==1||i==a)	
			printf("%c",x);
			else
			printf(" ");
			}
			printf("\n");
		}
	}
	}
	return 0;
}

因为输出的是一个二维图形,所以需要两重循环控制,分别控制行数何列数。其中,循环变量i控制的是行数的变化,而j表示的是列数的变化。其他题目类似。
对于循环结构的学习,需要不断的深入理解。首先,要将知识点记住,把结构牢记于心,需要注意各种易错的地方,敲代码时要严格认真。其次,做题时要注意读懂题意,避免掉入陷阱。比如说:int定义的是最多是32位整数,此时若运算时或输出时的数据超出32位,则会出现错误,此时就应该用long long进行定义。再者,我认为所有的程序员都必须具备一定的专业素养,我们应该学会用计算机的思维看代码。当程序编译成功但是输出不正确时,我们需要对代码进行修改调试,这是就需要我们用计算机的思维方式进行修改,通过对代码的阅读,试着让代码在自己的大脑里运行一遍,找出错误的地方,并进行修改。如果无法通过阅读查看来对程序进行调试,可以在不同的位置多加几组输出,看看运行结果是否正确,这样能较快速的找出错误的地方,并进行改正。需要注意的是,提交时需要把多加的输出语句注释掉。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43460224/article/details/84584487

智能推荐

11款免费而强大的PCB设计软件 还用什么AD PADS?_与ad同功能的免费软件-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏26次。1.PCBWeb DesingerPCBWeb是一款用来设计和制造电子硬件的免费CAD应用软件,使用快速、易用的线性工具设计多层原理图,使用覆铜和DRC检测可规划多层电路板,可嵌入物料清单。2.ZenitPCBZenitPCB是一款优秀的PCB设计软件,可以制作专业的电路板,CAD模块灵活易用,可快速实现设计项目。通过ZenitPCB可从原理图或者图层本身创建项目。3.FreePCBFreePCB顾名思义,是一款全开源基于Windows的PCB设计编辑器。它简单易用,可胜任专业高质量的工作。它具备_与ad同功能的免费软件

VC和TC的区别_vc系统与tc系统的区别-程序员宅基地

文章浏览阅读3.7k次。TC是宝蓝公司的只能用于标准C,不能支持C++,过时的东西。 VC是微软的一套C/C++开发环境,VC比TC强大的多VB也是微软的一套开发环境,使用Basic语言,入门相对较快。..._vc系统与tc系统的区别

POJ1008算法解析_poj1008用c语言-程序员宅基地

文章浏览阅读418次。POJ1008 Description 上周末,M.A. Ya教授对古老的玛雅有了一个重大发现。从一个古老的节绳(玛雅人用于记事的工具)中,教授发现玛雅人使用了一个一年有365天的叫做Haab的历法。这个Haab历法拥有19个月,在开始的18个月,一个月有20天,月份的名字分别是pop, no, zip, zotz, tzec, xul, yoxkin, mol, chen, yax,_poj1008用c语言

Kubernetes之Kubelet组件解析_调用kubelet 接口查询资源-程序员宅基地

文章浏览阅读5.1k次。概述Kubelet组件运行在Node节点上,维持运行中的Pods以及提供kuberntes运行时环境,主要完成以下使命: 1.监视分配给该Node节点的pods 2.挂载pod所需要的volumes 3.下载pod的secret 4.通过docker/rkt来运行pod中的容器 5.周期的执行pod中为容器定义的liveness探针 6.上报pod的状态给系统的其他组件 7...._调用kubelet 接口查询资源

哈佛大学研究新人工智能系统 速度媲美人类大脑_计算机视觉速度超过大脑-程序员宅基地

文章浏览阅读520次。据国外媒体报道,美国科学家近日获得了2800万美元(约合1.84亿人民币)的研究经费,用于设计一款能与人类识别图形速度相媲美的计算机系统。  情报机构要处理的数据越来越多,这些数据都必须进行迅速分析,但问题是,人类很难保持这样的工作速度,计算机的学习能力又很有限。哈佛大学的研究团队如今正着手解决这一问题。他们希望能弄清,是怎样的大脑活动过程赋予了人类识别图形的出色能力。他们的终极目标是,研发出..._计算机视觉速度超过大脑

vc 连接数据库CreateInstance失败问题-程序员宅基地

文章浏览阅读4.5k次。下面是在微软MSDN官网查到的类似问题的答疑,具体网址如下http://social.msdn.microsoft.com/Forums/vstudio/en-US/701d05aa-e8d2-4f46-8cc1-448a8d35bd37/windows-7-sp1-ado-compatibility内容:Windows 7 SP1 ADO Compatibility Visua_数据库createinstance失败

随便推点

大学生计算机应用基础实验6,计算机应用基础实验6.doc-程序员宅基地

文章浏览阅读771次。计算机应用基础实验6,计算机应用基础实验8,大学计算机基础实验,计算机基础实验报告,计算机基础和实验指导,计算机应用基础教程,计算机基础实验室简介,计算机应用基础统考,计算机网络基础实验,计算机应用基础计算机应用基础实验六 Word实验2(本次实验满分10分)一、实验目的:1、掌握文档的页面设置(包括控制分页、设置页面上的字数和行数、设置页边距和只长大小、设置版式等)。2、掌握文档的分栏排版。3..._大学计算机基础实验六教程

华为云云防火墙在手,防护网站安全无忧_华为防火墙提供了哪些入侵检测与防御功能-程序员宅基地

文章浏览阅读261次。但随着云计算、云储存等技术的发展,越来越多的用户选择部署虚拟设备防火墙、云服务提供商的云原生防火墙或者供应商直接托管的防火墙,即服务(FWaaS)产品。换句话说,防火墙能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络。作为新一代的云原生SaaS化防火墙,华为云CFW云防火墙可以提供云上互联网边界和VPC边界的防护,包括:实时入侵检测与防御,全局统一访问控制,全流量分析可视化,日志审计与溯源分析等。_华为防火墙提供了哪些入侵检测与防御功能

HDU 5974 A Simple Math Problem(2016ACM/ICPC亚洲区大连站-重现赛 D题)_2016年acm/icpc大连赛区重现赛 b题-程序员宅基地

文章浏览阅读459次。http://acm.hdu.edu.cn/showproblem.php?pid=5974一个数学题X+Y=aLCM(X,Y)=b因为 LCM(X,Y)=(X*Y)/GCD(X,Y)所以 X*Y=b*GCD(X,Y)因为GCD(X,Y)=GCD(a,b)所以只要联立方程组X+Y=aX*Y=b*GC_2016年acm/icpc大连赛区重现赛 b题

欧能智能:没有后期维护的电话机器人代理,都是“耍流氓”_欧能电话机器人-程序员宅基地

文章浏览阅读271次。对于我们程序员来讲电销机器人好不好用,就只会关注了机器人功能和操作方法,码代码是我们的强项,但是很多公司太注重了产品力,而忽略了售后维修服务,所以很多事情就推到了我们程序员头上,所以公司在达成合作之前一定要和电销机器人代理沟通好,售后服务问题和后续软件更新维护的问题,真人语音呼叫系统价格不贵,但要达到物尽其用,除了前端软件还有后端服务。缺一不可。1、外呼营销系统内部拥有客户信息备注功能,更容易对..._欧能电话机器人

【PHP代码注入】PHP语言常见可注入函数以及PHP代码注入漏洞的利用实例_php注入-程序员宅基地

文章浏览阅读6.1k次,点赞5次,收藏21次。目录1 PHP注入概述2 相关函数与语言结构2.1 eval()函数2.2 assert()函数2.3 preg_replace()函数2.4 call_user_func()函数2.5 动态函数`$a($b)`3 总结1 PHP注入概述RCE概念:remote command/code execute,远程命令/代码执行。PHP代码执行:在WEB中,PHP代码执行是指应用程序过滤不严,用户可用通过请求将代码注入到应用中执行。PHP代码注入与SQL注入比较:其注入思想是类似的,均是构造语句绕过服务_php注入

推荐文章

热门文章

相关标签