C语言-初学循环

循环是C语言的三种基本结构之一,在很多问题中都需要用到循环控制,如1~100之间不能够被7整除的数的和,如果不使用循环的话,我们只能先把1~100不能被7整除的数找出来,然后再求出它们之和,但如果使用循环的话,可以让程序语句从1开始循环,只要是不能够被7整除的数都将被输出并计算累加和,执行完最后一次循环操作后,就能够得到最终结果,这个时候就使用循环语句就很有必要。

1、循环语句结构

循环语句分为四种:while,do...while,for,goto(goto语句不推荐使用,本文不做具体讲述)。每种语句的语句结构不太一样,但都可以在满足限制条件(即表达式)的情况下进行循环,如果满足循环的限制条件,循环将一直进行下去,即死循环(永真循环,如while(1)),但程序并不会报错,但会耗费大量内存,而因此每个循环语句都要有退出循环的条件。

(1)while语句

while语句用来实现“当”循环,即限制条件在前,在while语句之前对循环变量进行初始化,基本结构为:

while(限制条件,如i<100)

{

循环体

如:sum+=i;

i++;

}

循环体如果包含一句以上语句需要用“{ }”,否则循环的范围只包括while()后的第一句。

(2)do...while语句

do...while用来表示“直到”型循环,与while的区别在于,do...while的限制条件在后,执行语句在前,即不管是否满足循环条件要求,do...while语句至少都会执行一次,在循环语句之前对循环变量进行初始化,基本结构为:

do

循环体

while(限制条件,如i<100);(注意do...while循环中,while()后有“;”)

(3)for语句

for语句也属于“当”循环,和while语句可以进行互换,但while语句使用更为方便简单,也是循环中用得最多的语句,语句基本结构为:

for(变量初始化;限制条件1;执行语句2)

执行语句1

for循环可以再循环体内在对变量进行初始化,语句的执行顺序为:先对变量进行初始化??判断限制条件??执行语句1??执行语句2

2、循环实例

下面可以通过几个实例来对循环语句进行应用和区分循环语句应用的异同点:

实例一:求1~100的累加和

a.使用while循环

#include  <stdio.h>

int main(int argc,constchar * argv[]) {

int i=1,sum=0;

while (i<=100) {

sum=sum+i;

i++;

}

printf("1+2+3+...+100=%d\n",sum);

}

b.使用do...while循环

#include  <stdio.h>

int main(int argc,constchar * argv[]) {

int i=1,sum=0;

do

{

sum=sum+i;

i++;

}

while(i<=100);

printf("1+2+3+...+100=%d\n",sum);

}

c.使用for循环

#include  <stdio.h>

int main(int argc,constchar * argv[]) {

int sum=0;

for(int i=1;i<=100;i++)

sum=sum+i;

printf("1+2+3+...+100=%d\n",sum);

}

三种语句最后的输出结果都是5050,可以看到for循环代码量最少,而且书写格式更规范,可以避免遗漏变量初始化等问题。当然循环中可以嵌套条件语句,也可以嵌套循环语句。

3.循环的嵌套使用

循环中嵌套循环语句可以解决判断较多,多次使用循环的问题,但是要注意在使用嵌套语句时使用break和continue语句:

(1).break语句为从循环体内跳出循环体,提前结束循环;

(2).continue语句为跳过循环体中本次尚未执行的语句,接着进行下一次循环;

我们看两个实例:

实例1.求1~100之内不能被7整除的数(循环中嵌套条件语句)

#include <stdio.h>

int main(int argc, const char * argv[]) {

int num;

int sum =0;

//使用for循环对不能被7整除的数进行累加

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

{

if (num%7==0)

//循环过程中如果碰到能被7整除的数就跳出本次循环,使用continue

continue;

sum=sum+num;

}

printf("1-100之间不能够被7整除的数的和为%d\n",sum);

}

实例2.输如10个数,对这10个数进行排序(即冒泡排序),本例为循环嵌套循环的实际应用。

#include <stdio.h>

int main()

{

int num[10]={};

int i;

int len=sizeof(num)/sizeof(int);

for (i=0; i<10; i++)

printf("请输入数组的第%d个数据\n",i+1);

// 输入数组元素

scanf("%d",&num[i]);

}

//打印数组元素

for(i=0;i<len;i++)

{

printf("%d ",num[i]);

}

printf("\n");

int c;

//外循环每次都比较出len-d中的最大数

for(int d=0;d<len-1;d++)

{

/*定义p=1为了num[1]与num[0]比较,第一轮比较len-1次,

第二轮比较len-2次,第三轮比较len-3次,因此此处for的循环限制条件可写为:len-d

*/

for(int p=1;p<len-d;p++)

//如果后一个数小于前一个数,交换位置,把大的数往后排

if(num[p]<num[p-1])

{

c=num[p-1];

num[p-1]=num[p];

num[p]=c;

}

}

//打印排序后的数组位置

for(i=0;i<10;i++)

{

printf("%d ",num[i]);

return 0;

}

循环在实际编程中使用的场景较多,需通过多次练习掌握。

时间: 2024-10-17 21:35:22

C语言-初学循环的相关文章

C语言for循环

语言作为程序设计的入门语言,对于计算机专业学生的重要意义不言而喻.而循环语句是C语言学习中的一个重点与难点.本文根据学习经验,结合全国计算机等级考试三级网络技术机试真题,浅谈C语言循环语句的学习. 循环结构是结构化程序设计的基本结构之一.它和顺序结构.选择结构共同作为各种复杂程序的基本构造单元.在程序设计中许多问题需要用到循环语句,如处理 学校学生成绩:求若干个数的和:求一个数的阶乘等等.循环语句是实现程序设计中许多有规律.需要多次重复执行某些操作的最为有效的方法.循环结构是程序设 计中的一个重

Java语言的循环控制结构

Java语言的循环控制结构 循环控制结构:是在一定条件下,反复执行某段程序的流程结构,被反复执行的程序称为循环体.循环控制结构是程序中非常重要和基本的一种结构,它是由循环语句来实现的. Java 的循环语句共有三种: while 语句. do-while 语句和 for 语句. 1.while 语句 while 语句的一般语法格式如下: while( 条件表达式 )               { 循环体}: 其中条件表达式的返回值为布尔型,循环体可以是单个语句,也可以是复合语句块. while

【下载分】C语言for循环语句PK自我活动

想了解自己C语言for语句的掌握程度吗?敢和自己PK较量一番吗?參加"C语言for循环语句PK自我活动",仅仅要成绩70分以上.就可赢得CSDN下载分. 12道题目题库动态读取,每人5次PK自我的机会.单选和多选题两种题型.及格easy高分难. 活动时间: 2014.08.18-2014.09.18 奖励方式: 凡每次答卷得分在: - 70-79分者赠送2个下载分. - 80-89分者赠送3个下载分. - 90-99分者赠送4个下载分: - 100分者获得5个下载分: 如今就去測试 -

js和PHP等脚本语言for循环和if语句里面定义变量的作用域

在js和PHP等脚本语言中for循环中的定义变量,会先把var l 提到for循环外面,(只会定义一次l),所以for循环外面可以输出l var a=0; if(a==0) { var i=1; } alert(i); for(var j=0;j 在c#等语言中 for(int i=0;ijs和PHP等脚本语言for循环和if语句里面定义变量的作用域

用C语言实现循环左移和循环右移

有天重建一段代码时,遇到了循环右移指令,不知道用C语言怎么实现,后来得到小伟指点,感谢.. me 15:56:38004BD2C9 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]004BD2CC D1CA     ROR EDX,1004BD2CE 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX me 15:57:16这样的汇编,怎么用C语言写出来呢?ROR循环右移 小伟 15:58:51等等,翻笔记中. 小伟 15:59:06#define

Python语言中循环引用(import)失败的解决方案

最近在开发智能家居项目hestia-rpi项目中,由于代码结构层级划分不合理,导致了循环引用(import)module失败的问题,错误如下: 1 2 3 4 5 6 7 8 9 10 Traceback (most recent call last):   File "./main.py", line 8, in &amp;lt;module&amp;gt;     from hestiarpi.library.server import server   File

黑马程序员 C语言:循环语句

什么是循环? 当条件满足的时候,重复执行某一段代码 条件不满足的时候,跳出循环 --->执行循环的后面的语句 循环的三个要素: 循环控制条件:循环结束的条件 循环体:执行循环做的事情 能够保证让循环正常结束的(自增.自减.真.假) C语言中的三种循环 while循环(当条件满足的时候,执行循环体) 使用:while(条件表达式) ; while(条件表达式) sum+=1; while(条件表达式){ 循环体 } 注意: while(1)  死循环 while(条件表达式) int num=1;

【学习ios之路:C语言】循环方面试题

1.打印出如下所示图形  : * *  * * * * 代码如下: for (int i = 0; i < 3; i++) { for (int j = 2; j > i; j--) { printf(" "); } for (int k = 0; k < i + 1; k++) { printf(" *"); } printf("\n"); } 2. 打印出如下图形: * *   * *  *  * *   * * 代码如下:

【Go语言】【9】GO语言的循环语句

一.循环语句 循环语句即for语句,您可能说:"不对,它不仅仅是for语句,还有while或者do-while",真的很遗憾,GO语言真的只有for,它认为提供一种就可以了,提供多了怕给程序员带来麻烦 :) 下面我们使用for循环计算1+2+3+4+--+100的和,和其它语言一样,我们使用循环100次的办法: 定义一个变量,让它从1开始循环100次,每次都判断它是否小于101,若是变量就加1 代码如下: // 声明变量sum并初始化为0 sum := 0 // 定义变量i,循环100