函数递归
什么是函数递归?
递归的两个必要条件:
- 存在限制条件,当满足这个限制条件的时候,递归便不在继续。
- 每次递归调用之后越来越接近这个限制条件。
依次打印:
- 1234%10 4
- 1234/10 3
- 123%10 2
- 12%10 1
递归怎么做?
解析:输入1234时由于,1234>9,所以print函数被上面调用,1234/10 就得到值123,然后下一个printf取模,得到4.下面为详细的步骤
这里输入的值为1234;
print调用上面的函数后n=1234;;
因为n/10, print函数再次调用时 n就等于123;
同上 n=12;
n = 1;
打印出 4
同下 打印出 3
然后程序返回执行 取模打印 2
n =1后执行下一句 取模 打印出1
栈溢出
初识结构体
结构体是c语言重要的知识点,可以使c语言有能力来描述复杂类型。
比如描述学生包含:名字+年龄+加性别+学号 这几项信息。(这里只可以用结构体来描述了)
结构体可以让c语言创建新的类型出来
struct Stu //学生的缩写
{
char name[20] //
int age; 这些都是结构体的成员
double score; //
};
int main()
{
struct stu s = {"张三“,20,85.5}; //结构体的创建和初始化
print("%s %d %lf\n",s.name, s.age, s.score) ///结构体变量 .是成员变量
return 0;
}
注意:%lf是打印浮点型的
结构体的指针(字符->d的运用)
三次打印结果都相同,只是不同的写法罢了
分支语句switch
switch:是整型表达式,是一种分支语句,常用于多分支的情况。
使用例题:
由于没有阻止运行的语句,它就会一直按顺序打印。
当输入2时
switch表达式结果是几,表达式就是从第几个case进入
要实现真正的分支语句,要加入break来实现
- case决定的是入口,break决定的是出口。
- 此外注意switch必须是整型表达式。
switch中的default(默认选项)
所有case不能匹配的,都会执行这个默认选项。此外default没有顺序位置,只要不匹配,就会分配到default这个选项执行。
例如输入9是,这里就会输入默认选项“输入错误”。
截图出处均来自于哔哩哔哩的up:哔哩大学计算机学院