【黑马程序员】C语言循环
来源:互联网 发布:java时间格式毫秒 编辑:程序博客网 时间:2024/06/07 06:46
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、循环结构介绍
1、循环结构概述
循环结构简单来说就是:循环是一次又一次执行相同的代码块(条件满足的情况下)
2、构成循环结构的几个条件:
一般来说循环需要以下几个部分构成:
1.循环控制条件:循环退出的主要依据,来控制循环到底什么时候退出
2.循环体:循环的过程中执行的代码段
3.能够让循环结束的语句(递增,递减,真,假等)
能够让条件为假的依据,否则退出循环
二、while循环介绍及及基本格式
1、while循环的格式:
while(条件)
{
语句1;
语句2;
…
}
2、while循环使用方法:
1)while循环的特点
如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行
<span style="font-size:14px;">//// main.c// 判断从键盘输入一行字符的个数//// Created by Brisinga on 15/11/14.// Copyright © 2015年 yan. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) { char ch; //用来接收用户输入的字符 int count=0; //用来统计字符的个数 printf("请输入字符\n"); scanf("%c",&ch); while (ch!='\n') { //判断是否输入了换行 count++; scanf("%c",&ch); } printf("您输入了%d个字符\n",count); //输出统计的个数 return 0;}</span>
应用——游戏方向控制
使用while循环实现控制W上 A左 S下 D右
思路分析:
1)一直循环等用户输入
2)输入四个字符,打印对应的方向
switch
<span style="font-size:14px;">//// main.c// 游戏控制方向//// Created by Brisinga on 15/11/14.// Copyright © 2015年 yan. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) { //定义用户输入的方向 char ch; int flag=1; //定义循环控制标志 //提示用户输入方向 printf("请输入方向\n"); while (flag) { scanf("%c",&ch); //接收用户输入的方向 switch (ch) { case 'W': case 'w': printf("上\n"); break; case 'a': case 'A': printf("左\n"); break; case 's': case 'S': printf("下\n"); break; case 'D': case 'd': printf("右\n"); break; case 'q': case 'Q': printf("退出\n"); flag = 0; break; default: break; } } return 0;}</span>
应用:疯狂猜数游戏
使用随机数产生一个1—1000之间的数,给用户10此机会
<span style="font-size:14px;">//// main.c// 疯狂猜数//// Created by Brisinga on 15/11/14.// Copyright © 2015年 yan. All rights reserved.//#include <stdio.h>#include <stdlib.h>int main(int argc, const char * argv[]) { int count = 10; //定义竞彩的次数 int num; //定义用户输入的数 int lastNum = 0; //保存上次精彩的数字 int ranNum = arc4random_uniform(1000)+1; //随机产生一个1-1000之间的数 while (count>0) { printf("请输入一个1-1000之间的数字\n"); scanf("%d",&num); //接收用户输入的数字 count--; //竞猜次数-1 if (num>ranNum) { printf("上次竞猜:%d,本次竞猜:%d\n",lastNum,num); printf("竞猜结果:猜大了!\n"); printf("剩余次数:%d\n",count); }else if(num<ranNum){ printf("上次竞猜:%d,本次竞猜:%d\n",lastNum,num); printf("竞猜结果:猜小了!\n"); printf("剩余次数:%d\n",count); }else{ printf("恭喜你猜对了!\n"); return 0; } lastNum = num; //将本次竞猜的数字保存到lastNum中 } printf("你太弱了!\n"); return 0;}</span>
三、do...while循环介绍及语法格式
1、do ... while循环的基本格式
do {
语句1;
语句2;
....
} while ( 条件 );
直到型循环:先执行循环体,然后判断条件,直到条件为假就结束
2、do...while语句用法
1)do...while语句的语义是:
当执行到do-while循环时,首先会执行一遍循环体中的语句.接着判断while中的条件, 如果条件成立,就执行循环体中的语句。 如此循环
2)do-while循环的特点: 不管while中的条件是否成立,循环体中的语句至少会被执行一遍
四、for循环结构及执行过程
1.for循环的语法格式
一般形式:
for(表达式1;表达式2;表达式3) {语句;}
for循环的其他形式
1)表达式省略(三个表达式都可以省略) for(; ;) 死循环
2)循环控制无关的任意表达式
表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上 的简单表达 式,中间用逗号间隔。
for(sum=0,i=1;i<=100;i++)sum=sum+i; 或for(i=0,j=100;i<=j;i++,j--)k=i+j;
应用
<span style="font-size:14px;">//// main.c// 打印三角//// Created by Brisinga on 15/11/14.// Copyright © 2015年 yan. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) { for (int i=0; i<5; i++) { for (int j=0;j<=i ; j++) { printf("* "); } printf("\n"); } for (int i=0; i<4; i++) { for (int j=i;j<4 ; j++) { printf("* "); } printf("\n"); } for (int i=1; i<=6; i++) { for (int j=0; j<6-i;j++) { printf(" "); } for (int j=0; j<2*i-1; j++) { printf("*"); } printf("\n"); } return 0;}</span>
<span style="font-size:14px;">//// main.c// for循环嵌套打印乘法表//// Created by Brisinga on 15/11/14.// Copyright © 2015年 yan. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) { for (int i=1; i<10; i++) {//外层循环控制行数 for (int j=0; j<i; j++) {//里层for循环控制列数 printf("%d*%d=%d ",j+1,i,i*(j+1)); } printf("\n"); } return 0;}</span>
五、break语句用法
break语句通常用在循环语句和开关语句中。 当break用于开关语句switch中时,可使程序跳 出switch而执行switch以后的语句;如果 没有break语句,则将成为一个死循环而无法退 出。
六、continue 语句(结束本次循环,继续下次循环)
用法 continue语句的作用是跳过循环体中剩余的语句而继续下一次。continue语句只用在
for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。
<span style="font-size:14px;">// 把100~200之间的不能被3整出的数输出// main.c// continue的用法//// Created by Brisinga on 15/11/14.// Copyright © 2015年 yan. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) { //思路分析: //for 循环,如果碰到能背3整出的数,就continue进入下次循环 //如果不能被三整出,则打印 for (int i=100; i<=200; i++) { if (i%3==0) { continue; } printf("%d\t",i); }} </span>
- 【黑马程序员】C语言循环
- 黑马程序员--C语言基础-循环语句
- 黑马程序员---C语言基础---循环控制
- 黑马程序员-----------C语言基础-----------循环结构
- 黑马程序员-C语言回顾-循环
- 【黑马程序员】C语言基础-循环结构
- 黑马程序员 - C语言 -分支、循环
- 【黑马程序员】【C语言】循环结构-for循环
- 【黑马程序员】C语言循环之while循环、for循环、do...while循环
- 黑马程序员 c语言-----循环与函数学习
- 黑马程序员-C语言笔记(三)循环结构
- 黑马程序员——C语言之循环结构
- 黑马程序员——C语言的循环结构总结
- 黑马程序员-C语言选择结构,循环结构
- 黑马程序员--c语言:选择结构、循环结构、函数
- 黑马程序员-IOS-C语言基础-循环结构
- 黑马程序员-IOS学习笔记-C语言基础循环结构
- 黑马程序员——c语言学习---循环
- javamail发送与接收邮件实例
- 聊天布局(listview)
- Android基础入门教程——8.3.16 Canvas API详解(Part 1)
- Spring Boot 单元测试
- reveal工具的使用
- 【黑马程序员】C语言循环
- Eclipse for Mac 常用快捷键
- 梯度下降法理解
- Android基础入门教程——8.3.17 Canvas API详解(Part 2)剪切方法合集
- 多行删除刷新后Index为空的问题
- MongoDB小结13 - find【2个参数】
- qt中qDebug()无法输出解决办法
- 导入javaweb项目后,java代码httprequest、@Override报错
- redis http://blog.csdn.net/htofly/article/details/7683060