C++学习(十二)(C语言部分)之 循环
上期回顾:
分支
if else switch 三目运算符
格式:
if(条件)
{语句1;}
else
{语句2;}
switch (变量)
{
default:
break;
case 常量1:语句1 ;break;
case 常量2:语句2 ;break;
...
}
条件?语句1:语句2
三大循环 四大跳转语句
1、循环
while for do while
//最简单的 while
if(饿) 吃;
while(饿) 吃; //循环 如果饿就吃 吃到不饿为止
1.1 while循环
格式:
while(条件) // 条件可以使数字 0为假 非零为真 先判断条件 条件满足执行语句
{
语句; //循环体
} //一直执行循环体 直到条件不满足为止
while(1) 条件恒成立 一直执行------>死循环 可以用来替换getchar 防止闪屏
举个栗子~


再倒着打印出10-1 只需改一下条件就可以


1.2、for循环 (用的比较多)
格式:
for(初始化语句1;条件2;自增/自减3)
{
循环体4;
}
1刚刚进入for的时候 执行一次
判断条件2 条件为真的时候 执行4 为假结束循环
执行4之后 执行3 然后判断条件
1243 243 243...
for(;;) //死循环 条件默认为真
{}
举个栗子~


1.3、do while
格式:
do
{
循环体;
}while(条件);
//先执行一次循环体 然后判断条件 条件为真 继续循环 为假 退出循环
for和while可以相互转换 先判断条件 再执行循环体 循环体可能一次都不执行
do while 先执行再判断 循环体至少会执行一次
举个栗子~


2、循环嵌套
for循环是最简单的
循环里面还有循环 一般只有两次
99乘法表
1*1=1
2*2=4
i*j=(i*j)
printf(“%d%d=%d”,i,j,i*j);
举个栗子~ 99乘法表


但是打印出的结果并不美观 我们可以改一下


这样就看起来好看多了


这样是不是就更好看了呢
也可以用while改写


四大跳转
goto 无条件跳转语句 可以从任意地方跳转到任意地方 (很多公司不允许使用) 代码紊乱 维护困难
break 跳出最近的循环和switch
while(1)
{
if(条件) (break;)//在循环中和if搭配使用 提前跳出循环
}
continue 跳过本轮循环 进入下一次循环
return 用于跳出该函数 (如果跳出main函数的时候 程序结束)
exit(0) //stdlib.h里面
在任意地方使用 都是跳出程序(程序结束)
主函数
int main()
(
return 0;//表示程序正确结束 其他都表示非正常结束
)
对continue举个栗子~


当我们改写为while语句时


他会变成死循环 一直打印123 对continue后面的语句并没有执行
要想程序可以正常运行 将++ i放到continue前面就可以了


下年举一个打印图形的栗子
用 * 打印出五角星


练习 测试的代码如下:
/*
上期回顾:
分支
if else switch 三目运算符 格式:
if(条件)
{语句1;}
else
{语句2;} switch (变量)
{
default:
break;
case 常量1:语句1 ;break;
case 常量2:语句2 ;break;
...
} 条件?语句1:语句2 三大循环 四大跳转语句
1、循环
while for do while //最简单的 while
if(饿) 吃;
while(饿) 吃; //循环 如果饿就吃 吃到不饿为止 格式:
while(条件) // 条件可以使数字 0为假 非零为真 先判断条件 条件满足执行语句
{
语句; //循环体
} //一直执行循环体 直到条件不满足为止
while(1) 条件恒成立 一直执行------>死循环 2、for循环 (用的比较多)
格式:
for(初始化语句1;条件2;自增/自减3)
{
循环体4;
}
1刚刚进入for的时候 执行一次
判断条件2 条件为真的时候 执行4 为假结束循环
执行4之后 执行3 然后判断条件
1243 243 243... for(;;) //死循环 条件默认为真
{} 3、do while
格式:
do
{
循环体;
}while(条件);
//先执行一次循环体 然后判断条件 条件为真 继续循环 为假 退出循环 for和while可以相互转换 先判断条件 再执行循环体 循环体可能一次都不执行
do while 先执行再判断 循环体至少会执行一次 循环嵌套
for循环是最简单的
循环里面还有循环 一般只有两次
99乘法表
1*1=1
2*2=4
i*j=(i*j)
printf(“%d%d=%d”,i,j,i*j); 四大跳转
goto 无条件跳转语句 可以从任意地方跳转到任意地方 (很多公司不允许使用) 代码紊乱 维护困难
break 跳出最近的循环和switch
while(1)
{
if(条件) (break;)//在循环中和if搭配使用 提前跳出循环
}
continue 跳过本轮循环 进入下一次循环
return 用于跳出该函数 (如果跳出main函数的时候 程序结束) exit(0) //stdlib.h里面
在任意地方使用 都是跳出程序(程序结束) 主函数
int main()
(
return 0;//表示程序正确结束 其他都表示非正常结束
) */ #include<stdio.h>
#include<stdlib.h>
int main()
{ /*
//举个栗子~ 打印出0-9
int i = 10;
while (i>0)
{
printf("%d\t",i); // \t 是制表符 相当于四个空格
i--;
}
*/ /*
//举个栗子~ 打印0-9
for (int i = 1; i < 10; i++)
{
printf("%d\t",i);
} 或者
for(int i=1;j<10;printf("%d\t",i),++i); //不推荐 */ /*
//举个栗子~ int j = 0;
do
{
printf("%d\t",j);
++j;
} while (j < 10);
*/ /*
//举个栗子~ 99乘法表 for (int i = 1; i < 10; ++i)
{
for (int j = 1; j <= i; ++j)//内圈循环一轮后 外圈循环一次
{
printf("%d*%d=%d\t",j,i,i*j);//总共能执行81次
}
printf("\n");
}
*/ /*
//举个栗子~ 用while改写99乘法表
int i = 1, j;
while (i<10)
{
j = 1;//while 循环开始前 j初始化
while (j <= i)
{
printf("%d*%d=%d\t",j,i,i*j);
++j;
}
printf("\n");
++i;
}
*/ /*
//举个栗子~ 打印10次 12345
for (int i = 0; i < 10; ++i)
{
printf("1");
printf("2");
printf("3");
if (i == 5) continue;
printf("4");
printf("5\n");
} //改写为while
int i = 0;//给循环设置初始条件
while(i<10)
{
printf("1");
printf("2");
printf("3");++i;
if (i == 5) continue;
printf("4");
printf("5\n"); }
*/ //栗子~ 打印五角星
/*
*
***
***************
*********
*** ***
* * */ for (int i = ; i <= ; ++i)//打印三行
{
//先打印7-i个空格
for (int j = ; j < - i; ++j) printf(" ");
//然后打印2*i-1个*
for (int j = ; j < * i - ; ++j) printf("*");
printf("\n");
}
for (int i = ; i <= ; ++i)//打印三行
{
//先打印i-1个空格
for (int j = ; j <i-; ++j) printf(" ");
//打印 1 4-2*i个*
for (int j = ; j < -*i; ++j) printf("*");
printf("\n");
}
for (int i = ; i <= ; ++i)//打印三行
{
//先打印空格
for (int j = ; j < - i; ++j) printf(" ");
for (int j = ; j < - i; ++j) printf("*"); //空格个数 1 5 9 4*i-3
for (int j = ; j < * i - ; ++j) printf(" ");
for (int j = ; j < - i; ++j) printf("*");
printf("\n");
}
system("pause");
return ;//表示跳出主函数
}
2018-06-18 21:29:56
C++学习(十二)(C语言部分)之 循环的更多相关文章
- (转)SpringMVC学习(十二)——SpringMVC中的拦截器
http://blog.csdn.net/yerenyuan_pku/article/details/72567761 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter, ...
- “全栈2019”Java第三十二章:增强for循环Foreach语法
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Scala学习十二——高阶函数
一.本章要点 在Scala中函数是”头等公民“(可以作为参数,返回值,赋值给其他); 可以创建匿名函数,通常还会交给其他函数; 函数参数可以给出需要稍后执行的行为; 许多集合方法都接受函数参数,将函数 ...
- Dart语言学习(十二) Dart面向对象
Dart作为一种高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式. 基于mixin的继承方式是指:一个类可以继承自多个父类,相当于其他语言里的多继承. 所有的类都有同一个基类Obje ...
- JVM学习十二:JVM之性能监控工具
前面我们学习了很多JVM相关的理论知识,那么本节将重点讲述的是工具的使用,正所谓:工欲善其事,必先利其器.因此,本节介绍常用的性能监控工具,用于性能监控和问题排查. 一.系统性能监控 系统性能工具用于 ...
- Java编程思想学习(十二) 数组和容器
一.数组 1).数组的多种初始化方式 下面总结了初始化数组的多种方式,以及如何对指向数组的引用赋值,使其指向另一个数组对象.值得注意的是:对象数组和普通数组的各种操作基本上都是一样的:要说有什么不同的 ...
- java web 学习十二(session)
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...
- java入门学习(十二)运算语句 if switch
这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客:www.taomaipin.com java中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,b ...
- 强化学习(十二) Dueling DQN
在强化学习(十一) Prioritized Replay DQN中,我们讨论了对DQN的经验回放池按权重采样来优化DQN算法的方法,本文讨论另一种优化方法,Dueling DQN.本章内容主要参考了I ...
- Linux网络编程学习(十二) ----- 结语
该书提前看完了,重点看了第四章和第六章,第七章以后只是大致浏览了一下,如果以后工作中涉及这一块再仔细研究一下,大概花了二十天的样子,主要了解了进程间的通信方式.socket编程以及五种I/O模式,看的 ...
随机推荐
- 【Java算法】条件运算符
利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 条件运算符的表达式为: 表达式1?表达式2:表达式3 当表达式1为true ...
- Python自然语言处理---信息提取
1.数据 目前的数据总体上分为结构化和非结构化的数据.结构化的数据是指实体和关系的规范和可预测的组织.大部分的需要处理的数据都属于非结构化的数据. 2.信息提取 简言之就是从文本中获取信息意义的方法. ...
- LeetCode 回溯法 别人的小结 八皇后 递归
#include <iostream> #include <algorithm> #include <iterator> #include <vector&g ...
- HTML(三)选择器--复杂选择器
1.父子选择器/派生选择器 <div calss="wrapper"> <span calss="box">123</span&g ...
- VSTO:使用C#开发Excel、Word【8】
office加载项Office开发中使用的第二种模式是加载项模式.本书涵盖了几种Office加载项.其中包括Outlook的VSTO加载项,Excel和Word的COM加载项以及Excel的自动化加载 ...
- Centos7部署kubectl命令行工具(五)
1.准备二进制包 [root@linux-node1 ~]# cd /usr/local/src/kubernetes/client/bin [root@linux-node1 bin]# cp ku ...
- python基础初识介绍以及安装
python介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承. ...
- 漫步Java------初识java
一. Java语言概述 语言:是人与人之间用于沟通的一种方式. 例如:中国人与中国人用普通话沟通.而中国人要和英国人交流,就要学习英语. 计算机语言(编程语言): 人与计算机交流的方式.如果人要与计算 ...
- jq动态添加onclick事件在谷歌中不起作用
$("#oa-bed-rooType").append($('<option/>').val(0).text('请选择房间类型')); $('#oa-bed-roomT ...
- ChinaCock界面控件介绍-CCLoadingIndicator
这是一个显示等待状态的控件,当在线程中执行一个稍长时间的任务,需要显示一个等待过程,免得让用户不知app在做什么?避免用户寂寞. 先看看这个控件的属性说明: BackgroundTransparenc ...