無錫工藝職業(yè)技術(shù)學院C語言教案專_第1頁
無錫工藝職業(yè)技術(shù)學院C語言教案專_第2頁
無錫工藝職業(yè)技術(shù)學院C語言教案專_第3頁
無錫工藝職業(yè)技術(shù)學院C語言教案專_第4頁
無錫工藝職業(yè)技術(shù)學院C語言教案專_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

無錫工藝職業(yè)技術(shù)學院

教案

課程計算機語言(C語言)

班級計外/營銷06

教師姓名______

所在系部機電_________

教研室.計算機

時間:2007年2月10日

無錫工藝職業(yè)技術(shù)學院

教案

(首頁)

教師姓名王健光授課班級計外/營銷06授課形式講授

授課日期2007年3月6日第一周授課時數(shù)2

第一章c語言程序設(shè)計初步

第一節(jié)C語言概述

授課章節(jié)名稱第二節(jié)基本語法成分

第三節(jié)C程序結(jié)構(gòu)

第四節(jié)C語言的編輯、編譯和運行

1、解C語言出現(xiàn)的歷史背景

教學目的

2、了解并掌握C語言的基本語法成分

教學目標

3、掌握C語言程序的結(jié)構(gòu)、書寫格式和上機步驟

教學重點難點教學重點:c語言程序的結(jié)構(gòu)

教學難點:上機步驟

教學媒體選擇

多媒體

作業(yè)布置補充第一章3題

教學后記

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

第一章C語言程序設(shè)計初步

第一節(jié)C語言概述

一、導入新課9分鐘

作為新學期的第一堂課,首先作一下自我介紹,接著向?qū)W生介紹本門課程的最終

成績的計算方法、課堂上以及課后作業(yè)的一些具體要求,以上介紹完之后進入正題

通過學生對于所接觸到的計算機語言的一些了解以及本門課程本身所具有的特點引

出C語言。

二、教授新課

(-)C語言概述3分鐘

1、C語言的發(fā)展

2、C語言的特點3分鐘

(1)語言簡潔、緊湊,使用方便、靈活。

(2)運算符豐富,將括號、賦值、強制類型轉(zhuǎn)換、取變量地址等都以運算實

現(xiàn)。

(3)數(shù)據(jù)類型豐富(整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類

型、共用體類等),具有現(xiàn)代語言的各種數(shù)據(jù)類型,用戶還能擴充它,實

現(xiàn)各種復雜的數(shù)據(jù)結(jié)構(gòu)功能,完成各種問題的數(shù)據(jù)描述。

(4)是一種結(jié)構(gòu)化程序設(shè)計語言,層次清晰,便于按模塊化方式組織程序,

易于調(diào)試和維護。

(5)可以直接訪問物理地址,進行位操作,能實現(xiàn)匯編語言的大部分功能。

(6)提供了預處理機制,有利于大型程序的編寫和調(diào)試。

(7)C語言生成的目標代碼質(zhì)量高,程序執(zhí)行效率很高。

(8)用C語言編寫的程序可移植性好。

(9)語法限制不太嚴格,程序員設(shè)計自由度較大。

(二)C語言的基本語法成分5分鐘

1、C語言的字符集

字符:是組成語言的最基本的元素。

C語言字符集由字母、數(shù)字、空格、標點和特殊字符組成。

字母:小寫字母a?z共26個,大寫字母A?Z共26個。

數(shù)字:0?9共10個。

空白符:空格符、制表符、換行符等。

標點和特殊字符:主要有!、#、樂+、-、=、(、)等。

由字符集中的字符可以構(gòu)成C語言進一步的語法成分。如標識符、關(guān)鍵字、

特殊的運算符等。5分鐘

2、標識符

(1)概念:在程序中使用的變量名、函數(shù)名、標號統(tǒng)稱為標識符,用來標識

各種程序成分。

(2)命名規(guī)則:標識符只能是由字母(a?z,A?Z)、數(shù)字(0?9)、下劃線

(_)組成的字符串,并且其第一個字符必須是字母或下劃線。

(3)使用的注意點:長度受各種版本的C語言編譯系統(tǒng)限制;大小寫是有區(qū)

別的;不能與關(guān)鍵字、系統(tǒng)預先定義的標準標識符同名。

第1頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

(3)使用的注意點:長度受各種版本的C語言編譯系統(tǒng)限制:大小寫是有區(qū)

別的;不能與關(guān)鍵字、系統(tǒng)預先定義的標準標識符同名。

3、關(guān)鍵字3分鐘

(1)概念:由C語言規(guī)定的具有特定意義的字符串,通常也稱為保留字。

例如:類型說明符int、double等;語句特征if、switch、while等;預處理命令

include、deline等。

(2)注意

4、運算符3分鐘

(1)根據(jù)參加運算對象的個數(shù),運算符可以分為單目運算符、雙目運算符和三

目運算符。

5、分隔符2分鐘

(1)分隔符有逗號和空格兩種。逗號主要用在類型說明和函數(shù)參數(shù)表中,分隔

各個變量;空格多用于語句各單詞之間,作間隔符。

6、注釋符2分鐘

(1)注釋符是以“/*”開頭并以“*/”結(jié)尾的串。

(2)注意:程序編譯時,不對注釋符作任何處理,它可以出現(xiàn)在程序的任何位

置。

(三)C程序結(jié)構(gòu)45分鐘

1、從以下的幾個例題中了解組成一個C語言源程序的基本部分和書寫格式。

例1

main()

(printf("Helloworld!\n");}

程序分析:main是主函數(shù)的函數(shù)名,每個C語言源程序都必須有,并且只能有一

個主函數(shù),這是整個C程序運行的入口。Printf是C語言中的輸出函數(shù),是由系統(tǒng)

定義的標準函數(shù),可在程序中直接調(diào)用,它的功能是把要輸出的內(nèi)容送到顯示器去

顯示。雙括號內(nèi)字符串按原樣輸出?!癨n”是回車換行符。

輸出結(jié)果是Helloworld!

例2首先對于程序先分析一遍,

main()然后學生思考,之后讓學生

(inta,b,sum;/*這是定義變量*/針對程序的某一句作出自己

的理解。

a=12;b=34;

sum-a+b;

printf("sumis%d\n”,sum);

)

程序分析:程序的作用是求兩個數(shù)a和b之和。程序的第三行是變量說明部分,

說明a和b是整型(int)變量。第三行是兩個賦值語句,使a和b的值分別為12

和34。第五行使sum的值為a+b。第六行中“%d”是輸入/輸出的格式字符串,用來

指定輸入/輸出時的數(shù)據(jù)類型和格式,“機I”表示以十進制整數(shù)類型輸出,在執(zhí)行輸

出時此位置上代以一個十進制整數(shù)值。Printf函數(shù)括號內(nèi)最右端sum是要輸出的變

局.

里。

第2頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

輸出結(jié)果是:sumis46

例3

^include“stdio.h”

intmax(inta,intb);

main()

{intx,y,z;

printf("inputtwonumbers:\n");

scanf(<<%d%dr,,&x,&y);

z=max(x,y);

printf(Umaxnum=%d",z);

)

intmax(inta,intb)

{if(a>b)returna;

elsereturnb;

)

程序分析:上面程序的功能是由用戶輸入兩個整數(shù)。程序執(zhí)行后輸出其中較大的

數(shù)。本程序由兩個函數(shù)組成,兩者之間是并列關(guān)系。Max函數(shù)是用戶自定義函數(shù),要

先給出說明(程序第二行),它的功能是比較兩個數(shù),然后把較大的數(shù)返回。程序開

頭第一行以開頭的稱為預處理命令,其意義是把雙括號內(nèi)指定的文件包含到源

程序文件中來,那個被包含的文件通常是由系統(tǒng)提供的,其擴展名為.h。在本例中,

使用了兩個庫函數(shù):格式化輸入函數(shù)scanf和格式化輸出函數(shù)printf,其頭文件為

stdio.ho需要說明的是,C語言規(guī)定對scanf和printf這兩個函數(shù)可以省去對其頭

文件的包含命令。

(四)C語言的編輯、編譯和運行8分鐘

C程序在計算機上的實現(xiàn)和其他高級語言一樣,一般要經(jīng)過編輯、編譯、連接、運

行四個步驟,如下圖所示;

第3頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容

第4頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

三、課后總結(jié)2分鐘

本次課我們主要學習學習了第一章的內(nèi)容,整章內(nèi)容使得大家對于語言這門課程

有了一個感性上的認識,希望大家課后能夠把今天學的東西好好鞏固一下,特別是

第三節(jié)的內(nèi)容,它對于我們以后的學習有著重要的引導作用。

第5頁

無錫工藝職業(yè)技術(shù)學院

教案

(首頁)

教師姓名王健光授課班級計外/營銷06授課形式講授

授課日期2007年3月13日第二周授課時數(shù)2

第二章基本數(shù)據(jù)類型

第一節(jié)數(shù)據(jù)概述

第二節(jié)整形數(shù)據(jù)

授課章節(jié)名稱

第三節(jié)實型數(shù)據(jù)

第四節(jié)字符型數(shù)據(jù)

第五節(jié)各種數(shù)值型數(shù)據(jù)之間的混合運算

2、了解C語言的基本數(shù)據(jù)類型

教學目的

2、掌握C語言的常量、變量以及基本數(shù)據(jù)類型的使用

教學目標

教學重點:各種基本數(shù)據(jù)類型的常量和變量

教學難點:不同類型的數(shù)據(jù)在內(nèi)存中的物理存儲形式

教學重點難點

多媒體

教學媒體選擇

作業(yè)布置補充第二章5題

教學后記

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

第二章基本數(shù)據(jù)類型5分鐘

第一節(jié)數(shù)據(jù)概述

四、回顧復習

通過前一章節(jié)的學習,大家對C語言這門課有了一個感性上的認識,同時對于

C語言源程序的基本部分和書寫格式也有了大致的印象,那么有哪位同學能夠

來說一下一個源程序從編制到實現(xiàn)運行所經(jīng)歷的幾個階段?

五、教授新課

大家都知道我們編寫程序的目的是為了解決某一問題,而這正是通過對輸入一

個或幾個數(shù)據(jù)進行的處理實現(xiàn)的,那么在這過程中我們一方面要對處理的步驟

(即操作步驟)進行描述,也要對數(shù)據(jù)進行描述。那么對數(shù)據(jù)的描述就是通過

數(shù)據(jù)類型來完成的。下面就來介紹一下c語言提供的幾種主要數(shù)據(jù)類型:

r整型16分鐘

1字符型

廠基本類型]實型(浮點型)

1枚舉型

r數(shù)組

數(shù)據(jù)類型J構(gòu)造類型,結(jié)構(gòu)體

][共用體類型

指針類型

、空類型

基本類型的數(shù)據(jù)又可分為常量和變量,它們可與前面所介紹的數(shù)據(jù)類型結(jié)合起

來可分為整型常量、整型變量、實型(浮點型)常量、實型(浮點型)變量、字符

常量、字符變量、枚舉常量、枚舉變量。

六、常量與符號常量

1、常量

(1)概念:在程序執(zhí)行過程中,其值不發(fā)生改變的量稱為常量(即常數(shù))。

3、符號常量

(1)概念:為了使程序更加清晰和便于修改,用一個表示符來代表常量,即給某個

常量取個有意義的名字,這種常量稱為符號常量。

(2)注意:符號常量也是常量,它的值在作用域內(nèi)不能改變,也不能再被賦值;習

慣上符號常量用大寫字母表示,變量名用小寫字母表示。

七、變量

1、概念:在程序執(zhí)行過程中,取值可變的量稱為變量。

4、注意:變量名在程序運行中不會改變,而變量值會變化,在不同時期取不同的值;

變量名是區(qū)分大小寫的;使用變量要遵守“先說明,后使用”的規(guī)則。

第6頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

第二節(jié)整型數(shù)據(jù)16分鐘

前一節(jié)已經(jīng)介紹整型數(shù)據(jù)包括整型常量和整型變量,下面就具體講一下兩者的

不同概念。

一、整型常量(即整常數(shù))

在C語言中,使用的整常數(shù)有八進制、十六進制和十進制三種,它們使用不同

的前綴來區(qū)分。除了前綴外,C語言中還使用后綴來區(qū)分不同長度的整數(shù)。

1、八進制整常數(shù)

(1)概念:八進制整常數(shù)必須以。開頭,即以。作為八進制數(shù)的前綴。例如:0123、

-Olio

(2)數(shù)碼取值為0?7。(注意不允許有8、9)

2、十六進制整常數(shù)

(1)概念:十六進制整常數(shù)的前綴為ox或0X。例如:0X123、-Oxabc?

(2)數(shù)碼取值為0?9,A?F或a?f。

3、十進制整常數(shù)

(1)十進制整常數(shù)沒有前綴。例如:237、-89、0o

(2)數(shù)碼取值為0-9。

4、注意:十進制整常數(shù)'----------------?八進制整常數(shù)或十六進制整常數(shù)

(采用短除法)

八進制整常數(shù)或十六進制整常數(shù)------------?十進制整常數(shù)

(按權(quán)展開)

5、整型常數(shù)的后綴

(1)長整型是用后綴“L”或“1”來表示的。

(2)無符號數(shù)是用后綴“U”或“u”來表示的。

例如:0XB1LU表示什么?

二、整型變量

1、整型變量的分類

整型變量可分為基本型、短整睜、長整型和無符號型四種。

(1)基本型:類型說明符為int,在內(nèi)存中占2個字節(jié),其取值為基本整常數(shù)。

(2)短整型:類型說明符為shortint或short,所占字節(jié)和取值范圍均與基本型

相同。

(3)長整型:類型說明符為longint或long,在內(nèi)存中占4個字節(jié),其取值為長

整型常數(shù)。

(4)無符號型:類型說明符為unsigned,存儲單元中全部二進位用作存放數(shù)本身,

而不包括符號。它又可與上述三種類型匹配構(gòu)成無符號基本型(unsignedint或

unsigned),無符號短整型(unsignedshort)^無符號長整型(unsignedlong)。

值得注意的是無符號類型不能表示負數(shù),但可存放的數(shù)的范圍比一般整型變量中數(shù)

的范圍擴大一倍。

2、整型變量的說明

(1)概念:變量的說明即變量的定義。

(2)一般形式:類型說明符變量名標識符1,變量名標識符2,…;

第7頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

例如:inta,b;/*指定變量a,b為整型*/

longc;/*指定變量c為長整型8/

unignedshortd;/*指定變量d為無符號短整型*/

(3)在書寫變量說明時,要注意以下幾點:

首先,允許在一個類型說明符后說明多個相同類型的變量,各變量名之間用逗

號隔開,類型說明符和變量名之間用至少一個空格間隔;其次,最后一個變量名

之后必須以號結(jié)尾;最后,變量說明必須放在變量使用之前,一般放在函數(shù)

體的開頭部分。

(4)在說明變量類型的同時也可給出變量的初值,其格式為;

類型說明符變量名標識符1=初值1,變量名標識符2=初值2,…;

例如:main()

{inta=3,b=5;

printf("a+b=%d\n”,a+b);

}

分析過程:本程序的第三行實現(xiàn)了在說明變量類型的同時也可給出變量的初

值,定義了兩個整型變量a、b,同時又為它們賦了初值。運行結(jié)果是a+b=8

第8頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

第三節(jié)實型數(shù)據(jù)16分鐘

一、實型常量

在C語言中,它有兩種形式:十進制數(shù)形式和指數(shù)形式。

1、十進制數(shù)形式:由數(shù)碼0?9和小數(shù)點組成。

例如:0.123,.0,24,300.,-222等

2、指數(shù)形式:由十進制數(shù),加階碼標志“E”或"e”以及階碼(只能為整數(shù),可

以帶符號)組成。其一般形式為aEn(a為十進制數(shù),n為十進制整數(shù)),其值為

a*10o

例如:12.3E+3,le-2?

5、注意標準C語言允許浮點數(shù)使用后綴,后綴為“f”或"F”即表示該數(shù)為浮點

數(shù)。

例如:352F和356.是等價的。

二、實型變量

1、實型變量分為單精度型和雙精度型兩類。

(1)單精度型

說明:類型說明符為float,占4個字節(jié)內(nèi)存空間,其數(shù)值范圍是3.4E-38?

3.4E+38,提供7位有效數(shù)字。

(2)雙精度型

說明:類型說明符為double,占8個字節(jié)內(nèi)存空間,其數(shù)值范圍是1.7E-308?

1.7E+30,8,提供16位有效數(shù)字。

2、實型變量說明的格式和書寫規(guī)則與整型相同。

例如;floatx,y;/*x,y為單精度實型變量*/

doublea,b,c;/*a,b,c為雙精度實型變量*/

也可以在說明變量為實型的同時,給出變量的初值。

例如:floatx=3.2,y=5.3:/*x,y為單精度實型變量,且有初值*/

doublea=0.2,b=1.3,c=5.1;/*a,b,c為雙精度實型變量,且

有初值*/

第9頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

3、說明:實型常量不分單精度型和雙精度型,一個實型常量可以賦給一個float

或double型變量,根據(jù)變量的類型截取實型常量中相應的有效位數(shù)字。

例如:main()

{floata;

a=0.123456789;

printf,a);

)

過程分析:由于單精度實型變量只能接收7位有效數(shù)字,因此上例中最后兩位小

數(shù)不起作用,運行結(jié)果為a=0.123457c如果a改為雙精度實型變量,則能全部接

收上述9位數(shù)字并存儲在變量a中。

例如:main()

{floata;

doubleb;

a=33333.33333;

b=33333.33333333333333;

printf("a=%f\nb=%d\n”,a,b);

過程分析:由于a是單精度浮點數(shù),有效位數(shù)只有7位,而整數(shù)已占5位,所以小數(shù)2

位之后均為

無效數(shù)字;b是雙精度型,有效位是16位,但TurboC規(guī)定小數(shù)后最多保留6位,

其余部分現(xiàn)舍五入。運行結(jié)果為a=33333.332031

b=33333.333333

16分鐘

第四節(jié)字符型數(shù)據(jù)

字符型數(shù)據(jù)包括字符常量、字符變量和字符串常量。

一、字符常量

1、概念:字符常量是用單引號括起來的一個字符。

例如:'a','+'5'都是合法字符常量。

第10頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

2、特點:字符常量只能用單引號括起來,不能用雙引號或其他括號;

字符常量只能用單個字符,不能是字符串;

字符可以是字符集中任意字符,但數(shù)字被定義成字符型之后就不在是原

來的數(shù)值了。例如:'5'和5是不同的量,'5'是字符常量,5是整型常量。

3、轉(zhuǎn)義字符:以反斜線“\”開頭,后跟一個或幾個字符。

例如:'\n,表示“回車換行”,、丫表示反斜線符(\)等。

舉一完整的例子:

voidmain()

{inta,b,c;

a=5,b=6,c=7;

printf(K%d\n\t%dDn%d\nn□%d\t\b%d\n),a,

b,c,a,b,c);

)

過程分析:程序在第一列輸出a值5之后就是“\n”即回車換行,接著又是“\t”,

于是跳到下一個制表位置(設(shè)制表位置間隔為8),再輸出b值6,空兩格再輸出c

值7后又是“\n”,因此再回車換行,再空兩格之后又輸出a值5,再空三格又輸

出b值6,“\t”跳到下一制表位置(與上一行的6對齊),但下一轉(zhuǎn)義字符“\b”

又使退回一格,過緊挨著6再輸出c值7。

運行結(jié)果為5

□□□□□□□□6口口7

□□5口口口67

三、字符變量

1、概念:字符變量用來存放字符常量,即單個字符。它的類型說明符是char,它

的類型說明的格式和書寫規(guī)則都與整型變量相同。

例如:chara,b;

a='x';b='y';

2、說明:將個字符常量存放到變量中,實際上是把代表該字符的ASCH碼放到

存儲單元中。

例如:字符'x'的十進制ASCII碼是120,字符'y'的十進制ASCH碼是121,

對于字符變量a、b賦予‘x'和'y'的值實際上是在a、b兩個單元內(nèi)存放120

和121的二進制代碼:

a01111000(ASCII120)

b01111001(ASCII120)

既然在內(nèi)存中,字符數(shù)據(jù)以ASCH存儲,它的存儲形式與整數(shù)的存儲形式類似,

所以也可以把它們看成是整型量,C語言允許對整型量賦以字符值,也允許對字符

量賦予整型值;在輸出時允許把字符數(shù)據(jù)按整型形式輸出,也允許把整型數(shù)據(jù)按

字符形式輸出。需要注意的是整型數(shù)據(jù)為兩個字節(jié),字符數(shù)據(jù)為單個字節(jié),當整

型數(shù)據(jù)按字符型量處理時只有低八位字節(jié)參與處理。

例如:

第11頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

main()

{chara>b;

a=120;

b=121;

printf("%c,%c\n%d,%d\n",a,b,a,b);}

過程分析:在程序中,a、b為字符型變量,但在賦值語句中賦以整型值,從結(jié)果

看,a、b值的輸出形式取決于printf函數(shù)格式串中的格式符,當格式符為“c”

時,對應輸出的變量值為字符,當格式符為“d”時,對應輸出的變量值為整數(shù)。

運行結(jié)果為x,y

120,121

例如:main()

{chara,b;

a='x':

b=W;

a-a-32;

b=b-32;

printf("%c,%c\n%d,%d\n",a,b,a,b);

)

過程分析:在程序中,a、b為字符型變量并賦予字符值,C語言允許字符變量參

與數(shù)值運算,即用字符的ASCII碼參與運算,由于大小寫字母的ASCH碼相差32,

即每個小寫字母比它相應的大寫字母大32,如‘a(chǎn)'='A'+32,因此程序運行后

把小寫字母換成大寫字母,然后以字符型和整型輸出。運行結(jié)果為X,Y

88,89

四、字符串常量

1、概念:字符串常量是由一對雙引號括起來的字符序列。

例如:“CHINA"、“Cprogram"、“a〃h”等都是合法的字符串常量。

2、注意:

(1)字符常量與字符串常量是不同的兩個概念。例如匕’是字符常量,“a”

是字符串常量,二者不同。

(2)不能把一個字符串賦給一個字符變量。例如:語句“chare;c='a';"

是正確的,而語句ucharc;c="a";"是錯誤的,語句"charc;c="hello";"

也是錯誤的。

(3)C語言規(guī)定在每個字符串的結(jié)尾加一個字符串結(jié)束標志(即,\0'),

以便判斷字符串是否結(jié)束。所以“a”實際包含兩個字符即'a和''0',不向把“a”

賦給一個字符變量c。

(4)在C語言中沒有專門的字符串變量來存放字符串,字符串是存放在字

符數(shù)組中的。

(5)字符常量占一個字節(jié)的內(nèi)存空間;字符串常量內(nèi)存字節(jié)數(shù)等于字符申

中字符數(shù)加1,增加的一個字節(jié)中存放字符'\0'。例如:字符串“china”在內(nèi)存

中占用的字節(jié)數(shù)是6個字節(jié)。

第12頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

第五節(jié)各類數(shù)值型數(shù)據(jù)之間的混合運算16分鐘

整型、單精度型、雙精度型數(shù)據(jù)可以混合運算。前面學過字符型數(shù)據(jù)可以和

整型數(shù)據(jù)通用,因此,整型、單精度型、雙精度型、字符型數(shù)據(jù)可以混合運算。

例如:10+'a'+1.5T2.34*'b'是合法的。在進行運算時,不同類型的數(shù)據(jù)要

轉(zhuǎn)換成同一類型,然后才能進行運算。轉(zhuǎn)換的方法有兩種:自動轉(zhuǎn)換和強制轉(zhuǎn)換。

一、自動轉(zhuǎn)換

1、自動轉(zhuǎn)換發(fā)生在不同類型的數(shù)據(jù)混合運算時,由編譯系統(tǒng)自動完成。

2、規(guī)則

Double-float

IWJ

t

long

t

unsigned

t

lint-char,short

類型轉(zhuǎn)換方向

圖中橫向向左的箭頭表示必定發(fā)生的轉(zhuǎn)換,縱向的箭頭表示當運算對象為不同的

類型時轉(zhuǎn)換的方向。

例如:10+'a'+1.5-1233.54555888*'b'結(jié)果為Double型

三、強制轉(zhuǎn)換

1、形式;(類型說明符)(表達式)

2、功能:把表達式的運算結(jié)果強制轉(zhuǎn)換成類型說明符所表示的類型。

例如:(float)a把a轉(zhuǎn)換成實型,(int)(x+y)把x+y的結(jié)果轉(zhuǎn)換成整型。

3、注意:(1)類型說明符和表達式都必須加括號(單個變量可以不加括號),如

把(int)(x+y)

寫成(int)x+y,則成了把x轉(zhuǎn)換成整型之后再于y相加了。

(2)無論是強制轉(zhuǎn)換還是自動轉(zhuǎn)換,都只是為了運算的需要而對變量的

數(shù)據(jù)長度進行的臨時性轉(zhuǎn)換,這并不改變數(shù)據(jù)說明時對該變量定義的

類型。

例如:main()

{floatf=5.75;

printf("(int)f=%d,f=%f\n",(int)f,f);

)

過程分析;本例表明f雖強制轉(zhuǎn)換為int型,但只在運算中起作用,是臨時的,

而f本身的類型并不改變。運行結(jié)果為:(int)f=5,f=5.75

第13頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

三課堂小結(jié)5分鐘

本次課主要學習了C語言的兒種不同基本數(shù)據(jù)類型,對于數(shù)據(jù)的類型的理解和

掌握主要還是靠大家課后通過做練習來鞏固的。

第14頁

無錫工藝職業(yè)技術(shù)學院

教案

(首頁)

教師姓名王健光授課班級計外/營銷06授課形式講授

授課日期2007年3月20日第3周授課時數(shù)2

第三章運算符與表達式

第一節(jié)C運算符簡介

第二節(jié)算術(shù)運算符與算術(shù)表達式

授課章節(jié)名稱第三節(jié)賦值運算符與賦值表達式

第四節(jié)自增自減運算符

第五節(jié)逗號運算符與逗號表達式

教學目的1、掌握C語言中的各種運算符

教學目標2、掌握運用運算符的優(yōu)先級與結(jié)合性

教學重點:C語言中的各種運算符的使用

教學難點:混合表達式中運算符的運算順序

教學重點難點

教學媒體選擇多媒體

作業(yè)布置補充第二章6題

教學后記

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

第一節(jié)C運算符簡介

一、復習回顧5分鐘

二、講授新課

1、概念5分鐘

(1)運算是對數(shù)據(jù)進行加工的過程。

(2)用來表示各種不同運算的符號稱為運算符。

2、C語言提供了相當豐富的一組運算符,如下表所示:

運算符種類運算符

算術(shù)運算符+、-、*、/、%

自增、自減運算符++、--

關(guān)系運算符>、<、==、>=、<=>!=

邏輯運算符!、&&、II

位運算符?>>>、?、1、八、&

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

條件運算符?、:

逗號運算符

指針運算符*、f

求字節(jié)數(shù)運算符sizeof

強制類型轉(zhuǎn)換運算符(類型)

分量運算符*、―?

下標運算符[]

其他如函數(shù)調(diào)用運算符()

第15頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

第二節(jié)算術(shù)運算符與算術(shù)表達式25分鐘

一、復習回顧

二、講授新課

1、算術(shù)運算符

(1)算術(shù)運算符除了負值運算符外都是雙目運算符,即指兩個運算對象之間的運算。

取負值運算符是單目運算符。下表給出了基本算術(shù)運算符的種類和功能

運算符名稱例子運算功能

-取負值-X取X的負值

+加x+y求x與y的和

-減x-y求x與y的差

*乘x*y求x與y的積

/除x/y求x與y的商

%取余x%y求x除以y的余數(shù)

(2)注意:①減法運算符“-”可作取負值運算符,這時為單目運算符。

例如:-(x+y)、-10等。

②使用除法運算符“/”時,若參與運算的變量均為整數(shù)時,其結(jié)果也

為整數(shù)(舍去小數(shù));若除數(shù)或被除數(shù)中有一個為負數(shù),則結(jié)果值隨機

器而定。例如:-7/4,在有的機器上得到的結(jié)果為-I,而有的機器上

得到的結(jié)果-2,多數(shù)機器上采取“向零取整”原則,如7/4=1、-7/4=

-1,取整后向零靠攏。

③使用求余運算符(摸運算符)“%”時.,要求參與運算的變量必須為

整型,其結(jié)果值為兩數(shù)相除所的的余數(shù)。一般情況下,所得的余數(shù)與

被除數(shù)符號相同。例如:7%4=3,10%5=0,-8%5=-3,8%-5=3。

2、算術(shù)表達式

(1)概念;用算術(shù)運算符、圓括號將運算對象(或稱操作數(shù))連接起來的符合C語

法規(guī)則的式子,稱為C算術(shù)表達式。其中運算對象可以是常量、變量、函數(shù)等。

例如:a*b/c-1.5+例

(2)注意:①C表達式中的乘號不能省略。例如:數(shù)學式b2-4ac,相應的C表

達式應寫成b*b-4*a*c(>

②C表達式中只能使用系統(tǒng)允許的標識符。例如:數(shù)學式初2相應的c

表達式應寫成:3.1415926*r*r?

③C表達式中的內(nèi)容必須書寫在同一行,不允許有分子分母形式,必

要時要利用圓括號保證運算的順序。例如,數(shù)學式巴也相應的C表

c+d

達式應寫成(a+b)/(c+d)。

④C表達式不允許使用方括號和花括號,只能使用圓括號改變運算優(yōu)

先順序。可以使用多層圓括號,但左右括號必須配對,運算時從內(nèi)層

括號開始,由內(nèi)向外依次計算表達式的值。

3、算術(shù)運算符的優(yōu)先級和結(jié)合規(guī)律

第16頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

(1)優(yōu)先級;是指當一個表達式中如果有多個運算符時,則計算是有先后次序的,

這種計算的先后次序稱為相應運算符的優(yōu)先級。

(2)結(jié)合性:是指當一個運算對象兩側(cè)的運算符的優(yōu)先級別相同時;進行運算(處

理)的結(jié)合方向。按“從左向右”的順序運算,稱為左結(jié)合性;按“從左向右”的

順序運算,稱為左結(jié)合性。

下表給出了算術(shù)運算符的優(yōu)先級和結(jié)合性

運算種類結(jié)合性優(yōu)先級

*、/、%從左向右高

+、-從左向右低.

第17頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

第三節(jié)賦值運算符與賦值表達式25分鐘

一、復習回顧

二、導入新課

1、賦值運算

(1)賦值符號“="就是賦值運算符,由賦值運算符組成的表達式稱為賦值表達式。

其一般形式為:變量名=表達式

(2)賦值的含義:將賦值運算符右邊的表達式的值存放到以左邊變量名為標識的存

儲單元中。例如;x=10+y的作用是將10+y的值存放到以x為標識的存儲單元中。

(3)說明:①賦值運算符的左邊必須是變量,右邊的表達式可以是單一的常量、

變量、表達式和函數(shù)調(diào)用語句。例如:下面都是合法的賦值表達式:

x=10

y=x+10

y=func()

②賦值符號“=”不同于數(shù)學中使用的等號,它沒有相等的含義。例

如;x=x+l其含義是取出變量X中的值加1后,再存入變量X中去。

③在一個賦值表達式中,可以出現(xiàn)多個賦值運算符,其運算順序是從

右向左結(jié)合。例如,下面是合法的賦值表達式:x=y=z=o相當于

x=(y=(z=0?運算時先計算表達式z=0,再把它的結(jié)果賦予y,最

后再把y的賦值表達式結(jié)果值0賦予x;a=b=3+5相當于a=(b=3+5)

運算時先計算表達式b=3+5,再把它的結(jié)果賦予b,最后使a、b的值

均為8。

④進行賦值運算時,當賦值運算符兩邊的數(shù)據(jù)類型不同時,將由系統(tǒng)

自動進行類型轉(zhuǎn)換。轉(zhuǎn)換的原則是:賦值運算符右邊的數(shù)據(jù)類型轉(zhuǎn)換

成左邊的變量類型。

2、復合賦值運算

(1)-一般形式:〈變量〉〈雙目運算符〉=〈表達式〉

等價于〈變量〉=〈變量〉〈雙目運算符〉〈表達式〉

例如:n+=l等價于n=n+l

x*=y+l等價于x=x*(y+1)注:運算符“+”的優(yōu)先級高于復合賦

值運算符“*="

(2)C語言規(guī)定雙目運算符可以和賦值運算符一起組合成復合賦值運算符。共有10

種復合賦值運算符,即+-,-*=,/=,%=,?=,?=,&=,II=,A=,其后5

種是有關(guān)位運算的。

(3)復合賦值運算符的優(yōu)先級與賦值運算符的優(yōu)先級相同,且結(jié)合方向也一致。

3、賦值表達式

(1)概念:由賦值運算符將一個變量和一個表達式連接起來的式子稱為“賦值表達

式。

(2)一般形式:〈變量〉〈賦值運算符〉〈表達式〉

(3)賦值表達式的求解過程:

①先計算賦值運算符右側(cè)的“表達式”的值。

第18頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

②將賦值運算符右側(cè)的“表達式”的值賦給左側(cè)變量。

③賦值表達式的值就是被賦值變量的值。

例如:“a=5”這個賦值表達式的值為5(變量a的值也是5)。

說明:①賦值表達式中的“表達式”,可以是一個賦值表達式。例如:

a=(b=5)(賦值表達式值為5,a、b的值均為5)

a=(b=4)+(c=3)(賦值表達式值為7,a的值為7,b的值為4,

c的值為3)

②賦值表達式也可以包含復合的賦值運算符。例如:a+=a-=a*a,也

是一個賦值表達式,如果a的初值為12,此賦值表達式的求解步驟如

下:先進行"a-=a*a”的運算,相當于a=a-a*a=12-12*12=-132,

再進行"a+=-132"的運算,相當于a=a+(-132)=-132-132=-

264o

第19頁

無錫工藝職業(yè)技術(shù)學院教案紙

教學步驟與內(nèi)容時間分配

第四節(jié)自增、自減運算符

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論