多重循环、缓冲区管理、数组(day06)
无法预知的数字叫随机数
rand标准函数可以用来获得随机数
为了使用这个标准函数需要包含stdlib.h头文件 srand标准函数用来设置随机数种子
这个函数把一个整数作为种子使用
不同的种子产生的随机数不同
为了使用这个标准函数也需要包含stdlib.h头
文件 time标准函数可以用来获得当前时间
这个函数用一个整数表示当前的时间
同一秒之内这个用来代表时间的整数是同一个
为了使用这个标准函数需要包含time.h头文件 任何程序只需要设置一次随机数种子 分支和循环都可以让程序中的语句不再从上到下
顺序执行,它们都叫做流程控制语句 goto也是流程控制语句
goto语句可以把任何一条语句指定成下一条
语句
一般不要使用goto语句 如果一个问题可以用多组数字的变化过程描述,
并且不同数字的变化频率不同就可以采用
多重循环结构解决。
编写多重循环的时候外部循环变量应该用来代表
变化慢的数字,内部循环变量应该用来代表
变化快的数字 while关键字也可以用来编写循环
不适合采用for关键字编写的循环再考虑
用while关键字编写
while循环格式如下
while (逻辑表达式) {
反复执行的语句
}
反复执行大括号里面的语句直到逻辑表达式
结果为假 while循环会交替执行逻辑表达式的计算和大括号
里面的语句 while循环第一步计算逻辑表达式的结果 当逻辑表达式为假的时候循环结束 while循环有可能不执行大括号里面的语句 while循环的逻辑表达式如果永远为真(比如1)
就成为死循环 while循环里也可以使用break;和continue;语句 do...while关键字也可以用来编写循环
do...while循环格式如下
do {
反复执行的语句
} while (逻辑表达式);
do...while循环小括号后面必须用分号结束
do...while循环也会交替执行逻辑表达式的
计算和大括号里面的语句
do...while循环第一步执行大括号里面的语句
do...while循环可以保证大括号里面的语句
至少执行一次 scanf函数获得数字的时候数字首先从键盘
进入输入缓冲区,然后从输入缓冲区
进入程序的存储区
先进入输入缓冲区的数字必须先处理,前面
的数字没有处理完就不能处理后面的数字
如果用户输入的格式和程序里要求的格式不
一样就无法处理以后用户输入的数字 可以使用如下两条语句把用户某一次输入的
所有内容都从输入缓冲区里丢掉
scanf("%*[^\n]");
scanf("%*c"); printf函数显示数字的时候首先把数字放在
输出缓冲区里然后再显示在屏幕上
输出缓冲区里的内容在以下四种情况下才会
出现在屏幕上
.如果输出缓冲区里包含'\n'换行字符则
换行字符前面的内容会显示在屏幕上
.程序结束后它放在输出缓冲区里的内容会
显示在屏幕上
.当输出缓冲区被充满的时候它里面的内容
会显示在屏幕上
.使用fflush(stdout)语句可以强制把输出
缓冲区里的内容显示在屏幕上 数组用来代表内存里一组连续的同类型存储区
这些存储区叫做数组的元素
数组也需要先声明然后才能使用
声明数组时也需要提供类型名称和数组命令,
另外还需要提供一个整数用来表示数组里
的存储区个数
数组一旦存在则里面存储区的个数就不可以
改变了
数组通常不会作为整体使用,一般一次只
使用其中的某个存储区
数组里每个存储区有一个编号,这个编号
叫做下标
有效下标范围从0开始到存储区个数减一为止,
超过范围的下标不能使用
使用数组名称和下标就可以表示数组里的某个
存储区 可以使用for循环依次处理数组里的每个存储区
在这个for循环里循环变量依次代表每个有效
下标 数组也应该初始化
初始化数组的时候可以提供多个初始化数据,
它们应该写在一对大括号中间,相邻数据
之间用逗号分开
如果初始化数据的个数比存储区的个数多
就忽略后面的初始化数据
如果初始化数据的个数比存储区的个数少
就把后面的存储区初始化成0
如果初始化数据个数和存储区个数一样就可以
省略数组声明里的存储区个数
多重循环、缓冲区管理、数组(day06)的更多相关文章
- *使用while循环遍历数组创建索引和自增索引值
package com.chongrui.test;/* *使用while循环遍历数组 * * * */public class test { public static void main ...
- C语言 第六章 多重循环
一.概要 在c语言中,if,switch,for,while,do-while可以相互间多次嵌套. if(){ for() { for() { } } } while() { for(){ } for ...
- 关于for循环删除数组内容出现的问题
昨天用for循环进行数组去重的时候出现的问题, 首先,用双重for循环把前一个和所有后面的元素进行比较,如果相等则删除. 但是,如果数组里面有三个以上连续相等的元素的时候,就会出现问题. var ar ...
- JavaScript break跳出多重循环
多重循环在编程中会经常遇到,那么在JavaScript中如何指定跳出那层的循环呢.其实这也是break的一个用法,下面是一个不错的例子,来自<JavaScript权威指南>,可以参考下: ...
- JavaScript 中 for in 循环和数组的问题
本文由 伯乐在线 - ElvisKang 翻译,进林 校稿.未经许可,禁止转载!英文出处:adripofjavascript.com.欢迎加入翻译小组. JavaScript的for…in循环用于迭代 ...
- ThinkPHP 3.2.2 在 volist 多重循环嵌套中使用 if 判断标签
今天在 ThinkPHP 3.2.2 的试图模板中使用多重循环,用来把相应类别下对应的文章都依次循环出来,但是无论如何只能循环出类别,类别下的文章无法循环出,( 错误 ) 代码如下: <voli ...
- Python之 continue继续循环和多重循环
Python之 continue继续循环 在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环. 假设我们已经写好了利用for循环计算平均分的代码: L ...
- Python 如何跳出多重循环
Python 如何跳出多重循环 抛异常 return
- 慕课网-安卓工程师初养成-4-14 Java 循环语句之多重循环
来源:http://www.imooc.com/code/1497 循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行 ...
随机推荐
- 2.6-NAT
2.6-NAT 网络地址转换协议NAT(Network Address Translation): 交换和远程都要用,先上什么就放在哪一块讲,具体来说NAT还是属于远程的. ...
- password加密的算法
加密原理:採用不同的加密算法对字符串进行加盐加密处理. 用以防止密文被md5字典进行反向暴力破解. 採用美国家安全局发布的加密算法(RFC 4357)加密,不採用自己创建的加密算法,以避免有安全漏洞. ...
- Android实战简易教程-第四十一枪(显示倒计时的Button-适用于获取验证码)
近期在做获取验证码的功能.考虑到优良的用户体验,决定制作一个拥有倒计时提示的Button按钮,在网上查了一些资料,非常是简单的就能实现.我写了一个小Demo,大家能够应用到自己的项目中. 一.代码 1 ...
- HDU - 3622 Bomb Game(二分+2-SAT)
题目大意:玩一个放炸弹游戏,有N次放炸弹的机会,每次放炸弹时,你都有两个位置能够选择.问怎样放炸弹,能使爆炸的炸弹的半径的最小值最大(炸弹爆炸半径能够控制,可是爆炸形成的圈不能有重叠部分) 解题思路: ...
- CF 86D 莫队(卡常数)
CF 86D 莫队(卡常数) D. Powerful array time limit per test 5 seconds memory limit per test 256 megabytes i ...
- 98.Ext.form.Label组件的基本用法
转自:https://www.cnblogs.com/kelly/archive/2009/06/05/1496897.html 本篇介绍Ext.form.Label组件的基本用法: 这里通过上一篇介 ...
- Vue Element-ui table只展开一行
直接上代码了哈~ <template> <div class="app-content"> <div class="table_expand ...
- html body中的标签
HTML中的标签有两类 一.字体标签 字体标签包含:h1~h6.<font>.<u>.<b>.<strong><em>.<sup> ...
- C - New Year Candles
Problem description Vasily the Programmer loves romance, so this year he decided to illuminate his r ...
- 题解报告:hdu 4764 Stone(巴什博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4764 Problem Description Tang and Jiang are good frie ...