![縣職業(yè)技術(shù)教育學校C語言電子教案_第1頁](http://file4.renrendoc.com/view7/M01/36/1E/wKhkGWbrCKKAdinJAAFqsj8pYEU507.jpg)
![縣職業(yè)技術(shù)教育學校C語言電子教案_第2頁](http://file4.renrendoc.com/view7/M01/36/1E/wKhkGWbrCKKAdinJAAFqsj8pYEU5072.jpg)
![縣職業(yè)技術(shù)教育學校C語言電子教案_第3頁](http://file4.renrendoc.com/view7/M01/36/1E/wKhkGWbrCKKAdinJAAFqsj8pYEU5073.jpg)
![縣職業(yè)技術(shù)教育學校C語言電子教案_第4頁](http://file4.renrendoc.com/view7/M01/36/1E/wKhkGWbrCKKAdinJAAFqsj8pYEU5074.jpg)
![縣職業(yè)技術(shù)教育學校C語言電子教案_第5頁](http://file4.renrendoc.com/view7/M01/36/1E/wKhkGWbrCKKAdinJAAFqsj8pYEU5075.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
XX縣職業(yè)技術(shù)教育學校
授課年級16級授課班級XXXI、2授課日期授課節(jié)次
錮
教學課題C語言概述
了解C語言出現(xiàn)的歷史背景
教學
正確理解C語言特點
熟悉簡單C程序結(jié)構(gòu)、特點、執(zhí)行過程
目標掌握運行C程序步驟與方法
正確理解C語言特點
重點
難點熟悉簡單C程序結(jié)構(gòu)、特點、執(zhí)行過程
教學資
教案、實例
源準備
教學活動流程設(shè)計旁注
第1章C語言概述
§1.1C語言出現(xiàn)的歷史背景
1、程序設(shè)計語言的發(fā)展
(1)機器語言:計算機能直接識別的語言。
(2)匯編語言:助記符編寫的語言。
(3)高級語言:面向?qū)ο蟪绦蛟O(shè)計語言(如VB程序設(shè)計語言、JAVA程序設(shè)計語言)和
面向過程程序設(shè)計語言。
2、C語言出現(xiàn)歷史背景
(1)時間:1972-1973
(2)地點:美國貝爾實驗室
(3)目的:開發(fā)UNIX操作系統(tǒng)
§1.2C語言特點
1、語言簡潔、緊湊、靈活
2、運算符和數(shù)據(jù)類型豐富
3、程序設(shè)計結(jié)構(gòu)化、模塊化
4、生成目標代碼質(zhì)量高
5、可移植性好
§1.3簡單C程序介紹
例1.1第一個程序Hello,World!
教學活動流程設(shè)計旁注
ttinclude<stdio.h>
main()
(
printf("Hello,World!");
}
說明:
1、ttinclude<stdio.h>是文件包含編譯預(yù)處理命令,stdio.h是標準輸入輸出頭文件
1、main為主函數(shù),每個C程序有且必須有一個主函數(shù),無論其位置在哪,程序總是從main
函數(shù)開始執(zhí)行
2、printf是C語言中的輸出函數(shù),雙引號中的字符串原樣輸出
3、;分號是C語言中的語句結(jié)束標志
例1.2求兩數(shù)之和
ttinclude<stdio.h>
main()
{
inta,b,sum;/*Definatethreevariables*/
a=123;
b=456;
sum=a+b;
printf("Sumis%d”,sum);
}
說明:
1、%d是輸出格式字符,控制輸出時的數(shù)據(jù)類型和格式,表示十進制整數(shù)
2、/**/為注釋
例1.3求任意兩數(shù)之和
ttinclude<stdio.h>
main()
{inta,b,sum;
scanf("%d,%d",&a,&b);
sum=add(a,b);
printf("Sum=%d",sum);
}
intadd(intx,inty)
{intz;
z=x+y;
return(z);
}
說明:
1、scanf是C語言中的輸入函數(shù),從鍵盤讀入兩個十進制整數(shù),分別放入變量a和b對應(yīng)
的
地址單元中
2、調(diào)用函數(shù)add,定義函數(shù)add,函數(shù)返回值為整型,形參x和y為整型
3、return將z值返回,賦給sum
C語言的格式特點:
習慣用小寫字母,大小寫敏感
不使用行號,無程序行概念
可使用空行和空格
結(jié)構(gòu)特點:
>C程序由函數(shù)構(gòu)成
>C程序由語句組成
>/**/為注釋,不產(chǎn)生編譯代碼
教學活動流程設(shè)計旁注
§1.4C程序的上機步驟
1、C程序開發(fā)步驟
(1)編輯源程序:擴展名為.c
(2)編譯目標程序:擴展名為.obj
(3)連接成可執(zhí)行程序:擴展名為.exe
2、VC++6.0集成開發(fā)環(huán)境的使用方法
(1)啟動VC++6.0,建立一工作區(qū)
(2)在此工作區(qū)中建立一工程
(3)在此工程中建立一文件(注意擴展名為.c)編輯后執(zhí)行程序
作業(yè)
1>簡述C程序的特點;
2、編寫一個簡單的C程序,在屏幕上顯示“1StudyCProgramming”
第一章C語言設(shè)計概述
1、C語言的歷史背景
板2、C語言的特點
書3、簡單C程序介紹
設(shè)4、C程序的組成
計5、C程序的上機步驟
6、作業(yè)
教
學
后
記
XX縣職業(yè)技術(shù)教育學校
XXXI、2
授課年級16級授課班級授課日期授課節(jié)次
錮
教學課題算法1
教學
算法的表示形式—流程圖
C中數(shù)據(jù)類型的分類
常量與變量
目標整型數(shù)據(jù)表示方法、存儲形式、分類
整型數(shù)據(jù)在內(nèi)存中的存放形式
重點
如何解決整數(shù)的溢出問題
難點
教學資
教案、實例
源準備
教學活動流程設(shè)計旁注
算法的概念
1、算法:為解決一個問題而采取的方法和步驟。
2、程序=算法+數(shù)據(jù)結(jié)構(gòu)
3、算法是程序的靈魂
簡單算法舉例
1、求1X2X3X4X5
§2.3算法的特性
1)有窮性
2)確定性
3)有0個或多個輸入
4)有一個或多個輸出
5)有效性
怎樣表示一個算法
一、算法的表示形式
1、用自然語言表示
2、用流程圖表示
3、用偽代碼表示
4、用計算機語言表示
二、流程圖:傳統(tǒng)流程圖、N-S流程圖
1、傳統(tǒng)流程圖的表示方法
2、三種基本結(jié)構(gòu)傳統(tǒng)流程圖與N-S流程圖
教學活動流程設(shè)計旁注
一、數(shù)據(jù)與數(shù)據(jù)類型
1、數(shù)據(jù):程序加工處理的對象。
2、數(shù)據(jù)類型:具有某種性質(zhì)數(shù)據(jù)的集合。
二、C中數(shù)據(jù)類型
整型
字符型單精度型
基本類型浮點型雙精度型
枚舉型
數(shù)組
C中數(shù)據(jù)類型構(gòu)造類型結(jié)構(gòu)體
共用體
指針類型
空類型
常量與變量
一、常量
1、定義:在程序運行過程中其值保持不變的量。
2、常量類型
>數(shù)值型整型(123)、實型(12.3)
>字符型字符型(匕,)、字符串型(“a”)
>符號常量:#definePAI3.1415926
二、變量
1、定義:在程序運行過程中其值可以改變的量。
2、變量在內(nèi)存中存放形式:一個變量有一個名字,并在內(nèi)存中占一定的存儲單元,用來存
放變量的值。
4、變量的定義格式(變量必須先定義后使用)
類型說明符變量名1,變量名2,.....,變量名n;
例:inta,b,c;
3整型數(shù)據(jù)
一、整型常量的表示方法
1、十進制:123
2、八進制:0123=(123)8
3、十六進制:0x123=(123)16
二、整型變量
1、整型數(shù)據(jù)在內(nèi)存中的存放形式
>在內(nèi)存中以二進制補碼的形式存放,占用2個字節(jié)的內(nèi)存空間
>數(shù)的編碼:原碼、反碼、補碼
原碼:數(shù)的二進制編碼。
反碼:正數(shù)等于原碼,負數(shù)將原碼逐位變反(符號位為1)
補碼:正數(shù)等于原碼,負數(shù)將原碼變反末位加1。
2、整型變量分類
基本型:無符號unsignedint>有符號int
短整型:無符號unsignedshortint>有符號shortint
長整型:無符號unsignedlongint、有符號longint
教學活動流程設(shè)計旁注
3、例題(整型數(shù)據(jù)的溢出問題)
main()
{inta,b;
a=32767;
b=a+l;
printf("%d,%d”,a,b);
)
作業(yè)
1、簡述C程序中有哪些常用的數(shù)據(jù)類型;
2、P153,5
算法
7、算法的基本概念;
板8、C語言中的數(shù)據(jù)結(jié)構(gòu);
書9、常量;
設(shè)10、變量;
計
11、變量的種類;
12、例題分析
教
學
后
記
XX縣職業(yè)技術(shù)教育學校
授課年級16級授課班級XXXI、2授課日期授課節(jié)次
教學課題浮點型數(shù)據(jù)
教學
浮點型數(shù)據(jù)與字符型數(shù)據(jù)的分類、表示方法與存儲形式
變量的賦值形式
各種類數(shù)值型數(shù)據(jù)間相互轉(zhuǎn)換的規(guī)則與方法
目標
重點
靈活掌握各種數(shù)據(jù)的存儲形式
難點
教學資
教案、實例
源準備
教學活動流程設(shè)計旁注
一、浮點型常量的表示方法
1、十進制小數(shù):數(shù)字+小數(shù)點
例:0.123,123.0,.456
2、指數(shù)形式:123X102=123e2=l.23e4
要求:E前必須有數(shù)字,E后數(shù)字必須為整數(shù)。
規(guī)范化指數(shù)形式:小數(shù)點左側(cè)有且僅有一位非零數(shù)字。
二、浮點型變量
1、浮點型數(shù)據(jù)在內(nèi)存中存放形式
指數(shù)形式存放,占用4個字節(jié),如圖所示
小數(shù)符號小數(shù)指數(shù)符號指數(shù)
例:1.23e4
+1.23+4
結(jié)論:小數(shù)位數(shù)越多,精度越高;1旨數(shù)位數(shù)越多,范圍越大。
2、浮點型變量分類
單精度:float
雙精度:double
長雙精度:longdouble
3、舍入誤差:見書中例題。
教學活動流程設(shè)計旁注
字符型數(shù)據(jù)
一、字符常量
1、定義:用一對單引號括起來的一個字符或以'開頭的字符序列。
'a,,\n(又稱轉(zhuǎn)義字符)
2、轉(zhuǎn)義字符(見書中表)
例:、101=1*80+1*82=65即表示字母A
二、字符變量
1、定義格式:charcl,c2;
2、作用:存放一個字符
4、字符串常量
定義:用一對雙引號括起來的字符序列
?在內(nèi)存中存放形式:末尾加串結(jié)束標志\0(系統(tǒng)自動加)
例:“HELLO”
HELL0\0
?字符串常量不能賦給一個字符變量。
例:charcl;/*字符變量*/
cl="hello"/*賦值錯誤*/
變量賦初值
一、賦值形式
1、定義變量時賦值
inta=3;
floatf=3.56;
charc='a';
2、部分賦值
inta,b,c=5;
3、賦同一個初值
inta=3,b=3,c=3;
教學活動流程設(shè)計旁注
浮點型數(shù)據(jù)與字符型數(shù)據(jù)的分類、表示方法與存儲形式
變量的賦值形式
各種類數(shù)值型數(shù)據(jù)間相互轉(zhuǎn)換的規(guī)則與方法
作業(yè)
1、P17/l,2
2、P弊
浮點型數(shù)據(jù)
13、浮點型常量的表示方法;
板14、浮點型變量的分類(單精度、雙精度、長雙精度);
書15、常量;
設(shè)16、變量;
計
17、字符常量;
18、字符變量;
19>例題分析;
教
學
后
記
XX縣職業(yè)技術(shù)教育學校
、
授課年級16級授課班級XXXI2授課日期授課節(jié)次
錮
教學課題簡單程序的調(diào)試及數(shù)學運算符
教學通過上機調(diào)試程序掌握各種數(shù)據(jù)類型的表示方法、存儲形式
掌握各種不同數(shù)據(jù)間混合運算的運算規(guī)則
掌握各種運算符的使用方法
通過程序調(diào)試正確理解各種表達式的運算結(jié)果
目標
重點掌握各種運算符的使用方法
難點
教學資
教案、實例、上機操作
源準備
教學活動流程設(shè)計旁注
上機按要求調(diào)試下程序
1、輸入并運行下程序
main()
{inta,b;
a=32767;b=a+l;
printf("%d,%d\n”,a,b);
)
2、輸入并運行下程序
main()
{charcl,c2;
cl='a';c2='b';
printf("%c,%c\n”,cl,c2);
)
1)將上面printf語句改成printf(a%d,%d\nv,cl,c2);結(jié)果?
2)將charcl,c2;改成intcl,c2;結(jié)果?
3)將cl='a?;c2='b';改成cl=“a";c2=“b";結(jié)果?
4)將cl='a';c2='b';改成將cl=300;c2=400;改成結(jié)果?
3、輸入并運行下程序
main()
{charcl='a',c2='b',c3='c',c4='\1O1',c5='\116?;
printf(aa%cb%c\tc%c\tabc\n?,,cl,c2,c3);
printf(a%c%c\nw,c4,c5);
)
教學活動流程設(shè)計旁注
4、輸入并運行下程序
main()
{inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf("%d,%d,%d,%d\n?,,i,j,m,n);
)
1)將m=++i;n=j++;改成m=i++;n=++j;結(jié)果?
2)將m=++i;n=j++;刪除并將printf("%d,%d,%d,%d\n,,,i,j,m,n);改為
printf("%d,%d,%d,%d\n”,i,j,i++,j++);結(jié)果?
算術(shù)運算符和算術(shù)表達式
一、算術(shù)運算符和算術(shù)表達式
1、基本算術(shù)運算符
+(加法或正值運算)1+2,+100
-(減法或負值運算)-2,-100
*(乘法運算符)1*2
/(除法運算符)1/2兩整數(shù)相除結(jié)果為整數(shù)。公0
%(?;蛉∮噙\算符)要求運算符兩側(cè)均為整數(shù)如5/3=1
2、算術(shù)表達式和運算符的優(yōu)先級與結(jié)合性
1)算術(shù)表達式的定義:由算術(shù)運算符、括號將操作數(shù)連接起來符合C語法規(guī)則的式
子。
2)優(yōu)先級與結(jié)合性
*/%IWJ(左至右結(jié)合)
+-低(左至右結(jié)合)
例題:X/(67-(12+Y)*A)判斷計算先后順序?
3、強制類型轉(zhuǎn)換運算符
1)轉(zhuǎn)換格式:(類型名)(表達式)
作用:將表達式轉(zhuǎn)換成所需的格式。
main()
{floatx;intI;
x=3.6;
I=(int)x;
printf("x二%f,I=%d”,x,I);
)
4、自增、自減運算符
1)++i,--i(先使i的值加1或減1,再使用i)
2)i++,i—(先使用i,再使i加1或減1)
3)++與--只能用于變量,不能用于常量或表達式
例:5++,(3*8)++錯誤
4)++與--結(jié)合方向自右向左。
-1++=-(1++)
1=3;printf("%d,%d”,I,I++);
教學活動流程設(shè)計旁注
賦值運算符和賦值表達式
一、賦值運算符
1、運算符:為等號“二”
2、與數(shù)學運算的區(qū)別
?數(shù)學運算符是判斷等號兩側(cè)的數(shù)值是否相等。
?賦值運算符是將等號右側(cè)的數(shù)值賦給左側(cè)。
3、類型轉(zhuǎn)換
1)將實數(shù)賦給整數(shù),舍去小數(shù)部分。
2)將整數(shù)賦給單雙精度變量時,數(shù)值不變,但以浮點形式存儲到變量中。
3)將一個double賦給float時,截取前7位有效數(shù)字。
4)將字符型賦給整型時,無符號時高8位補零,有符號時,高8位補1
5)將一個intshortlong賦給一個char時,只將低8位賦給char
4、復(fù)合賦值運算符
定義:在賦值運算符前加其他運算符
a+=b等價a=a+b
x%=y+3等價x=x%(y+3)
5、賦值表達式
格式:〈變量〉〈賦值運算符》〈表達式〉
作業(yè)
1、上機調(diào)試課堂上所學的實例;
2、寫出上機調(diào)試程序時出現(xiàn)的錯誤及解決方法;
3、P1945
程序調(diào)試及算術(shù)、關(guān)系運算符
20、上機調(diào)試課件中的程序;
板21、上機調(diào)試例1及例2;
書22、算術(shù)運算符和算術(shù)表達式;
設(shè)23、關(guān)系運算符及關(guān)系表達式;
計24、理解賦值號與數(shù)學中等于號的區(qū)別;
教
學
后
記
XX縣職業(yè)技術(shù)教育學校
授課年級16級授課班級xxxi、2授課日期授課節(jié)次
教學課題運算符與表達式詳解
教學運算符的各類
表達式的種類
算術(shù)運算符
自增自減運算
目標
重點算術(shù)運算符
自增自減運算
難點
教學資
教案、實例、上機操作
源準備
教學活動流程設(shè)計旁注
運算符與表達式詳解
【問題】日常生活中我們會進行各種各樣的數(shù)據(jù)運算。在c語言中將如何表示這些運
算呢?
C語言的運算符非常豐富。除控制語句、輸入輸出語句以外的幾乎所有的基本操作都作
為運算符處理的。運算符的使用方法也非常靈活,這是C語言的主要特點。C語言運算符一
般可分為以下幾類:
1.算術(shù)運算符+-*/%
2.關(guān)系運算符>>=<<===!=
3.邏輯運算符!&|
4.位運算符〈〈〉〉~|&
5.賦值運算符=及其擴展賦值運算符
6.條件運算符?:
7.逗號運算符,
8.指針運算符*&
9.求字節(jié)數(shù)運算符sizeof
10.類型轉(zhuǎn)換運算符(類型)
教學活動流程設(shè)計旁注
11.分量運算符.->
12.下標運算符[]
13.其他如函數(shù)調(diào)用運算符()
本節(jié)將重點介紹算術(shù)運算符、賦值運算符、逗號運算符,其他運算符將在以后各章中陸
續(xù)介紹。詳細的運算符列表見附錄。
算術(shù)運算符與算術(shù)表達式
1.算術(shù)運算符
C語言中基本的算術(shù)運算符共有5種:
+(加),-(減),*(乘),/(除),%(取模,或稱求余運算符)
C語言規(guī)定:
(1)%(取模運算符),僅用于整型變量或整型常量的運算,如:7%3,其值為1。
(2)/(除運算符),當對兩個整型的數(shù)據(jù)相除時結(jié)果為整數(shù),如:7/3,其值為2,舍
去小數(shù)部分,相當于整除操作。
2.算術(shù)表達式
(1)算術(shù)表達式定義
由算術(shù)運算符、括號以及操作對象組成的符合C語言語法規(guī)則的表達式稱為算術(shù)表達
式。如:a+b-c/d*(a-c)。
(2)優(yōu)先級
一個表達式中若有多個運算符混合在一起,則計算的先后次序為先算括號,再根據(jù)相
應(yīng)運算符的優(yōu)先級,高的優(yōu)先。乘、除、取模運算符的優(yōu)先級高于加、減運算符的優(yōu)先級,
即先乘、除、取模,后加、減。算術(shù)運算符的優(yōu)先級在所有運算符中是較高的,僅次于括
號、單目運算符、類型轉(zhuǎn)換運算符和求字節(jié)數(shù)運算符。
(3)結(jié)合方向
當一個運算對象兩側(cè)的運算符的優(yōu)先級別不同時,應(yīng)遵循優(yōu)先級高的先處理的規(guī)則。
當一個運算對象兩側(cè)的運算符的優(yōu)先級別相同時,應(yīng)遵循運算符的結(jié)合方向。算術(shù)運算符
的結(jié)合方向是從左至右。
3.自增自減運算符
C語言中,增1運算也可以寫為++運算;減1運算也可以寫為一運算。++和一運算是C
語言中兩個較為獨特的單目運算符。它們既可以放在操作數(shù)前,也可以放在操作數(shù)后,并
且操作對象只能是變量,不能是常量或表達式。自增自減運算符的作用是將操作對象的值
增加1或減去1。雖然自增自減運算符既可用于前綴運算,也可用于后綴運算,但其意義不
同。
i++,i-/*表示在使用i值之后將i的值加(減)1*/
++i,—i/*表示在使用i值之前將i的值加(減)1*/
例如:設(shè)i的原值為5,則執(zhí)行下面的賦值語句:
j=i++;/*先將i的值賦給j,i再自增1,賦值語句執(zhí)行完后i的值為6,j的
教學活動流程設(shè)計旁注
值為5*/
j=++i;/*先將i的值自增1,再賦給j,賦值語句執(zhí)行完后i的值為6,j的值為6*/
【例】輸出下面程序中i的值
/*EX2-3.C*/
main()
{
inti=5,j;
j=++i+i++;/*一個前增1使i變成6后才進行加法運算,實際是6+6*/
printf(,z%d%d\n〃,i,j);
j=(++i)+(++i)+(i++);
printf(,z%d%d\n〃,i,j);
printf(,z%d%d\n”,i+j,j++);
}
運行結(jié)果為:
712
1027
3827
作業(yè):P2〃l,2,3P29/3
運算符與表達式詳解
25、運算符的種類;
板26、表達式的種類;
書27、常用的算術(shù)運算符;
設(shè)28、自增與自減運算
計29、習題分析
教
學
后
記
XX縣職業(yè)技術(shù)教育學校
、
授課年級16級授課班級XXXI2授課日期授課節(jié)次
錮
教學課題賦值運算符與逗號運算符
教學
賦值運算
逗號表達式
復(fù)合運算
目標
賦值運算符與數(shù)學中等號的區(qū)別
重點
逗號表達式
難點
教學資
教案、實例、上機操作
源準備
教學活動流程設(shè)計旁注
一、賦值運算
1.賦值運算符
C語言中賦值運算符為“=",它的作用是將賦值運算符右邊表達式或常量的值賦給其左
邊的變量。例如:
a=5;/*表示把一個常量5賦給變量a*/
x=a+5;/*表示將表達式a+5的值賦給變量x*/
【注意】如果賦值運算符兩側(cè)的類型不一致,在賦值時要進行類型轉(zhuǎn)換。我們將在下一
節(jié)“賦值轉(zhuǎn)換”中給大家作說明。
2.復(fù)合賦值運算符
C語言允許在賦值運算符“=”之前加上其他運算符以構(gòu)成復(fù)合的賦值運算符。凡是雙
目運算符,都可以和賦值運算符一起組合成復(fù)合的賦值運算符。在C語言中,可以使用的
復(fù)合賦值運算符有:
+=,-=,*=,/=,%=,?=,?=,&=,"=,=
例如:
a+=5;等價于a=a+5;
教學活動流程設(shè)計旁注
a*=b+5;等價于a=a*(b+5);
a%=5;等價于a=a%8;
C語言中采用這種復(fù)合運算符,一是為了簡化程序,使程序精練;二是為了提高編譯效
率,產(chǎn)生質(zhì)量較高的目標代碼。
3.賦值表達式
(1)賦值表達式的一般形式為:
(變量)(賦值運算符)(表達式)
其功能是將賦值運算符右邊的“表達式”的值賦給賦值符號左邊的變量。整個賦值表
達式的值就是被賦值的變量的值。例如:
b=4;/*表示把4賦值給變量b,整個賦值表達式的值為4*/
賦值表達式也可以包含復(fù)合的賦值運算符,例如:
a+=a-=a*a;
設(shè)a的初值為5,其求解步驟為:
①先計算表達式a-=a*a的值,它相當于a=a-a*a=5-5*5=-20
②再計算a+=-20的值,它相當于a=a+(-20)=-20-20=-40
賦值表達式中的"表達式"又可以是一個賦值表達式,例如:
a=(b=5);
括號內(nèi)的b=5表示一個賦值表達式,其值為5。整個賦值表達式相當于是由b=5和a=b
兩個賦值表達式組合而成的。因此a的值為變量b的值,也為5。這個賦值表達式的值為變
量a的值,也為5。
(2)優(yōu)先級
賦值運算符的優(yōu)先級較低,在所有運算符中,它的優(yōu)先級僅高于逗號運算符。例如:
a=b+6;/*由于賦值運算符的優(yōu)先級低于算術(shù)運算符,所以先算b+6再做賦值運
算*/
(3)結(jié)合性
賦值表達式按照自右向左的順序結(jié)合,例如:
a=5+(b=6);
先做表達式b=6,得到變量b的值為6,表達式的值為6;再做a=5+6,由于賦值運算
符的優(yōu)先級低于算術(shù)運算符,所以先算5+6的結(jié)果為11,再做a=ll的賦值運算。
二、逗號運算符與逗號表達式
1.逗號運算符
C語言提供一種特殊的運算符一逗號運算符。逗號運算符為“,”。用逗號運算符可以將
兩個表達式連接起來。如:
2+3,2+5
2.逗號表達式
(1)逗號表達式就是用逗號運算符把兩個表達式連接起來所形成的表達式。
其一般形式為:
教學活動流程設(shè)計旁注
(表達式1),(表達式2)
逗號表達式的求值過程是:先求表達式1的值,再求表達式2的值,表達式2的值就
是整個逗號表達式的值。如上面的表達式先求2+3的值為5,再求2+5的值為7,最后整個
逗號表達式的值為表達式2+5的值7o
【例】分析下面程序的運行結(jié)果
/*EX2-4.C*/
main()
{
inty=3,x=3,z=l;
printf(,z%d%d\n〃,(++x,y++),z+2);
}
運行結(jié)果為:
作業(yè)
1>P295,6,7,8
2、上機調(diào)試程序運行結(jié)果
賦值運算符、逗號表達式
30、賦值運算符
板31、賦值運算與數(shù)學中等號的區(qū)別
書32、逗號表達式
設(shè)33、復(fù)合運算
計34、習題講解
教
學
后
記
XX縣職業(yè)技術(shù)教育學校
XXXI、2
授課年級16級授課班級授課日期授課節(jié)次
錮
教學課題數(shù)據(jù)類型轉(zhuǎn)換
教學
類型的自動轉(zhuǎn)換
賦值的轉(zhuǎn)換
強制類型轉(zhuǎn)換
目標
重點類型自動轉(zhuǎn)換的規(guī)則
難點
教學資
教案、實例、上機操作
源準備
教學活動流程設(shè)計旁注
數(shù)據(jù)類型轉(zhuǎn)換
C語言中,各種類型的數(shù)據(jù)可以混合運算。字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。不同
類型的數(shù)據(jù)在進行混合運算時,往往需要進行類型轉(zhuǎn)換,將不同類型的數(shù)據(jù)轉(zhuǎn)換成同種類
型的然后進行計算。類型轉(zhuǎn)換有三種方式:類型自動轉(zhuǎn)換;賦值轉(zhuǎn)換和強制類型轉(zhuǎn)換。
一、類型自動轉(zhuǎn)換
不同類型的數(shù)據(jù)可以進行混合運算,例如:
10+'a+2.5*'b'
在進行混合運算時,不同類型的數(shù)據(jù)首先要轉(zhuǎn)換成同一類型,然后才能進行運算。
自動轉(zhuǎn)換規(guī)則為:
(1)單精度浮點型數(shù)據(jù)(float)在運算時自動轉(zhuǎn)換成雙精度浮點型數(shù)據(jù)(double)。
(2)字符型數(shù)據(jù)(char)和短整型數(shù)據(jù)(short)在運算時自動轉(zhuǎn)換成整型數(shù)據(jù)(int)。
(3)整型數(shù)據(jù)(int)和無符號型數(shù)據(jù)(unsigned)混合運算時,將整型數(shù)據(jù)轉(zhuǎn)換成無
符號型數(shù)據(jù)。
教學活動流程設(shè)計旁注
(4)整型數(shù)據(jù)(int)或無符號型數(shù)據(jù)(unsigned)和長整型數(shù)據(jù)(long)混合運算時,
都轉(zhuǎn)換成長整型數(shù)據(jù)。
(5)整型數(shù)據(jù)(int)、無符號型數(shù)據(jù)(unsigned)、長整型數(shù)據(jù)(long)和浮點型數(shù)據(jù)
混合運算時,都轉(zhuǎn)換成浮點型數(shù)據(jù)。
依次方式類推,轉(zhuǎn)換規(guī)則如圖2-2:
高double------
!t
;long
!t
;unsigned
1t
低intvetar,short
圖2-2自動類型轉(zhuǎn)換規(guī)則
總之,在自動類型轉(zhuǎn)換時總是按照精度不降低的原則從低級向高級進行轉(zhuǎn)換的。
例如上面例子中給出的表達式10+'a'+2.5*'b',在運算時,先將所有的字符類型數(shù)據(jù)
'a'和'b'轉(zhuǎn)換成整型,再從左向右進行運算。遇到浮點型數(shù)據(jù)時,將整型數(shù)據(jù)自動轉(zhuǎn)換為
浮點型數(shù)據(jù)。最后表達式的值為浮點型數(shù)據(jù),并且按照浮點型數(shù)據(jù)的運算規(guī)則進行運算。
例如:
設(shè)有以下變量定義,并已賦確定的值
charw;intx;floaty;doublez;
則表達式:w+x+z/y值的數(shù)據(jù)類型為double
說明:此表達式中y為float類型的數(shù)據(jù),所以所有數(shù)據(jù)都自動轉(zhuǎn)換成浮點類型,并
且按照浮點型數(shù)據(jù)的運算規(guī)則進行運算。
二、賦值轉(zhuǎn)換
如果賦值運算符兩側(cè)的類型不一致(但都是數(shù)值型或字符型)時,在賦值過程中會進
行類型轉(zhuǎn)換。轉(zhuǎn)換的基本原則是:
(1)當整型數(shù)據(jù)賦給浮點型變量時,數(shù)值上不發(fā)生任何變化,但有效位增加。如:
floatf;
f=4;/*內(nèi)存中變量f的值為4.000000*/
(2)當單、雙精度浮點型數(shù)據(jù)和整型變量混合運算時,浮點數(shù)的小數(shù)部分將被舍棄。
如:
intx;
x=4.35;/*內(nèi)存中變量x的值為4*/
(3)將字符型數(shù)據(jù)賦給整型變量時,由于字符型數(shù)據(jù)在運算時根據(jù)其ASCII碼值自動
轉(zhuǎn)化為整型數(shù)據(jù),所以將字符型數(shù)據(jù)的ASCII碼值存儲到變量中。如:
intx;
x='a';/*內(nèi)存中變量x的值為65*/
(4)將有符號的整型數(shù)據(jù)賦給長整型數(shù)據(jù),要進行符號擴展。將無符號的整型數(shù)據(jù)賦
給長整型變量時,只需將高位補0即可。
教學活動流程設(shè)計旁注
三、強制類型轉(zhuǎn)換
可以利用強制類型轉(zhuǎn)換運算符將一個表達式強制轉(zhuǎn)換成所需類型。例如:
(int)a;/*表示將變量a的類型強制轉(zhuǎn)換為整型*/
(float)(a+b);/*表示將表達式a+b結(jié)果的類型強制轉(zhuǎn)換為浮點型*/
強制類型轉(zhuǎn)換的一般形式如下:
(強制的類型名)(表達式)
作業(yè)
P56/l,2,3,4
P58/6
數(shù)據(jù)轉(zhuǎn)換
35、自動類型轉(zhuǎn)換
板36、賦值轉(zhuǎn)換
書37、強制類型轉(zhuǎn)換
設(shè)
計
教
學
后
記
XX縣職業(yè)技術(shù)教育學校
XXXI、2
授課年級16級授課班級授課日期授課節(jié)次
錮
教學課題習題講解及第二章知識總結(jié)
教學
通過習題的講解,使學生深入理解本章所學的內(nèi)容
對本章所學知識的總結(jié)
目標
重點理解習題
難點
教學資
教案、實例、上機操作
源準備
教學活動流程設(shè)計旁注
習題講解及第二章知識總結(jié)
(1)表達式應(yīng)該用括號括起來。例如:
(int)(a+b);/*表示將表達式a+b結(jié)果的類型強制轉(zhuǎn)換成int型*/
(int)a+b;/*表示將變量a的類型強制轉(zhuǎn)換成int型后,再進行運算*/
(2)經(jīng)強制類型轉(zhuǎn)換后,得到的是一個所需類型的中間變量,原來變量的類型并沒有
發(fā)生任何變化。
【例11分析下面程序的運行結(jié)果
/*EX2-5.C*/
main()
{
inta;
floatb=2.5;
a=(int)b;
printf("a=%d,b=%f〃,a,b);
}
運行結(jié)果為:
a=2,b=2.500000
教學活動流程設(shè)計旁注
【例2】分析下面程序的運行結(jié)果
/*EX2-6.C*/
main()
1
intx,y;
x=50;
y=(x=x-5,x/5);
printf(〃y=%d〃,y);
}
運行結(jié)果為:
Y=9
【分析】因為x的初始值為50,減5后變?yōu)?5,45除5為9賦給y。
【例3】寫出下面程序的運行結(jié)果。
/*EX2-7.C*/
main()
S
inti=2,j=3,k,n,m;
k=i+j;printfC%d,z,k);
k=k+l;printf(zz%d,z,k);
n=k*3;printf(〃%d〃,n);
m=n%j;printfC%dz,,m);
m=m-i;printf(〃%d〃,m);
n=k/j;printf(〃%d〃,n);
j
運行結(jié)果為:
56180-22
【分析】整型數(shù)據(jù)不管進行什么樣的算術(shù)運算得出的結(jié)果仍為整型數(shù)據(jù)。
【例4】分析下面程序的運行結(jié)果。
/*EX2-8.C*/
main()
intm,n,k;
m=5;n=10;
k=(一m)+(一n);
printf(〃m=%d,n=%d,k=%d\n〃,m,n,k);
m=5,n=10;
k=(m-)+(n一);
教學活動流程設(shè)計旁注
printf("m=%d,n=%d,k=%d\n”,m,n,k);
}
運行結(jié)果為:
m=4,n=9,k=13
m=4,n=9,k=15
【本章小結(jié)】
本章主要介紹了C語言中有關(guān)數(shù)據(jù)與數(shù)據(jù)計算的基本概念和規(guī)則。重點講解了以下幾
個方面的內(nèi)容:
(1)c語言的數(shù)據(jù)類型有四類:基本類型、構(gòu)造類型、指針類型和空類型。
(2)基本數(shù)據(jù)類型包括整型、實型、字符型三種。它們的表示方法、數(shù)據(jù)的取值范圍
和數(shù)值的有效位各有特點。
作業(yè)
上機調(diào)試本次課所講的所有習題
習題講解及本章知識總結(jié)
38、上機調(diào)試課件中的程序;
板39、上機調(diào)試例1及例4;
書3、深入理解習題中所講到的知識點
設(shè)
計
教
學
后
記
XX縣職業(yè)技術(shù)教育學校
XXXI、2
授課年級16級授課班級授課日期授課節(jié)次
錮
教學課題C語言的基本語句
表達式語句
教學
函數(shù)語句
控制語句
復(fù)合語句
目標空語句
重點各種語句的結(jié)構(gòu)和特點
難點
教學資
教案、實例、上機操作
源準備
教學活動流程設(shè)計旁注
簡單程序設(shè)計
在C語言中,程序結(jié)構(gòu)一般分為順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。本章節(jié)主要介紹的
是:順序程序結(jié)構(gòu)、賦值語句、基本的輸入/輸出函數(shù)、格式控制符等。
順序結(jié)構(gòu)是最簡單的也是最基本的程序結(jié)構(gòu),其特點是語句按書寫的順序依次執(zhí)行。
順序結(jié)構(gòu)主要由簡單語句、復(fù)合語句及簡單輸入輸出函數(shù)構(gòu)成的語句組成。printf與
putchar是輸出函數(shù),scanf與getchar是輸入函數(shù),它們既有相同點也有不同點。
一、C語言語句
C語言中語句的作用是向計算機系統(tǒng)發(fā)出操作命令,從而完成一定的操作任務(wù)。
C語句可分為以下5種類型,下面我們進行簡單介紹。
教學活動流程設(shè)計旁注
1.表達式語句
由表達式組成的語句稱為表達式語句,其作用是計算表達式值或改變變量值。它的一
般形式是:
表達式;
即在表達式的末尾加上分號,就變成了表達式語句。最典型的例子是,由賦值表達式
構(gòu)成一個賦值語句。如:
x=5
是賦值表達式,而
x=5;
是一個賦值語句。注意:分號是C語言中語句的標志,一個語句必須要有分號,沒有
分號,則一定不是語句。表達式能構(gòu)成語句是C語言的一個重要特色。
2.函數(shù)調(diào)用語句
由一個函數(shù)調(diào)用加上一個分號構(gòu)成函數(shù)調(diào)用語句,其作用是完成特定的功能。它的一
般形式是:
函數(shù)名(參數(shù)列表);
例如:
printf(〃goodby!\n〃);/*調(diào)用庫函數(shù),輸出字符串*/
3.控制語句
控制語句用于完成一定的控制功能,以實現(xiàn)程序的各種結(jié)構(gòu)方式。C語言有9種控制
語句,可分為三類:
(1)條件判斷語句:
if語句、switch語句
(2)轉(zhuǎn)向語句:
break語句、continue語句、goto語句、return語句
(3)循環(huán)語句:
for語句、while語句、do-while語句
4.復(fù)合語句
復(fù)合語句是用花括號將若干語句組合在一起,又稱分程序,在語法上相當于一條語句。
例如下面是一個復(fù)合語句:
{i++;
printf(〃%d\n〃,i);
}
注意:復(fù)合語句中最后一個語句的分號不能省略不寫。
5.空語句
只有一個分號的語句稱為空語句。它的一般形式是:
空語句是什么也不執(zhí)行的語句,常用于循環(huán)語句中的循環(huán)體,表示循環(huán)體什么都不做。
例如:
while(getchar()!二'\n)
;/*空語句*/
教學活動流程設(shè)計旁注
該循環(huán)的功能是:直到從鍵盤上鍵入回車才退出循環(huán)。這里的循環(huán)體是空語句。
作業(yè)
1、試列出C語言中常見的語句有哪些?
2、P69/2,5,8
C程序中的各種語句
40、表達式語句;
板41、函數(shù)語句;
書42>復(fù)合語句;
設(shè)43、空語句;
計
44、控制語句
教
學
后
記
XX縣職業(yè)技術(shù)教育學校
XXXI、2
授課年級16級授課班級授課日期授課節(jié)次
錮
教學課題程序結(jié)構(gòu)
教學
認識程序設(shè)計的三種基本結(jié)構(gòu)
順序結(jié)構(gòu)
目標
重點順序結(jié)構(gòu)
難點
教學資
教案、實例、上機操作
源準備
教學活動流程設(shè)計旁注
程序結(jié)構(gòu)
一、程序結(jié)構(gòu)簡介
在C語言中,程序結(jié)構(gòu)一般分為順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。任何復(fù)雜的程序都
是由這三種基本結(jié)構(gòu)組成。
【弓1例】簡單的程序結(jié)構(gòu)。
main()
(
intx,y,z;/*定義三個整型變量,是C語言中的聲明部分*/
x=123;y=234;/*以下語句是C語言中的語句,是執(zhí)行部分*/
z=x-y;
printf(〃x-y=%d\n〃,z);
)
該程序的作用是求兩個整數(shù)x和y的差z。第3行是定義變量x、y、z是整型(int)變
量。第4行是兩個賦值語句,使x、y的值分別為123和234o第5行也是賦值語句,使z
的值等于x-y。第6行是進行輸出,輸出變量z的值。因此該程序的輸出信息是:
x-y=-lll
教學活動流程設(shè)計旁注
【引例】由多個函數(shù)構(gòu)成的程序結(jié)構(gòu)。
main()/*主函數(shù)*/
(
intx,y,z;/*聲明部分,定義變量的類型*/
scanf(,z%d,%d/z,&x,&y);/*通過輸入函數(shù),給變量x、y賦值*/
z=min(x,y);/*調(diào)用min函數(shù),將函數(shù)值賦給變量z*/
printf(〃min二%d\n〃,z);/*輸出變量z的值*/
}
intmin(inta,intb)/*定義一個min的函數(shù),函數(shù)值為整型,虛參a和b是整型*/
(
intc;/*函數(shù)min中的聲明部分*/
if(a>b)c=b;
elsec=a;
return(c);/*將變量c的值通過返回語句帶回調(diào)用處*/
}
本程序包含兩個函數(shù):主函數(shù)main和被調(diào)用函數(shù)min。min函數(shù)的作用是將a和b中
較小的數(shù)賦給變量c,并通過返回語句return將c的值返回給主函數(shù)main。程序運行時,
先由scanf()函數(shù)從鍵盤上讀取兩個整型數(shù)據(jù),如從鍵盤上輸入2,7/(/表示回車鍵),此
時x被賦值2,y被賦值7,然后執(zhí)行第5語句,對min函數(shù)進行調(diào)用,調(diào)用的結(jié)果是將較
小的數(shù)2賦給變量c,通過return語句將函數(shù)值賦給變量z。第6行語句輸出z的值2。因
此程序輸出的信息是:
min=2
從上面的兩個例子看出:一個C程序可以由若干個源程序文件組成,其結(jié)構(gòu)如圖3T
所示。
二、順序結(jié)構(gòu)
順序結(jié)構(gòu)是程序設(shè)計中最簡單、最基本的結(jié)構(gòu),其特點_________L__________
是程序運行時,按語句書寫的次序依次執(zhí)行,其結(jié)構(gòu)如圖3-2
所示。A
在圖中,執(zhí)行完A框所指定的操作后,必接著執(zhí)行B框
所指定的操作。順序結(jié)構(gòu)通常是由簡單語句、復(fù)合語句及輸
入輸出函數(shù)語句組成。B
【例】分析下面程序結(jié)構(gòu)
/*EX3-1.C*/
r
ftinclude<stdio.h>
main()
(
inta,b,c;
scanf(〃%d,%d〃,&a,&b);
教學活動流程設(shè)計旁注
c=a+b;
printf(〃\nc=%d\n〃,c);
)
上述程序顯然是順序結(jié)構(gòu),其語句執(zhí)行的次序
如圖所示。
從例3-1可以看出,順序結(jié)構(gòu)的程序框架如下:
#開頭的編譯預(yù)處理命令行
main()
{
局部變量聲明語句;
可執(zhí)行語句序列;
)
;/*空語句*/
作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度減肥健身器材銷售與服務(wù)合同
- 2025年度環(huán)境工程資料收集與評估合同范本
- 2025年度新型城鎮(zhèn)化建設(shè)安裝施工總承包合同
- 貴州2025年貴州省自然資源廳事業(yè)單位招聘14人筆試歷年參考題庫附帶答案詳解
- 邯鄲2024年河北邯鄲廣平縣招聘警務(wù)輔助崗位工作人員58人筆試歷年參考題庫附帶答案詳解
- 衡水2025年河北衡水職業(yè)技術(shù)學院招聘人事代理工作人員25人筆試歷年參考題庫附帶答案詳解
- 綿陽2024年四川省綿陽第一中學第三批招聘教師3人筆試歷年參考題庫附帶答案詳解
- 滁州安徽滁州天長市水利局機關(guān)綜合服務(wù)中心選調(diào)工作人員筆試歷年參考題庫附帶答案詳解
- 山西省卓越聯(lián)盟2024-2025學年高三下學期2月開學質(zhì)量檢測試題 地理 含答案
- 喹吖啶酮類項目融資計劃書
- 視頻監(jiān)控維保項目投標方案(技術(shù)標)
- 2024標準版安全生產(chǎn)責任制培訓(xùn)記錄
- 中英旅游文本用詞的共同特點及其翻譯
- Meta分析的步驟與實例分析
- 城市區(qū)域環(huán)境噪聲監(jiān)測實驗報告
- MBTI量表完整版本
- 護理操作-吸痰
- 中醫(yī)適宜技術(shù)-腕踝針
- 初二上勞動技術(shù)課件電子版
- 創(chuàng)業(yè)計劃書模板-創(chuàng)業(yè)計劃書-商業(yè)計劃書模板-項目計劃書模板-商業(yè)計劃書30
- 醫(yī)院護理帶教老師競聘課件
評論
0/150
提交評論