靈感範文站

位置:首頁 > 實用文 > 實用文精選

C語言見習報告多篇

C語言見習報告多篇

C語言是一種計算機程式設計語言,屬高階語言範疇。它既具有高階語言的特點,又具有組合語言的特點。通過見習做一報告,本文是C語言見習的報告,僅供參考。

C語言見習報告一:

班級:姓名:

實驗名稱:

電話訂餐資訊處理

實驗目的:

題目要求:

一個小飯館的生意非常紅火,要想用餐必須提前一天打電話預訂,假設我們是飯館負責接受

電話預訂的服務員,我們需要做些什麼呢?首先,需要準備一張大小適當的白紙,等待顧客的電話。李紅最先打進了電話,她預約第2天中午12點用餐,用餐人數5人,服務員在紙上做了如下記錄:“李紅 12點 5人”;接著,劉娜、汪涵、孫杰和趙君分別來了電話,服務員根據他們的要求做了記錄,此時紙上記錄的內容是:

李紅 12點 5人

劉娜 11點 2人

汪涵 11點20分 3人

孫杰 10點30分 5人

趙君 13點20分 6人

孫杰隨後又來電話,將用餐時間推後一個小時,那麼記錄的內容也應該做相應的修改。劉娜來用餐以後,可以將其資訊從紙上劃去

編寫程式處理電話訂餐的情況

實驗步驟:

首先建立結構體型別,然後函式宣告,編寫主函式,定義函式,呼叫函式。完成後,對程式進行除錯,確定所編寫的程式是否能夠執行。

實驗內容:

#include

#include

#define max 30

struct guest

{ intnum;

char name[40];

char time[20];

int sum;

}guestlink[max];

void insert(int _p);

void inquire(int);

void change(int);

void dele(int _p);

void show(int);

void main()

{ inti;

int count=0;

do

{0

printf("1.......插入n");

printf("2.......查詢n");

printf("3.......修改n");

printf("4.......刪除n");

printf("5.......顯示n");

printf("6.......退出n");

scanf("%d",&i);

switch(i)

{

case 1: insert(&count);break;

case 2: inquire(count);break;

case 3: change(count);break;

case 4: dele(&count);break;

case 5: show(count);break;

case 6:break;

default:printf("輸入錯誤!");break;

}

}while(i!=6);

}

void insert(int _p)

{ inti,number;

if(_p==max)

{ printf("用餐已滿n");return;}

printf("請輸入編號:");

scanf("%d",&number);

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

if(guestlink[i]==number)

{ printf("已有相同的編號");return;}

guestlink[i]=number;

printf("請輸入姓名:");

scanf("%s",guestlink[i]);

printf("請輸入人數:");

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

printf("請輸入用餐時間:");

scanf("%s",guestlink[i]);

(_p)++;

}

void inquire(int p)

{ inti,number,flag=1;

printf("請輸入要查詢的編號");

scanf("%d",&number);

for(i=0;i

if(guestlink[i]==number)

{ printf("姓名:%s",guestlink[i]);

printf("用餐時間:%s",guestlink[i]);

printf("人數:%dn",guestlink[i]);

flag=0;

}

if(i>=p&&flag==1) printf("所查詢的編號不存在");

}

void change(int p)

{ inti,number,flag=1;

printf("請輸入要修改的編號");

scanf("%d",&number);

for(i=0;i

if(guestlink[i]==number)

{ printf("請輸入姓名:");

scanf("%s",guestlink[i]);

printf("請輸入用餐時間:");

scanf("%s",guestlink[i]);

printf("請輸入人數:");

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

flag=0;

}

if(i>=p&&flag==1) printf("所查詢的編號不存在");

}

void dele(int _p)

{ inti,j,number,flag=1;

printf("請輸入要刪除的編號");

scanf("%d",&number);

for(i=0;i<_p&&flag;i++)

if(guestlink[i]==number)

{for(j=i;j<_p-1;j++)

guestlink[j]=guestlink[j+1];

flag=0;

(_p)--;

}

if(i>=_p&&flag==1) printf("輸入的編號不存在");

}

void show(int p)

{ inti;

printf("編號 姓名 用餐時間 人數n ");

for(i=0;i

{ printf("%d",guestlink[i]);

printf("%8s",guestlink[i]);

printf("%8s",guestlink[i]);

printf("%8dn",guestlink[i]);

}

}

實驗結果:

實驗體會:

通過這次實踐讓我覺得用C語言在生活中的應用佔有很大的比重,這次程式設計,讓我體會到了學習C語言的樂趣,以及運用c語言給人們帶來的方便。作為一名初學者,我瞭解到了計算機語言的神祕性和邏輯性,將演算法與資料結構的充分結合,體現了程式的內涵,也同時展現了C語言的深度。也是因為這次實踐的過程,加深了我對c語言的興趣,也意識到學習c語言是需要耐心和細心的。只有透徹的學習,才能有熟練的運用。

C語言見習報告二:

一、實習時間:20_年x月x日—20_年x月x日

二、實習地點:第一微機室

三、實習目的:

1、熟悉我們自己所用的計算機的C語言開發環境,並且能夠熟練掌握,達到錯誤能找到原因並且加以改正。

2、加深對課本理論知識的理解,進一步掌握書中重點、難點例項,鍛鍊自己的編寫程式能力和實際應用能力。

3、上機除錯程式的過程中,發現錯誤,解決錯誤,保證程式的正確執行,執行結果與給定結果完全相同。

4、學會用書中基本知識解決實際中的一些問題,將書本所學的內容與實際操作相結合,掌握把實際問題轉變為C語言描述的演算法的方法,明確思路。

將自身的不足與缺陷改掉,養成良好編輯風格

5、培養我們的主觀能動性、溝通、表達能力和團隊合作意識,為我們以後的發展打下基礎。

四、實習內容及方法:

在本次實習中,我們採用了由淺及深、由易到難的實習方法,而且也是按照書本的教學程序內容進行的,同時採取了實際應用與理論相結合的方法,在機房裡面實習,一邊理解,思考做題的思路與解法,另一邊就可以馬上進行上機實際操作。這對於我們加深對C語言的理解、操作以及動手能力都有了很大的幫助與提高。

實訓的內容主要分為了七個版塊:

第一版塊:

1、Turbo

C執行環境。

瞭解TC的基本環境,熟悉常用選單項和快捷鍵:在這一小節中,需要熟練的掌握並應用Turbo C的執行環境,和基本配置。Turbo C是在計算機上廣泛使用的一個C語言開發環境,它具有方便、直觀、易用的介面和豐富的函式庫。它把程式的編輯、編譯、連線和執行等操作去不都集中在一個介面上進行,使用非常方便。並且Turbo C不需要特別安裝,只需要將其拷貝到硬碟上就可以使用了。 為了方便管理使用者的程式檔案和維Turbo C2.0的執行環境,客戶應在機子

上建立自己的工作目錄,一邊用來存放自己所需要開發的源程式檔案。下面就是建立怎樣自己資料夾,在空白區域內輸入自己所建立的資料夾路徑即可。

2、C程式的編輯、編譯、連線和執行過程。

掌握C程式的執行步驟,初步瞭解C程式的特點。在Turbo C的執行中,快捷鍵使用非常方便,只需Ctrl+選單欄中選單名的首字母即可。

上面是一個程式編譯與連結的截圖。第一個Compile to OBJ將源程式編譯為OBJ檔案,Make EXE file 編譯連線一次進行,Link EXE file將OBJ檔案連線為EXE檔案。

3、VC6.0環境的熟悉,自己按照軟體並在軟體中能夠除錯簡單的C語言程式。

第二版塊:

1、C語言資料型別:整型、實型、字元型。

C語言的函式型別非常豐富,除了這幾類以外,還有實型、陣列、指標、結構體等,在這一小節中,主要了解關於資料型別的定義、用法以及他們的儲存型別,一邊與以後靈活運用。

C語言中還有常量與變數之分,常量是在程式執行過程中其值不變的量。二且在C語言中常量不需要型別說明就可以直接使用,常量的型別是由常量的本身隱含決定的。

2、運算子及表示式。

在C語言中,預算符非常豐富運算靈活,常用的有以下幾個:

(1)算術運算子:+、-、_、/、%(取餘)及++(自增)、--(自減)。

(在這裡需要注意的是:“/”運算子,在C語言中兩邊都是整數的話,運算結果只取整數部分;“%”他的兩邊都必須是整數才可以執行;“__、--”運用這個運算子時要注意“先用後加(減)、先加(減)後用”的問題)

(2)賦值運算子:=及複合賦值運算子(+=、-=、_=、/=、%=等)。

(在這裡需要注意的是“=、==”的區別,要明確用法及所用的地方,“=”它的作用是賦值,“==”它的作用是判斷相等)

(3)逗號運算子:,(對於逗號表示式索要注意的是要明確它所用的地方以及在使用時所要注意的細節)。

瞭解三種運算子的優先順序,掌握三種運算子及相應表示式的應用(詳見附錄)。

第三版塊:在這一節裡,我們實習了C語言的三大結構:

1、順序結構:

2、選擇結構:if??else,switch語句。

在這裡許啊喲我們學習的很多,因為只要是程式,就脫離不了這個三大結構的範疇。在這個學習裡我編寫了

(1)、輸入某年某月某日,判斷這一天是這一年的第幾天?。

(2)、給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。

(3)、某市不同車牌的計程車3公里的起步價和計費分別為:夏利7元,3公里以外,2.1元/公里;富康8元,3公里以外,2.4元/公里;桑塔納9元,3公里以外,2.7元/公里。程式設計:從鍵盤輸入乘車的車型及行車公里數,輸出應付工資。

源程式減附錄;

經過這幾個程式的練習,讓我聊股的掌握了選擇語句的用法以及精髓,同是這個用法和技巧已經深深的可在了我的腦海裡,還有同過這些個程式的編寫,讓我對以前有的絲絲而非的地放完全通透理解,獲益匪淺。

迴圈結構:while、do-while、for

在迴圈這一節裡,我們主要做了以下程式:

(1)、求200-300之間所有素數,每5個換行。

(2)、猜數字遊戲。規則為:輸入一個0-10之間的數字,有5次猜測機會。如果輸入0-4之間的數字,提示“太小了”;如果輸入5-7之間的數字,提示“接近了”;如果輸入9-15之間的數字,提示“太大了”;如果輸入8,提示“correct!”;如果次數超過5次,提示“沒有機會了,退出!”。

(3)、列印輸出如下圖形:(“◇”菱形)

(4)、有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?

提示:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去掉不滿足條件的排列。

(5)、列印輸出九九乘法表。

我以前就對迴圈這一節裡的內容就理解的比較好,現在做這些題很順利的就做下去了,但在做的同是也會出現以寫小的問題,但這個讓我也更深一步的理解了迴圈語句的用法、思路以及其中的精華。

總的對這一節來說,使自己更神一步的理解了選擇、過程中需要注意的一些細節問題。

第四版塊:

1、一、二維陣列的定義、引用及初始化。

初始化:

一維陣列:初始化賦值的一般形式為: static 式]={值,值??值}; 其中static表示是靜態儲存型別,態儲存陣列和外部儲存陣列才可作初始化賦值二維陣列:

a.可以只對部分元素賦初值,未賦初值的元素自動取b.如對全部元素賦初值,則第一維的長度可以不給出。2、一、二維陣列的應用。

在一維陣列的應用中,要與迴圈巢狀使用,用,但是在這裡,巢狀還要是迴圈的巢狀,因為只有這樣使用才可以使程式更加簡潔、簡便。就像第五題:有一個班4個學生,(1)求每一門課程的平均分; (2)求每一個學生的平均分;

思路:定義一個二維陣列,用二重迴圈輸入這個陣列,然後進行相加,在求平均直,最後在用二重迴圈進行輸出。

迴圈的用法以及在使用型別說明符 陣列名[常量表達 C語言規定只有靜0值。 門課。程式設計實現如下功能:

在這裡,進行了求平均值的過二維陣列要與也要與迴圈巢狀使5程。這裡進行了二重迴圈輸出。

第五版塊:

1、函式的定義和呼叫

函式可分為庫函式和使用者定義函式兩種。

(1)庫函式

庫函式只不需要使用者自己定義的,只需要在用的時候將其調用出來用就可以了,非常方便,並且C語言有這豐富的函式庫。

(2)使用者定義函式

使用者自己定義的函式,是屬於一個自定義範疇,自己定義的函式不僅要在程式中定義函式本身, 而且在主調函式模組中還必須對該被調函式進行型別說明,然後才能使用。

2、函式引數和函式值

(1)無 參函式

函式定義、函式說明及函式呼叫中均不帶引數。 主調函式和被調函式之間不進行引數傳送。 此類函式通常用來完成一組指定的功能,可以返回或不返回函式值。

(2)有參函式

也稱 為帶參函式。在函式定義及函式說明時都有引數, 稱為形式引數(簡稱為形參)。在函式呼叫時也必須給出引數, 稱為實際引數(簡稱為實參)。 進行函式呼叫時,主調函式將把實參的值傳送給形參,供被調函式使用。

(1)有返回值函式

此類函式被呼叫執行完後將向呼叫者返回一個執行結果, 稱為函式返回值。由使用者定義的這種要返回函式值的函式,必須在函式定義和函式說明中明確返回值的型別。

(2)無返回值函式

此類函式用於完成某項特定的處理任務, 執行完成後不向呼叫者返回函式值。這類函式類似於其它語言的過程。 由於函式無須返回值,使用者在定義此類函式時可指定它的返回為“空型別”, 空類 型符的型別說明為“void”。

2、函式的巢狀呼叫和遞迴呼叫

C語言中不允許作巢狀的函式定義。因此各函式之間是平行的,不存在上一級函式和下一級函式的問題。 但是C語言允許在一個函式的定義中出現對另一個函式的呼叫。 這樣就出現了函式的巢狀呼叫。即在被調函式中又呼叫其它函式。

這以小節內容經過幾個練習題的聯絡,讓我掌握到了其中的主要部分,對此也比較的明確。

4、區域性變數和全域性變數及變數的儲存類別

區域性變數:區域性變數也稱為內部變數。區域性變數是在函式內作定義說明的。其作用域僅限於函式內, 離開該函式後再使用這種變數是非法的。

全域性變數:全域性變數也稱為外部變數,它是在函式外部定義的變數。 它不屬於哪一個函式,它屬於一個源程式檔案。其作用域是整個源程式。在函式中使用全域性變數,一般應作全域性變數說明。 只有在函式內經過說明的全域性變數才能使用。全域性變數的說明符為extern。 但在一個函式之前定義的全域性變數,在該函式內使用可不再加以說明。

在C語言中,對變數的儲存型別說明有以下四種:auto 自動變數 register 暫存器變數 extern 外部變數 static 靜態變數

在區域性變數中所定義的變數,只能在該函式中使用,在函式編輯時,預處理命令下定義的變數屬於全域性變數,在每個函式中都可以使用,傳遞引數時,不用傳遞全域性變數。

在這裡,我主要說的是第二個練習題,它的思想是一個加密演算法。思路是:現編寫一個主程式,實現函式呼叫,在子函式中實現加密演算法並且輸出。是將接收的值設定為一個全域性變數。就像下面的這個例子:在這裡,將所輸入的值進行分解成個、十、百、千位,分別進行加密演算法。

加上與第四位對調,第三位與第二位對調。在最後輸出結果。 第六版塊:

1、指標、指標變數的概念

指標的基本概念 在計算機中,所有的資料都是存放在儲存器中的。儲存器中的一個位元組稱為一個記憶體單元, 不同的資料型別所佔用的記憶體單元數不等,如整型量佔2個單元,字元量佔1個單元等,紹。為了正確地訪問這些記憶體單元, 必須為每個記憶體單元編上號。存單元的編號即可準確地找到該記憶體單元。記憶體單元的編號也叫做地址。 並且在使用函式在輸入

除以8以後的餘數,在將第一位 一般把 在第二章中已有詳細的介 根據一個內

既然在這裡進行加密演算法,每位上的數6

根據記憶體單元的編號或地址就可以找到所需的記憶體單元,所以通常也把這個地址稱為指標。“指標變數”是指取值為地址的變數

2、陣列的指標

一個數組是由連續的一塊記憶體單元組成的。 陣列名就是這塊連續記憶體單元的首地址。一個數組也是由各個陣列元素(下標變數) 組成的。每個陣列元素按其型別不同佔有幾個連續的記憶體單元。 一個數組元素的首地址也是指它所佔有的幾個記憶體單元的首地址。 一個指標變數既可以指向一個數組,也可以指向一個數組元素, 可把陣列名或第一個元素的地址賦予它。如要使指標變數指向第i個元素可以把i元素的首地址賦予它或把陣列名加3、指向字串的指標 返回指標的函式(1)、字串指標變數本身是一個變數,串本身是存放在以該首地址為首的一塊連續的記憶體空間中並以‘結束。字元陣列是由於若干個陣列元素組成的,它可用來存放整個字串。(2)、對字元陣列作初始化賦值,必須採用外部型別或靜態型別,串指標變數則無此限制;

(3)、對字串指標方式 char _ps="C Language";ps="C Language";而對陣列方式:static char st[]={"C Language"}char st[20]; st={"C Language"};而只能對字元陣列的各元素逐個賦值。3、指標陣列及指向指標的指標

指標陣列的說明與使用一個數組的元素值為指標則是指標陣列。是一組有序的指標的集合。 指標陣列的所有元素都必須是具有相同儲存型別和指向相同資料型別的指標變數。

指標陣列說明的一般形式為: 型別說明符在指標這一小節,主要是用指標實現:輸入數對換,把最大的數與最後一個數對換。寫3個函式:輸入個數。

在這裡進行函式的呼叫,一個輸入函式,一個操作函式,一個輸出函式。

i賦予它。

而字元