这是自己在哔哩哔哩上听鹏哥C语言视频的一个简单的考试
现在分享给大家
选择题
题目1:求下列程序的运行结果是 67
#include<stdio.h>
int cnt = 0;
int fib(int n)
{
cnt++;
if (n == 0)
{
return 1;
}
else if (n == 1)
{
return 2;
}
else
return fib(n - 1) + fib(n - 2);
}
void main()
{
fib(8);
printf("%d", cnt);
}
解题思路:传进去一个数字8,只要n>=2,cnt就++一次,进入下面的return fib(n - 1) + fib(n - 2)会产生两种结果,分别是7和6,再继续递归时会7又会产生6和5,6产生5和4,一次下去,直到所有递归都结束
题目2:下列程序运行的结果是 :死循环
#include<stdio.h>
int main()
{
int x = 1;
do
{
printf("%d", x++); //这里会先打印一,然后x产生++的效果
} while (x--);
}
题目3:下列程序执行后i和j的值分别是 2 1
#include<stdio.h>
int main()
{
int i = 1;
int j;
j = i++;
}
题目4:一下程序的k最终值是