c语言学习周报(2020.11.21-11.28)

字符数组

%c——逐个输入元素和字符(char)

%s——整体输入和输出字符串(string)

用格式%c逐个输入时,必须输够定义的字符,否则不会自动加结束符\0。输出时也不会自动检测\0。

用格式%s输入时,数组名本身就代表该数组首地址,无需加&。末尾自动加\0。当输入多个字符串,scanf()中空格为其分隔符,只有第一个空格前的字符串生效。(当输入一句话时,需定义和单词相等数量的数组)(存储了包括\0的n+1个字符)

如果数组中没有\0,输出时会将内存中该数组其他内容也一并输出,直到遇见\0为止。因此最好用%c输出各元素

只有字符数组可以整体输入和输出。

字符串处理函数

1、gets:将字符串整行输入
2、puts:将字符串整行输出,结尾自动加\n
3、strlen:测字符串长度(strlen与sizeof结果不一定相同)
4、strcmp:比较两字符串大小,1比2大则输出正数,反之输出负数,相等则为0.(大写的ASC码比小写小32)
5、strcpy:将字符串2包括\0全部复制到1中
6、strcat:将字符串2连接到1后变为一个字符串,1的\0被覆盖。

函数递归算法

1、递推归纳:将原问题归类为同类规模更小的问题,归纳出一般递推公式。

2、递归终止:规模小到一定程度自动结束调用。

调用的执行分两阶段完成,先逐层调用(函数自身),再逐层返回返回到调用该层的位置后继续执行操作。每层调用都用堆栈保护主调层的现场和返回地址。调用的层数称为递归的深度。(堆栈的概念暂时看不懂,先放在这里)

堆栈(英语:stack)又称为栈或堆叠,是计算机科学中一种特殊的串列形式的抽象数据类型,其特殊之处在于只能允许在链表或数组的一端(称为堆栈顶端指针,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。另外堆栈也可以用一维数组或链表的形式来完成。堆栈的另外一个相对的操作方式称为队列。
堆栈数据结构使用两种基本操作:推入(压栈,push)和弹出(弹栈,pop):
推入:将数据放入堆栈的顶端(数组形式或串列形式),堆栈顶端top指针加一。
弹出:将顶端数据数据输出(回传),堆栈顶端数据减一。

递归三要素

1、找出函数功能,找出基础公式
在这里插入图片描述

2、找出递归结束的条件
在这里插入图片描述
此处书上考虑到0!=1,更为严谨。

3、找出函数的等价关系式,即归纳一般递推公式
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柴郡喵喵喵喵喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值