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

心得體會

  • 驅動迭代java

    學習是一個老師與學生互動的過程,兩者關係又恰如健身教練與學員,在進行基礎知識的培訓後還需藉助工具增強相關方面的訓練。學習提高的過程離不開學生在實踐中發現問題並在老師的幫助下解決問題這一環節。及時反饋是學習的有效驅動力,對技能的學習便在此迭代之下提高。數據庫

  • 由小及大編程

技能是分層次的。實踐要具有必定的量才能引發質變。技能的提高要刻意訓練數組

-- 引用自《作中學》網絡

掌握一個技能或開發新領域,是一個按部就班的過程。急不得,但也須要咱們在起初有個期許,有個目標。而後即是進行這一階段的練習,勤能補拙,相信在不斷的有效練習後,熟能生巧。那麼問題即是如何保證目標的合理制定以及有效執行。我想,由小及大這個詞詮釋得正好,這顯示出了量化目標以及鍥而不捨的重要性。不積跬步無以致千里,所持態度與目標的量化關係到是否能持續執行,而執行的有效性最重要的是毅力,不是一次性的大量付出,二是不斷地付出。框架


技能與學習

  • 關於技能
    年輕,卻是接觸了很多技能,像主持、舞蹈、鋼琴、小記者、籃球、游泳。。。要說超過90%以上,大概是舞蹈吧。13年的堅持,不只收穫必定演出經驗及獎項(其中包含全國一等獎),更重要的是,在這個過程當中,自身身體素質的提高以及藝術情商的培養。而在這方面,最重要的是不斷地練習,以及能忍受練習時肌肉拉伸的疼痛感。數據庫設計

  • 同窗習關係
  • 事物皆相通,舞蹈是肌肉記憶與毅力的基礎之上同音樂相融合的表達,剛接觸舞蹈時,首要的即是練習基本功,基本功是舞蹈的基礎更是保證,以致於在之後的舞蹈練習中也將基本功視爲第一要務。而後即是學習與模仿動做,接着將所學片斷連起來便構成了一支舞的完整動做,隨着音樂的引入,動做與音樂的不斷磨合到最後相融便能算是一支完整的舞了,若能在此基礎上結合本身的情感再加練習,最終用天然的肢體表達去展示舞蹈的靈魂與情感,如此爲佳。
    • 我想這與老師博客中的學習經驗是大抵相通的。對所學之事有所期許,而後即是對其量化然後進行基礎訓練,在不斷地練習與反饋的迭代中增強對此技能的掌握並不斷提高。

C語言的學習

  • 你是怎麼學習C語言的?(做業,實驗,教材,其餘),與你的高超技能相比,C語言的學習有什麼經驗和教訓?
    • 我是經過教材、實驗、視頻、做業來進行C語言的學習的。
    • 和以前所學技能相比,在C語言的練習環節相對薄弱。
  • 目前爲止估算本身寫過多少行C代碼?理解的狀況如何?量變引發質變,如何平衡質和量?分佈式

    大概是3000-5000吧。能理解70%~90%吧。質和量實際上是相輔相成的,當量積累到必定程度以後便行成了質,而在達到質以後,又能再進行新一輪的量的累積,如此循環往復以至無窮。
  • 學過了C語言,你分的清數組指針,指針數組;函數指針,指針函數這些概念嗎?
    • 數組指針即指向一維數組的指針,* (a+i)即a[i]。
    • 指針數組即元素均爲指針類型數據的數組。即* P[N]。
    • 函數指針是指向函數的指針。
    • 指針函數是一個返回值爲地址值的函數,且返回值必須用同類型的指針變量來接受。
  • 學過了C語言,你明白文件和流的區別和聯繫嗎?如何區分文本文件和二進制文件?如何編程操做這兩種文件?
    • 文件是計算機管理數據的基本單位,是各類存儲介質中永久存儲的數據的有序集合,是數據讀寫操做的基本對象。
    • 流是字節序列的抽象概念,提供一種向後備存儲器寫入字節和從後備存儲器讀取字節的方式。
    • 文本文件中數值型數據的每個數字是做爲一個字符以ASCII碼的形式存儲的,即每一位數字都單獨佔用一個字節的存儲空間。二進制文件則是把整個數字做爲一個二進制數來存儲的,並不是每一位數字都佔用單獨的存儲空間。
  • 參考了一下教材,打開文件使用函數fopen()進行,而函數fgetc()用於從一個以只讀或讀寫方式打開的文件上讀字符。函數

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

    應該是以過程爲導向來進行程序設計。將一個任務分紅幾個版塊按必定順序用函數進行編程,而後在須要的時候再調用。

  • 在C語言裏面,什麼是模塊?你寫過多個源文件的程序嗎?
    - 按定義是:可由彙編程序、編譯程序、裝入程序或翻譯程序做爲一個總體來處理的一級獨立的、可識別的程序指令。
    - 目前還沒寫過多個源文件的程序。

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

    「高內聚」是指各模塊功能相對獨立,各自執行一項明確的任務。「低耦合」是指模塊之間相互影響較小,適時可進行調用。

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

#define N 20

int main()

{
    int a[N],b[N];

    int i,n;

    printf("請輸入a數組值\n");

    for(i=0;i<n;i++)

    {

        scanf("%d",&a[i]);

        b[i]=a[i];

        printf("%d ",b[i]);

    }

return 0;

}
  • 查找數組A中是否有數字5
#include <stdio.h>
int main()
{
    int a[5];
    int i,m=0;
    printf("請輸入a數組中的值\n");
    for(i=0;i<=4;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==5)
        {
            m=1;break;
        }
    }
    if(m==1)
    {
        printf("數組a中有數值爲5的數");
    }
    else
    {
        printf("數組a中無數值爲5的數");
    }
    return 0;
}
  • 對整數數組A進行排序(從小到大,從大到小)
    • 從小到大
#include <stdio.h>
#define N 30
int shengxu(int a[],int n);
int main()
{
    int a[N],n,i;
    printf("n的值爲:");
    scanf("%d",&n);
    printf("請輸入數組a中的值");
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    shengxu(a,n);
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
}
void shengxu(int a[],int n)
{
    int i,j,t;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]>a[j])
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
    }
}
  • 從大到小
#include <stdio.h>
#define N 30
int jiangxu(int a[],int n);
int main()
{
    int a[N],n,i;
    printf("n的值爲:");
    scanf("%d",&n);
    printf("請輸入數組a中的值");
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    jiangxu(a,n);
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
}
Void jiangxu(int a[],int n)
{
    int i,j,t;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]<a[j])
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
    }
}
  • 寫一個程序,統計本身C語言共寫了多少行代碼。
include <stdio.h>
int main()
{
    int t=1;

int c;
    while((c=getchar())!=EOF)
     {
       if(c==’\n') t++;
    }
    printf("%d\n",t);
    return 0;
}
  • 你知道什麼是斷點嗎?給出本身調試程序的例子。

下面是進行調試的例子


Java

  • 章節提問
    一、如何使用Java虛擬機的解釋器。
    二、C語言中不少和Java格式相同,卻有不少細節不一樣,如何實現從C到Java的過渡。
    三、instanceof 運算符的使用條件和規則不是太懂。
    四、方法類型前面不加關鍵字static的是實例方法、關鍵字static的是類方法。這兩種方法的運用與實例不是太明白。
    五、經過重寫隱藏已繼承的實例方法的同時,須要使用super關鍵字操做被隱藏的成員變量,那麼在什麼狀況下隱藏、又在什麼狀況之下調用成員變量和方法呢,隱藏是否有必要。
    六、接口回調與元件例化、函數調用的區別是什麼。
    七、在Java中出現異常時,應使用try~catch語句,但try部分和catch部分在具體實例中是如何進行編寫的。
    八、用format方法進行數字格式化,可是爲何要格式化呢。
    九、Java處理事件的模式中事件源、監視器、處理事件的接口部分感受有些抽象。
    十、使用對象流寫入或讀入對象時,要保證對象是序列化的。若是不是序列化,會出現什麼狀況。
    十一、清楚了用戶的需求以後,就須要進行數據庫設計,而設計過程當中第四部是視圖,如何使用程序來提供視圖。
    十二、線程同步是指幾個線程都須要調用同一個同步方法(用synchronized修飾的方法)。那麼請問如何使用wait()方法和notifyAll()方法。
    1三、RMI是一種分佈式技術,使用RMI可讓一個虛擬機(JVM)上的應用程序請求調用位於網絡上另外一處的JVM上的對象方法RMI是一種分佈式技術。遠程只能使用RMI嗎。
    1四、如何使用Graphics類或其子類Grapgics2D類繪製各類基本圖形圖像。
    1五、請問HashMap對象爲散列映射,TreeSet類建立的對象稱做樹集,這兩種的集合框架使用範圍和條件是什麼。

  • 對比C語言的學習,在以後《Java程序設計》的學習中我但願能掌握並能熟練運用Java。
    • 首先是打好基礎,書中知識點應及時整理消化。接着即是勤練,針對一個任務,能夠要求本身在必定時間範圍以內進行編寫以提升速度,而後再經過不斷調試提升編寫的正確率。
    • 「作中學」中所提到的目標量化十分重要,將目標細分後一步步腳踏實地練習。隨時注意及時反饋,如此迭代之下能有效提升對技能的掌握程度。
相關文章
相關標籤/搜索