- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言学习控制语句
C语言学习5控制语句
本章我们将学习下列内容:
1.两种跳转语句 if else和switch case
2.关键字if、else、switch、continue、break、case、default
3.逻辑运算符:、||、!
4.函数:getchar()、putchar().
1.if else
1.1 :好的,首先我们来看if else语句。该语句主要有以下几种形态:
形态1:if(条件判断)
执行语句
形态2:if(条件判断)
执行语句1
else
执行语句2
形态3:if(条件判断1)
执行语句1
else if(条件判断2)
执行语句2
else
执行语句3
之所以称if else为分支语句,是因为程序执行到此处便会根据判断的条件来决定下一步究竟走哪条支路。if else语句中的条件判断一般是关系表达式,即比较两个表达式的大小。更一般地,条件判断可以是任何表达式,表达式的值为0则视为假,否则就为真,进而执行表达式的值为真的那个分支的执行语句。
1.2 :if else语句中有个比较容易犯错,但又被大多数人忽略的问题,那就是当我们使用多个if else语句时他们是如何组合的呢?也就是说哪个else跟哪个if应该是一对呢?比如:
if(number 6)
if(number 12)
printf(“you are close!\n”);
else
printf(“sorry!\n”);
上面的这段语句中,else应该跟第几个if是一组呢?如果您有充足的时间的话,建议您不妨写段完整的程序运行一遍。C语言规定,当没有花括号指明时,else应该该与跟它最近的if是一组。那么上面的else是跟第二个if是一组的。我们再来将上面的语句跟下面的语句做个比较:
if(number 6)
{
if(number 12)
printf(“you are close!\n”);
}
else
printf(“sorry!\n”);
第二段语句中,由于有了花括号的指引,所以else跟第一个if是一组。
1.3:if else语句还有一种简单的写法:
(条件判断)?语句1:语句2;
当条件判断为真时执行语句1,为假时执行语句2。例如:
(43)? x =4:x=3;
结果是x=3。
1.4:完成同样任务的程序,但运行的效率却有着天壤之别。下面我们来看一段这样的程序。
程序的要求是,给定一个整数num,打印出所有能整除它的约数,如果没有,那么就显示它是素数。一般我们会这么考虑,程序循环检查2到num之间的数,能整除的,就将它打印出来。如果检查结束后都没有,那么说明num是素数。这样的考虑看上午不错,而且也行的通,但关键是我们做了很多无用的循环,这大大降低了程序的效率。我们换个思考的方式,比如我们输入的整数num=20,那么当我们循环检查到2时,显然2是20的约数,得到2的同时其实我们也得到了20 的另一个约数(20/2)。也就是说,我们无需检查2到num之间所有的数,只要循环检查其中的一半,另一般也就出来了。如果采用这样的方法,那么我们不得不考虑,我们究竟要循环检查到多少呢?我们列出一些整数的所有约数来探究下:
144的所有约数
2
3
4
6
8
9
12
72
48
36
24
18
16
12
40的所有约数
2
4
5
20
10
8
我将表格第一行成为被除数的小约数,第二行称为大约数。只要我们检查完所有的小约数那么对应的大约数也就全部出来了。显然被除数的平方根就是这个大小约数的分界线,也就是说我们要检查的范围是2到被除数的平方根。再进一步想,对于无需求被除数的平方根。只要除数的平方小于或等于被除数(div*div=num),那么这个除数就在我们检查的范围内。下面我们具体的看程序1.1.
#includestdio.h
void main()
{
unsigned long num;//要检查的数
unsigned long div;//可能的约数
int flag =0; //素数的标志
pri
文档评论(0)