ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Day2-C语言语句:if、while、do-while、for、switch、break、continue、goto、

2020-12-19 17:33:04  阅读:210  来源: 互联网

标签:语句 do goto rand srand while 循环


if语句:

tips每次写if-else都带上花括号,即使只有一句执行语句时。

执行图三语句后,a=0.

switch语句:

括号里的控制表达式只能是整数类型的结果,case后面的常量可以是常数,也可以是常数计算的表达式。switch的主题语句中包括了多个 case 标签,以及最多一个 default 标签。

Switch语句可以看作是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的case(分支标号)处。分支标号只是说明switch内部位置的路标,在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里去,直到遇到一个break,或者和switch结束为止。

for语句:

for后面括号的内容分为三部分:for(初始化的动作;条件;每轮的动作)

第一部分:初始化部分,仅在进入循环前执行一次、

第二部分:条件部分,控制循环的测试或条件部分。如果计算得到的条件值为假(false),循环将终止执行;如果条件值为真(true),则执行循环体

第三部分:增加步长部分,将循环变量增加一个步长,并再次对条件求值。

for中的每一个表达式都是可以忽略的,for(;条件;) == while(条件)

for(i=0;i<n;i++),则循环的次数时n,而循环结束以后,i的值是n。循环的控制变量i(从0开始还是从1开始, i<n还是i<=n),对循环的次数,循环结束后的变量的值都有影响。

while语句:

do-while语句:

do-while 循环是 while 循环的变体。在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后在while()内检查条件是否为真,如果条件为真的话,就会重复do-while这个循环,直至while()为假。

do-while 循环保证了至少执行do{ }内的语句一次。

 

tips for loops

如果有固定次数,用for;如果必须执行一次,用do-while;其他情况用while。

break:跳出循环

continue:跳过循环这一轮剩下的语句进入下一轮

goto语句:跳出多层循环,跳到out位置。

(猜测:使用goto语句必须要return 0。因为我没加return 0,会报错。)

用法如下:(凑硬币的例子)

tips

  1.   幂运算:pow(a,b):a的b次方。头文件#include<math.h>
  2.   做求和的程序时,记录结果的变量应该初始化为0;做求积的变量时,记录结果的变量应该初始化为1.
  3.   rand函数以及头文件  应用

头文件:使用rand函数前,首先在程序开头预处理命令部分加上#include<stdlib.h>,其中<stdlib.h>是C中的标准库头文件,它的作用是为了对rand()函数进行引用性声明,以便在下面的程序中使用它。

实际上,rand函数产生的是伪随机数。当你调用它,它产生的数看上去是随机的,但每次执行这个程序时,这些数的顺序都会重复。这是因为rand()会用系统指定的某个数作为一个种子,而且这个数是每次开机时就指定好的,如果不通过其他方法为rand()重新指定种子,则在下次开机前该种子数都不会变。所以每次出现的随机数是一样的。这种重复性是函数rand的一个重要特点。

如果你希望在程序完成后,每次运行时产生一组不同的随机数,那么就要用到另一个标准库函数:srand函数。这个函数就可以为rand函数指定任意的种子。在生成随机数的过程中需要我们把rand和srand两个函数结合使用,这个过程称为随机化。这二个函数的工作过程如下:

a)   首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535;用法:srand((unsigned)time(NULL));或者srand(time(0));

b)   然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间)

c)   根据需要多次调用rand(),从而不间断地得到新的随机数;

d)   无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果

标签:语句,do,goto,rand,srand,while,循环
来源: https://www.cnblogs.com/AkihiII/p/14160143.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有