C语言 第五章 循环结构
一、for
请在屏幕上输出1000个*号
printf("*************************....");
#include "stdio.h"
void main()
{
int i;
for(i=;i<=;i++){
printf("*");
}
}
for(表达式A;表达式B;表达式C)
{
要重复执行的代码块D;
}
1、表达式A先执行,且只执行一次
2、表达式B再执行,如果为真则执行代码块D
3、再执行表达式C,再选择表达式B,回到第2步
4、ABCD都可以省去 for(;i>=100;);
5、表达式1通常用来给循环变量赋初值,一般是赋值表达式i=1 i=-1,j=100
6、表达式2通常是循环条件,一般为关系表达式或逻辑表达式i>=5 i>5&&j<=8
7、表达式3通常可用来修改循环变量的值,一般是复合赋值语句i++,i--, i+=5,j++
8、这三个表达式都可以是逗号表达式,即每个表达式都可由多个表达式组成。三个表达式都是任选项,都可以省略。
#include "stdio.h"
void main()
{
int i,j;
for(i=;i<=;i++)
{
printf("%d \n",i);
}
}
#include "stdio.h"
void main()
{
int i,j;
for(i=-;i<=;i++)
{
printf("%d \n",i);
}
}
#include "stdio.h"
void main()
{
int i,j;
for(i=;i<=;i=i+)
{
printf("%d \n",i);
}
}
#include "stdio.h"
void main()
{
int i,j;
for(i=;i>;i--)
{
printf("%d \n",i);
}
}
#include "stdio.h"
void main()
{
int i,j;
for(i=,j=;i>;i--,j++)
{
printf("%d + %d = 11 \n",i,j);
}
}
#include "stdio.h"
void main()
{
int i=;
for(;i<=;i++)
{
printf("\n %d",i);
}
}
#include "stdio.h"
void main()
{
int i=;
for(;i<=;)
{
printf("\n %d",i);
i++;
}
}
#include "stdio.h"
void main()
{
int i=;
for(;;)
{
printf("\n %d",i);
i++;
if(i>)break;
}
}
for语句中的各表达式都可省略,但分号间隔符不能少。如:
for(;表达式;表达式)省去了表达式1。
for(表达式;;表达式)省去了表达式2。
for(表达式;表达式;)省去了表达式3。
for(;;)省去了全部表达式。
在循环变量已赋初值时,可省去表达式1,如省去表达式2或表达式3则将造成无限循环, 这时应在循环体内设法结束循环。
循环体(要重复的语句)可以是空语句。
练习:计算出1-100之间奇数之和。1+3+5+7....99=?
#include "stdio.h"
void main()
{
//练习:计算出1-100之间奇数之和。1+3+5+7....99=?
int i,s=;
for(i=;i<=;i++)
{
if(i%==){
s=s+i;
}
}
printf("结果:%d",s);
}
2500
#include "stdio.h"
void main()
{
//练习:计算出1-100之间奇数之和。1+3+5+7....99=?
int i,s=;
for(i=;i<=;i=i+)
{
s=s+i;
}
printf("结果:%d",s);
}
2500
二、while
while语句的一般形式为:
初值;
while(表达式A)
{
表达式的值为真时要重复的语句块;B
步长;
}
其中表达式是循环条件
要重复的语句块和步长都为循环体
while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。
1、程序先判断A是否为真,如果为真则执行循环体B
2、当执行完循环体后再回到第1步
3、当表达式A为假时结束循环
#include "stdio.h"
void main()
{
int i=;
while(i<=)
{
printf("%d \n",i);
i=i+;
}
}
while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环
循环体如包括有一个以上的语句,则必须用{}括起来, 组成复合语句。
应注意循环条件的选择以避免死循环。
练习:
练习:计算出1-100之间奇数之和。1+3+5+7....99=?
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i=,s=;
while(i<=)
{
s=s+i;
i=i+;
}
printf("s=%d",s);
}
2500
练习:列出1-1000之间所有能同时被3与7整除的数。
三、do while
do-while语句的一般形式为:
do
{
要重复的语句块;
}while(表达式);
其中“要重复的语句块”是循环体
表达式是循环条件
语义是:先执行循环体语句一次,再判断表达式的值,若为真(非0)则继续循环,否则终止循环。
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i=,s=;
do
{
s=s+i;
i++;
}while(i<=);
printf("%d",s);
}
//i=1 2 3 4 5 6
//s=0 1 3 6 10 15
15
适用于必须要执行一次的应用,如输入一个合格的数字。
#include "stdio.h"
void main()
{
int n;
do
{
printf("请输入1-7之间的数:");
scanf("%d",&n);
}while(n<||n>);
}
四、continue
在for,while,do-while中遇到continue表示结束当次循环,继续下次循环。
#include "stdio.h"
void main()
{
int i;
for(i=;i<=;i++)
{
printf("●");
printf("□");
}
}
#include "stdio.h"
void main()
{
int i;
for(i=;i<=;i++)
{
if(i%==)
{
continue; //结束当次,继续下一次
}
printf("□");
} //i=1 2 3 4 5 6
□□□
}
五、break
在for,while,do-while,switch中遇到break跳出当前循环。
#include "stdio.h"
void main()
{
int i;
for(i=;i<=;i++)
{
if(i%==)
{
break; //结束当前循环
}
printf("□");
}
}
□
在无条件循环中退出
#include "stdio.h"
void main()
{
int i=,s=;
while()
{
s=s+i;
i++;
if(i>) break;
}
printf("%d",s);
}
5050
C语言 第五章 循环结构的更多相关文章
- C语言 第五章 循环结构练习
一.计算15+16+17 …98+99的和 for实现 #include "stdio.h" void main() { //15+16+17 …98+99 ; ;i<=;i ...
- C 语言入门第五章--循环结构和选择结构
C语言中有三大结构,分别是顺序结构.选择结构和循环结构: 逻辑运算: 与运算: && 或运算:|| 非运算:! ==== #include<stdio.h> int mai ...
- 【blockly教程】第五章 循环结构
在这里,我们将介绍一个新游戏--Pond Tutor 在Pond Tutor(https://blockly-games.appspot.com/pond-tutor)这个游戏中,我们将扮演黄色的鸭子 ...
- Java 第五章 循环结构1
循环结构 1 while 循环结构 ,do- while 循环结构 . 循环结构: 必须满足两个条件 . 1,循环条件 和 循环 操作 ! while 循环 特点:先判断,再执行 , 编码规范:缩进, ...
- Apex语言(五)循环结构
1.循环结构 循环语句允许我们多次执行一个语句或一组语句(重执行语句). 2.while语句 只要给定条件为真,目标语句就会重复执行. [格式] while (循环条件){ 语句; } [流程图] ...
- Java语言程序设计(基础篇) 第五章 循环
第五章 循环 5.2 while循环 1.while循环的语法如下: while(循环继续条件){ //循环体 语句(组); } 2.程序:提示用户为两个个位数相加的问题给出答案 package co ...
- 【C语言】第5章 循环结构程序设计
第5章 循环结构程序设计 三种基本循环控制结构 使用while语句实现循环 先判断条件表达式,后执行循环体语句 while (循环条件表达式) { 循环体 } 用do-while语句实现循环 先无条件 ...
- python 教程 第十五章、 结构布局
第十五章. 结构布局 #!/usr/bin/env python #(1)起始行 "this is a module" #(2)模块文档 import sys #(3)模块导入 d ...
- 160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计
<C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学 期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 ...
随机推荐
- SQl SGA 整理
--查看诊断位置信息 select * from v$diag_info; --查看sga中内存分配信息 select * from sys.x$ksmfs; --查看内存块还剩余多少 select ...
- java并发编程(十九)障碍器CyclicBarrier
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17512983 CyclicBarrier(又叫障碍器)同样是Java 5中加入的新特性,使 ...
- MIME(多用途互联网邮件扩展类型)
MIME对照表 百度百科 MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型.(百度百科).是设定某种扩展名的文件用一种应用程序来打开的方式 ...
- java入门第三步之数据库连接
数据库连接可以说是学习web最基础的部分,也是非常重要的一部分,今天我们就来介绍下数据库的连接为下面学习真正的web打下基础 java中连接数据库一般有两种方式: 1.ODBC——Open Datab ...
- 给Macbook Pro更换固态硬盘并转移系统的最简单办法
没有固态硬盘,再快的CPU,再强悍的显卡,都是白搭,由于“木桶原理”,瓶颈就在这里啊.如今的固态硬盘价格跌了很多,我记得去年我买的120G的固态硬盘还要将近600元,而现在只需要不到400了. 我 ...
- 有点担心Node.js的未来了
原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com 首先本文的目的不是引发语言之争,纯属个人的一些思绪记录. 因为工作原因,用Node.js做过几个项目,基本都是涉及 ...
- CSS 兼容解决之hack
什么是CSS hack 由于不同的浏览器,甚至同一浏览器的不同版本对CSS的解析认识不一样,导致生成的页面效果不一致,写出针对不同浏览器CSS code就称为CSS hack. 常用的CSS hack ...
- iOS-App上架流程
前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的.下面就来详细介绍下具体流程. 1.打开苹果开发者中心:https://developer.apple.com 打开后点击 ...
- WPF入门教程系列十六——WPF中的数据绑定(二)
三.绑定模式 通过上一文章中的示例,学习了简单的绑定方式.在这里的示例,要学习一下绑定的模式,和模式的使用效果. 首先,我们来做一个简单示例,这个示例是根据ListBox中的选中项,去改变TextBl ...
- 【初恋】vue单页应用开发总结
vue新人,没有高级技巧 本文主要总结了使用vue-cli脚手架安装开发环境,使用vue.js等进行单页应用开发所遇问题的总结. 技术栈: Vue v1.0.21, vue-resource v0.9 ...