c語言第一章ppt課件,c語言第三章ppt

本文目錄一覽:

c語言程序設計江寶釧第一章,,編寫程序;輸入ab後,輸出一元一次方程的解:2*a*x+3*b-5=0

具體代碼如下:

#include stdio.h

int main(){

int a,b;

while(scanf(“%d %d”,a, b) != EOF)

{

if(a==0)

printf(“x為任意實數!\n”);

else

printf(“解為:x=%.2f\n”,(5-3*b)/(2.0*a));//此處該為2.0

}

return 0;

}

程序

#include stdio.h

int main(){

int a,b;

float x;

printf(“enter a,b\n”);

scanf(“%d %d”,a,b);

{

if(a==0)

printf(“x為任意實數!\n”);

else

{x=(5-3*b)/(2.0*a);

printf(“解為:x=%.2f\n”,x);}

}

return 0;

}

C語言知識總結

c語言概要

第一章、 概述

1、 c語言的基本知識

1.1、 c語言的執行步驟

編輯-程序代碼的錄入,生成源程序*.c

編譯-語法分析查錯,翻譯生成目標程序*.obj

(語法或邏輯錯誤,從第一個開始改,變數定義,語句格式,表達式格式等)

鏈接-與其他目標程序或庫鏈接裝配,生成可執行程序*.exe

執行

1.2、 main函數的基本知識

main()函數的位置

c程序總是從main( )函數開始執行

一個c程序可以包含一個主函數,即main()函數;也可以包含一個main()函數和若干其它函數

1.3、 c程序的結構

函數與主函數

程序由一個或多個函數組成

必須有一個且只能有一個主函數main()

程序執行從main開始,在main中結束,其他函數通過嵌套調用得以執行

程序語句

C程序由語句組成

用「;」作為語句終止符

注釋

//

/* */ 為注釋,不能嵌套

不產生編譯代碼

1.4、c 程序書寫的規則

習慣用小寫字母,大小寫敏感

不使用行號,無程序行概念:通常一個語句佔一行

可使用空行和空格

常用鋸齒形的書寫格式;同一層次結構的語句上下對齊。

第二章、基本數據類型與運算

2.1、c程序的數據類型

注意類型和變數含義的不同(類型是固定好的名字,變數是自己起的名字)

變數佔用的存儲空間

數據類型

基本類型:整型、字元型、浮點型(單精度型,雙精度型)

構造類型:數組類型、結構體類型

指針類型

空類型

注意基本類型賦初值的方式

基本數據類型的表示形式

整形數據

十進位:以非0數字開頭,如:123,-9,0

八進位;以0數字開頭,如:0123,067

十六進位:以0x開頭,如:0x123,0xff

實型數據

十進位:必須帶小數點,如:123.0,-9.0

指數形式;如:1.23E3,0.9e-2,5e2

字元型數據

普通字元:如:』a』,』2』,』H』,』#』

轉義字元:如:』\n』,』\167』,』\xlf,』\\』

(實現幾列的對齊:指定寬度。如%100\ 『\t』製表位)

(字元串長度。「abc\n\t\\」 strlen 6; sizeof 7)

基本數據類型的存儲長度

整型

Int 位元組數 2 位數 16 數的表示範圍 -32768—32767

Short 2 16 -32768—32767

Long 4 32 -2147483648—2147483647

實型

Float 4 32 3.4e-38—3.4e38

Double 8 64 1.7e-308—1.7e308

字元型

Char 1 8 -128—-127

2.2、標識符命名規則

C語言標誌符命名規則

標識符有數字,字母,下劃線組成

標識符的首字元必須為字母和下劃線

標識符不能為c語言的保留字(關鍵字)

如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed

算術運算符 + – * / %

關係運算符 == = = !=

邏輯運算符 ! ||

位運算符 ~ | ^

賦值運算符 = 及其擴展賦值運算符

條件運算符 ? :

逗號運算符 ,

指針運算符 *

求位元組數運算符 sizeof

強制類型轉換運算符 (類型)

分量運算符 . –

下標運算符 [ ]

其他 如函數調用運算符()

運算符的優先順序

由高到低:單目運算符,算數運算符,關係運算符,賦值運算符

說明:單目運算符:自增運算符,自減運算符,類型裝換運算符。結合方向:自右至左

如:++–I 先—i.。

算術運算 結合方向自左至右

2.3基本運算和表達式

關係表達式和邏輯表達式

(ab)(xy) (a==b)||(x==y) !=a||(ab)

Ab.a為0.不執行b

A||b a為1.不執行b

在 c 中邏輯運算結果:1代表「真」,0代表「假」;

判斷一個表達式是否真:0代表「假」,非0代表「真」

條件表達式 逗號表達式

如:k=5,k++

逗號值為5;k為6.

表達式1?表達式2 :表達式3

K=56 ? 1 : 0

2.4、混合運算的數據類型轉換

2/3+0.5 雙精度浮點型

第三章、順序結構程序設計

3.1、c語句的分類

簡單語句

表達式語句 表達式+分號

空語句 只有分號的語句

複合語句 用花括弧將若干語句括起來

流程式控制制語句

選擇語句 if ,switch

循環語句 while, do while , for

轉移語句 break ,continue ,return goto

3.2、格式輸入函數scanf

一般形式:scanf(「格式控制字元串「,地址列表);

使用scanf函數時,需要注意:

格式字元的個數必須與輸入項的個數相同,數據類型必須一一對應,非格式字元串(說明性的)要原封不動的輸入。

輸入實行數據時,可以不帶小數點,即按整型數據輸入

數值型數據與字元或字元串混合輸入時,需要注意輸入方式。

3.3、格式輸出函數printf

Printf(「格式控制字元串「,輸出列表);

指定輸出格式,由格式字元串和非格式字元串兩種組成,非格式字元串照原樣輸出。

%[標誌][輸出最小寬度][.精度][長度]類型

標誌:- 左對齊;+ 右對齊;

%f, %d, %c, %s

3.4、其他輸入輸出函數

Putchar getchar puts gets

第四章、選擇結構程序設計

If選擇結構

單分支

If(表達式)

語句

雙分支

If(表達式)

語句1

Else

語句2

多分支

If (表達式1)

語句1

Else if(表達式2)

語句2

。。。

Else if(表達式m)

語句m

Else

語句n

Switch(表達式)

{

Case 常量表達式1:語句1;break;

Case 常量表達式2:語句2;break;

。。。

Case 常量表達式m:語句m;break;

Default:語句n;break;

}

注意break的使用

第五章、循環結構程序設計

循環三要素

初始條件 ;終止條件 ;在初始條件和終止條件間反覆做某件事情(循環體)

While(表達式)

語句

Do

語句

While(表達式);

For(循環體變數賦初值;循環條件;循環變數增量)

( for( ) ; // ; 進行時間延遲。在信息交換等時用。如for(i=0,i100) ; 互相通訊的時間延遲。 Delay )

Break語句 :不能用於循環語句和switch語句之外的任何其他語句;跳出循環。

Continue語句 :跳過循環體中剩餘的語句而強行執行下一次循環;跳出本次循環。

第六章、函數與編譯預處理

6.1、函數的定義和調用

類型標識符 函數名 (形式參數列表)

{ 聲明部分

語句

}

例:

Int max (int x,int y)

{int z;brZ=xy?x:y;brReturn(z);}

6.2、局部變數和全局變數

注意函數中靜態變數的定義和使用

6.3、變數的存儲類型

局部變數的存儲類型

自動變數(auto) 動態存儲

局部靜態變數(static) 靜態存儲

寄存器變數(register) 靜態存儲

全局變數的存儲類型

自動變數(auto) 動態存儲

外部變數 (extern) 靜態存儲

全局靜態變數(static )靜態存儲

Extern 外部引用

Static 不能用extern 引用。

第七章、數組

7.1、一維數組的定義和使用

特別需要注意循環體的初值,終止條件

例:

Main()

{

Int I,a[10];

For(i=0;i=9;i++)

A=I;

For(i=9;i=0;i–)

Printf(「%d」,a);

}

注意下標問題

7.2、二維數組的定義和使用

二維數組的初始化

例如:

Int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

Int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

Int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};

Int a[ ][4]={{1,2,3,4},{5},{9,10,11,12}};

例如:int a[3][3]={{1},{2},{3}};

是對每一行的第一列元素賦值,未賦值的元素取0

7.3、字元數組和 字元串

字元串用字元數組來處理,結束標誌符 『\0』

如:char c[ ]={「I am happy」};

用字元串常量使字元數組初值化

Char c[ ]={『I』,』 『,』a』,』m』,』 『,』h』,』a』,』p』,』p』,』y』,』\0』};

第八章、指針

8.1、地址和指針的概念

Int I;

Int *i_point;

8.2、指針變數和變數的地址

操作符:*

8.3、指針和一維數組

若有定義

Int a[10];

Int *p=a;

分析下面表達式的含義:

A, a,

*(a+i), a+I,

*(p+i), p+i

A=*(a+i)=*(P+i)

a=a+i=p+i

8.4、指針與字元串

Main()

{

Char string[ ]=」I love china!」;

Printf(「%s\n」,string);

}

Main()

{ char *string=」I love china!」;

Printf(「%s\n」,string);

}

8.5、指針變數作為函數參數

形參的定義方式;實參的形式;參數的傳遞方式。

第九章、結構體

9.1、結構體類型和變數的定義

Struct 結構體名

{成員列表};

Struct student

{char stuNO[8];brChar name[20];brChar sex;brInt age;brFloat score;brChar addr[30];br};

Stuct student

{char stuNO[8];brChar name[20];brChar sex;brInt age;brFloat score;brChar addr[30];br};

Struct student stu1, stu2;

9.2、結構體變數的引用

一般形式為:

結構體變數名.成員名

9.3、結構體數組

結構體數組 結構體數組元素.成員名

指向結構體的指針變數

(*p).成員名

p-成員名

其他

Strcpy(字元數組1,字元串2)

Strcat(字元數組1,字元數組2)

Strcmp(字元串1,字元串2)

Strlen(字元數組)

c語言入門教學

初學C語言程序設計的基本方法和技巧

C語言是一門應用最廣泛的基礎高級編程語言,有很多語言都是由它發展而來的,所以學習好C語言之後再學習任何一種編程語言都會輕鬆上手。

1 熟記基本知識點

學習C語言和學習任何一種語言的方法基本一樣。我們嬰兒期間咿呀學語時,從一個字開始學,然後兩個,接著更多,最後我們能成句,成段,到出口成章。學習C語言的時候也一樣,有些最基本的內容必須要記下來。

1.1 關鍵字

關鍵字是由C語言規定的具有特定意義的字元串。它們是寫C語言的基礎,如果關鍵字不記下來,那編程是寸步難行。

1.2 運算符

C語言中的運算符和表達式與我們數學上的運算符和表達式有相同的,也有不同的。我們在學習的時候就注意記住並弄清楚那些不同的地方。基本的語法表達式及執行過程。選擇結構中的if語句和switch語句。循環語句中的for語句、while語句和do-while語句。這部分就好比是你會了許多詞,然後得把這些片語成一些句子,語法的作用就是告訴你怎樣說好一句話,表達清楚的意思。

1.3 常用庫函數

在這裡最重要有兩個函數:輸入函數scanf()和輸出函數printf()。一個程序如果沒有輸入,那無論運行多少次結果都一樣,那也就失去了寫程序的目的了。同樣一個程序如果沒有輸出,那運行程序有什麼意義呢?當然輸出的形式比較多。在初學C語言的時候主要是從屏幕上輸出結果。所以這兩個函數的使用方法也必須要掌握。這兩個函數已經定義在stdio.h這個頭文件中,不用我們自己寫,它們不是C語言中的語句,所以在使用這兩個函數時在源程序頂部一定要加上#include 。這是為了讓我們在執行程序的時候,讓計算機知道scanf()和printf()這兩個函數怎麼用。

掌握上面的必須要記下來的內容,相當於我們開始學說話時先聽別人說,我們自己跟著學一些最基本的日常語言。這時我們就可以從一些簡單的程序開始讀,能把每一個程序的運行結果能自己讀程序準確地執行出來,那樣我們就可以開始來編寫程序了。

2 掌握程序的基本結構

編寫程序一定要注意程序的結構性。學習寫程序,不能開始就寫代碼。許多人在動手寫程序的時候感到無從下筆。原因主要是:看到一個題目不知道如何去分析,它怎麼才能變成一個程序呢?這是初學者在編寫程序的主要問題。我在教學中採用了一種分步式的方法。

2.1 看到一個題目的時候先別想著編程序,用一個具體的實例想想不用程序你是如何解決這個問題的

例如輸入三個數,輸出最小值。我們用3,8,6三個數來考慮,我們一看就知道3是最小的。可是我們這一看中其實並不簡單,其中有判斷。我們先看第一個數3,然後已經記在我們頭腦中了,再看第二個數8,3比8小,那我們還是記住3,再比較第3個數6,最後確定3是最小的。我們現在就是要把我們頭腦中很快閃過的這些判斷過程想清楚。

2.2 我們要弄清楚一個程序由哪些部分組成

這就好比我們寫一篇文章也有一些結構。一個C程序也有其一般結構,我把它歸納成下面格式。

#include

main()

{

定義變數;int,float,char,double

輸入數據;鍵盤輸入scanf();

直接賦值;例如x=3;

處理數據;if-else;switch;for;while;do-while;

輸入數據;printf();

}

第一行代碼表示把標準的輸入輸出頭文件包含在這個程序中。第二行代碼是C程序的主函數,每個C程序中必須有且僅有一個main()函數。然後是函數的一對「{}」。

定義變數的意思好比買一塊地,有了這塊地就可以在上面蓋房、種莊稼之類的。但是為了便於統一管理,比如城市已經規劃好了,你在郊區買的地就只能種莊稼,在市中心買的,就只能蓋房,這就是變數類型的含義了。用上面求最小值的例子。我們在三個數中求最小值。這三個是什麼數,是整數還是小數?這就必須用變數類型來說明。對於上例應該定義三個整型變數用來存放三個整數,還要定義一個整型變數用來存放最小值。如:int a,b,c,min;這行代碼的作用其實是要了一塊內存,然後在這塊內存里存東西。因為我需要一個整數,所以就用int這個關鍵字來聲明(相當於用這塊地幹什麼)。那麼變數a,b,c是什麼呢?你買了一塊地,總要知道這塊地在哪是吧?不然就白買了,變數就是這樣一個作用。我們需要把數據存在計算機中,什麼樣的數就定義什麼樣的類型,需要存幾個數就定義幾個變數。

輸入數據有兩種方法。第一種從鍵盤輸入,就需要用到scanf()這個函數;第二種是直接賦值。

處理數據是對於初學者來說最難的一部分,也就是把我們剛才分析過程轉換成語句。這需要學好C語言的三種程序結構。

(1)順序結構

順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。順序結構可以獨立使用構成一個簡單的完整程序,不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個複雜的程序,例如分支結構中的複合語句、循環結構中的循環體等。

(2)選擇結構

對於要先做判斷再選擇的問題就要使用分支結構。選擇結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。選擇結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據條件的結果選擇對應的分支語句。選擇結構適合於帶有邏輯或關係比較等條件判斷的計算,設計這類程序時往往都要先繪製其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪製的程序執行流程圖。

例如上例中,把我們頭腦中很快閃過的這些判斷過程畫成流程圖即圖1:

由上面的流程圖再寫出對應的語句就比較容易了。如下所示:

min=a;

if(minb) min=b;

if(minc) min=c;

學習分支結構不要被分支嵌套所迷惑,只要正確繪製出流程圖,弄清各分支所要執行的部分,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。

①if(條件)

{ 分支體

}

這種分支結構中的分支體可以是一條語句,此時「{ }」可以省略,也可以是多條語句即複合語句。它有兩條分支路徑可選,一是當條件為真,執行分支體,否則跳過分支體,這時分支體就不會執行。如:要計算x的絕對值,根據絕對值定義,我們知道,當x=0時,其絕對值不變,而x0時其絕對值是為x的反號,因此程序段為:if(x0) x=-x;

②if(條件)

{分支1}

else

{分支2}

這是典型的分支結構,如果條件成立,執行分支1,否則執行分支2,分支1和分支2都可以是1條或若干條語句構成。如:求某年的年號是否是閏年。

分析:因為當某年號能被4整除但不能被4整除但不能被100整除,則這一年是閏年;或者這一年號能被400整除也是閏年。即year%4==0year%100!=0||year%400==0

其程序段如下:

if(year%4==0year%100!=0||year%400==0)

printf(「%d is leap year!」,year);

else

printf(「%d is not leap year!」,year);

}

③嵌套分支語句:其語句格式為:

if(條件1) {分支1};

else if(條件2) {分支2}

else if(條件3) {分支3}

……

else if(條件n) {分支n}

else {分支n+1}

嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套後,語句結構變得非常複雜,對於程序的閱讀和理解都極為不便,建議嵌套在3重以內,超過3重可以用switch語句。

④switch開關語句:該語句也是多分支選擇語句,到底執行哪一塊,取決於開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if…else 語句,它的所有分支都是並列的,程序執行時,由第一分支開始查找,如果相匹配,執行其後的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設置以及break語句的合理應用。

(3)循環結構

循環結構可以減少源程序重複書寫的工作量,用來描述重複執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供三種循環,即while循環、do while循環和for循環。三種循環可以用來處理同一問題,一般情況下它們可以互相代替換,另外還有一種goto循環語句,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,所以不提倡使用。

常用的三種循環結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環的格式和執行順序,將每種循環的流程圖理解透徹後就會明白如何替換使用,就能更好地理解它們的作用。在分析循環結構的語句時要開清楚,什麼時候開始循環(即循環的初始值);什麼時候結束循環(即循環的終止條件);循環的時候都做哪些操作(即循環體的執行部分);特別要注意在循環體內應包含趨於結束的語句(即循環變數值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。

在學完這三個循環後,應明確它們的異同點:用while和do…while循環時,循環變數的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while 循環和for循環都是先判斷表達式,後執行循環體,而do…while循環是先執行循環體後判斷表達式,也就是說do…while的循環體最少被執行一次,而while 循環和for就可能一次都不執行。

順序結構、分支結構和循環結構並不彼此孤立的,在循環中可以有分支、順序結構,分支中也可以有循環、順序結構,其實不管哪種結構,我們均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現各種演算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長、結構重複多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。輸出數據是每一個程序必須包含的部分。在C程序中的輸出通常是從顯示屏上輸出最後的結果,使用printf()這個函數。

3 掌握一些簡單常用的演算法

編程其實一大部分工作就是分析問題,找到解決問題的方法,再以相應的編程語言寫出代碼。這就好比我們學習寫作文段落的時候都有一些經典的好詞好句,可以使文章添彩。同樣程序雖然可以實現各種功能,但最基本的一些演算法並不是特別多,我們掌握一些簡單的演算法,在掌握這些基本演算法後,根據不同的問題,再靈活應用。如百錢買百雞的問題,就是用100元錢買100隻雞,公雞5元一隻,母雞3元一隻,小雞1元三隻。這種問題用數學方法可以列出方程:

x+y+z=100

5*x+3*y+z/3=100

按數學方法三個未知數兩個方程無解,實際上是可以解的,如果把公雞,母雞和小雞可能的只數全部代入到方程中檢驗就可以得到最後結果。這種方法叫窮舉法。如果我們用手算那可能要花上半天的功夫,但讓計算機來算就只需要1秒種。使用演算法後分析和處理問題都會簡單很多。當我們能熟練地掌握了簡單演算法後就能實現一些比較複雜的編程問題了。

任何程序只要有思維,有想法,那麼實現程序時就不會覺得無從下手。而要學習這種思維方法就是多做題,多讀程序,學習別人好的思維方法,多想想一個程序還可不可以有另外一種方法來實現它。這樣久而久之,自然會形成一種自己的思維方法。因此我認為不管學什麼語言都是這樣。

4 培養良好的編程習慣

培養良好的編程習慣要從第一行代碼開始,這也是學好C語言的重要因素。例如編寫程序時用縮進的方式、寫注釋、程序寫到一定的階段時要做一下測試等。這些工作可以幫我們在調試程序時有很大的幫助。程序代碼實現後,錯誤是難免的,所以也要鍛煉自己的調試查錯能力,而良好的編程習慣可以使我們在調試時減小工作量和提高調試效率,也有助於形成自己的編程風格。

C語言教學探討

注重編程細節,培養編程技巧

C語言的規則頗多,編寫C程序得嚴格按照其規則進行程序設計,對初學者而言,常常馬虎大意,所編寫的程序不能正常編譯和執行結果,從而打消學生的學習積極性。因此在教學初期,教師必須強調C的許多細節問題,讓學生的這種不良習慣扼殺於「萌芽」狀態。如學生常常在寫程序時出現以下問題:

3.1 字母大小寫問題

C語言程序嚴格區分字母的大、小寫,此規則一定給學生講清楚,讓其記住那些特例。如用科學計數法表示浮點數中的「E」,弄清該計數法的規則,其中的字母「E」可以不區分大、小寫;再如表示16進位數的符號「0x」,其中字母「x」也可不區分大、小寫等等,在教學過程中,對該類問題進行總結、歸納讓學生一次就掌握並記住。

3.2 標點符號問題

學生在錄入程序時,往往忽略標點符號。問題主要表現在:

(1)忘記錄入標點,C語言中,一條語句的結束需要用符號「;」與另一語句隔開,對初學的學生,他們通常會忽略掉這個細節問題,這需要教師在講授中明確地指出,讓學生弄清楚。另外,強調不同標點符號的作用和區別,如「;」和「,」等等。

(2)標點錄入錯誤,在錄入程序時,很多學生錄入的標點是不正確的。如分號「;」和「;」是有區別的,前者為中文下的標點符號,而後者才是程序中需要的。必須給學生強調程序中所需要的標點符號都應該是英文狀態下的。

3.3 容易混淆的符號

字母符號「o」,「O」與數字元號「0」;字母符號「l」與數字元號「1」;字母符號「z」與數字元號「2」的區別等等。

對於少數學生,教師雖然強調了很多的細節,但還是不能接受,這便通過程序的調試來讓他們明白問題的嚴重性,通過他們自己對程序的調試來糾正問題的所在,這需要教師耐心地為學生指導。如程序xx.c:

#include stdio.h

void main()

{

int a=10

printf(“a=%d\n”,a);

}

編譯時出現以下問題:xx.c(5) : error C2146: syntax error : missing ‘;’ before identifier ‘printf’,給學生講解提示,讓學生通過提示明白問題所在,即該程序第5行的printf語句前缺少「;」,這是學生自己通過實踐證明了問題的所在,使之深受體會。通過程序調試的方法不僅可以為學生解決錯誤,同時也增強了學生調試程序的能力,從而提高編程的經驗和技巧。

4 明確教學目標,任務驅動學習

教師深入分析教學大綱, 在全面了解學生的數學基礎知識狀況的前提下, 根據大綱制定好教學計劃,做好每次教學任務計劃,明確教學目標,選擇適當的練習作業,督促學生不斷深入學習。

在制定計劃的過程中要針對學生的數學知識基礎, 將教材中涉及到的學生未掌握的數學知識類例題進行更換, 避免因數學的方面的問題形成教學障礙, 在課時允許的條件下也可在教學前為學生補充一定的數學方面相關知識。

設計「循環」語句教案時,可以先給學生講清楚學習循環語句的用處及優點,介紹學習重點、難點,要求掌握一些程序設計的演算法,讓他們明確該語句的重要性。如實現求等差數列s=1+2+3+…+n的和時,主要介紹使用循環語句求解,並要求學生掌握其求解方法,並按照此方法推廣,以掌握演算法思想,然後再通過作業的任務編寫壘加演算法的相關程序,如求s=1!+2!+3!+…+n!等,學生通過自己的練習不斷總結編寫循環程序的經驗,體會循環的思想,使得他們對循環語句有更深的理解和認識,從而達到較好的教學效果。

5 改進教學方法,實現教學相長

傳統教學模式的教學方式是:用大量的時間講定義、語法、概念、語句,對學生的要求是注重接受、理解、記憶,講課方式是老師講、學生聽。學生掌握的知識比較抽象、機械、靜止、片面和孤立,他們不知道如何靈活地綜合運用這些知識去解決實際問題。基礎知識固然重要,但利用基礎知識解決實際問題能力的培養是高等教育更為重要的目的。如何使當前的大學生具備紮實基礎知識的同時,又具備解決實際問題、批判性思維和創造性思維,發展合作能力與自主學習能力,是目前急待解決的問題,也是人們進行教學改革的思路。

注重問題求解方法,掌握演算法思想。如實現求等差數列s=1+2+3+…+n的和時,該數列的求解方法有多種。除了使用循環語句求解外,還可以通過公式s=(1+n)*n/2進行求,也可以使用函數的遞歸調用進行求解。通過多種方法的介紹,不僅可以鞏固學生的基礎知識,又能培養學生的創造性思維。

在教學中一定要做到培養學生學習興趣,讓學生體驗成功樂趣,改變學習方式,促進教學互動。

6 知識轉變能力培養,注重實踐課教學

計算機科學是一門經驗學科與理論學科相結合的課程,在學習時,不僅要掌握理論知識,而且實踐操作的經驗的積累也非常重要。C語言變成實踐經驗的積累是不斷從編寫程序、調試程序和運行程序結果的過程中總結得出,由此,教師在講授C語言課程時,不能忽視實踐課的教學,尤其是學生上機輔導課的教學。

往往,很多教師認為,上機輔導課就是讓學生自由練習,及時為有疑問的學生解決問題。實際上這種教學輔導方式是不合理的,應該在以下方面進行改進:

1)學生上機應有明確的練習目標,提高編程效率

在每學期的教學調查中,同學們總會提到這樣的問題:上機課不知道該幹什麼;寫程序無從下手;編程很難等。這就要求我們教師在上機課程中要有目的有意識的給同學安排上機的任務。應該從以下幾點來進行上機課程:

(1)結合上課的理論知識,確定上機課要完成的目標。

(2)引入相關的程序實例,逐步分析解決該程序的思路和相關的程序代碼。讓學生了解如何下手去編寫程序。

(3)根據引入的程序實例再擴展開,讓同學們自己動手完成相關的程序代碼。

(4)評講相關的程序代碼,並引出新的程序,讓學生自己獨立的完成。

(5)課程隨時的課堂答疑。

2)激發學生的學習興趣

學生學習的最關鍵的因素是興趣,一定要注意提高學生學習的興趣,如何提高是一個很關鍵的問題。首先要充分的肯定學生,即便是一點點值得肯定的地方也要肯定。其次多評價學生做的作業,讓學生有一定的滿足感。最後多讓枯燥的程序與實際的生活聯繫起來。這樣就可以大大的提高學生的學習興趣。

7 小結

以上就是在學習和教授過程中,對C語言程序設計教學課程的心得體會,希望對廣大的同仁能有一定的參考價值

C語言快速學習技巧(原創)默認分類 2010-03-14 12:09:53 閱讀46 評論0 字型大小:大中小

從最基本的流程學起,從最基本的語句學起。在學習的過程中,特別注意每個函數的作用,多想想這個函數能怎樣用,用在哪裡,能起到什麼另外的效果!要學會活用!程序,對數學,特別是邏輯的要求把比較高。寫好程序,首先對整個程序的流程有縝密的思考,要求周到,準確,先思考,不要急著寫程序!!這一點請注意!也就是說先演算法,先研究程序的結構,是用什麼來實現的,循環?分支?等等。然後再用語言來實現!語言只是編寫程序的工具。所以學語言,先學會程序化的思想。在將演算法翻譯成語言的時候,再結合實際情況,逐步求精,有目的的修改,達到最優化。我們學院的C語言,很有特色,英文版,考試也是。我想說的就是,外文版的這本書,它在引領一個不懂編程的人,逐步養成程序、流程、邏輯的思想,是非常優秀的一本書。如果能字字句句閱讀,將會很清楚領會到程序的思想。然而,書太厚,生詞太多,時間太短。我的建議是,看某一本中文版的書,一本不夠,看兩本。先儘快學會程序的思想,也就是用程序來想問題,這樣,就會編程了。然後,考試前幾周,背一背生詞、關鍵詞,就可以考試了。如果你堅持要讀外文版,可以,但要跳讀!然後,還要看你是想只是應付期末考試,還是想學好編程。應付期末考,需要注意書中的重點,也就是考點,這樣就夠了。比如說字元型變數加指針,這樣就夠了,不需要更高級的指針的知識。而你如果想真正學好程序(我不說C語言是因為我說過C語言只是編寫程序的工具之一),肯定是要打好基礎的!任何一個細節,都是不能放過的!而且,這樣的人往往會很鬱悶~因為我們程序真正要求的,考試一般不會涉及到,因為比較難!(不會指針的人,永遠不要說他會C語言!)而考試的內容,恰恰是最無聊的東西,比如格式化輸出printf函數的第一個參數,太繁了,記都記不住。如果學的深的話,只需要知道有這麼一個函數,有這麼一個功能。而要用的時候,查書就行。可是對考試來說,顯然不行。所以要看看你是哪一種~掌握一些簡單的演算法 編程其實一大部分工作就是分析問題,找到解決問題的方法,再以相應的編程語言寫出代碼。這就要求掌握演算法,根據我們的《C程序設計》教學大綱中,只要求我們掌握一些簡單的演算法,在掌握這些基本演算法後,要完成對問題的分析就容易了。如兩個數的交換、三個數的比較、選擇法排序和冒泡法排序,這就要求我們要清楚這些演算法的內在含義,其中選擇法排序和冒泡法排序稍難,但只要明白排序的具體過程,對代碼的理解就不難了。如用選擇法對10個不同整數排序(從小到大),選擇法排序思路:設有10個元素a[1]~a[10],將a[1]與a[2]~a[10]比較,若a[1]比a[2]~a[10]都小,則不進行交換,即無任何操作;若a[2]~a[10] 中有一個比a[1]小,則將其中最大的一個(假設為a[i])與a[1]交換,此時a[1]中存放了10個中最小的數。第二輪將a[2]與a[3]~a[10]比較,將剩下9個數中的最小者a[i]與a[2]交換,此時a[2] 中存放的10個數中第2小的數;依此類推,共進行9輪比較,a[1]到a[10]就已按從小到大的順序存放。即每一輪都找出剩下數中的最小一個,代碼如下: for(i=1;i=9;i++) for(j=i+1;j=10;j++) if(a[i]a[j] {temp=a[i]; a[i]=a[j]; a[j]=temp; } 結語:當我們把握好上述幾方面後,只要同學們能克服畏難、厭學、上課能專心聽講,做好練習與上機調試,其實C語言並不難學.

哪能找到石油大學 曾怡教授C語言的ppt? 好心人發到這個郵箱liu323121@126.com,加分

油大學曾怡副教授的C語言視頻講座,和譚浩強寫的《C程序設計》教的一樣。

簡介:

C程序設計視頻教程(曾怡):本套視頻教程由曾怡副教授講解,使用教材為:《C程序設計》 譚浩強 清華大學出版社出版。是難得的C語言學習視頻教程。全程共30講,每講45分鐘左右,CSF視頻格式。講課內容如下:

第一講 第一章 C語言概述

第二講 第二章 程序的靈魂—演算法

第三講 第三章 數據類型、運算符與表達式

第四講 第三章 數據類型、運算符與表達式

第五講 第三章 數據類型、運算符與表達式

第六講 第三章 數據類型、運算符與表達式

第四章 最簡單的C程序設計—順序程序設計

第七講 第四章 最簡單的C程序設計—順序程序設計

第八講 第四章 最簡單的C程序設計—順序程序設計

第九講 第五章 選擇結構的程序設計

第十講 第五章 選擇結構的程序設計

第十一講 第五章 選擇結構的程序設計

第十二講 第六章 循環結構程序設計

第十三講 第六章 循環結構程序設計

第十四講 第六章 循環結構程序設計

第十五講 第六章 循環結構程序設計

第七章 數組

第十六講 第七章 數組

第十七講 第七章 數組

第十八講 第七章 數組

第十九講 第七章 數組

第二十講 第七章 數組

第八章 函數

第二十一講 第八章 函數

第二十二講 第八章 函數

第二十三講 第八章 函數

第二十四講 第十章 指針

第二十五講 第十章 指針

第二十六講 第十章 指針

第二十七講 第十章 指針

第十一章 結構體

第二十八講 第十一章 結構體

複習總結第一講

複習總結第二講

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/289013.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 03:01
下一篇 2024-12-24 03:01

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論