多重循环、缓冲区管理、数组(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 循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行 ...
随机推荐
- HYAppFrame(WinForm框架源代码)安装部署指南
HYAppFrame是一款基于Win form的应用程序框架,包括serverWeb Service.主程序框架.组织架构.权限控制.菜单导航.基础数据.系统參数.日志管理.定时任务等. 项目地址:h ...
- poj 1837 Balance (0 1 背包)
Balance Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 10326 Accepted: 6393 题意:给你n个挂 ...
- apache禁止訪问某些文件或文件夹的方法
[apache配置禁止訪问] 1. 禁止訪问某些文件/文件夹 添加Files选项来控制,比方要不同意訪问 .inc 扩展名的文件,保护php类库: <Files ~ "\.inc$&q ...
- Java 递归、尾递归、非递归、栈 处理 三角数问题
import java.io.BufferedReader; import java.io.InputStreamReader; //1,3,6,10,15...n 三角数 /* * # 1 * ## ...
- 【面试】【Spring常见问题总结】【07】
[常见面试问题总结文件夹>>>] 61.Spring IoC容器的依赖有两层含义: Bean依赖容器:也就是说Bean要依赖于容器,这里的依赖是指容器负责创建Bean并管理Bean的 ...
- C++对象模型——关于对象(第一章)
第一章 关于对象 在C语言中,"数据"和"处理数据的操作(函数)"是分开声明的,也就是说,语言本身并没有支持"数据和函数"之间的关联性 ...
- javascript 使用方式
第一种:内嵌在html节点中 <html> <body> <input type="button" onclick="document.bo ...
- hdoj- Windows Message Queue
Windows Message Queue Problem Description Message queue is the basic fundamental of windows system. ...
- 【BZOJ 1398】 Necklace
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1398 [算法] 最小表示法 [代码] #include<bits/stdc++ ...
- 洛谷P3809 后缀数组模板
题目:https://www.luogu.org/problemnew/show/P3809 刚学了后缀数组,看人家手写演示了半天,大概明白了过程,但完全写不出来代码: 于是借鉴了许多,不过都差不多, ...