• 第十一周编程总结


    本次作业所属课程

    C语言程序设计||

    本次作业要求

    https://edu.cnblogs.com/campus/zswxy/MS/homework/2829

    我在这个课程的目标是

    学会自主编程

    本次学习在哪些具体方面帮组我实现目标

    搞懂递归

    参考文献

    C primer plus第六版

    一、基础题

    1、单选题

    2-1、宏定义“#define DIV(a, b) a/b”,经DIV(x + 5, y - 5) 引用,替换展开后是()。 
    2-2、定义带参数的宏“#define JH(a,b,t) t = a; a = b; b = t”,对两个参数a、b的值进行交换,下列表述中正确的是()。 
    2-3、如果所有的变量按照下面的程序进行定义和声明,那么在main()函数中所有可用的变量为 ()。 
    void fun(int x)
    {  
        static int y;
        ……
        return;
    }
    int z;
    void main( )
    {   
        int a,b;
        fun(a);
        ……
    }
    
    2-4、如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为( )。 
    2-5、下面说法中正确的是()。 
    2-6、凡是函数中未指定存储类别的局部变量,其隐含的存储类型为( )。 
    2-7、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是。 
    2-8、将一个函数说明为static后,该函数将 ( )。

    总结:这个预习题还是有点难,翻书都翻了好久,还百度了几个。

    2、编程题

    题目一:汉诺塔问题

    1)实验代码

    #include<stdio.h>
    void hanio(int n,char x,char y,char z);
    int main ()
    {
        int n;
        char x,y,z;
        
        scanf("%d
    ",&n);
        scanf("%c %c %c ",&x,&y,&z);
    
        hanio(n,x,y,z);
    }
    void hanio(int n,char x,char y,char z)
    {
        if(n==1)
        {
            printf("%d: %c -> %c
    ",n,x,y);
        }
        else
        {
            hanio(n-1,x,z,y);
            printf("%d: %c -> %c
    ",n,x,y);
            hanio(n-1,z,y,x);
        }
    }

    2)设计思路

    3)本题调试过程中遇到的问题及解决办法

    这题按照书上的代码修改的,改了那个输出样例,错了几次就对了

    4)运行结果截图

    题目二:估值一亿的AI核心代码

    难度太大,放弃了

    题目三:八皇后问题

    不会写,答案都懒得搜了

    二、挑战题

    算了吧,基础题都搞不完还挑战题

    三、预习题

    请举实例解释以下几个概念:数组指针,指针数组,指针函数,函数指针,二级指针,单向链表。(无实例不给分)

    数组指针:指向数组首元素的地址的指针,其本质为指针。例如:int (*p)[4]

    指针数组:如果数组的各个元素都是指针类型,用于存放内存地址,那么这个数组就是指针数组。例如:char*color[5]。

    函数指针:函数指针可以像一般函数一样,用于调用函数、传递参数

    例如

    int func(int x); /* 声明一个函数 */

    void (*f) (int x); /* 声明一个函数指针 */

    f=func; /* 将func函数的首地址赋给指针f */

    答案来源链接:https://baike.sogou.com/v7627909.htm?fromTitle=%E5%87%BD%E6%95%B0%E6%8C%87%E9%92%88

    二级指针:指向指针的指针。例如:int*p=&a;    int**pp=&p;

    单向链表:单向链表是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。 通过指针连接起来,但是只能单向遍历的内存块。

    例如

    struct stu_node
    {
       int data;               /*数据域*/
       struct stu_node *next; //指向下一个结点的指针
    };

    答案来源链接:https://baike.sogou.com/v10718780.htm?fromTitle=%E5%8D%95%E5%90%91%E9%93%BE%E8%A1%A8

    四、学习进度条

    时间

    这周所花时间

    代码行数

    学到的知识简介

    目前比较迷惑的问题

    第一周

    5小时

    80

    初步了解数组

    数组的引用

    第二周

    6小时

    200

    指针的了解

    完全没听懂老师上课在讲什么,继续努力

    第三周

    7小时

    200

    文件与数组的使用

    没看到代码运行后文件的内容发生改变

    第四周

    9小时

    120

    冒泡法,选择排序法

    冒泡法不会

    第五周

    9小时

    120+

    字符型数组

    把代码改成文件格式

    第六周

    4小时

    130左右

    指针

    指针的调用

    第七周

    6小时+

    200

    指针与数组

    指针与数组的连续有点模糊

    第八周

    10小时

    200+

    一些新的函数

    结构那块有点迷

    第九周

    4小时

    120

    自己定义结构变量

    如何灵活的使用结构解决问题

    第十周

    2小时

    0

    第十一周

    6

    60

    递归

    递归不怎么会

    五、累积博客字数及代码行数

     

    六、结对编程感想

     这次作业太难,都写不出,完全不是人多加起来就能写得出来的

    总结:作业难度太大

  • 相关阅读:
    Spring Boot开发Web应用
    使用阿里云Docker镜像加速
    六种微服务架构的设计模式
    HashMap按键排序和按值排序
    Docker搭建本地私有仓库
    Ubuntu 14.04主机上部署k8s集群
    Ubuntu 16.04下搭建kubernetes集群环境
    Docker中images中none的镜像删除
    docker 下 alpine 镜像设置时区的有效办法
    offsetLeft和style.left的区别
  • 原文地址:https://www.cnblogs.com/wangweihanqq2001/p/10845805.html
Copyright © 2020-2023  润新知