首页 > 其他分享 >C语言函数递归 --- 复习题(1)

C语言函数递归 --- 复习题(1)

时间:2023-09-08 21:31:24浏览次数:64  
标签:语句 return 递归 int 复习题 else --- Fun C语言

一.单选题:

1.下列选项关于递归说法错误的是()

A. 存在限制条件,当满足限制条件时,递归停止

B. 每次递归调用后越来越接近递归的条件

C. 递归可以无限制递归下去

D. 递归层次太深容易出现栈溢出


答案:C,这题错误的选项显而易见是C,我们之前将递归的时候就说过递归的两个要求,第一个是需要有限制条件,二是每次递归执行完成后需要更加接近递归的条件,我们之前写过一段代码:

#include<stdio.h>
int main(void)
{
main();
return 0;
}

这段代码会无限递归下去,直到栈区溢出,这就是因为递归的层次过深,且没有有效地限制条件所导致的

2.观察以下代码,算出若调用函数Fun(2)则函数返回值是多少:

int Fun(int n)
{
if(n==5)
  return 2;
else
  return 2*Fun(n+1);
}

A. 2

B. 4

C. 8

D. 16


答案:D,我们如果对递归不是很熟悉那就可以采用画图的形式,如图所示:

C语言函数递归 --- 复习题(1)_C语言

第一次将2传入Fun()函数中,这时候n=2所以执行的是else语句会返回2*Fun(3),这时候递归就开始了,将3传入Fun()函数中,3≠5,再次执行else语句中的内容,这时候n=3,所以返回值为 2*Fun(4),将4传入Fun()函数中4≠5,再次执行else语句,直到n=5,满足if语句中的内容,返回2,所以最后得到的结果为16,故选D

标签:语句,return,递归,int,复习题,else,---,Fun,C语言
From: https://blog.51cto.com/u_16183773/7413259

相关文章

  • 文心一言 VS 讯飞星火 VS chatgpt (88)-- 算法导论8.3 1题
    一、用go语言,参照图8-3的方法,说明RADIX-SORT在下列英文单词上的操作过程:COW,DOG,SEA,RUG,ROW,MOB,BOX,TAB,BAR,EAR,TAR,DIG,BIG,TEA,NOW,FOX。文心一言:RADIX-SORT是一种基于字符的排序算法,它将字符串中的每个字符按照其ASCII值进行排序,然后再按照其出现频率进行排序。以下是RADIX-S......
  • 文心一言 VS 讯飞星火 VS chatgpt (88)-- 算法导论8.3 1题
    一、用go语言,参照图8-3的方法,说明RADIX-SORT在下列英文单词上的操作过程:COW,DOG,SEA,RUG,ROW,MOB,BOX,TAB,BAR,EAR,TAR,DIG,BIG,TEA,NOW,FOX。文心一言:RADIX-SORT是一种基于字符的排序算法,它将字符串中的每个字符按照其ASCII值进行排序,然后再按照其出现频率进行排序。以下是RADIX-SORT......
  • SAML-based SSO Flow
    概念SAML:SecurityAssertionMarkupLanguageSSO:singlesign-onSP:ServiceProviderIdP:IdentityproviderUA:UserAgent(Browser)SP-InitiatedSSOFlowTheprocessingisasfollows:1Theuserattemptstoaccessaresourceonsp.example.com.Theuserd......
  • 输入jps命令发现缺少namenode进程--同时猜想hive启动失败是由于缺少namenode进程的原
    问题描述且问题解决杀死9000端口:kill-99000然后查看9000端口的进程是否还在:netstat-anp|grep9000然后尝试再次开启hadoop集群:再尝试开启hive服务:问题解决!......
  • C语言-结构体、共用体,内存管理
    结构体结构体的定义及变量使用#include<stdio.h>#include<string.h>structstudent{charname[20];intage;charsex;}stu3;//定义结构体的同时定义结构体变量。此时是全局变量intmain(intargc,charconst*argv[]){structstudentstu1,s......
  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-疑惑的汉字
    (文章目录)前言当铺密码通常使用汉字来隐藏信息,专门用来加密数字,不需要密钥,明文信息包含在加密后的密文中。较常见的当铺密码有两种,一种是将数字映射到对应笔画的汉字,另外一种是利用汉字的字形特征,当前汉字有多少笔画出头就转化成数字几。一、疑惑的汉字1.打开题目2.解题......
  • 2023-09-08 小程序之启用组件按需注入 ==》 添加一行代码:"lazyCodeLoading": "require
    在manifest.json文件里面的mp-weix对象添加代码:"lazyCodeLoading":"requiredComponents"可实现组件按需注入,引用官方说法就是:启用按需注入后,小程序仅注入当前访问页面所需的自定义组件和页面代码。未访问的页面、当前页面未声明的自定义组件不会被加载和初始化,对应代码文件将不被......
  • 为什么el-table-column的type属性不能动态变化?
    在ElementUI中,`el-table-column`组件的`type`属性无法动态变化,而`el-button`组件的`disabled`属性可以动态变化,这是因为这两个属性在实现上有所不同,涉及到了Vue组件的属性绑定方式和属性的响应性。`el-table-column`组件的`type`属性是静态属性,是在组件初始化阶段就确定的,无法通......
  • Palo Alto防火墙---安全配置文件篇
    老板:楼小楼,据某员工反映他的邮箱自动向其他人发送了一些邮件,这个员工的邮箱密码只有他自己知道,并没有告诉给任何人。楼小楼:老板,这种情况一般是他的邮箱被人暴力破-解了,并且如果不采取措施,那么其他人的邮箱也有被暴力破-解的可能!老板:什么?有这么严重?楼小楼:当然,我们公司有很多服务器,现......
  • springboot简单使用poi-tl
    简介poi-tl是一个基于ApachePOI的开源Word模板引擎,比Freemarker的功能更加强大。官方文档地址:http://deepoove.com/poi-tl/导包导入包时,依赖说明参考官方文档,导入包不适配可能会造成一些问题,此处可以使用<dependency><groupId>org.apache.poi</grou......