C語言程式設計上機實踐心得報告

2021-03-03 21:44:27 字數 5047 閱讀 5666

班級:11電信2

姓名:莫金波

學號:110703224

2012.12.28

我們專業的學生在專業老師的帶領下進行了c語言設計基礎教程的實踐學習。在這之前,我們已經對c語言這門課程學習了差不多乙個學期,對其有了一定的了解,但是也僅僅是停留在了解的範圍,對裡面的好多東西還是很陌生的,在運用起來的時候還是感到很棘手,畢竟,萬事開頭難嘛。由於時間的關係,我們的這次實踐課程老師並沒有給我們詳細的介紹,只是給我們簡單的介紹了幾個比較重要的實際操作。

對於程式語言的學習目的,可以概括為學習語法規定、掌握程式設計方法、提高程式開發能力,這些都必須通過充分的實際上機操作才能完成。

學習c程式語言除了課堂講授以外,必須保證有一定的上機時間。因為學時所限,課程不能安排過多的統一上機實驗,所以我們學生都很有效地利用課程上機實驗的機會,盡快掌握用c語言開發程式的能力,為今後的繼續學習打下乙個良好的基礎。為此,我們結合課堂講授的內容和進度,安排了多周的上機實驗。

試驗一:簡單的c語言程式

操作體會:運算子的種類可以分為算術運算子、關係運算子和邏輯運算子。/(整除) 對int型、float型和double型變數都適用%(取餘數) 運算子只適用開int型運算,不允許對浮點數)float或double)操作,對浮點型數進行操作會引起編繹錯誤。

還有注意i++和++i的區別。如:

#include

void main( )

若將printf語句改為:

printf(「%d,%d\n」,++i,++j); (9,11)

實驗二:輸入輸出函式的使用

操作體會:正確使用各種格式轉換符。如:

#include

main()

若輸入12 34,則結果為1,2,34

試驗三:選擇結構程式設計

操作體會:switch只是if的一種特殊形式,就是當判斷的條件都是某個值的時候,switch一定可以用if語句替換,但反過來不一定,只有滿足一定條件才可以,也就是拿來判斷的這個東東必須是同乙個東西,還要滿足特定的型別(string ,int 等)

試驗四:迴圈結構程式設計

操作體會:1.for迴圈結構:

for(表示式1;表示式2;表達3)語句;2.while和do while迴圈結構do while語句至少執行一次3.continue語句與break語句:continue語句是用於迴圈語句中,當執行到該語句時,重新跳到迴圈語句的開始位置繼續執行程式。而break語句則是跳出迴圈語句,執行迴圈體外的語句。

4.迴圈的巢狀。

試驗五:函式

操作體會:1.庫函式的正確呼叫

2.函式的定義方法

函式定義的一般形式:

型別識別符號函式名(形式引數列表)

3.區域性變數和全域性變數。

4.變數的儲存類別(自動、靜態、暫存器、外部),變數的作用域和生存期。

變數的儲存類別,是指變數在記憶體中的儲存方式。可以分為:自動(auto)、靜態(static)、暫存器(register)、外部(extern)四個型別。

自動(auto):這種型別的變數是動態分配儲存空間的,資料存放在動態儲存區中。函式的形式引數和函式體內的形式引數都屬於這種型別。

在函式呼叫時分配儲存空間,當呼叫結束就釋放儲存空間。

靜態(static):這種型別的變數占用著儲存空間不釋放,在下次訪問該變數時,該變數的值是上次修改的值。

暫存器(register):這種儲存方式跟自動(auto)方式都是相同,當使用完變數以後會自動釋放空間。

外部(extern):這種型別的變數就是全域性變數.

變數的作用域是指變數能夠發揮作用的範圍.

變數的生存期是指變數在程式執行的過程中存在、擁有分配的儲存空間的時期。

試驗六:一維陣列二維陣列和字元陣列

操作體會:1.一維陣列的定義、初始化和引用

(1)一維陣列的定義方式:

型別識別符號陣列名 [陣列長度]

陣列名命名規則和識別符號命名規則一致。

(2)一維陣列的初始化方法:

①在定義陣列時對陣列初始化,如:

int array[8]=

②可以只給一部分元素賦值,如:

int array[8]= 即:int array[8]=

③若要陣列裡所有元素為0,可以寫成:

int array[8]=

④在對陣列中全部元素賦初值時,可以不指定陣列長度,如:

int array[ ]=與

int array[5]=意義相同。

(3)一維陣列的引用:陣列名 [下標]

2.多維陣列的定義、初始化和引用

3.字元陣列的定義、初始化和引用

char 陣列名[陣列長度]

試驗七:指標

操作體會:1.指標與指標變數的概念,指標與位址運算子。

(1)指標與指標變數的概念。

c語言中的指標是指乙個變數的位址,存放這個位址的變數就是指標變數。指標變數跟普通變數占用一定的儲存空間,不同的是儲存在指標變數儲存空間中的不是普通資料而是乙個位址。

當指標得到某一位址時,稱指標指向該儲存區域。可以通過指針對它所指向的記憶體區域中的資料進行處理。指標所指向的記憶體區域中的資料稱為指標的目標,指標目標用指標名前面加*符號表示。

(2)指標與位址運算子c語言中與指標有關的運算子有兩個:

①&:取位址運算子,例如:&a表示變數a的位址。

②*:指標運算子,例如:*p表示p所指向的變數。

2.變數、陣列、字串、函式、結構體的指標以及指向變數、陣列、字串、函式、結構體的指標變數。通過指標引用以上各型別資料。

(1)指標的宣告形式:

資料型別 * 指標名

(2)陣列與指標。

c語言中的指標可以指向陣列元素,同時可以通過指標引用陣列,通過指標引用陣列能提高程式的質量。

定義指向陣列元素的指標變數形式與定義指向變數的指標變數相同,如:

int a[10];

int *p;

p=&a[0];或p= a;

p的初值為&a[0],則:

①p+i和a+i就是a[i]的位址。

②*(p+i)或*(a+i)是p+i或a+i所指向的陣列元素a[i]。

③指向指標的變數也可以帶下標,如p[i]和*(p+i)等價。

(3)字串與指標。

(4)指向函式的指標。

資料型別 (*指標名)( )

這裡的資料型別是指函式的返回型別。

3.用指標作函式引數。

用指標作為函式引數可以實現「傳址」方式的引數傳遞,使得主呼叫函式得到多個在被呼叫函式處理過程中所修改了的值。

4.返回指標值的指標函式。

函式的返回值可以是指標,這種函式的定義形式如下:

資料型別 *函式名(參數列)

這裡資料型別是指返回指標的資料型別。

5.指標陣列,指向指標的指標,main函式的命令列引數。

(1)指標陣列。

指標陣列是乙個陣列,陣列裡面每個元素都是乙個指標變數,其定義形式如下:

資料型別 *陣列名[陣列長度]

與二維字元陣列相比指標陣列用於處理多個字串更方便。如果用二維字元陣列來處理多個字串時,陣列的列數是相同的,但並不能保證每個字串的長度都相同,這樣就會造成儲存空間的浪費,而用字元型的指標陣列處理多個字串就不存在這樣的問題,因為並不需要規定字串的長度。

試驗八:結構體

操作體會: 結構體和共用體型別資料的定義方法和引用方法。

(1)結構體

①結構體的定義一般形式如下:

struct 結構名

;struct是結構定義的保留字,其後是結構名由使用者命名,命名原則與變數名命名規則相同。在結構名下的花括號中括起來的是此結構體的成員項,每個成員項由資料型別和成員名組成。整個結構體定義以分號作為結束符,注意這分號不能省略。

②定義結構體型別變數。

a.先宣告結構體型別再定義變數名如:struct student stu1,stu2;其中student是已經定義了的結構體型別,stu1和stu2是該型別的變數。

b.在宣告型別同時定義變數的形式:

struct 結構體名

變數列表;

c.直接定義結構體型別變數的形式:

struct

變數列表;

③引用結構體變數的一般形式:結構變數名.成員名或指向結構的指標->成員名

在引用結構型別變數時應注意以下幾點:不能對結構體變數作為乙個整體進行操作;如果結構體成員本身也是乙個結構體變數,在操作時要用一級一級的找到最低一級的成員對其進行操作;結構體變數的成員可以像普通變數一樣進行各種運算;可以引用結構體變數的位址,也可以引用結構體變數的成員的位址。

④可以對結構體變數進行初始化,一般形式如下:struct 結構名變數名;

(2)共用體

共用體變數定義的一般形式如下:

union 共用體名

變數列表;

使用共用體時要注意以下幾點:共用體型別資料在同乙個記憶體可以用來存放幾種不同型別的成員,但在每一時刻只能存放其中一種;共用體變數中起作用的成員是最後一次存放的成員,再存入新成員原有的成員就失去作用;共用體位址和其各成員位址相同;不能在定義共用體是為其初始化;共用體型別可以出現在結構體定義中,結構體型別也可以出現在共用體定義中。

心得體會總結

1.學習c語言不能停留在學習它的語法規則,而是利用學到的知識編寫c語言程式,解決實際問題。即把c語言作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。自己編好程式上機除錯執行時,可能有很多你想不到的情況發生,通過解決這些問題,可以逐步提高自己對c語言的理解和程式開發能力。

2.熟悉程式開發環境、學習計算機系統的操作方法

乙個c語言程式從編輯、編譯、連線到執行,都要在一定的外部操作環境下才能進行。通過上機實驗,熟練地掌握c語言開發環境,為以後真正編寫電腦程式解決實際問題打下基礎。同時,在今後遇到其它開發環境時就會觸類旁通,很快掌握新系統的使用。

3.學習上機除錯程式

完成程式的編寫,決不意味著萬事大吉。你認為萬無一失的程式,實際上機執行時可能不斷出現麻煩。程式的除錯是乙個技巧性很強的工作,對於初學者來說,盡快掌握程式除錯方法是非常重要的。

有時候乙個消耗你幾個小時時間的小小錯誤,除錯高手一眼就看出錯誤所在。

通過這次為數不多的幾周計算機實踐學習,我們了解了一些關於c語言的知識,理解鞏固了我們c語言的理論知識,著對我們將來到社會工作將會有莫大的幫助。同時它讓我知道,只要你努力,任何東西都不會太難。

《c語言程式設計》上機實驗報告要求

1.實驗環境 軟體系統 使用的軟體環境 硬體系統 機型說明 2.實驗目的 掌握如何編輯 編譯 鏈結除錯執行c程式 3.實驗內容 1 掌握順序結構程式設計.p26 p49,p62 3.2 3.7 2 掌握選擇結構程式設計 if 和switch語句的用法 p4.2 3 迴圈結構程式設計 while,do...

C語言上機程式設計20題

1 第1題 m個人的成績存放在score陣列中,請編寫函式fun,它的功能是 將低於平均分的人作為函式值返回,將低於平均分的分數放在below所指定的函式中。答案 int fun int score,int m,int below return k 2 第2題請編寫函式fun,它的功能是 求出1到1...

《C語言程式設計實踐》課程報告

課程報告 課程名稱 程式設計實踐 專業班級 電腦科學與技術1205班 學生姓名雷原康 學號 201216010522 任課 c語言程式設計實踐 課程報告 課程名稱 程式設計實踐 專業班級 電腦科學與技術1205班 學生姓名雷原康 學號 201216010522 任課教師陳衛東 學期 2012 201...