Skip to content

第三周作业

答案会在下周更新的时候发布

  1. 描述一下什么是函数的声明和函数的定义?
  2. 自己写一个函数定义,然后调用该函数,再使用VS单步调试代码,并绘制内存中的栈的内容。
  3. (选做题)使用VS单步调试下面的代码,仔细阅读VS的调用堆栈窗口
c
#include <stdio.h>
void func(int i){
	if(i == 0){
		return;
    }
    else{
        printf("i = %d\n", i);
		func(i-1);
    }
}
int main(){
    func(2);
    return 0;
}
  1. 从变量的生存期、变量存储的位置和变量的作用域来说明全局变量和局部变量的区别。
  2. 为什么下面代码当中,main函数里面的变量a不发生改变?
c
void func(int a){
    a = a + 1;
}
int main(){
    int a = 10;
    func(a);
    printf("a = %d\n", a);
    return 0;
}
  1. C语言学习 | week03_分段函数_1知识点:函数
  2. C语言学习 | week03_分段函数_2知识点:函数
  3. C语言学习 | week03_正整数反转知识点:函数
  4. C语言学习 | week03_计算距离知识点:函数(选做题)
  5. C语言学习 | week03_奇偶和知识点:函数
  6. 数组有哪些特点?[]运算符在定义语句和非定义语句作用分别是什么?
  7. 数组中的元素arr[i]的地址如何计算?
  8. 一维数组作为函数参数传递的时候会丢失什么信息?
  9. 二维数组arr[M][N]的本质是一个一维数组,这个一维数组有多少个元素,每个元素的类型是什么?arr[i][j]的地址是多少?为什么二维数组传递的时候,不能省略第二个维度?
  10. C语言学习 | week03_循环数组 知识点:数组
  11. C语言学习 | week03_统计分数 知识点:数组
  12. C语言学习 | week03_有序插入 知识点:数组
  13. C语言学习 | week03_找最大值 知识点:数组
  14. C语言学习 | week03_合并有序数组 知识点:数组
  15. C语言学习 | week03_冒泡排序 知识点:数组(选做题)
  16. C语言学习 | week03_方阵转置 知识点:二维数组
  17. C语言学习 | week03_计算两个矩阵的乘积 知识点:二维数组