20165233 學習基礎和C語言基礎調查

學習基礎與《作中學》閱讀心得

讀《作中學》有感

婁老師經過在學習工做中總結出的「作中學」的方式,將其運用到減肥、五筆訓練、乒乓球訓練以及英文單詞背誦的過程當中去。其中令我最有感觸、記憶最深入的一句話是:html

實踐要具有必定的量才能引發質變編程

--引用自《作中學數組

你有什麼技能比大多人(超過90%以上)更好?多線程

我在學習鋼琴和街舞方面都有深入的體會。函數

  • 我學習鋼琴已有8年的時間,因爲當時準備中考,學業繁重便放棄了鋼琴考級與業餘課程。可是我對心中持有一份熱愛,在高中以及大學假期的閒暇時間都會本身尋找喜好的曲目進行練習,以保持對於鍵盤與五線譜的熟悉程度。
  • 我開始學習街舞也只有1年的時間。中學由於中高考的壓力,有心卻無力。大學開始加入街舞社,正式開始學習街舞。起初本身的身體很僵硬,動做難看生硬,也是由於熱愛讓我在假期報班學習,夏天練到衣服溼透,但也在大二的表演中有了更大的進步,也贏得了更熱烈的喝彩。佈局

    針對這個技能的獲取你有什麼成功的經驗?學習

成功的經驗我總結爲3點:spa

  • 熱愛的心
  • 反覆練習,可是要具備科學性,不能影響身體健康
  • 在過程當中思考能夠提高本身這方面實力的方法

與老師博客中的學習經驗有什麼共通之處?線程

老師在博客中也是認爲須要大量反覆的練習,實踐要有必定的量,才能引發質變,在造成新質的基礎上,又能造成新的量變,如此循環往復。另外一個共通之處是: 學習是要思考的,僅僅實踐是不夠的。設計

有關C語言學習的調查

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

  • 我經過學習課本上的知識點來掌握理論知識,並先理解書上所舉的例題,並讀懂主要代碼的做用,並記錄本身不懂的知識點。再將答案蓋住,本身在cb上寫出程序並運行,若是出錯,就對照書上答案進行修改。除了課本,還會在題庫中進行習題的訓練。
  • C語言學習經驗:要進行大量的習題練習,並要理解程序的做用。
  • 教訓:因爲基礎知識薄弱,只練習了容易以及中等的題型,沒有進一步進行提升。即便觀看了微課也有點難懂某些知識點,仍須要多向同窗老師進行詢問。

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

  • 本身寫了4000行代碼左右(在第一篇博客中我也有提到本身基礎薄弱,僅完成了基本的學習任務)
  • 量變首先是要有質量的,一味的簡單題進行大量訓練也只會增長本身對於這部分簡單題的熟練程度,難以引發真正的質變。質變的基礎,是須要有難度層次變化的造成的。因此,應經過有質量的量變引發質變,從而進行良性循環。

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

  • 數組指針是指一個指向某一特定數組的指針;指針數組是指一個數組裏全部變量都由指針構成。
  • 函數指針是指一個指向函數的指針變量;指針函數是一個函數,其返回值是一個指針。

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

不明白。

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

  • 面向過程程序設計是一種以過程爲中心的思想。分析出解決問題所須要的步驟,用函數一一實現。
  • 解決問題的方法是「從上到下」。

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

  • 模塊就是把每實現每個功能的一段程序分步編寫出來,這樣的每個部分就叫模塊。
  • 沒有。

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

  • 不知道。通過查找資料瞭解到,高內聚是指模塊內各個程序段之間聯繫緊密,低耦合是指模塊間獨立存在,完成各自功能,模塊之間的接口儘可能少,關係簡單。
  • 我認爲一個高質量的程序應該是模塊內部之間聯繫緊密,利於程序的高效性;模塊之間應減小聯繫,不然會影響程序的可維護性,難以修改。

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

  • 把數組A的內容複製到數組B
#include <stdio.h>
int main()
{
    int a[10]={1,2,3,4,5,6,7,8,9,10};
    int b[10];
    int i;
    for(i=0;i<10;i++)
        b[i]=a[i];
    return 0;
}
  • 查找整數數組A中是否有5
#include <stdio.h>
#define N 10

int main()
{
    int n=5,i;
    int a[N]={10,8,56,45,31,49,47,50,89,100};
    for(i=0;i<N;i++)
    {
        if(a[i]==n)
        {
            printf("數組中存在5。\n");
            break;
        }
    }
    if(i>=N)
        printf("數組中不存在5。\n");
    return 0;
}
  • 對整數數組A進行排序

從小到大

#include <stdio.h>
#define N 10

int main()
{
    int a[N],i,j,temp;
    printf("輸入10個整數:\n");
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    for(j=0;j<N-1;j++)
        for(i=0;i<N-1-j;i++)
           if(a[i]>a[i+1])
            {
                temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
            }
     printf("排序後的結果爲:\n");
     for(i=0;i<N;i++)
        printf("%5d",a[i]);
     printf("\n");
}

從大到小

#include <stdio.h>
#define N 10

int main()
{
    int a[N],i,j,temp;
    printf("輸入10個整數:\n");
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    for(i=0;i<N-1;i++)
        for(j=i+1;j<N;j++)
           if(a[i]<a[j])
            {
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
     printf("排序後的結果爲:\n");
     for(i=0;i<N;i++)
        printf("%5d",a[i]);
     printf("\n");
}

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

  • 以上面數組排序的程序爲例,大概30行左右。

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

  • 斷點是指在調試程序時,程序運行到你設置斷點的該行代碼自動中止的地方。
  • 在調試程序時,斷點能夠深刻代碼,查找代碼內部缺陷,提升了編程的效率。

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

一、Java源文件中爲什會有不一樣的類?怎麼區分?
二、數組的引用是什麼?
三、for語句在Java中所具備的不一樣於C語言中的用法有什麼?
四、實例方法和類方法的區別是什麼?
五、子類與對象之間的關係是什麼?
六、接口如何理解以及面向藉口編程的思路是什麼?
七、異常類如何使用?
八、String類與StringBuffer類的區別與聯繫?
九、經常使用佈局所適用的狀況對應是什麼?
十、不一樣的子類所對應的輸入、輸出流的類別是什麼?
十一、如何使用預處理語句?
十二、如何建立多線程?
1三、套接字與對象如何進行鏈接?
1四、繪製基本圖形應該注意什麼?
1五、如何對泛型和集合進行使用?

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

  • 本身在C語言學習中體悟到的經驗和教訓,使我對Java的學習設立的目標是:課後當即進行復習和對應知識點的訓練,注重平時的點滴積累。
  • 首先要徹底掌握一些典型的例題,並弄明白這些最基本的程序,並進行練習,當這些基礎熟悉以後,再訓練難度較大的題目,對於本身不會的部分及時詢問老師同窗進行解決,盡力理解難點。
  • 一是要理解本身學習的這些內容的原理,弄懂本質;二是要根據本身的實力,立下一個適合本身的奮鬥目標;三是要進行足夠量的練習;四是要刻意訓練,這是一個由難到易的過程,要摒棄無用的反覆練習;五是要及時改正老師提出的本身的問題和錯誤。
相關文章
相關標籤/搜索