程序設(shè)計教學教案124_第1頁
程序設(shè)計教學教案124_第2頁
程序設(shè)計教學教案124_第3頁
程序設(shè)計教學教案124_第4頁
程序設(shè)計教學教案124_第5頁
已閱讀5頁,還剩125頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

教學進程

第一章程序與程序設(shè)計語言

[教學目的]:C語言的主要特點、C語言程序的構(gòu)成及C語言程序的開發(fā)環(huán)境。掌握VisualC++6.0的程

序開發(fā)環(huán)境及C語言程序的開發(fā)流程。了解程序與程序設(shè)計語言的基本概念,程序設(shè)計語言

的發(fā)展過程等。

[教學重點]:

1、C語言的主要特點。

2、C語言程序的構(gòu)成要素。

3、C語言程序的開發(fā)步驟和程序的調(diào)試過程。

[教學難點]:

1、C語言的基本語法結(jié)構(gòu)。

2、C語言程序的開發(fā)和調(diào)試過程。

[教學時數(shù)]:2學時

[授課形式]:多媒體授課、實際操作演示、邊講邊練

[教學過程]:

一、新課介紹(5-10分鐘左右)

1、自我介紹

2、為什么要學習C語言?

3、教學要求及學習方法

4、課程目標及內(nèi)容安排

5、課程安排及考核方式

考試(出勤、實驗、作業(yè)、期中考試)80%+課程設(shè)計20%

6、課程要求

二、正課階段(60分鐘左右)

第1章程序設(shè)計與C語言

學習目標:理解程序的基本概念。掌握計算機程序設(shè)計的一般步驟。了解程序設(shè)計語言的發(fā)展過程。

1.1程序與程序設(shè)計語言

程序的概念:廣義地講程序是解決一個實際問題的基本步驟。在計算機中,程序是指導計算機執(zhí)行某

個功能或功能組合的一組指令。每一條指令都讓計算機執(zhí)行完成一個具體的操作,一個程序所規(guī)定的操作

全部執(zhí)行完畢后,就能產(chǎn)生計算結(jié)果。

程序設(shè)計的一般過程:

結(jié)

C語言的發(fā)展歷史:

□產(chǎn)生過程

時間:70年代初

地點:美國貝爾實驗室

目的:用于UNIX操作系統(tǒng)

口C標準

《K&R》標準:K&R合著《TheCProgrammingLanguage》

ANSIC:1983年

87ANSIC:1987年

1990年國際標準的ANSIC

C語言的主要特點:

①C語言的標識符要求區(qū)分大小寫。

②語言簡潔、緊湊,使用方便靈活。

③模塊化程序設(shè)計。

④運算符豐富,數(shù)據(jù)結(jié)構(gòu)豐富0

⑤具有結(jié)構(gòu)化的控制語句。

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

⑦允許直接訪問物理地址,能夠進行位操作,可以直接對硬件進行編程。

⑧生成目標代碼質(zhì)量高,程序執(zhí)行效率高。

⑨可移植性好。

1.3初識C語言程序

編寫一個簡單的C程序,用于輸出指定信息。

//FileName:chapl_l.c〃注釋

#include<stdio.h>//預處理命令

intmain()〃主函數(shù)

{〃函數(shù)體

printR"ThisisthefirstCprogram.\n");〃輸出語句

return0;〃返回語句

}

1.4C語言程序的調(diào)試

利用C語言編制程序的最終目的是高效地解決現(xiàn)實世界各領(lǐng)域中的實際問題,對實際問題進行分析,

以C語言構(gòu)建程序的思相為指引設(shè)計解決問題的方案,是構(gòu)建C程序的第一步,通常稱為程序設(shè)計。在

此基礎(chǔ)上,按照C語言的規(guī)則編寫出C程序,把這個C程序存儲在計算機中,運行后產(chǎn)生正確的結(jié)果,

是構(gòu)建C程序的第二步,通常稱為程序生成。

“確定”

按鈕。系統(tǒng)自動返回VC6主窗口.

③顯示文件編輯區(qū)窗口,在文件編輯區(qū)窗口輸入源程序文件。

編譯方法:

在VC++環(huán)境中單擊工具欄目渤!曰色中的參按鈕,或者按

Ctrl+F7鍵,或者選擇Build菜單中的Compile選項3種方式都可以進

行程序的編譯。執(zhí)行編譯命令后,輸出窗口會顯示出編譯結(jié)果。

連接方法:

在VC++環(huán)境中單擊工具欄.渤!3電中的微按鈕,或者按

F7鍵,或者選擇Build菜單中的Build選項3種方式都可以進行程序的

連接。執(zhí)行連接命令后,輸出窗口會顯示出連接結(jié)果。

執(zhí)行方法:

在vc++環(huán)境中單擊工具欄參渤!m曲中的!按鈕,或者按

Ctrl+F5鍵,或者選擇Build菜單中的Execute選項3種方式都可以運

行程序??蓤?zhí)行程序運行后,將顯示為DOS控制臺狀態(tài),按任意鍵

返回VisualC++6.0環(huán)境。

三、小結(jié)

1.什么是程序

2.程序設(shè)計語言的發(fā)展過程

3.C語言的發(fā)展歷史

4.C語言的主要特點

5.C語言程序的調(diào)試

四、作業(yè)

教材P14習題1所有題目

教學進程

第二章第1講C語言的基本知識

[教學目的]:通過本節(jié)的學習,使學生理解標識符的概念,掌握標識符的定義規(guī)則,了解c語言的基本數(shù)

據(jù)類型,理解常量與變量的概念,熟練掌握整型、實型及字符型常量與變量的定義和使用。

[教學重點]:

1、標識符的定義。

2、變量的定義與應(yīng)用。

3、常量的定義與應(yīng)用。

[教學難點]:

1、變量的定義與應(yīng)用。

2、常量的定義與應(yīng)用。

[教學時數(shù)]:2學時

[授課形式]:多媒體授課、實際操作演示、邊講邊練

[教學過程]:

一、課程回顧介紹(5分鐘左右)

1、語言的發(fā)展經(jīng)歷了那幾個階段?

2、C語言的基本語句結(jié)構(gòu)?

3、C語言的語法特點

4、想一想:下面程序有哪些錯誤?

main()

{

intx,y,z;

x=30;

y=50,

{z=x;x=y;y|=z;}

printf(x=%d,y=%d\nn,X,Y)

一getchO;______n---------------

二、正課階段(70分鐘左右)

2.1標識符和關(guān)鍵字

自然語言與C語言組成要素對比

官然語言字句段多

單詞短語

C語言字符標識符表達式語句函數(shù)程序

字符集

字符是組成語言的最基本的元素,國際上使用最廣泛的計算機字符編碼是ASCII碼,標準的ASCII

碼字符集包括128個字符。

字符說明

字母字符包括大寫字母A?Z以及小寫字母a?z共52個字符

數(shù)字字符包括。?9共10個字符

空格符空格符只在字符常量和字符串常量中起作用

特殊字符是不可顯示、不可打印的字符,用于計算機設(shè)備的操作控制以及在數(shù)據(jù)

特殊字符

通信時進行傳輸控制

其他字符其它字符包括圖形符、標點符和運算符等

標識符:

標識符就是用來標識在C語言程序中出現(xiàn)的符號常量、變量、數(shù)據(jù)類型、函數(shù)和語句的字符序列,C

語言中的標識符是由字符組成,滿足一定的構(gòu)成規(guī)則。

C語言規(guī)定,標識符由字母、數(shù)字、下劃線組成,且第一個字符不能使用數(shù)字。

例如,〃、例、BOOKI、su〃15、都是合法的標識符,

而3、帥門,-/、3Si”dem、$M(m、Siun@Mul、a>b等是不合法的,不能用作C語言的標識符。

關(guān)鍵字:

關(guān)鍵字是系統(tǒng)定義的、具有特定含義、專門用作特定用途的C語言標識符,也稱為保留字。標準C

語言中共有32個關(guān)鍵字。

根據(jù)關(guān)鍵字的作用,可分其為數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字、存儲類型關(guān)鍵字和其它關(guān)鍵字四類。

(1)數(shù)據(jù)類型關(guān)鍵字(12個):char,double,enum,float,int,long,short,signed,struct,union,unsigned,

void

(2)控制語句關(guān)鍵字(12個):break,case,continue,default,do,else,for,goto,if,return,switch,while

(3)存儲類型關(guān)鍵字(4個):auto,extern,register,static

(4)其它關(guān)鍵字(4個):const,sizeof,typedef,volatile

2.2數(shù)據(jù)類型

C語言的數(shù)據(jù)類型

'C語言的數(shù)據(jù)類float

整型

int

隼精度型

基本類型字符型char-j

雙度型

實型(浮點型)

枚舉類型enum

數(shù)據(jù)類型<:double

數(shù)組類型

構(gòu)造類型-結(jié)構(gòu)體類型

-共用體類型

指針類型

空類型

基本數(shù)據(jù)類型

類型名稱中文名稱字節(jié)數(shù)(Byte)位數(shù)(bit)數(shù)值范圍備注

char字符型18728?127-2??(27-1)

int整型216-32768?32767—215?(2'5-1)

-3.4X1O-3?~

單精度實型?位有效數(shù)字

float4323.4X103867

-1.7乂1尸》一

double雙精度實型86415?16位有效數(shù)字

1.7X1O308

2.3常量與變量

2.3.1常量與變量的概念

常量:

在程序運行過程中其值保持不變的量稱為常量。常量可以分為符號常量和直接常量兩種。

字面常面(直接常量):12?44.63“Hello!”

符號常量:用一個標識符代表一個常量。

符號常量是采用宏定義命令定義的常量?;x形式如下:

格式:#define常量名字面常量

舉例:#definePRICE100

#definePI3.14

#defineCi'a'

變量:

在程序運行過程中其值可以被改變的量稱為變量。變量在內(nèi)存中根據(jù)其數(shù)據(jù)類型占據(jù)一定的存儲單

元,用來存入可能變化的值。

變量的定義

變量定義的一般形式為:

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

例如:intij,k;〃定義i,j,k為整型變量

floatxl,x2;〃定義xl,x2為單精度實型變量

doubleyl,y2;〃定義yl,y2為雙精度實型變量

charcl,c2;〃定義cl,c2為字符型變量

變量的賦值

方式1:定義變量的同時賦初值(也叫變量初始化)。

格式:數(shù)據(jù)類型變量名[=初值][,變量名2[:初值2]……];

如:inia=2;

charc=,x,;

floatx=1.2,y=2.4;

方式2:通過一個賦值語句給變量賦初值。

格式:變量名=初值;

intaM%乒a,b;

-------------------------------b=3;

思考?

#include<stdio.h>

voidmain()

{

intstudent,age;

intif=adrress=l;

floatscore=90;

stadent=2;

Age=20.7;

printf(n%d%d%dif,student,age,score);

?

2.3.2整型常量與變量

整型常量

在C語言中整型常量可以表示為十進制、八進制和十六進制三種形式。

(1)十進制整型常量

其形式是:d

其中,d可以是從。?9的一個或多個十進制數(shù)位,第一位不能是0。進位規(guī)則為:逢十進一。

如:123,-456

(2)八進制整型常量

其形式是:0d

其中,d可以是一個或多個八進制數(shù)(0?7之間),起始。是必須的引導符。進位規(guī)則為:逢八進一。

如:0123,-0456,

(3)十六進制整型常量

其形式是:Oxd

其中,d可以是一個或多個十六進制數(shù)(從0?9的數(shù)字,或是從大到f的字母)。引導符0是必須的,字

母X可以用大寫或小寫,進位規(guī)則為:逢十六進一。

非十進制數(shù)轉(zhuǎn)化成十進制數(shù)

按權(quán)展開:

1)二進制轉(zhuǎn)化十進制

如:1101

=1*23+1*22+0*21+1*20

=8+4+0+1=13

十進制數(shù)轉(zhuǎn)化成非十進制數(shù)

取余倒排序法:除數(shù)破除裁余我

)十進制轉(zhuǎn)化二進制

12|6

如:將6轉(zhuǎn)化成二進制0-

求:將180轉(zhuǎn)化成八進制、2|31

十六進制11

整型變量

類型字節(jié)數(shù)范圍

15

int[signed]int2-32768^32767(2-1)

unsignedint20^65535

short[signed]short[int]2-32768^32767(215-1)

[mt]unsignedshort[int]20^65535

long[signed]long[int]4-2147483648~2147483647

[mt]unsignedlong[int]40^4294967295

實例分析

#include<stdio.h>

intmain()

inta,b,c,d;〃定義a、b、c、d為基本整型變量

unsignedu;〃定義u為無符號基本整型變量

a=10;b=-20;u=5;

c=a+u;

d=b-u;

printf("c=%d,d=%d\n",c,d);

return0;

)

2.3.3實型常量與變量

在C語言中,實型常量有兩種表示形式:十進制小數(shù)形式和指數(shù)形式

(1)十進制小數(shù)形式

由正負號、數(shù)碼。?9和一個小點組成,小數(shù)點前面和后面可以沒有數(shù)字。

例如

.123//表示實數(shù)0.123

-.123〃表示實數(shù)-0.123

123.〃表示實數(shù)123.0

(2)指數(shù)形式

由十進制小數(shù)或整數(shù)與字母e或E組成。一般形式如下:

aEn或aen

其中,a可以是十進制小數(shù)或整數(shù),n必須為十進制整數(shù),整體表示數(shù)aXIOn。如:0.23e2,-0.45e-3,

3.0F+5

實型變量

類型字節(jié)數(shù)有效數(shù)字數(shù)值范圍

float46*7io-37*io38

double815-16io~3O7*io308

longdouble1018-1910-4931~104932

實例分析

#include<stdio.h>

intmain()

<

floatazb;〃定義a、b為單精度浮點型變量

doubled;〃定義d為雙精度浮點型變量

a=3.56;b=12345.678;

d=12345.6789;

printf("%fz%f,b,d);

return0;

}

2.3.4字符型常量與變量

在C語言中字符型數(shù)據(jù)包括字符和字符串兩種。字符型數(shù)據(jù)在內(nèi)存中

存儲的是字符的ASCII碼值的二進制形式,一個字符的存儲占用一個字節(jié)。

字符常量

C語言中,字符常量分為普通字符常量和轉(zhuǎn)義字符兩種。

常用轉(zhuǎn)義字符及其含義

為義字符含義ASCH碼值《十進制)

?W<ML)7

退格BS)8

\f投頁an12

\n執(zhí)行0J)10

3回王仁B)13

水平制寰(KT)9

岳直制奏《VI)11

反制杠或

問號字苻63

V單徽號字符39

V雙魔號字符34

\0空手符(皿)0

\ddd任意字符dA5f制

\xhh任意字符1~2位十六進制

字符變量

每個字符變量被分配一個字節(jié)的內(nèi)存空間。由于字符變量在內(nèi)存中存

放的是字符的ASCII碼值,所以也可以把它們看成是整型量。字符數(shù)據(jù)可以參與算術(shù)運算,也可以與整

型量相互賦值,還可以按照整數(shù)形式輸出。

實例分析

#include<stdio.h>

intmain()

{

shortintn=97;〃字符的ASCII碼為97

printf("%d,%c,%d,%c\n",n,n,n+1,n+1);

return0;

)

字符串常量

C涪言中的字符串常量是由一對雙引號括起來的字符序列。

字符串常量和字符常量是不相同的量,其區(qū)別如下:

(1)從表不形式上看,字符常量是由單引號括起來的,字符串常量是由雙引號括起來的。

(2)從字符的個數(shù)上看,字符常量只能是單個字符,字符串常量可以包含0個或多個字符。

(3)有字符變量,但沒有字符串變量。C語言沒有專門的字符串類型變量,而是使用字符型數(shù)組或字符

型指針來存儲字符串。

(4)字符常量在內(nèi)存中占1個字節(jié),字符串常量在內(nèi)存中的字節(jié)數(shù)是字符個數(shù)加1。因為C語言規(guī)定,

每一個字符串的末尾加一個字符串結(jié)束標志\0(ASCII碼為0

三、小結(jié)

1、標識符和關(guān)鍵字

2、C語言的數(shù)據(jù)類型

3、常量的概念、分類及表示方法

4、變量的概念、分類及定義、賦值方法

四、作業(yè)

教材P14習題1所有題目

教學進程

第二章第2講C語言的基本知識(二)

[教學目的]:通過本節(jié)的學習,使學生熟練掌握c語言提供的各種運算符,掌握運算符的優(yōu)先級和結(jié)合

性,掌握各種數(shù)據(jù)類型間的轉(zhuǎn)換并能夠應(yīng)用所學知識編寫簡單的應(yīng)用程序。

[教學重點]:

1、算術(shù)運算符與表達式。

2、關(guān)系運算符及表達式。

3、邏輯運算符及表達式。

4、?:條件表達式

5、逗號表達式

[教學難點]:

1、?:條件表達式

2、逗號表達式

[教學時數(shù)]:2學時

[授課形式]:多媒體授課、實際操作演示、邊講邊練

[教學過程]:

一、課程回顧介紹(5分鐘左右)

1、標示符的構(gòu)成?

2、變量的定義格式及賦值方法?

3、下面哪些是合法的實型常量?

4、說出下列字符串“Goodstudents”的長度?字節(jié)數(shù)?以及在內(nèi)存中的存放方式

5、字符常量與字符串常量有哪些區(qū)別?

想一想,分析下面程序的運行結(jié)果?

#include<stdio.h>

voidmain()

charchi,ch2;

chl='az;ch2='bz;

n,

printf(chl=%c,chl=%d\n'zchi,chl);

printf("ch2=%c,ch2=%d\n",ch2,ch2);

printf("ch2-32=%czch2-32=%d\n"zch2-

32,ch2-32);

二、正課階段(70分鐘左右)

2.1運算符和表達式

基本概念

運算是對數(shù)據(jù)進行加工的過程,用來表示各種不同運算的符號稱為運算符。參加運算的數(shù)據(jù)稱為運

算量或操作數(shù)。用運算符將運算量連接起來的符合C語言語法規(guī)則的式子稱為運算表達式,簡稱表達式。

C語言的運算符

運篁符類型包括運菖符

算術(shù)運算符?、一、*、/、*,++、---

關(guān)系運“符X<==、X、<=、!=

邏輯運算符1、M、||

位嫌作運“符?.>X\二&

睢值運”符;及我復合睢值運凝符

條件運”符?:

逗號運算符

指針運”符&A

求字字運復符sizeof

特殊運篁符()、[】、.

2.1.1算術(shù)運算符及算術(shù)表達式

算術(shù)運算符

C語言算術(shù)運算符可以分為基本算術(shù)運算符、自增、自減運算符和止負號運算符三類。

(1)基本算術(shù)運算符

基本算術(shù)運算符包括5種:+(加)、-(減)、*(乘)、/(除)、%(取余〕。

(2)自增和自減運算符

C語言中的自增運算符為++,自減運算符為都是單目運算符,具有右結(jié)合

性。運算符“++”表示操作數(shù)加1,運算符表示操作數(shù)減L

(3)正負號運算符

正負號運算符是單目運算符,如-a,-b,?5,+8等。

算術(shù)表達式

用算術(shù)運算符將運算對象連接起來,符合C語法規(guī)則,并能說明運算過程的式子,稱為算術(shù)表達式。

算術(shù)達式的構(gòu)成規(guī)則如下:

1)數(shù)值型常量、數(shù)值型變量、數(shù)值型函數(shù)調(diào)用;

2)+(算術(shù)表達式)、一(算術(shù)表達式);

3)++整型變量、一一整型變量、整型變量++、整型變量一一;

4)(算術(shù)表達式)雙目算術(shù)運算符(算術(shù)表達式);

5)有限次使用上述規(guī)則獲得運算式也是算術(shù)表達式。

(1)基本算術(shù)運算符:+-*/%

說明兩個整數(shù)相除的結(jié)果為整數(shù).舍去小數(shù)部分.例'

當前為負數(shù)時,多采用?向零取的方法.?93-1

5.0/3-?

求余運算的兩均應(yīng)為整數(shù)例,3%3=2

案例1:已知三角形的邊長a、b、c,求三角形周長的一半

程序運行結(jié)果口

#include<stdio.h>

voidmain()s=0.00.*

{

floatazb,czs;

a=3;b=4;c=5;

s=l/2*(a+b+c);

n

printf(s=%8.2f"zs);

)

⑵自增'自減運算符

自增運算符(++)

自減運算符(一一)

++i,-i(在使用i之前,使i的值加(減)1)

i++,i-(在使用i之后,使i的值加(減)I)

思考:分析下面的程序運行結(jié)果?

#include<stdio.h>

main()/*主函數(shù)*/

{

int

i=5;

j=10;

ni=++i;

n=j++;

k=i+j++;

printf(',i=%d\nj=%d\n,m=%d\n,n=%d\n,k=%d\n,'jj,m,n,k);

getchO;

]

2.1.2關(guān)系運算符及關(guān)系表達式

關(guān)系運算符:vv=>>===!=(6種)

優(yōu)先級:賦值<關(guān)系(后2〈前4)<算術(shù)

關(guān)系表達式用關(guān)系運算符將兩個表達式連接起來的式子

2.1.3邏輯運算符及邏輯表達式

邏輯運算符:!(邏輯非)&&(邏輯與)||(邏輯或)

邏輯運算真值表

.b!a!b?1lb

$0充。0011

$000101

0$01001

001100

邏輯表達式

用邏輯運算符和圓括號將操作數(shù)連接起來的、符合C語法規(guī)則的式子

稱為邏輯表達式。具體構(gòu)成規(guī)則如下:

單目邏輯運算符表達式

表達式雙目邏輯運算符表達式

2.1.4賦值運算符及賦值表達式

(=)用于賦值運算,是C語言中最基本的運算符,分為基本的賦值運算和復合賦值運算。由』”連接

的式子稱為賦值表達式。

簡單賦值運算符:=

復合賦值運算符:+=?-=?*=,/=?%=

格式:〈變量〉〈賦值運算符A<表達式〉

例如:inta=10:

例如:a+=10等價于a=a+10

2.1.5條件運算符及條件表達式賦值運算符

條件運算符(?:)是C語言中唯一的一個三目運算符,其目的是進行條件判斷。

條件運算符的一般格式為:

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

條件運算符的運算規(guī)則可以描述為:如果“表達式1”的值為非0(即邏輯真),則運算結(jié)果等于“表

達式2”的值;否則,運算結(jié)果等于“表達3”的值。

例:max=(a>b)?a:b;

2.1.6逗號運算符及逗號表達式

逗號運算符:,

逗號表達式格式:表達式1,表達式2,.................表達式n

案例分析:閱讀下列程序,寫出運行結(jié)果

#include<stdio.h>

inimain()

inta=l,b=3,c=5,x,y;

y=((x=a+b),(b+c));

printf("y=%d,x=%d\n\n",y,x);

return0;

2.1.7sizeof運算符及sizeof表達式

sizeof是C語言的一種單目操作符。將sizeof運算符與操作數(shù)組合在一起構(gòu)成的式子稱為sizeof表達式。

sizeof運算符用來獲得一個數(shù)據(jù)或數(shù)據(jù)類型在內(nèi)存中所占空間的字節(jié)數(shù)。

Sizeof表達式的一般形式

sizeof(表達式)或sizeof(數(shù)據(jù)類型名)

2.1.8C語言運算符的優(yōu)先級與結(jié)合性

運算符要滎運復對■的個數(shù)優(yōu)先0結(jié)合性

1?+一?—《芟型)sizeof1(單目運■后)高右結(jié)合

*/?2(雙目運宣籽)左結(jié)合

?-2(雙目運,衿)左轉(zhuǎn)合

<<=>>=2(雙目運篁箭)左結(jié)合

2(雙目運或苻)左結(jié)合

M2(雙目運宜存)左結(jié)合

II2(雙目運*行)左結(jié)合

?:3(三目運,存)右結(jié)合

=yy2(雙目運?存)右結(jié)合

雙目運,將)左結(jié)合

fft

2.2不同數(shù)據(jù)類型數(shù)據(jù)間的混合運算

在進行某種數(shù)值運算的過程中,會對操作數(shù)的數(shù)據(jù)類型進行類型轉(zhuǎn)換,有些轉(zhuǎn)換由系統(tǒng)自動進行,

有些轉(zhuǎn)換由程序員人為指定。

2.2.1自動轉(zhuǎn)換

對于系統(tǒng)自動進行的類型轉(zhuǎn)換通常要遵循一定的轉(zhuǎn)換規(guī)則,如圖所示

double—float高

Ion

untstsne

,工

inVt4——char、shortffe

2.2.2強制轉(zhuǎn)換

強制類型轉(zhuǎn)換的一般形式如下:

(類型說明符)(表達式)

其功能是把表達式的值的數(shù)據(jù)類型強制轉(zhuǎn)換成類型說明符所指定的類型。

例如,(floai)a表示將變量a轉(zhuǎn)換成float型

(int)(x+y)表示將表達式“x+y”的值轉(zhuǎn)換成int型。

案例分析:閱讀下列程序,寫出運行結(jié)果?

*include<stdio.h>

intmain()

f

I

floatx;

iiiti;

x=4.8;

i=(int)x;將'臨時強制轉(zhuǎn)換成整型,離開本行x還是單精度型

print£(nx=%f,i=%du,x.i);

(

三、小結(jié)

1、C語言的運算符及表達式

>算術(shù)運算符及算術(shù)表達式

>關(guān)系運算符及關(guān)系表達式

>邏輯運算符及邏輯表達式

>賦值運算符及賦值表達式

>條件運算符及條件表達式

>逗號運算符及逗號表達式

>sizeof運算符及sizeof表達式

2、C語言運算符的優(yōu)先級與結(jié)合性

3、不同數(shù)據(jù)類型數(shù)據(jù)間的混合運算

四、作業(yè)

教材P14習題1所有題目

教學進程

第三章第1講算法及順序結(jié)構(gòu)

[教學目的]:通過本節(jié)的學習,使學生理解算法的基本概念,熟練掌握流程圖、N-

S圖,掌握順序結(jié)構(gòu)程序設(shè)計,并能夠應(yīng)用所學知識編寫簡單的應(yīng)用程序。

[教學重點]:

1、算法的特性和要素。

2、流程圖、N-S圖的畫法。

3、順序結(jié)構(gòu)設(shè)計。

4、標準的輸入輸出函數(shù)(getchar()putchar();scanf()printf())

[教學難點]:

1、流程圖、N-S圖的畫法

2、標準的輸入輸出函數(shù)(getchar。、putchar();scanf()>printf())

[教學時數(shù)]:2學時

[授課形式]:多媒體授課、實際操作演示、邊講邊練

[教學過程]:

一、課程回顧介紹(5分鐘左右)

1、指出下列各表達式的值:

如:123/10%10、19%4/5、16/5.0

2、以下程序的輸出結(jié)果是:

//include"stdio.h"

mainO

(

inta=4,b=5,c=0,d;

d=!a&&!b||!c;

printf(H%d\nH,d);

3、閱讀以下程序,寫出程序的輸出結(jié)果?

#inchide”stdio.h”

mainO

inta=5,b=4,c=6,d;

printf(**%d\n*,,d=a>b?(a>c?a:c):(b));

getchO;

}

二、正課階段(70分鐘左右)

2.1算法的基本知識

算法的概念

廣義上講,算法是解決某一問題的方法和步驟。狹義上,算法指的是計算機算法,即對特定問題求解

步驟的?種描述,它是計算機指令的有限序列,其中每?條指令表示計算機可以進行的一個或多個操作。

2.1.1算法的特性和要素

算法的特性

有窮性、確定性、可行性、有零個或多個輸入、有一個或多個輸出

算法的要素

一個計算機所能執(zhí)行的算法必須具備以下兩個要素:基本操作、控制結(jié)構(gòu)

2.1.2算法的描述

算法的描述方法有很多種,最常用的有自然語言、偽代碼、流程圖、N-

S組、PAD圖和計算機語言等。

(1)自然語言

(2)流程圖

流程圖是一種傳統(tǒng)的算法表示方法,用一些圖框表示各種操作,用流

程線表不操作的執(zhí)仃順序。

起止框?輸入輸出框.判斷框.處理框.

O

流程線?連接點.,注釋框」

實例分析:用流圖描述sum=l+2+3+...+99+100的算法

飾出

(3)N-S圖

N-S圖是由LNassi和B.Shneiderman于1973年共同提出的一種結(jié)構(gòu)化描

述方法。

實例分析:用N-S圖描述sum=l+2+3+...+99+100的算法

用Z—£RFU絡(luò)讓6”“―1.2.R.?QO*l<M>6hW

(4)程序設(shè)計語言

對于采用自然語言、流程圖和N-S圖描述的算法,計算機是不能執(zhí)行的。

要讓計算機執(zhí)行一個算法,必須把該算法轉(zhuǎn)換成計算機語言。用計算機語言

表示算法必須嚴格遵循所使用語言的語法規(guī)則。

2.2順序結(jié)構(gòu)程序設(shè)計

2.2.1表達式語句

表達式語句是由表達式加上分號(;)組成。其一般形式如下:

表達式;

2.2.2函數(shù)調(diào)用語句

函數(shù)是C程序的基本組成單位,一個函數(shù)的執(zhí)行是通過在程序中調(diào)用這

個函數(shù)來實現(xiàn)的,調(diào)用函數(shù)的操作由C語句來完成,通常稱為函數(shù)調(diào)用語句。

其一般形式如下:

函數(shù)名(參數(shù)表);

例如,“printfThcllo!”);"就是一個函數(shù)調(diào)用語句。

C語言提供的輸入輸出標準庫函數(shù)有:

getchar()>pulchar()>puts()>gets。、scanf()Wprintf()?

(1)getchar()

字符輸入函數(shù)的一般形式如下:

intgetchar();

功能:接收從終端輸入的一個字符,并返回其ASCH碼值。

例如:intch=getchar();〃從輸入終端(如鍵盤)接收一個字符并把它賦給ch變量。

實例分析:閱讀下列程序,分析運行結(jié)果

#indude<stdio.h>輸入:

voidmain()

aJ

<

charcl;

cl=getchar();摘入:檢ab

putchar(cl);ab

putchar(getchar());

y

getchar。與getch()的區(qū)別?

getchar有一個int型的返回值.當程序調(diào)用getchar時.程序就等著用戶按鍵.用戶輸入的字符被存放在健

盤緩沖區(qū)中.直到用戶按回車為止(回車字符也放在緩沖區(qū)中).如用戶在按回車之前輸入了不止一個字符,其

他字符會保留在鍵盤緩存區(qū)中,等待后續(xù)gelchar調(diào)用讀取.也就是說,后續(xù)的getchar調(diào)用不會等待用戶按鍵,

而直接讀取緩沖區(qū)中的字符,直到緩沖X中的字符讀完為后,才等待用戶按鍵.

getch()與getcharO基本功能相同,差別是getch()直接從鍵盤獲取鍵值,不等待用戶按回車,只要用戶按一個

鍵,getch()就立刻返回

(2)putchar()

字符輸出函數(shù)的一般形式如下:

intputchar(charch)

功能:向終端輸出一個字符,并返I可該字符的ASCH碼值

實例分析:閱讀下列程序,分析運行結(jié)果

attlao]?

USMUMLM?

CKMchi.chXch^.ch4.

cblF??eiH>fch2"Y?<etvMi>.

chA^etciMnhch9F?chnnL

pNchwlchlI.prtctian*tf>>

patchmidC).

尸-chivldm.

icttatiO.

(3)printf()

格式化輸出函數(shù)的一般形式如下:

intprintf(char*format[,argument,...]);

功能:函數(shù)printf將一組參數(shù),按format給定的格式,把數(shù)據(jù)格式化并且輸出到標準輸出設(shè)備。若出

錯,則返回負數(shù)。向終端輸出一個字符,并返回該字符的ASCII碼值。

函數(shù)調(diào)用的一般形式為:

prinlf("格式控制字符串”,輸出項列表);

%[標識][寬度][.精度]格式字符

例如:格式輸出舉例——f格式符

floatx=123.456;

123.456001

printfC%C,x);

123.456001

printfC%10fx);

r___123.46

printfC%10.2F.xJ;

printf(%.2匚xE123.46

123.46___

printfC%10.2「,x);

(4)scanf()

格式化輸入函數(shù)的一般形式如下:

intscanf(格式控制字符串,地址列表)

功能:按照格式控制的要求,將從終端輸入的數(shù)據(jù)賦值給地址列表中的各個變量。格式控制字符串的

含義和函數(shù)printf()中的格式控制字符串類似,地址列表列虛了各變量的地址,由取地址運算符“&”后跟

變量名組成。

函數(shù)調(diào)用的一般形式為:

scanf("格式控制字符串”,地址列表);

%[*][寬度]格式字符

I3,」

3,4

舉例E'b;_K

??由"。廿AxT,癡,&b);[)\

MntfC°/M%<rab);

3,4

m、b;n,___K,,

?c?ifC%d,%<r&a,&b);:4

pdntfC%d,°/od,?b);I%,

2.2.3空語句

僅由分號組成的語句稱為空語句??照Z句是不執(zhí)行任何操作的語句。

例如,

while(getchar()!='\n')

{

;〃循環(huán)體為空語句

)

空語句通常起到占位的作用,在程序沒有完全開發(fā)完成前,可用空語

句占位,以便后續(xù)開發(fā)填充代碼。

2.2.4復合語句

把多個語句用大括號括起來組成的語句稱為復合語句。在語法上,復合語句相當于單條語句,而不是

多條語句。其一般形式為:

(

語句1

語句n

)

復合語句可以放在能夠使用語句的任何地方,它建立一個新的作用域或塊。復合語句是C語言中唯

一不用分號結(jié)尾的語句。

三、小結(jié)

I、C語言的運算符及表達式

>算術(shù)運算符及算術(shù)表達式

>關(guān)系運算符及關(guān)系表達式

>邏輯運算符及邏輯表達式

>賦值運算符及賦值表達式

>條件運算符及條件表達式

>逗號運算符及逗號表達式

>sizeof運算符及sizeof表達式

2、C語言運算符的優(yōu)先級與結(jié)合性

3、不同數(shù)據(jù)類型數(shù)據(jù)間的混合運算

四、作業(yè)

教材P14習題1所有題目

教學進程

第三章第2講選擇結(jié)構(gòu)設(shè)計

[教學目的]:通過本節(jié)的講解使學生了解c語言的基本程序設(shè)計結(jié)構(gòu)一一選擇結(jié)構(gòu)。使學生能夠達到編

寫簡單程序的能力。

[教學重點]:

1、if語句格式

2、switch語句格式。

[教學難點]:

1、if語句多分支結(jié)構(gòu)

2、if語句的嵌套

[教學時數(shù)]:2學時

[授課形式]:多媒體授課、實際操作演示、邊講邊練

[教學過程]:

一、課程回顧介紹(5分鐘左右)

1、單個字符的輸入、輸出

getchar()putchar()

按格式的輸入、輸出

scanf()printf()

2、閱讀下列程序,分析運行結(jié)果

#include"stdio.h"

main()

intnum=12345;

floatx=123.456;

printf("num=%3d,x=%1Of\n",num,x);

printf(,,num=%d,x=%.2f\n",num,x);

prinlf(',num=%-8d,x=%-10.2f),num,x);

getch();

二、正課階段(70分鐘左右)

3.3.1if語句

(1)單分支if語句

該語句的一般形式如下「一

if(表達式)

語句;

功能:如果表達式的值為其,

則執(zhí)行其后面的語句,否則不執(zhí)

行該語句。

(2)雙分支if語句

程序舉例:

#include<stdio.h>

voidmain()

(

intnum;

printf("\n請輸入一個整數(shù):");

scanf("%cT,&num);

if((num%2)==0)

primR“%d是一個偶數(shù)。\n",num);

else

printff%d是一個奇數(shù)。\n",num);}

(3)多分支if語句

該語句的一般形式如下:

if(表達式1)

語句1

elseif(表達式2)

語句2

elseif(表達式n)

語句n

else

語句n+1

功能:依次判斷表達式的值,當出現(xiàn)某個表達式的值為真時,則執(zhí)行其對應(yīng)的語句,然后跳轉(zhuǎn)到整

個if語句之后繼續(xù)執(zhí)行程序;如果所有的表達式均為假,則執(zhí)行else后的語句,即語句n+L

案例分析:

根據(jù)輸入的考試成績(百分制整數(shù))打印出等級水平。(使用if~else語句實現(xiàn))A:90-100B:80-89

C:70-79D:60-69E:<60

#indude<stdio.h>

voidmain()

<

intscore;

printfC請始入考試成績0?100:");

bCdiirC'^d^&M-ore);

if(score>100)

printfC請洽入。?100之間的整數(shù)\n");

elseif(score>=90)printfC'A\nw);

elseif(score>=80)printfC'B\n*r);

elseif(score>=70)printfC'C\n,r);

elseif(score>=60)

printfCD\n*3;

else

DrintfCTW);}

(4)嵌套的if語句

當if語句的操作語句中包含其他if語句時,稱為嵌套的if語句。該

語句的基本形式如下:

if(表達式1).

if(表達式2〉)

語句

else>if子句內(nèi)嵌if語句

語句2.」

else^

if(表達式3〉)

語句3~

else?else子句內(nèi)嵌if語句

語句4”.

案例分析

main()

<

inta=lzb=3zc=5zd=4zx;

if(a<b)

if(c<d)x=l;

else

if(a<c)

if(b<d)x=2;

elsex=3;

elsex=6;

elsex=7;

printf("x=^>d",x);

getch();

)

思考?

1)編寫程序,輸入一個x的值,按以下函數(shù)計算并輸出y的值。

2)求一個仟意的一元二次議程ax2+bx+c=0的解。

3.3.2switch語句

C語言提供switch語句專門處理多分支的情形,使程序變得簡潔易懂。

switch語句的一般形式如下:

switch(表達

溫馨提示

  • 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

提交評論