有关C语言学习的调查

时间:2022-08-25 13:13:04

有关C语言学习的调查

1.Q:你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?

A:之间在暑假的之后自己有买了一本C PRIME PLUS 来看基本了学习了一点,之后上课,课后完成老师布置的作业。

本来想要自己去做一点OJ来巩固自己的水平,然而基本的语法都还没学会,就打算这个寒假开始这个计划了。与以前学习相比,C语言的学习基本按照了我之前的方法。

2.Q:目前为止估算自己写过多少行C代码?理解的情况如何?

A:大概的估算一下,大概2000行左右,理解的话基本的语法是没有问题的,还有一些基本的算法例如冒泡法也能熟练的应用,比较欠缺的应该是指针这一块内容,确实比较难以理解。

3 Q:学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?

A:指针数组:由指针组成的数组

数组指针:数组的地址

指针函数:带指针的函数

函数指针:指向函数的指针

4.Q:学过了C语言,你明白文件和流的区别和联系吗?

A:文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。

流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。

5.Q:如何区分文本文件和二进制文件?如何编程操作这两种文件?

A:文本文件是由ASCII编码,而二进制文件是由二进制编码

文本文件需要转换为二进制文件保存。

6.Q: 学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?

分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

7.Q:在C语言里面,什么是模块?你写过多个源文件的程序吗?

模块编程指的就是用函数实现各个功能,然后在主函数中调用各个功能模块(函数),这样在维护或升级程序时就可以只关注某个模块。

没有。

8.Q:学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?

A:内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;

耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

看百度都看的我一脸懵逼。。。。。

9.Q:你知道什么是断点吗?给出自己调试程序的例子。(可以截图贴图说明)

调试程序时用的,当程序运行了设定断点的行,就会暂停这时可以查看变量的值,接下去可以继续执行,单步执行,跳转什么的.一般用于检查程序有没有错

没用过断点。。。。

10.C语言程序

https://github.com/Travaill/homework1

1.把数组A的内容复制到数组B中

#include<stdio.h>
    double a[1000000];
    double b[1000000];
int main()
{
    int n,i,j;
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
        scanf("%lf",&b[i]);
    }
    for(j=0;j<n;j++)
    {
        b[j]=a[j];
    }

}

2.查找整数数组A中有没有数字5

#include<stdio.h>

int main()
{
    int a[10000];
    int n,m=0;
    int i,j;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
        for(j=0;j<n;j++)
    {
        if (a[j]==5)
        m=m+1;
    }
    if(m==0) printf("NO");
    if(m>0) printf("YES %d",m);
}

3.对整数数组A进行排序(从小到大)

#include<stdio.h>
int main()
{
    int n,temp;
    int i,j;
    int a[10000];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if (a[i]>a[j])
            {
                temp=a[j];
                a[j]=a[i];
                a[i]=temp;
            }
        }
    }
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
}

4.对整数数组A进行排序(从大到小)

#include<stdio.h>
int main()
{
    int n,temp;
    int i,j;
    int a[10000];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if (a[i]<a[j])
            {
                temp=a[j];
                a[j]=a[i];
                a[i]=temp;
            }
        }
    }
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
}

10.统计代码行数

这块内容对我来说是一块全新的内容,所以我想把这块内容的学习当做自己的第一篇学习类的博客来写。博客地址:http://www.cnblogs.com/linshen/p/6286921.html

11.Q:对比C语言的学习,你对《面向对象程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?

A:学习完了C语言看到自己可能思考问题还不够全面,对于实现问题的算法可能还不是最简洁的算法,所以我学习《面对对象和程序设计》时不能满足于解决问题,要思考用最简洁最便捷的方法来解决问题。同时要提高自己的代码量, 比起做更要重视思考。在写代码解决问题的过程中,遇到一块自己没有学过的内容,应该停下来,通过百度书本等方法,全面的学习这块内容,在博客上记录并发布,自己学习的过程与心得。

12.Q: 毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?

A:我认为自己的写作能力还有待提高,并不是说自己不会写,而是自己知识储备的不够,所以提高自己的知识储备才是提高自己写作能力的良策,在平时也可以写写博客来提高。