20165301 預備做業二:學習基礎和C語言基礎調查

《作中學》讀後感及C語言學習調查

《作中學》有感

婁老師在文章中屢次提到「作中學(Learning By Doing)」的概念,並經過婁老師本身的減肥經歷五筆練習經歷乒乓球練習經歷背英文單詞的經歷爲讀者更加詳細地闡明瞭「作中學(Learning By Doing)」的重要性。html

在實踐中發現問題,解決問題,在實踐中提升,在實踐中迭代,技能才能不斷提升。java

-- 引用自《作中學之乒乓球刻意訓練一年總結編程

在我看來「作中學(Learning By Doing)」是指在學習過程當中要注重實踐,要多動手,想法不要只停留在腦中或口中。數組

我是一個特別喜歡打籃球的人。從初一便開始接觸了這門運動。如今的水平在業餘水準裏還算能夠。之因此能取得進步,我以爲與如下幾點密不可分。函數

  • 無比的熱愛
    • 由於充滿對籃球的熱愛,才使我對籃球的學習與練習充滿動力。這是成功的第一步。
  • 頻繁的練習
    • 上學時天天中午與放學後都要和同窗約一場球,週末和放假的時候更是如此。
  • 名師的指點
    • 我有幸遇到了高中的籃球教練胡老師與大學的籃球教練王老師和張老師。由於有專業人士的指點,我才能更順利地不斷超越自我。

總結後發現與婁老師提出的「作中學(Learning By Doing)」的理念是有一些共通之處的。在婁老師的《優秀的教學方法---作教練與作中學》一文中提出實踐要具有必定的量才能引發質變調過程序的都知道,若是知道哪錯了,改起來是很容易的,定位錯誤在很難,這就是老師(教練)的價值。這兩點與個人認識相同,都強調了不斷練習導師指點的重要性。學習

除此以外,婁老師還提出了學習是要思考的,僅僅實踐是不夠的技能是分層次的這兩個觀點。這是我以前沒有認識到的,讀後受益良多。spa

C語言學習調查

你是怎麼學習C語言的?(做業,實驗,教材,其餘),與你的高超技能相比,C語言的學習有什麼經驗和教訓?線程

  • 我c語言大部分的知識來源於教材與課後做業。經過讀教材來初步瞭解c語言的基本內容,經過課後題庫的反覆練習來學習寫程序。c語言的學習讓明白了反覆練習的重要性,也讓我懂得了不要一味的刷簡單題,要不斷提高難度,高效率地學習。設計

    目前爲止估算本身寫過多少行C代碼?理解的狀況如何?量變引發質變,如何平衡質和量?指針

  • 我達到了c語言平時做業的最低要求,應該有4000行左右。可是絕大部分是簡單代碼,對於更深的內容理解還有不少不足。
  • 必定是要有充足的「量」才能產生質變。可是「量」是要不斷提高水準的,而不是一味的追求數量。

    學過了C語言,你分的清數組指針,指針數組;函數指針,指針函數這些概念嗎?

  • 數組指針是一個指針變量,用來指向二維數組;指針數組是一個數組,裏面存放了多個指針變量。
  • 指針函數是帶指針的函數,返回值是指針;函數指針是指指向函數的指針變量,函數指針指向函數的入口地址。

    學過了C語言,你明白文件和流的區別和聯繫嗎?如何區分文本文件和二進制文件?如何編程操做這兩種文件?

  • 不明白。

    學過了C語言,你知道什麼叫面向過程程序設計嗎?它解決問題的方法是什麼?

  • 不知道...

    在C語言裏面,什麼是模塊?你寫過多個源文件的程序嗎?

  • 依照功能,將一個程序拆分紅多個部分,分步完成後再整合到主程序中。

    學過了C語言,你知道什麼是「高內聚,低耦合」嗎?這個原則如何應用到高質量程序設計中?

  • 不清楚

    學過了C語言,你如何把數組A的內容複製到數組B中?如何查找整數數組A中有沒有數字5?如何對整數數組A進行排序(從小到大,從大到小)?寫出相應的程序。

  • 把數組A的內容複製到數組B

#include <stdio.h>
#define N 50
main()
{
    char a[N],b[N];
    int i,n;
    printf("Input A:\n");
    gets(a);
    for(i=0;a[i]=='0';i++)
    {
        n=1;
    }
    for(i=0;i<=n;i++)
    {
        b[i]=a[i];
    }
    printf("B=");
    gets(b);
}
  • 查找數組a中有沒有5
#include <stdio.h>
#define N 50
main()
{
    int a[N]={0,1,2,3,4,5,6,7,8,9},i;
    for(i=0;i<=N-1;i++)
        if(a[i]==5)
        printf("數組中有5");
}
  • 對整數數組A進行排序

從小到大

#include <stdio.h>
main()
{
    int a[10];
    int i,j,t;
    printf("Input 10 numbers:\n");
    for(j=0; j<10; j++)
        scanf("%d",&a[j]);
    printf("\n");
    for(i=0; i<9; i++)
        for(j=0; j<9-i; j++)
            if(a[j]>a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
    for(j=0; j<10; j++)
        printf("%d\n",a[j]);
    printf("\n");
}

從大到小

#include <stdio.h>
main()
{
    int a[10];
    int i,j,t;
    printf("Input 10 numbers:\n");
    for(j=0; j<10; j++)
        scanf("%d",&a[j]);
    printf("\n");
    for(i=0; i<9; i++)
        for(j=0; j<9-i; j++)
            if(a[j]<a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
    for(j=0; j<10; j++)
        printf("%d\n",a[j]);
    printf("\n");
}

寫一個程序,統計本身C語言共寫了多少行代碼。

  • 沒有思路。

    你知道什麼是斷點嗎?給出本身調試程序的例子。

  • 斷點是在程序進行過程當中,計算機中斷該程序而去執行其餘程序。
  • 在編程中設置斷點,運行到斷點時自動中止編譯,能夠用來檢查程序,很方便。

    參考怎樣快速閱讀一本書,快速閱讀一下雲班課中有PPT,每章提出一個問題

  • 第一章:爲何JRE的安裝路徑不能和JDK的安裝路徑相同?
  • 第二章:關於int型常量賦值給byte型變量時,精度缺失的問題。
  • 第三章:switch語句不寫default,執行程序時會怎樣?
  • 第四章:成員變量的默認值是多少?
  • 第五章:不理解抽象類
  • 第六章:接口爲何不能含有變量?
  • 第七章:內部類中聲明的類能編譯出字節碼文件嗎?
  • 第八章:爲何能夠把String常量的引用賦值給一個String對象?
  • 第九章:JFrame如何構造
  • 第十章:若是不關閉輸入流或輸出流會怎樣?
  • 第十一章:next()方法移動到最後一行的最後位置是直接返回false嗎?
  • 第十二章:線程消亡指什麼?
  • 第十三章:URL類的構造方法
  • 第十四章:矩形形狀的組件其默認值爲(0,0),是人爲規定仍是系統默認?
  • 第十五章:聲明泛型類的好處在哪裏?

    對比C語言的學習,你對《Java程序設計》的學習有什麼具體目標?如何經過刻意訓練提升程序設計能力和培養計算思惟?如何經過「作中學」實現你的目標?

  • 經過c語言的學習經驗取長補短,在之後的java學習中要多寫代碼,多動手,多注重平時。
  • 提升程序設計能力首先要多寫程序,寫多了也就熟悉了,有些程序就能夠隨手就來。對於更深的內容,要反覆理解,只有理解了,才能正確運用。計算機思惟就是在不斷地實踐和理解中潛移默化造成的。
  • 作中學所說,要反覆「刻意訓練」,要多向教練(老師)請教問題,要有更高的目標,量變產生質變。說白了,對我來講就是多寫代碼

相關文章
相關標籤/搜索