zoukankan      html  css  js  c++  java
  • 技能收获与C语言学习

    • 你有什么技能比大多人(超过90%以上)更好?

      • 我会的东西很多,喜欢的东西太多,但是很遗憾广而不专,会而不精。学了很多东西我都是为了娱乐,因为以前我们那里过于强调学习,很多爱好也都被扼杀在摇篮里。我觉得唯一可说的就是学习吧。
      • 中考考得差,虽然进了好学校但没进竞赛班,成绩还凑合,后来高二上再次分班分过了线但因为某些原因又在普通班,心里很不平衡,于是我下定决心要考到新开竞赛班的前十名,于是我制定了详细的学习,在高二的几次考试中几乎每次排名都能在竞赛班排前十,甚至前三,有的单科是全校第一。所以高二的时候我获得了参加中科大创新班的选拔的资格。
    • 针对这个技能的获取你有什么成功的经验?

      • 首先,我觉得最重要的是科学的学习计划。针对每一门课要怎么学,如何提高效率,并且计划在每一天都保证能得到落实是最重要的。
      • 其次,要注意保护自己身体。我当时每天坚持慢跑1km,因为慢跑是有氧运动,能让我感觉到放松,再加上跑步时听着音乐就很舒服。一直坚持慢跑几乎每天不停,高考那两天我都是每天晚上慢跑,知道来到北京每天不是雾霾就是大风才中断。体育锻炼不仅仅带来的是健康的身体,还有愉悦的心情,甚至还有更多意想不到的收获,这一点我和娄老师感同身受。
      • 接着,我觉得学习别人的经验,结合实际对计划在实行过程中进行改进。
      • 然后还有,在计划长期的进行中容易遇到瓶颈期,一般是人进入comfortable zone的时候,这时候容易遇到很多挫折,这就需要思考方法去突破瓶颈期。
      • 最后,我觉得要保持向前的热情,勇敢前行。
    • 与老师博客中的学习经验有什么共通之处?

      • 学习光靠低水平的重复是没用的,有些思维定式需要[刻意训练]。
      • 要摆脱[舒适区],进入[学习区]学习,只有经历痛苦才能取得进步。
      • 发现问题要找到根源,而不能搪塞过去,否则下次遇到问题又可能不知道怎么解决。

    • 有关C语言学习的调查

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

        • c语言学习主要是跟着老师学,然后下课看教材、网上的视频,做实验,学习优秀代码,实践主要以练习平台为主,但是现在想想那个平台的题普遍太简单了,我一直局限在那个学习平台,让我一直在[舒适区],而没有进入[学习区]。
      • 目前为止估算自己写过多少行C代码?理解的情况如何?

        • 代码行数肯定超过了5000行吧,写过的程序我都会弄懂。
      • 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?

        • 我的理解是:
        • 数组指针:指向数组的指针。
        • 指针数组:包含指针的数组。
        • 函数指针:指向函数的指针。
        • 指针函数:函数返回类型是指针的函数。
      • 学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?

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

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

        • 文本文件和二进制文件无本质的差别,二进制文件中有对文件信息和解释方式,而文本文件中没有。

        • 文本文件中,fopen、fclose函数用于文件打开与关闭,fscanf、fgets函数用于文件读取,fprintf、fputs函数用于文件写入。二进制文件读写的顺序是用fopen以二进制方式打开读写文件,然后使用fread和fwrite两个函数将数据写入二进制文件中。

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

        • 以过程为中心的编程。首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,最后使用的时候一个一个依次调用。
      • 在C语言里面,什么是模块?你写过多个源文件的程序吗?

        • 按照功能将一个软件切分成许多部分单独开发,每个部分即为模块。没有写过。
      • 学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?

        • 模块内代码相关性强,模块间相关性弱。将功能模块化,提炼可重复使用的代码。
      • 学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。

    数组A的内容复制到数组B中

    #include<stdio.h>
    #include<string.h>
    #define N 100
    int main()
    {
        char string_a[N];
        char string_b[N]="saldfjlaskdfj";
        memcpy(string_b,string_a,strlen(string_b);
        printf("%s
    ",string_a);
        return 0;
    }
    

    如何查找整数数组A中有没有数字5

    int n,i,flag=0;
    n=strlen(string);
    for(i=0;i<n;i++)
    {
        if(5==string[i])
        {
            printf("yes");
            flag=1;
            break;
        }
        else
        {
            continue;
        }
    }
    if(0==flag)
    {
        printf("no");
    }
    

    如何对整数数组A进行排序(从小到大,从大到小)?

    for ( i=0; i<=8; i++ ) 
    {
        k=i;
        for( j=k+1; j<10; j++ )
    	if ( a[k]>a[j] ) // if ( a[k]<a[j] )
    	{
    	    k=j;
    	}
        temp=a[i];  a[i]=a[k];  a[k]=temp;
    }
    for ( i=0; i<10; i++ )  
    {
        printf("%4d",a[i]);
    }
    
    

    写一个程序,统计自己C语言共写了多少行代码。(待解决:去掉空行和注释行。完成搜索)

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define N 1000
    
    int main()
    {
        FILE *search=NULL;
        char ch;
        int n=0;
        system("dir /a-d /b d:\*.c/s >list.txt");
        if((search=fopen("list.txt","r"))==NULL)
        {
            printf("未找到.c文件");
            exit(0);
        }
        char path[N][N];
        int i=0,j=0;
        while((ch=fgetc(search))!=EOF)
        {
            if(ch=='
    ')
            {
                n++;
                path[i][j]='';
                puts(path[i]);
                i++;
                j=0;
            }
            else
            {
                path[i][j]=ch;
                j++;
            }
        }
        fclose(search);
    
        int sum=0;
        FILE *fp=NULL;
        for(i=0;i<n;i++)
        {
            if((fp=fopen(path[i],"r"))==NULL)
            {
                printf("第%d个路径:%s",i,path[i]);
                printf("错误
    ");
                continue;
            }
            while((ch=fgetc(fp))!=EOF)
            {
                if(ch=='
    ')
                {
                    sum++;
                }
                continue;
            }
            fclose(fp);
        }
        printf("代码共%d行",sum);
        return 0;
    }
    
    
    • 你知道什么是断点吗?给出自己调试程序的例子。
      • 断点就是人为在代码中设定的使得程序中断的地方,使得程序运行到暂停。测试者可以让程序一步一步运行,观察程序是否出错,以找到程序错误的地方。
    • 对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?

      • 我想能够更多的用java写一些有用的程序,而不是把实践局限在作业和实验。
      • 强制自己多写代码,寻找方法理清思路。
      • 多实践,多思考,更重要的是让自己爱上编程。
    • 毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?

      • 我觉得自己写作能力一般吧。我从小只愿意读不愿意写,现在看来如果只读不写,读的内容也不会记住,写作也得不到提升。我觉得提高写作能力,重要的是多读多写,还需要找“教练”给予指导。
  • 相关阅读:
    jQuery+Ajax滚屏异步加载数据实现(附源码)
    EasyUI管理后台模板(附源码)
    jQuery带遮罩层弹窗实现(附源码)
    jQuery相册预览简单实现(附源码)
    node.js应用脚手架:koa2、sequelize、mysql
    React demo:express、react-redux、react-router、react-roter-redux、redux-thunk(二)
    React demo:express、react-redux、react-router、react-roter-redux、redux-thunk(一)
    过了一年,再来回顾一下去年到现在,这一年多,作为初级前端小白的坎坷成长历程
    作为一名初级前端小白,写在年初的一些话
    关于jQuery中,animate、slide、fade等动画的连续触发、滞后反复执行的bug的个人解决办法
  • 原文地址:https://www.cnblogs.com/dky20155212/p/6195873.html
Copyright © 2011-2022 走看看