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模式,看的 ...
随机推荐
- [IOS微信] Unicode码 转化为字符串
最近在研究IOS手机备份的数据,里面的微信数据中,每一个微信账号对应一个文件:mmsetting.archive 用来保存此账号的详细信息. 该文件是一个加强版的plist文件(此文件使用的是plis ...
- laravel模型表建立外键约束的使用:
模型: //表->posts class Post extends Model { //关联用户: public function user(){ //belongsTo,第一个参数:外键表,第 ...
- 数位DP详解
算法使用范围 在一个区间里面求有多少个满足题目所给的约束条件的数,约束条件必须与数自身的属性有关 下面用kuangbin数位dp的题来介绍 例题 不要62 题意:在一个区间里面求出有多少个不含4和6 ...
- 文件操作---with语句
with语句 为了避免打开文件后忘记关闭,可以通过管理上下文,即: with open('file','r','encoding='uth-8'') as f: #f为文件句柄 for line in ...
- 玩转 React 【第03期】:邂逅 React 组件
上期回顾 前文我们讲解了 React 模板 JSX,接着我们继续来看看 React 组件又是如何工作的呢? 组件化开发到了今天已经是大家的共识,在 React 中,组件同样也是组成我们整个项目的基本单 ...
- python-函数参数不固定
默认参数的应用场景: 1.默认安装 2.数据库连接,默认端口号 参数不固定的情况: 参数组: args:将接收的位置参数转换成元组 def test(*args): print(args) ...
- HTC脚本介绍和入门示例
一.简介 HTC脚本全称是Html Companent即html组件,个人认为它是为了在开发动态HTML中实现代码重用和页面共享目的,主要是把“行为”作为组件封装,可以在很大程度上简化DHTML的开发 ...
- finfo_file
本文实例讲述了PHP使用finfo_file()函数检测上传图片类型的实现方法.分享给大家供大家参考,具体如下: 在输入输出中,文件的交互必不可少,比如文件的上传什么的.这里我们来解决一个小问题, ...
- 搭建VUE项目
1.换源由于npm源服务器在国内访问速度较慢,所以一般需要更换源服务器地址npm config set registry https://registry.npm.taobao.org也可以安装cnp ...
- 6--Python入门--Python基本运算符
算数运算符 运算符 描述 示例 + 相加 1+1→2 - 相减 1-1→0 * 相乘 1*2→2 / 相除 1/2→0.5 % 取余数 3%2→1 ** 幂运算 2**2→4 // 取商 7//2→3 ...