zoukankan      html  css  js  c++  java
  • 有关C语言学习的调查

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

    • 我主要是通过教材、网课、还有老师的讲授进行C语言基础语法的学习,当然学会了这些基础语法之后,我还在老师提供的网站上,通过大量做题使自己学到的基础知识加以应用。
    • 对于C语言的学习我认为首先必须掌握大量的理论知识;其次要把理论与实践相结合;最后再加以升华,学会灵活变通,解决各种问题。

    目前为止估算自己写过多少行C代码?理解的情况如何?量变引起质变,如何平衡质和量?

    • 保守估计自己写过的代码应该有15000行。
    • 有些代码自己认为写完了,但是运行结果不对,不知道问题出在哪里,后来就放弃了。还有一些程序较为复杂,参考了一些网上的代码,自己当时认为理解了,但是当再次用到的时候,自己还是无法写出。
    • 在保证一定的量的基础上,尽量做到精益求精。

    学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?((x[4])())[4]这个声明中的x是什么东东?

    • 数组指针:指向数组的指针,是一个指针变量,指针变量中保存的是一个数组的首地址。
    • 指针数组:由若干个基类型相同的指针组成的数组。
    • 函数指针:指向函数的指针,是一个指针变量。
    • 指针函数:返回值是指针的函数。
    • 不太清楚x是什么。

    学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?

    • 我认为文件和流是整体与局部的关系,流操作就是一种“分段操作”的理念。
    • 文本文件中的每一位数字都单独占用一个字节的储存空间;而二进制文件则是把整个数字作为一个二进制数来储存的。
    • "r"、"w"分别用来进行文本文件的只读和只写,"b"与上面的字符串结合,可实现二进制文本的相应操作。

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

    • 面向过程程序设计是一种以过程为中心的编程思想。
    • 它解决问题的方法是自顶向下、逐步求精。

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

    • 将总任务分成若干个子任务,每一个子任务就代表一个模块。
    • 我没有写过多个源文件的程序。

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

    • 高内聚指的是模块内部的联系越紧密越好,内聚性越强越好。低耦合指的是模块之间联系越松散越好。
    • 要将这个原则应用到高质量程序设计中,简单的说就是模块的功能要相对独立和单一;模块对外的接口越简单越好。

    学过了C语言,你如何把握数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。

    • 数组A的内容复制到数组B中
       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>
       #define N 100
       int main()
       {
          char A[N];
          char B[N];
          gets(A);
          strcpy(B,A);
          printf("%s",B);
          return 0;
       }
      
    • 查找整数数组A中有没有数字5
        #include <stdio.h>
        #include <stdlib.h>
        #define N 8
        #define M 5
        int main()
        {
            int A[N]={1,2,3,4,0,6,7,8};
            int flag=0;
            int i;
            for(i=0;(i<=N-1)&&(flag==0);i++)
            {
                if(A[i]==M)
               {
                  flag=1;
               }
               printf("%d
      ",A[i]);
            }
           if(flag)
           {
               printf("exist
      ");
           }
           else
           {
                printf("no exist
      ");
           }
          return 0;
        }
      

    • 对整数数组A进行排序(从小到大,从大到小)
        #include <stdio.h>
        #include <stdlib.h>
        #define N 8
        int main()
        {
           int A[N]={2,7,4,9,5,1,0,6};
           int t;
           int i,j,k;
           for(i=0;i<N-1;i++)
           {
              k=i;
              for(j=i+1;j<N;j++)
              {
                  if(A[j]>A[k])//从大到小排列
                  //if(A[j]>A[k]) 从小到大排列
                {
                    k=j;
                }
              }
              if(i!=k)
              {
                  t=A[k];
                  A[k]=A[i];
                  A[i]=t;
              }
           }
           for(i=0;i<N;i++)
          {
              printf("%d ",A[i]);
          }
        }
      

    写一个程序,统计自己C语言共写了多少代码。

    不知道该从何下手

    你知道什么是断点吗?给出自己调试程序的例子。

    断点是调试器的功能之一,可以让程序中断在需要检测的地方。
    breakpoint

  • 相关阅读:
    ApkAnalyser 一键提取安卓应用中可能存在的敏感信息(URLhash等)
    PostgreSQL创建只读权限的用户
    记一次 Centos7 Postgresql v11 数据库备份、还原
    Linux下安装pgadmin,并外部访问
    CentOS7中安装PostgreSQL客户端
    java.io.FileNotFoundException: Too many open files
    centos批量删除文件
    Centos7下Redis缓存清理_FZlion
    解决启动Apache遇到的问题Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:8888
    CentOS 卸载软件
  • 原文地址:https://www.cnblogs.com/xiannvyeye/p/10341799.html
Copyright © 2011-2022 走看看