c语言学习5控制语句

c语言学习5控制语句

ID:17894753

大小:46.41 KB

页数:11页

时间:2018-09-09

c语言学习5控制语句_第1页
c语言学习5控制语句_第2页
c语言学习5控制语句_第3页
c语言学习5控制语句_第4页
c语言学习5控制语句_第5页
资源描述:

《c语言学习5控制语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言学习5控制语句本章我们将学习下列内容:1.两种跳转语句ifelse和switchcase2.关键字if、else、switch、continue、break、case、default3.逻辑运算符:&&、

2、

3、、!4.函数:getchar()、putchar().1.ifelse1.1:好的,首先我们来看ifelse语句。该语句主要有以下几种形态:形态1:if(条件判断)执行语句形态2:if(条件判断)执行语句1else执行语句2形态3:if(条件判断1)执行语句1elseif(条件判断2)执行语句2else执行语句3之所以称ifelse为分支语句,是因为程序执行到此处便会

4、根据判断的条件来决定下一步究竟走哪条支路。ifelse语句中的条件判断一般是关系表达式,即比较两个表达式的大小。更一般地,条件判断可以是任何表达式,表达式的值为0则视为假,否则就为真,进而执行表达式的值为真的那个分支的执行语句。1.2:ifelse语句中有个比较容易犯错,但又被大多数人忽略的问题,那就是当我们使用多个ifelse语句时他们是如何组合的呢?也就是说哪个else跟哪个if应该是一对呢?比如:if(number>6)if(number<12)printf(“youareclose!”);elseprintf(“sorry!”);上面的这段语句中,else应该跟

5、第几个if是一组呢?如果您有充足的时间的话,建议您不妨写段完整的程序运行一遍。C语言规定,当没有花括号指明时,else应该该与跟它最近的if是一组。那么上面的else是跟第二个if是一组的。我们再来将上面的语句跟下面的语句做个比较:if(number>6){if(number<12)printf(“youareclose!”);}elseprintf(“sorry!”);第二段语句中,由于有了花括号的指引,所以else跟第一个if是一组。1.3:ifelse语句还有一种简单的写法:(条件判断)?语句1:语句2;当条件判断为真时执行语句1,为假时执行语句2。例如:(4>3

6、)?x=4:x=3;结果是x=3。1.4:完成同样任务的程序,但运行的效率却有着天壤之别。下面我们来看一段这样的程序。程序的要求是,给定一个整数num,打印出所有能整除它的约数,如果没有,那么就显示它是素数。一般我们会这么考虑,程序循环检查2到num之间的数,能整除的,就将它打印出来。如果检查结束后都没有,那么说明num是素数。这样的考虑看上午不错,而且也行的通,但关键是我们做了很多无用的循环,这大大降低了程序的效率。我们换个思考的方式,比如我们输入的整数num=20,那么当我们循环检查到2时,显然2是20的约数,得到2的同时其实我们也得到了20的另一个约数(20/2)。也就是

7、说,我们无需检查2到num之间所有的数,只要循环检查其中的一半,另一般也就出来了。如果采用这样的方法,那么我们不得不考虑,我们究竟要循环检查到多少呢?我们列出一些整数的所有约数来探究下:144的所有约数234689127248362418161240的所有约数24520108我将表格第一行成为被除数的小约数,第二行称为大约数。只要我们检查完所有的小约数那么对应的大约数也就全部出来了。显然被除数的平方根就是这个大小约数的分界线,也就是说我们要检查的范围是2到被除数的平方根。再进一步想,对于无需求被除数的平方根。只要除数的平方小于或等于被除数(div*div<=num),那么这个除

8、数就在我们检查的范围内。下面我们具体的看程序1.1.#includevoidmain(){unsignedlongnum;//要检查的数unsignedlongdiv;//可能的约数intflag=0;//素数的标志printf(“Pleaseenteraninterger:a”);while(scanf(“%lu”,&num)==1){for(div=2,flag=1;div*div<=num;div++){if(num%div==0){printf(“%luisdivisibleby%luand%lu.”,num,div,num/div);flag=

9、0;}}if(flag)printf(“%luisprime.”,num);printf(“Pleaseenternextinteger:a”);}}程序1.1:求num的所有约数下面的运行结果如下图所示:2.Switch语句2.1:switch语句的一般形式如下:形式1:switch(表达式){case1:执行语句1;break;case2:执行语句2;break;default:执行语句3;break;}形式2:switch(表达式){case1-1:case1-2:执行语句1;b

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。