选择递归枚举课件.ppt

选择递归枚举课件.ppt

ID:57181662

大小:403.50 KB

页数:42页

时间:2020-08-02

选择递归枚举课件.ppt_第1页
选择递归枚举课件.ppt_第2页
选择递归枚举课件.ppt_第3页
选择递归枚举课件.ppt_第4页
选择递归枚举课件.ppt_第5页
资源描述:

《选择递归枚举课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言期末串讲-Dr.Meyer选择题-Dr.Meyer题型概念题程序设计基本概念(标识符,数据类型,指针,函数……)语法题C语言语法(变量定义及赋值,输入输出语句,顺序/选择/循环结构……)读程序题例11.下面四组字符串中,都可以用C语言标识符的是()。A.sign,3mf,a.f,A&BB.Iam,scanf,mx_,AMBC.if,ty_pe,x1#,5XYD.print,_maf,mx_2d,aMb6变量命名规则标识符只能由英文字母、下划线“_”、阿拉伯数字组成。标识符的第一个字符必须是英文字母或者下划

2、线,而不能是数字。变量名不能与C语言中的关键字相同。例22.下面描述中,正确的是()a.主函数是程序启动时唯一的入口b.主函数中的花括号必须有,而子函数中的花括号是可有可无的c.一个C程序行只能写一个语句d.函数体包含了函数声明部分例3以下关于return语句的叙述中,正确的是A.一个自定义函数中可以根据不同情况设置多条return语句B.没有return语句的自定义函数在执行结束时不能返回到调用处C.一个自定义函数中必须有一条return语句D.定义为void类型的函数中可以有带返回值的return语句例4下列

3、语句组中,正确的是A.char*s;s={"Olympic"};B.char*s;s="Olympic";C.chars[7];s={"Olympic"};D.chars[7];s="Olympic";例5下列选项中,能正确定义数组的语句是A)intnum[0..2008];B)intnum[];C)intN=2008;intnum[N];D)#defineN2008intnum[N];(C99标准规定数组长度可以为常量,标准C++的规定不允许这样但gcc上是允许的)constintN=2008;intnum[N

4、];例6以下程序的输出结果是_____。A.00B.12C.30D.23例7以下while循环执行的次数是_____。k=0;while(k=10)k=k+1;选择一项:A.9B.11C.10D.无数次例8.下列说法中正确的是_____。A.break用在循环语句中,而continue用在switch语句中。B.break用在switch语句中,而continue用在循环语句中。C.continue能结束循环,而break只能结束本次循环。D.break能结束循环,而continue只能结束本次循环。例9.以下关

5、于C语言数据类型使用的叙述中,错误的是选择一项:A.若要准确无误差的表示自然数,应使用整数类型B.若要保存带有多位小数的数据,应使用双精度类型C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型D.若要出来如“人员信息”等含有不同类型的相关数据,应自定义结构类型例10.当执行程序时,按下列方式输入数据(从第1列开始,代表回车)1234则结果是选择一项:A.1234B.12C.123D.1234递归-Dr.Meyer递归基本思想对于一个复杂的问题,把原问题分解为若干个相对简单

6、的同类型的子问题。建立数学模型:相当于写递推公式,在前一项基础上做什么才能得到它的下一项?确定终止条件:相当于确定首项,遇到什么的时候无法再往下计算?题型数值型的递归非数值型题型数值型递归例1//主要考试题型编写一个函数,使用递归算法求满足下述定义的整数序列的第n项。f(n)=1当n>=0且n<=4时f(n)=f(n-1)+f(n-3)当n>4且n为偶数时f(n)=f(n-2)+f(n-4)当n>4且n为奇数时f(n)=-1其他参数说明:n项数;返回值是第n项值。例如输入:10,输出:8intfindf(intn

7、){intx;if(n>=0&&n<=4)return1;elseif(n>4&&n%2==0){x=findf(n-1)+findf(n-3);returnx;}elseif(n>4&&n%2!=0){x=findf(n-2)+findf(n-4);returnx;}elsereturn-1;}例2小猴子第一天摘下若干桃子,当即吃掉一半,又多吃一个.第二天早上又将剩下的桃子吃一半,又多吃一个.以后每天早上吃前一天剩下的一半加另一个.到第10天早上猴子想再吃时发现,只剩下一个桃子了.问第一天猴子共摘多少个桃子?i

8、ntpeach(intbegin,inttimes){if(times==10)returnbegin;returnpeach((begin+1)*2,times+1);}例3.梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编写一个程序,输入:N,输出:共有多少中不同的走法int count(int n){     if(n==1)         return 1;

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

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

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