开头,考试难度PTA,编程题仅限于上课所讲
如果PTA很简单,那么考试轻松。
- 对于循环来说,领悟循环的编程模式,
- 对于与表达式来说,理解记忆表达式的规定
而函数是要理解概念
1 . 函数就是一个模块:
- 简化
- 代码复用
函数由 函数头 和 函数体 组成
函数头:
void类型 表示啥也没有,没有函数值
int main()
{
printf("Hello world!\n");
return 0;
}
如果只有 main(), 相当于前门默认有一个int
在结尾需要返回一个整型,
return类型一般和表达式类型相同
main()
{
printf("hello\n");
return 0;
}
举例一个
1.sum函数如何定义
函数头:函数名,函数类型,函数形参
函数体:函数需要执行的内容
2.函数中的 a,b,s 何时分配存储空间,又何时被回收
函数内部定义的变量叫局部变量
调用时生成,返回时,回收
3.形参变量 何时初始化
1.2,3.4是实参,
4.函数返回值作为函数调用表达式的值
如果函数是 int sum。输入4.6输出4
int main()
{
double t = sum(1.2,3.4);
printf("%f",t);
}
double sum(double a, double b)
{
double s;
s = a + b;
return s;
}
两次调用sum函数
double t = sum(sum(0.8+0.4),3.4);
double t = sum(sum(0.8+0.4),sum(0.3,0.1));
double t = sum(sum(0.8+0.4),sum(sum(0.2,0.1),0.1));
注意
//1.实参调用后,内存中分配a,然后输出++a,
//2然后什么也不返回,然后回收
//最后输出1110
要想改变a的值,要在main函数里面改
int main()
{
int a =10;
fun(a);
printf("%d",a);
return 0;
}
void fun(int a)
{
++a;
printf("%d",a);
return;
}
============================================
函数内定义的变量 是函数的局部变量
生存期 可见性 均为局部
调用时,实参传递给对应的函数形参
静态局部变量---静态变量
static 生存期是全局的,而可见性是局部的
每一次调用a都会初始化为1
所以输出:111
void fun()
{
int a=1;
printf("%d",a++);
return;
}
int main()
{
fun();
fun();
fun();
return 0;
}
void fun()
{
static int a=1;
printf("%d",a++);
return;
}
如果加入全局静态变量,就只会初始化一次
输出结果为:123
如何定义函数:函数头 与 函数体
函数类型是由定义类型而非return表达式所决定
函数调用时,实参表达式的值 传递 对应的形参;
返回时,函数值作为“调用表达式”的值。
变量
- 局部变量 生存期和访问性 是局部(函数级)的。
- 静态变量, 生存期是全局(程序级)的。
- 全局变量,生存期和访问性都是全局(程序级)的
设计递归
1、 递归模型;
2、 递归出口
网友评论