多重循环、缓冲区管理、数组(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 循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行 ...
随机推荐
- java 线程 原子类相关操作演示样例 thinking in java4 文件夹21.3.4
java 线程 原子类相关操作演示样例 package org.rui.thread.volatiles; import java.util.Timer; import java.util.Time ...
- Linux 大规模请求server连接数相关设置
一般一个大规模Linuxserver请求数可能是几十万上百万的情况.须要足够的连接数来使用,所以务必进行对应的设置. 默认的Linuxserver文件描写叙述符等打开最大是1024.用ulimit - ...
- 2015 年度新增开源软件排名TOP100
本榜单包括 2015 年开源中国新收录的 5977 款开源软件中,依据软件本身的关注度.活跃程度进行排名前 100 名的软件.从这份榜单中也许能够了解到最新业界的趋势. 1.SwitchyOmega ...
- 《解读window核心编程》 之 注冊表
1 注冊表的作用及组织形式 Windows系统使用注冊表来存储系统和应用程序配置数据.非常多系统和应用程序重要的配置的信息都存储在注冊表中. 注冊表是一种以树型结构组织的数据库.树的每个节点称 作键( ...
- C/C++大小端模式与位域
一.大端小端: 1.大端:指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中 例如:0x12345678 在内存中的存储为 : 0x0000 0x0001 0x0002 0x00 ...
- centos安装lamp步骤还可以
1. 用yum安装Apache,Mysql,PHP. 1.1安装Apache yum install httpd httpd-devel 安装完成后,用/etc/init.d/httpd start ...
- 正确的缩写document。querySelector
北京的夕阳,伴随淡淡的霾殇.从写字楼望去,光线是那么昏黄.没有孤雁,也没有霞光,遥想当年,还是 jQuery 独霸一方.那时的我们,写程序都习惯了使用 $,至少在对美元符号的喜爱上,与 PHP 达成了 ...
- [Apple开发者帐户帮助]五、管理标识符(1)注册应用程序ID
一个应用程序ID标识的配置设定档中的应用程序.它是一个由两部分组成的字符串,用于标识来自单个开发团队的一个或多个应用程序.有两种类型的应用程序ID:用于单个应用程序的显式应用程序ID,以及用于一组应用 ...
- HTML多媒体标记之字幕标记
在HTML中,可以向页面中插入字幕,水平或垂直滚动显示文字信息,字幕标记的格式如下: <marquee 属性="值"...>滚动的文字信息</marquee> ...
- Grafana+Zabbix+Prometheus 监控系统
环境说明 软件 版本 操作系统 IP地址 Grafana 5.4.3-1 Centos7.5 192.168.18.231 Prometheus 2.6.1 Centos7.5 192.168.18. ...