版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、c語(yǔ)言程序設(shè)計(jì)講稿目錄第一講 c 語(yǔ)言概述 . 1 第二講 c 語(yǔ)言程序介紹 . 2 第三講 算法 . 7 第四講 數(shù)據(jù)類型( 1) . 18 第五講 數(shù)據(jù)類型( 2) . 24 第六講 運(yùn)算符和表達(dá)式( 1) . 30 第七講 運(yùn)算符和表達(dá)式( 2) . 38 第八講 輸入輸出函數(shù)及順序結(jié)構(gòu) . 41 第九講 選擇結(jié)構(gòu)程序設(shè)計(jì)( 1) . 48 第十講 選擇結(jié)構(gòu)程序設(shè)計(jì)( 2) . 60 第十一講循環(huán)結(jié)構(gòu)( 1) . 65 第十二講循環(huán)結(jié)構(gòu)( 2) . 71 第十三講習(xí)題課 . 76 第十四講一維數(shù)組的定義和使用 . 84 第十五講二維數(shù)組 . 92 第十六講字符數(shù)組和字符串 . 97 第十
2、七講函數(shù)( 1) . 103 第十八講函數(shù)( 2) . 112 第十九講習(xí)題課 &文件 . 112 第二十講結(jié)構(gòu)體和共用體 . 113 第二十一講 c 語(yǔ)言屏幕操作函數(shù) . 115 第二十二講 c 語(yǔ)言實(shí)現(xiàn)圖形動(dòng)畫效果. 115 1 第一講 c 語(yǔ)言概述學(xué)時(shí): 2 學(xué)時(shí)授課形式:多媒體講解 +實(shí)例程序演示教學(xué)目標(biāo):對(duì)c程序有一個(gè)初步的認(rèn)識(shí);了解c語(yǔ)言的發(fā)展;掌握 c語(yǔ)言的特點(diǎn)。主要內(nèi)容及時(shí)間安排(課堂90 分鐘, 80 分鐘講課, 10分鐘總結(jié)):(1)c語(yǔ)言程序設(shè)計(jì)課程介紹:包括課程標(biāo)準(zhǔn)、課堂要求、學(xué)習(xí)方法等( 20 分鐘) ;(2)實(shí)例演示 +編譯環(huán)境簡(jiǎn)介:4 個(gè)實(shí)例(包括科學(xué)計(jì)算
3、、數(shù)據(jù)排序查找、小型應(yīng)用系統(tǒng)、圖形動(dòng)畫效果),每個(gè)實(shí)例使用一種編譯環(huán)境,在觀看實(shí)例效果的同時(shí)簡(jiǎn)單了解c 語(yǔ)言編譯運(yùn)行環(huán)境( 20 分鐘) ;(3)c 語(yǔ)言發(fā)展簡(jiǎn)史(包括計(jì)算機(jī)語(yǔ)言的進(jìn)化、c 語(yǔ)言的發(fā)展等)(10 分鐘) ;(4)c語(yǔ)言特點(diǎn)介紹:包括與其他語(yǔ)言相比的優(yōu)點(diǎn)、簡(jiǎn)單介紹數(shù)據(jù)類型、關(guān)鍵字、流控結(jié)構(gòu)等(30 分鐘) ;(5)總結(jié)本節(jié)課程的主要內(nèi)容,布置課后練習(xí)題。(10分鐘) ;重點(diǎn):c語(yǔ)言特點(diǎn)中的數(shù)據(jù)類型、 關(guān)鍵字和流控語(yǔ)句簡(jiǎn)介教學(xué)內(nèi)容細(xì)節(jié):具體內(nèi)容參加幻燈片。2 第二講 c 語(yǔ)言程序介紹學(xué)時(shí): 2 學(xué)時(shí)授課形式:板書 +多媒體+實(shí)例程序演示教學(xué)目標(biāo):了解c語(yǔ)言的語(yǔ)法及結(jié)構(gòu);掌握c語(yǔ)言的
4、編寫流程;熟悉 c語(yǔ)言的編譯環(huán)境 vc+6.0。主要內(nèi)容及時(shí)間安排(課堂90 分鐘,80 分鐘講課, 5 分鐘復(fù)習(xí), 5 分鐘總結(jié)):(1)以提問(wèn)的方式復(fù)習(xí)上節(jié)課的內(nèi)容(5 分鐘) ;(2)通過(guò)實(shí)例編寫簡(jiǎn)單程序(先用多媒體展示第一個(gè)實(shí)例程序,要求學(xué)生了解一般c 程序的編寫流程,然后在編譯環(huán)境演示程序執(zhí)行過(guò)程,總結(jié)c 語(yǔ)言程序的基本結(jié)構(gòu)和語(yǔ)法要求) (15 分鐘) ;(3)通過(guò)實(shí)例演示程序的運(yùn)算功能(先用多媒體展示編寫程序,一一講解給學(xué)生,要求學(xué)生具有變量需要先定義的理念,然后在編譯環(huán)境進(jìn)行實(shí)例程序演示,掌握具有輸入函數(shù)的 c語(yǔ)言程序的運(yùn)行過(guò)程)(15 分鐘) ;(4)通過(guò)上述實(shí)例,利用板式總結(jié)
5、c語(yǔ)言的編寫和編譯過(guò)程(借助vc+6.0 來(lái)展示 c 語(yǔ)言的編寫和執(zhí)行過(guò)程) (10分鐘) ;(5)c 語(yǔ)言結(jié)構(gòu)特點(diǎn)總結(jié)( c 語(yǔ)言由函數(shù)構(gòu)成、書寫格式自由、輸入輸出由函數(shù)實(shí)現(xiàn)、語(yǔ)句結(jié)束要有分號(hào)、main 函3 數(shù)是函數(shù)開(kāi)始和結(jié)束之處等) (20 分鐘) ;(6)c 語(yǔ)言上機(jī)編譯環(huán)境介紹(主要介紹tc 、vc+ 、rarnu_c v1.0 三個(gè)編譯環(huán)境,主推rarnu_c v1.0 編譯環(huán)境)(20 分鐘) ;(7)總結(jié)本節(jié)課程的主要內(nèi)容并布置課后練習(xí)題(5 分鐘) ;重點(diǎn): c語(yǔ)言的程序結(jié)構(gòu)、 c語(yǔ)言語(yǔ)法細(xì)節(jié)、 c語(yǔ)言編譯過(guò)程、 c語(yǔ)言運(yùn)行環(huán)境等;難點(diǎn): c語(yǔ)言語(yǔ)法細(xì)節(jié)和程序結(jié)構(gòu)。教學(xué)內(nèi)容細(xì)
6、節(jié):一、通過(guò)提問(wèn)的方式復(fù)習(xí)上節(jié)課程的主要內(nèi)容。二、實(shí)例演示(1)實(shí)例 1-1 簡(jiǎn)單輸出:#include /*包含文件 */ main() /*程序從函數(shù) main 開(kāi)始執(zhí)行 */ /*在屏幕上輸出引號(hào)內(nèi)內(nèi)容*/ printf(i am a programmer,i like c!); /*函數(shù) main 結(jié)束*/ 程序說(shuō)明:main 函數(shù)表示主函數(shù),每個(gè)程序必須有且只能有一個(gè)main 函數(shù),函數(shù)體(功能語(yǔ)句)放在 內(nèi)。4 printf是 c語(yǔ)言的輸出函數(shù),它的作用是將“”中的內(nèi)容原樣輸出。其中“ n ”是換行符。以/* 和*/ 括起來(lái)的是注釋,程序運(yùn)行期間是不執(zhí)行的只是增加程序的可讀性。(2
7、)實(shí)例 1-2 簡(jiǎn)單計(jì)算:/* 求兩個(gè)數(shù)的和 */ #include /*包含文件 */ main() /*主函數(shù) */ int a,b,sum; /*定義局部變量 */ scanf(%d,%d,&a,&b);/*輸入兩個(gè)整數(shù)值放到a、b變量中 */ sum=a+b; /*將 ab 的和送入 sum中*/ printf(sum=%d,sum); /*輸出 ab 的和 sum*/ 程序說(shuō)明:本實(shí)例的功能是實(shí)現(xiàn)兩個(gè)數(shù)相加;scanf 函數(shù)的作用是輸入兩個(gè)整數(shù);具有變量定義的c語(yǔ)言函數(shù)的書寫順序應(yīng)該是: 先寫預(yù)處理命令, 然后是函數(shù)名; 然后是函數(shù)體, 函數(shù)體中應(yīng)先寫變量定義,在寫功
8、能語(yǔ)句。5 為了增加程序的可讀性應(yīng)適當(dāng)加上注釋,和printf提示。三、c語(yǔ)言的編寫流程四、c語(yǔ)言結(jié)構(gòu)特點(diǎn)總結(jié)(1)一個(gè) c程序可以由多個(gè)函數(shù)構(gòu)成,但是只能有一個(gè)main 函數(shù),程序從 main 函數(shù)開(kāi)始,然后通過(guò)函數(shù)調(diào)用完成部分功能,最后以 main 函數(shù)結(jié)束;(2)主函數(shù)或子函數(shù)的函數(shù)體必須用一對(duì) 括起來(lái),函數(shù)體中主要是程序的功能語(yǔ)句,這種功能語(yǔ)句由兩部分組成:聲明部分和執(zhí)行部分;開(kāi)始編輯編譯連接執(zhí)行有錯(cuò)?結(jié)果正確?結(jié)束有源程序file.c 目 標(biāo) 程序file.obj 庫(kù) 函 數(shù) 和其 它 目 標(biāo)程序可 執(zhí) 行目 標(biāo) 程序無(wú)正確不正確6 (3)每一條語(yǔ)句由分號(hào)結(jié)束,程序書寫格式自由,一行
9、可以寫多句,一句可以寫多行,但分行時(shí)注意不能將字符串整體分開(kāi);(4)c語(yǔ)言大小寫敏感,大小寫不能混用;一般程序語(yǔ)句用小寫字母,符號(hào)常量用大寫;程序要有適當(dāng)?shù)淖⑨屨Z(yǔ)句,提高程序的可讀性,注意注釋語(yǔ)句不能嵌套;(5)c語(yǔ)言中的變量必須先定義后使用;(6)#include是預(yù)處理命令, 用于將或”中包括的文件中的內(nèi)容讀到命令所在處;每個(gè)include的后面只能跟一個(gè)文件,如果想將多個(gè)文件包含到指定位置,可以通過(guò)多個(gè) include實(shí)現(xiàn)。五、優(yōu)秀的程序員應(yīng)具備的基本素質(zhì)(1)具有良好的編程習(xí)慣(2)使用 tab縮進(jìn)(3) 對(duì)齊(4)有足夠的注釋(5)有合適的空行六、上機(jī)環(huán)境使用介紹重點(diǎn)介紹上機(jī)環(huán)境vc
10、+6.0 的使用方法,包括:程序編輯、程序編譯、程序改錯(cuò)、程序保存、程序運(yùn)行等。7 第三講算法學(xué)時(shí): 2 學(xué)時(shí)授課形式:板書 +多媒體講解教學(xué)目標(biāo):掌握算法的概念、掌握典型算法的設(shè)計(jì)、熟練掌握算法表示方法中程序流程圖和n-s圖。主要內(nèi)容及時(shí)間安排(課堂90 分鐘,80 分鐘講課, 5 分鐘復(fù)習(xí), 5 分鐘總結(jié)):(1)復(fù)習(xí)上節(jié)課的主要知識(shí)點(diǎn)( 5 分鐘) ;(2)算法和程序的關(guān)系( 5 分鐘) ;(3)算法的概念及算法優(yōu)劣比較舉例(什么是算法,連加算法優(yōu)劣比較、算法的分類) (10 分鐘) ;(4)簡(jiǎn)單算法舉例(設(shè)計(jì)5 個(gè)例子,從易到難)(40 分鐘) ;(5)算法的特性(有窮性、 確定性、有
11、零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出、有效性) (10 分鐘) ;(6)算法的表示方法(重點(diǎn)介紹流程圖和n-s 圖) (10分鐘) ;(7)結(jié)構(gòu)化程序設(shè)計(jì)方法(簡(jiǎn)單介紹結(jié)構(gòu)化程序設(shè)計(jì)方法的基本思路)(5 分鐘) ;(8)總結(jié)和布置課后練習(xí)題(課后題2.4 、2.5,下一節(jié)講解數(shù)據(jù)類型相關(guān)知識(shí)) (5 分鐘)8 重點(diǎn):算法的概念、算法的特性、設(shè)計(jì)算法的意義、算法的表示方法難點(diǎn):算法的表示方法教學(xué)內(nèi)容細(xì)節(jié):一、 以提問(wèn)的方式復(fù)習(xí)上節(jié)課的主要知識(shí)點(diǎn)。二、 算法和程序的關(guān)系程序=數(shù)據(jù)結(jié)構(gòu) +算法數(shù)據(jù)結(jié)構(gòu)對(duì)數(shù)據(jù)的描述;算法對(duì)操作的描述。簡(jiǎn)單舉例進(jìn)行說(shuō)明。三、算法概念及算法優(yōu)劣比較算法:解決問(wèn)題的步驟。不是只
12、有數(shù)值運(yùn)算問(wèn)題才有算法,好多非數(shù)值運(yùn)算問(wèn)題也是有算法的。數(shù)值運(yùn)算問(wèn)題的算法主要是求數(shù)值的結(jié),比如求連加和,非數(shù)值算法主要應(yīng)用在事務(wù)管理領(lǐng)域(圖書檢索、人事管理等) 。在進(jìn)行數(shù)值運(yùn)算或解決非數(shù)值算法時(shí)有時(shí)需要考慮算法的優(yōu)劣,比如連加和, 可以從 1 一直加到 100,也可以采用首尾相加,在相乘的形式。當(dāng)然所用的步驟是不同的。對(duì)于數(shù)學(xué)中的一些常用算法,比如求絕對(duì)值,求平方根,等等經(jīng)常用到,人們就把它們寫成程序模塊的形式,用戶什么時(shí)候需要就可以進(jìn)行調(diào)用了,非常方便,常用的數(shù)值運(yùn)算函數(shù)都包含在 math.h 文件中。9 例 3-1:計(jì)算輸入整數(shù)的平方根, 如果輸入的是負(fù)數(shù), 則先求它的絕對(duì)值,在求平方
13、根:#include #include void main() int a; double s; printf(input the a:); scanf(%d,&a); a=fabs(a); /* 如果 a 是負(fù)數(shù),求 a 的絕對(duì)值,再放到a 中,fabs 是求絕對(duì)值的函數(shù),是將小括號(hào)中的數(shù)的絕對(duì)值求出來(lái)*/ s=sqrt(a); /*sqrt為求平方根函數(shù) */ printf(%d the sqrt=%f,a,s); 四、算法舉例(將算法的各種表示方法放到算法舉例中,學(xué)生接受起來(lái)效果會(huì)好一些)介紹幾個(gè)典型算法:每一個(gè)算法都有多種描述方式,下面主要介紹自然語(yǔ)言表示法、流程圖表示法、n-
14、s圖表示法。流程圖的基本符號(hào)及含義:10 (1)計(jì)算 1*2*3*4*5 自然語(yǔ)言表示法繁瑣的算法將第二個(gè)數(shù)與第一個(gè)數(shù)相乘, 得到的積與第三個(gè)數(shù)相乘, 依此方法一直乘到5。當(dāng)要進(jìn)行連乘的數(shù)比較多時(shí),這種方法顯然不適用。改進(jìn)的算法開(kāi)辟兩個(gè)空間 p 和 i , 一個(gè)放計(jì)算之后的積,一個(gè)放被乘數(shù),上面的算法進(jìn)行改造后如下:(s1表示第一步,s2表示第二步,依此類推)s1:1=p,2=i s2:計(jì)算 p*i 的積,結(jié)果仍然放在p 中,即 p*i=p s3:i 的值增 1,即 i+1=i s4:如果 i 沒(méi)有超過(guò) 5,則繼續(xù)執(zhí)行 s2、s3、s5,否則,算法結(jié)束,p 中的數(shù)據(jù)就是連乘積。起止框輸入輸出框
15、處理框判斷框流程線或連接點(diǎn)開(kāi)始1=p,2=i 流程圖表示法:n-s圖表示法:1=p,2=i p*i=p 11 習(xí)題:計(jì)算 1+3+5+7+9的和,用流程圖和n-s圖表示此算法。(2)有 50 個(gè)學(xué)生,輸出 80 分以上的學(xué)生學(xué)號(hào)和成績(jī)?yōu)榱吮硎痉奖悖胣 表示學(xué)生學(xué)號(hào), ni表示第 i 個(gè)學(xué)生學(xué)號(hào),用 g 表示學(xué)生成績(jī), gi表示第 i 個(gè)學(xué)生成績(jī),則算法如下:自然語(yǔ)言表示法:s1:1=i s2:如果 gi80,則輸出 ni和 gi,否則不輸出;s3:i+1=i s4:如果 ii gi=80 n y n-s圖表示法:1=i gi=80 i+1=i 輸出 nigin y 12 習(xí)題:有 50 個(gè)學(xué)
16、生,找出 50 個(gè)學(xué)生中分?jǐn)?shù)為 90 的學(xué)生學(xué)號(hào)。用流程圖和n-s 表示此算法。(3)判斷某一年份是否是閏年判斷某一年份是閏年的條件是: (1)能被 4 整除,但是不能被 100 整除,則這一年份是閏年; (2)能被 100 整除,又能被 400 整除的,則這一年份是閏年;其他的年份都不是閏年,假設(shè)用一個(gè)空間y 來(lái)存放被校驗(yàn)的年份,則算法描述如下:自然語(yǔ)言表示法:s1:輸入年份 =y s2:若 y 能被 4 整除,但不能被100 整除,則輸出y 是閏年,算法結(jié)束;否則,執(zhí)行s3;s3:若 y 能被 100 整除,也能被 400 整除,則輸出y 是13 閏年,算法結(jié)束;否則,執(zhí)行s4;s4:輸出
17、 y 不是閏年,算法結(jié)束。n-s 圖表示法:輸入年份 =y y/4 的余數(shù)為0 輸出 y 不是閏年輸出y 不是閏年n y n y y/100 余數(shù)不為0 n y y/400 余數(shù)不為0 輸出 y 是閏年輸出y 是閏年流程圖表示法:開(kāi)始結(jié)束y y 不能被4 整除輸出 y 是閏年y 不能被100 整除n y n y 輸出 y 是閏年輸出 y 不是閏年y 不能被400 整除輸出 y 不是閏年n 輸入年份=y 14 習(xí)題:輸出某一年份段內(nèi)(比如1000-3000 之間,包括1000 和 3000)的所有閏年。(4)求一個(gè)數(shù)列的值1-1/2+1/3-1/4+1/5+,+1/99-1/100 注意數(shù)列的規(guī)
18、律, 分子都是 1,分母是從 1 開(kāi)始,每次遞增 1,一直到 100,第一項(xiàng)符號(hào)位正,第二位符號(hào)位負(fù),依此規(guī)律交替正負(fù),首先必須開(kāi)辟兩個(gè)空間,一個(gè)為sum放計(jì)算結(jié)果,然后是 i ,每次被加數(shù)的分母; 其次為了表示符號(hào)位交替變化,在開(kāi)辟一個(gè)空間t 存放符號(hào),如果是正號(hào)則t 為 1,符號(hào) t 為-1 。算法表示如下:自然語(yǔ)言表示法:s1:0.0=sum,1.0=i;1=t; s2:t*1/i+sum=sum s3:-t=t;i+1=i s4:如果 isum,1.0=i , 1=t t*1/i+sum=sum -t=t,i+1=i isum,1.0=i,1=t t*1/i+sum=sum -t=t,
19、i+1=i 直到 i100 輸出 sum 15 習(xí)題:計(jì)算 1,1/2 ,2/3,3/5 ,5/8 ,8/13, 這個(gè)數(shù)列前 20 項(xiàng)的和。(5)判斷一個(gè)大于3 的數(shù)是不是素?cái)?shù)一個(gè)數(shù)是不是素?cái)?shù)主要看它除了1 和它本身之外不能被其他任何整數(shù)整除,則它是素?cái)?shù),否則就不是素?cái)?shù),首先需要開(kāi)辟一個(gè)空間n 存放待判斷的數(shù),其次開(kāi)辟一個(gè)除數(shù)的空間 i (i 從 2 開(kāi)始) ,利用 n 除以這個(gè) i, 看能否整除,具體算法如下:自然語(yǔ)言表示法:s1:輸入待判斷的數(shù) =n s2:2=i s4:n 除以 i ,得余數(shù) r s5:如果 r 不為 0,則 i+1=i ,否則,輸出 n 不是素?cái)?shù),算法結(jié)束s6:如果 i
20、n ,則返回 s4,否則,輸出n 是素?cái)?shù),算法結(jié)束??紤]是否非要做到i=n-1 ,是不是可以做到 in 流程圖表示法: (改進(jìn))開(kāi)始輸入待判斷數(shù) =n 16 n-s圖表示法:輸入待判斷數(shù) =n n/i的余數(shù) =r r=0 1=w 輸出 n 是素?cái)?shù)0=w,2=i i+1=i 直到 in或 w=1 y n w=0 y n 輸出 n 不是素?cái)?shù)17 習(xí)題:輸出 100-200 之間的所有素?cái)?shù)。五、總結(jié)三種程序流程結(jié)構(gòu)(順序、選擇和循環(huán),給出圖形表示)通過(guò)上面幾個(gè)例子,我們可以看到,算法在執(zhí)行的過(guò)程中基本只有三種模式, (1)從上到下依次執(zhí)行下來(lái),中間沒(méi)有任何分叉,(2)在執(zhí)行過(guò)程中,根據(jù)條件成立與否產(chǎn)
21、生了不同的操作;(3)當(dāng)某一條件成立時(shí),反復(fù)做相同的操作。這就是我們結(jié)構(gòu)化程序設(shè)計(jì)的三種基本流控結(jié)構(gòu):順序,分支和循環(huán),下面給出這三種基本流控結(jié)構(gòu)的流程圖和n-s 圖表示。流程圖表示方法:n-s表示方法:六、算法的特性a b 順序結(jié)構(gòu)p a b 選擇結(jié)構(gòu)y n 循環(huán)結(jié)構(gòu)n p a y 選擇結(jié)構(gòu)p n y a a b 順序結(jié)構(gòu)循環(huán)體當(dāng) p成立循環(huán)體直到 p 成立循環(huán)結(jié)構(gòu)18 算法共有五個(gè)特性:有窮性、確定性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出、有效性;有窮性:一個(gè)算法的步驟必須是有限的;確定性:算法中的每個(gè)步驟必須是確定的,不能是含糊不清的,不能有歧義;輸入:算法運(yùn)行時(shí)有時(shí)需要外部輸入的信息;輸
22、出:算法的最終目的是求解和輸出;有效性:算法的每個(gè)步驟都能有效的執(zhí)行,并得到確定的結(jié)果。七、結(jié)構(gòu)化程序設(shè)計(jì)思想結(jié)構(gòu)化程序設(shè)計(jì)強(qiáng)調(diào)的是程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu),編程的基本要求是“清晰第一、效率第二” 。結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格需要經(jīng)過(guò)以下幾個(gè)步驟進(jìn)行:(1)自頂向下(2)逐步細(xì)化(3)模塊化設(shè)計(jì)(4)結(jié)構(gòu)化編碼(利用現(xiàn)有的流控語(yǔ)句進(jìn)行編碼設(shè)計(jì))八、總結(jié)和布置課后練習(xí)題(5 分鐘)第四講數(shù)據(jù)類型( 1)學(xué)時(shí): 2 學(xué)時(shí)19 授課形式:板書 +多媒體講解 +實(shí)例程序演示教學(xué)目標(biāo):掌握各種數(shù)據(jù)類型的關(guān)鍵字,掌握各種數(shù)據(jù)類型在計(jì)算機(jī)中所占的存儲(chǔ)空間,常量及變量的定義形式,針對(duì)各種數(shù)據(jù)類型
23、printf的格式控制輸出。主要內(nèi)容及時(shí)間安排(課堂90 分鐘,80 分鐘講課, 5 分鐘復(fù)習(xí), 5 分鐘總結(jié)):(1)以提問(wèn)的方式復(fù)習(xí)上節(jié)課的主要知識(shí)點(diǎn)(5 分鐘) ;(2)c語(yǔ)言的各種數(shù)據(jù)類型簡(jiǎn)介 (基本類型和構(gòu)造類型,各種數(shù)據(jù)類型的關(guān)鍵字及所占字節(jié)等) (10 分鐘) ;(3)針對(duì)不同格式的printf輸出格式介紹及舉例(printf格式介紹,各種類型格式控制符介紹, 以例子說(shuō)明)(20 分鐘) ;(4)常量(包括整型常量、實(shí)型常量、字符型常量、符號(hào)常量、舉例)(20 分鐘)(5)整型變量的概念及舉例(整型變量的定義及舉例)(20 分鐘)(6)課堂練習(xí)(針對(duì)所講知識(shí)進(jìn)行相關(guān)習(xí)題練習(xí))(1
24、0分鐘)(7)總結(jié)及新一講內(nèi)容提要(下一講實(shí)型變量、字符型變量、指針變量的定義和使用) (5 分鐘)重點(diǎn):c語(yǔ)言各種數(shù)據(jù)類型的關(guān)鍵字、 各種類型的常量表示法、整型變量的定義和操作等;20 難點(diǎn):整型變量的表示范圍。教學(xué)內(nèi)容細(xì)節(jié):一、c語(yǔ)言各種數(shù)據(jù)類型介紹各種數(shù)據(jù)類型的關(guān)鍵字, 及在計(jì)算機(jī)內(nèi)存中所占大小 (以各種不同的編譯環(huán)境為例)類型名關(guān)鍵字所占字節(jié)( b)tc rarnu_c vc+ 整型int 2 2 4 短整型short int 2 2 2 長(zhǎng)整形long int 4 4 4 無(wú)符號(hào)整型unsigned int 2 2 4 無(wú)符號(hào)長(zhǎng)整形unsigned long 4 4 4 無(wú)符號(hào)短整型
25、unsigned short 2 2 2 單精度f(wàn)loat 4 4 4 數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型整型實(shí)型字符型長(zhǎng)整型整型、短整型無(wú)符號(hào)整型單精度雙精度數(shù)組結(jié)構(gòu)體共用體枚舉型21 雙精度double 8 8 8 字符型char 1 1 1 指針類型* 2 4 4 二、以 printf輸出各種數(shù)據(jù)類型printf基本格式說(shuō)明printf(格式控制,輸出表列); 格式控制:用雙引號(hào)括起來(lái)的字符串,這個(gè)字符串包括兩部分,格式說(shuō)明和普通字符, 格式說(shuō)明以 % 開(kāi)頭。輸出表列:與格式說(shuō)明對(duì)應(yīng)的輸出表列。在格式控制符中,除了格式說(shuō)明去后邊對(duì)應(yīng)輸出表列之外其他字符原樣原位置輸出,輸出表列為帶輸出
26、的內(nèi)容。比如:printf(“abcd”);/*輸出 abcd 字符串*/ int x=8 ,y=9; printf(“abcd%defg%d ”,x,y);/*輸出 abcd8efg9*/ 具體格式說(shuō)明符有:%d /*輸出短整型和整數(shù) */ %o /*以八進(jìn)制無(wú)符號(hào)形式輸出整數(shù)*/ %x或 x /*以十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)*/ %u /*以無(wú)符號(hào)十進(jìn)制形式輸出整數(shù)*/ 比如int a=-1; 22 printf(“%d,%u,%o,%xn ”,a,a,a,a); 輸出內(nèi)容分別是: -1,65535,177777,ffff 所以原反補(bǔ)碼的含義大家一定要清楚,對(duì)為什么出現(xiàn)這樣的情況加以分析。
27、對(duì)于其他的數(shù)據(jù)類型也要采取不同的輸出格式:%f /*以單精度形式輸出實(shí)數(shù) */ %lf /*以雙精度形式輸出實(shí)數(shù) */ %c /*以字符形式輸出,只輸出一個(gè)字符*/ 分析:int a=65 ;char c= b;printf(“%d,%d,%c,%cn ”,a,c,a,c); 輸出結(jié)果: 65,66,a,b 當(dāng)整數(shù)不超過(guò)字符型的表示范圍時(shí),整數(shù)可以以字符型的形式輸出,輸出的是它對(duì)應(yīng)的ascii 碼,字符型也可以以整數(shù)的形式輸出,輸出的是它ascii 碼對(duì)應(yīng)的值。單精度或雙精度不能利用字符型或整型格式輸出,否則會(huì)產(chǎn)生錯(cuò)誤結(jié)果(語(yǔ)法不會(huì)出錯(cuò),但結(jié)果意想不到)。三、各種數(shù)據(jù)類型常量1. 整型常量(1
28、)十進(jìn)制整型常量(2)八進(jìn)制整型常量(以0 開(kāi)頭)23 (3)十六進(jìn)制整型常量(以0 x 開(kāi)頭)(4)后綴為 u 和 u則表示無(wú)符號(hào)整型,后綴為l 或 l ,表示長(zhǎng)整型。 如果將一個(gè)帶符號(hào)數(shù)后邊加了u,則將其轉(zhuǎn)化為補(bǔ)碼按無(wú)符號(hào)數(shù)賦給相應(yīng)變量。2. 實(shí)型常量(1)十進(jìn)制小數(shù)形式(2)科學(xué)計(jì)數(shù)法: xey e 前必須有數(shù)字, e 后必須為整數(shù)。3. 字符型常量單引號(hào)括起來(lái)的為字符常量,轉(zhuǎn)義字符也可以作為一個(gè)字符。4. 字符串型常量雙引號(hào)括起來(lái)的為字符串常量,字符串常量系統(tǒng)默認(rèn)會(huì)在最后加一個(gè) 0 。比較 a和“a”在內(nèi)存中的狀態(tài)。5. 符號(hào)型常量符號(hào)型常量往往是利用宏定義實(shí)現(xiàn)的,宏定義屬于預(yù)處理范疇
29、,與文件包含命令相同。#define x 12 一般放在程序開(kāi)始,作用是定義一個(gè)符號(hào)為常量,在程序運(yùn)行過(guò)程中不允許改變。四、整型變量的概念和舉例24 (1)標(biāo)示符的命名規(guī)則:由字母數(shù)字下劃線,開(kāi)頭不能使數(shù)字。例:以下合法的用戶標(biāo)識(shí)符是()a a1 b 3er c _a# d if (2)各種類型變量的定義:各種變量的定義方法為:類型名變量名列表;/* 如果變量名多余 1 個(gè),用 ,分隔*/ 整型變量的定義方法:int a ;int a,b; int a,b,c=12; int a=12 ,b=12,c=12;不能寫成 int a=b=c=12; 可以在變量定義時(shí)給變量賦初值。第五講數(shù)據(jù)類型(
30、2)學(xué)時(shí): 2 學(xué)時(shí)授課形式:板書 +多媒體講解 +實(shí)例程序演示主要內(nèi)容及時(shí)間安排(課堂90 分鐘,80 分鐘講課, 5 分鐘復(fù)習(xí), 5 分鐘總結(jié)):(1)以提問(wèn)的方式復(fù)習(xí)上節(jié)課的主要內(nèi)容(5 分鐘) ;(2)實(shí)型變量(定義方法、表示范圍、使用舉例)(1525 分鐘) ;(3)字符型變量 (定義方法、 表示范圍、 使用舉例) (15分鐘) ;(4)指針型變量(含義、定義方法、使用舉例)(15 分鐘) ;(5)各種數(shù)據(jù)類型間的混合運(yùn)算(類型間的轉(zhuǎn)化、強(qiáng)制類型轉(zhuǎn)化方法、舉例)(20 分鐘) ;(6)課堂習(xí)題( 15 分鐘) ;(7) 總結(jié)及下一講知識(shí)提要 (運(yùn)算符和表達(dá)式) (5 分鐘) 。重點(diǎn):
31、實(shí)型變量的定義方法、表示范圍;字符型變量的定義方法、表示范圍;指針和其他類型變量的配合使用;數(shù)據(jù)類型間混合運(yùn)算時(shí)的轉(zhuǎn)化;難點(diǎn):指針和其他數(shù)據(jù)類型的配合使用,數(shù)據(jù)間的轉(zhuǎn)化。教學(xué)內(nèi)容細(xì)節(jié):一、實(shí)型(浮點(diǎn)型)變量浮點(diǎn)型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中的存儲(chǔ)狀態(tài)分為三部分:數(shù)符、小數(shù)部分、指數(shù)部分。c語(yǔ)言的編譯環(huán)境不同,則給各個(gè)部分分配的位數(shù)不同,一般情況下,數(shù)符和小數(shù)部分分配24 位, 指數(shù)部分非配 8 位。數(shù)符小數(shù)部分指數(shù)部分24 位8 位26 比如:表示 3.14159 浮點(diǎn)型變量定義的類型包括:float 、double、long double 舉例說(shuō)明浮點(diǎn)型數(shù)據(jù)是有誤差的:#include void ma
32、in() float a,b; a=123456.789e5; b=a+20; printf(%fn,b); 如果將 float改為 double 則結(jié)果不同。二、字符型變量字符型常量是以單引號(hào)括起來(lái)的單個(gè)字符。字符變量的定義使用的是關(guān)鍵字char char a,b; a=a; b=97; + .314159 1 24 位8 位27 整數(shù)和字符型可以互相賦值。一般編譯系統(tǒng)默認(rèn)字符型為signed 類型, 表示-128127之間的數(shù)字對(duì)應(yīng)的字符,如果想表示128-255 之間的數(shù)字則字符需定義為 unsigned char 。三、指針型變量指針型變量往往是和其他變量的定義配合使用,表示不同變量在
33、內(nèi)存中的地址。指針變量定義是以*為標(biāo)識(shí)符的。比如:int *a,*b; char *c,*d; 這時(shí)需要注意,在定義中出現(xiàn)的*與程序中出現(xiàn)的 *是不同的,定義時(shí)出現(xiàn)的 *表示變量為指針類型,程序中出現(xiàn)*表示取出地址中的具體數(shù)值。*與&地址運(yùn)算互逆。#include void main() int *p; int c; p=&c; scanf(%d,p); printf(%d,%dn,c,*p); 28 四、變量賦初值在前面的變量定義時(shí),有時(shí)在定義的同時(shí)就給變量賦了初值,有的是在定義好后,再利用賦值語(yǔ)句給變量賦初值,不管利用哪種方式,都要注意兩點(diǎn):不能在定義時(shí)進(jìn)行連續(xù)賦值;不能將
34、不匹配的數(shù)據(jù)類型互相賦值,否則會(huì)產(chǎn)生錯(cuò)誤。錯(cuò)誤的:int a=b=c=10; int a=3.56; 正確的:int a,b,c; a=b=c=10; 五、各類數(shù)據(jù)類型間混合運(yùn)算各種數(shù)據(jù)類型可以進(jìn)行混合運(yùn)算,運(yùn)算結(jié)果為一種數(shù)據(jù)類型,具體規(guī)則如下:橫向的是必須轉(zhuǎn)化的, 比如 float型數(shù)據(jù)在進(jìn)行運(yùn)算時(shí),其運(yùn)算記過(guò)統(tǒng)統(tǒng)要轉(zhuǎn)化為double 類型,不管參與運(yùn)算的是否有 double 類型;char 或 short 類型的數(shù)據(jù)在進(jìn)行運(yùn)算時(shí), 結(jié)double float long unsigned int char、short 低高29 果都會(huì)轉(zhuǎn)化成 int型。縱向箭頭表示對(duì)象類型不同時(shí)的轉(zhuǎn)換方向,當(dāng)
35、參與運(yùn)算的對(duì)象數(shù)據(jù)類型不同時(shí),采用低級(jí)向高級(jí)轉(zhuǎn)化的規(guī)律。比如int型和 long 型進(jìn)行運(yùn)算時(shí),將 int轉(zhuǎn)化為 long 類型再進(jìn)行運(yùn)算。比如:10+a+1.5-8765.4321* b結(jié)果為 double 類型,轉(zhuǎn)化由系統(tǒng)自動(dòng)完成,無(wú)需用戶操作。如果在計(jì)算過(guò)程中不想按照上述轉(zhuǎn)化規(guī)則進(jìn)行轉(zhuǎn)化,則可以利用強(qiáng)制類型轉(zhuǎn)換。具體方式為:(強(qiáng)制類型名)變量或常量例如:#include void main() int a; float b=3.67; a=(int)3.67; printf(%d,%fn,a,b); 六、總結(jié)及課堂練習(xí)30 課堂習(xí)題: 3.2,3.3 作業(yè): 3.5,3.6 ,3.8 第
36、六講運(yùn)算符和表達(dá)式(1)學(xué)時(shí): 2 學(xué)時(shí)授課形式:板書 +多媒體講解 +實(shí)例程序演示主要內(nèi)容及時(shí)間安排(課堂90 分鐘,80 分鐘講課, 5 分鐘復(fù)習(xí), 5 分鐘總結(jié)):(1)以提問(wèn)的方式復(fù)習(xí)上節(jié)課的主要內(nèi)容(5 分鐘) ;(2)c語(yǔ)言運(yùn)算符簡(jiǎn)介(各種運(yùn)算符作用介紹、優(yōu)先級(jí)介紹、結(jié)合性介紹)(15 分鐘) ;(3)算術(shù)運(yùn)算符和表達(dá)式(算術(shù)運(yùn)算符的計(jì)算方法、優(yōu)先級(jí)等) (10 分鐘) ;(4)自加自減運(yùn)算及舉例(15 分鐘)(5)賦值運(yùn)算符和賦值表達(dá)式(簡(jiǎn)單賦值和符合賦值)(10 分鐘)(6)逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式(與自加自減配合運(yùn)算)(10 分鐘)(7)指針運(yùn)算符( 10)(8)課堂習(xí)題(所講
37、運(yùn)算符的使用和運(yùn)算方法)(10 分鐘)31 (9)總結(jié)及下一節(jié)內(nèi)容提要 (關(guān)系運(yùn)算符、 邏輯運(yùn)算符、位運(yùn)算符、條件運(yùn)算符等) (5 分鐘)重點(diǎn):c語(yǔ)言算術(shù)表達(dá)式的求值、 算術(shù)運(yùn)算符的優(yōu)先級(jí)及運(yùn)算方法、逗號(hào)運(yùn)算符的運(yùn)算方法、指針運(yùn)算符的運(yùn)算方法、自減自加的運(yùn)算方法;難點(diǎn):自加自減運(yùn)算,各種運(yùn)算符的結(jié)合性。教學(xué)內(nèi)容細(xì)節(jié):一、c語(yǔ)言中各種運(yùn)算符1. 算術(shù)運(yùn)算符算術(shù)運(yùn)算符包括: +,-,*,/ ,% ,它們都屬于雙目運(yùn)算,結(jié)合性自左至右。前三種運(yùn)算都很簡(jiǎn)單,對(duì)于/ ,如果操作數(shù)為整數(shù),則結(jié)果也為整數(shù), % 運(yùn)算的操作數(shù)必須為整數(shù),其含義是去兩個(gè)整數(shù)相除的余數(shù)。2. 自加自減運(yùn)算符自加自減運(yùn)算符包括+和
38、- ,它屬于單目運(yùn)算,結(jié)合性自右至左,操作數(shù)必須為整型的變量。3. 賦值運(yùn)算符賦值運(yùn)算符包括簡(jiǎn)單賦值運(yùn)算符=和復(fù)合的賦值運(yùn)算, 復(fù)合的賦值運(yùn)算符是其他運(yùn)算符和簡(jiǎn)單賦值運(yùn)算符組合在一起構(gòu)成的,一般式位運(yùn)算符和算術(shù)運(yùn)算符, 比如+=, %= , =等。它屬于雙目運(yùn)算,結(jié)合性自右至左。32 4. 逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符,順序求值運(yùn)算,結(jié)合性自左至右。5. 位運(yùn)算符位運(yùn)算符包括 ,, 小彎彎, &,| ,按位運(yùn)算,雙目運(yùn)算符,其中按位取反為單目運(yùn)算符(結(jié)合性自右至左),雙目位運(yùn)算結(jié)合性自左至右。6. 指針運(yùn)算符指針運(yùn)算符 *,取地址運(yùn)算符 &,單目運(yùn)算符,結(jié)合性自右至左。7. 邏輯運(yùn)算符
39、邏輯運(yùn)算符包括:! ,& ,| ,其中!為單目運(yùn)算符結(jié)合性自右至左, & 和| 為雙目運(yùn)算符結(jié)合性自左至右。8. 關(guān)系運(yùn)算符關(guān)系運(yùn)算符包括: ,=,=,=,!=,。結(jié)合性自左至右,雙目運(yùn)算符。9. 條件運(yùn)算符條件運(yùn)算符 ; 表達(dá)式?值 1: 值 2 11.分量運(yùn)算符分量運(yùn)算符: -和. ,結(jié)合性為自左至右。12.下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符 ,結(jié)合性自左至右。13.求字節(jié)運(yùn)算符33 求字節(jié)運(yùn)算符 sizeof (操作數(shù)),結(jié)合性自右至左。14.強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換:(類型)操作數(shù),結(jié)合性自右至左。二、各種運(yùn)算符的優(yōu)先級(jí)(1)初等運(yùn)算符()、 、. (2)單目運(yùn)算符!、+、-
40、、-、 (類型) 、*、&、sizeof (3)算術(shù)運(yùn)算符(先乘除后加減)(4)位運(yùn)算符 (5)關(guān)系運(yùn)算符 、=、其中=和!= 級(jí)別低一級(jí)(6)位運(yùn)算符 &、| 、分先后(7)邏輯運(yùn)算符 & 、| 、分先后(8)條件運(yùn)算符 ?: (9)賦值運(yùn)算符(10)逗號(hào)運(yùn)算符注意:在利用邏輯運(yùn)算符時(shí):| 和& 有其特殊性,如果前表達(dá)式已經(jīng)可以確定整個(gè)表達(dá)式的值,則后表達(dá)式不再做。自加+自減- 運(yùn)算符,只能對(duì)整形變量進(jìn)行。三、算術(shù)運(yùn)算符和算術(shù)表達(dá)式最終運(yùn)算為算術(shù)運(yùn)算的式子稱為算術(shù)式。例:3/5,3%5,-3%5 四、自加自減運(yùn)算注意:運(yùn)算對(duì)象只能是整型變量。34 例main(
41、) int a=5; a+; printf(“%d ”,a); 為學(xué)生描述內(nèi)存存儲(chǔ)狀態(tài)。計(jì)算: (a+)+(-a)-a+(+a)表達(dá)式的值, a 的初始值為4。五、賦值運(yùn)算1. 簡(jiǎn)單賦值運(yùn)算符=,運(yùn)算方法是將 =號(hào)后的值賦給 =號(hào)前的變量, =號(hào)前必須為變量,不能給常量賦值。如:int a=5; 2. 復(fù)合的賦值運(yùn)算比如: a+=5;等價(jià)于 a=a+5;前提是復(fù)合賦值運(yùn)算前的變量必須有初值,否則無(wú)法運(yùn)算。3. 賦值運(yùn)算的規(guī)則賦值運(yùn)算符的賦值規(guī)則:(也就是當(dāng)賦值運(yùn)算符前后類型不一致時(shí)如何賦值)(1)將浮點(diǎn)型賦給整型:舍棄小數(shù)部分。如:int i=3.56則 i 的值為 3。(2)將整型賦給浮點(diǎn)型
42、:數(shù)值不變,但要以浮點(diǎn)型進(jìn)行35 存儲(chǔ)。如:float a=23,則 a 為 23.00000, 補(bǔ)足有效位。(3)將 double 型賦給 float型,截取其前面7 位有效數(shù)字,但要注意數(shù)值范圍不能溢出。如:float a; double b=123.456789e100; a=b;如果輸出 a 則會(huì)產(chǎn)生溢出錯(cuò)誤,因?yàn)閎 超過(guò)了浮點(diǎn)型表示范圍。如果將 b 改為 123.456789e2,則 a 的值會(huì)有 7 個(gè)有效位是和 b 完全相同的,其他位會(huì)產(chǎn)生誤差。(4)字符型賦給整型,如果將字符型處理為無(wú)符號(hào)型,則將字符型放到整型的低8 位,高八位為 0;如果將字符型處理為有符號(hào)型, 則字符型放到
43、整型的低8 位,高位所補(bǔ)的是 0還是 1,要看低八位的最高位,所補(bǔ)的為最高位的值。tc和維普 c是把字符型當(dāng)做有符號(hào)數(shù)來(lái)處理的。比如main() int a; unsigned char c=376; a=c; printf(%d,a); 36 輸出為 254,如果去掉 unsigned 則輸出為 -2 。(5)將帶符號(hào) int賦給 long ,進(jìn)行符號(hào)為擴(kuò)展放到高十六位,低十六位為 int數(shù)據(jù);long 型賦給 int型時(shí),只將 long的低十六位放在 int型中。(6)int 、short 、long 賦給 char 型只是將低八位賦給char 空間。(7)將 unsigned int送到
44、 long int中,不存在符號(hào)擴(kuò)展,高位都補(bǔ) 0。將 unsigned 類型數(shù)據(jù)賦給一個(gè)占字節(jié)相同的數(shù)據(jù)則直接將 unsigned 數(shù)據(jù)放到相應(yīng)類型中即可, 只不過(guò)超過(guò)表示范圍會(huì)出現(xiàn)數(shù)據(jù)錯(cuò)誤。例如:main() unsigned int a=65535; int b; b=a; printf(%d,b); 這時(shí) b=-1。(8)將 signed 數(shù)據(jù)賦給長(zhǎng)度相同的unsigned 數(shù)據(jù)也是原樣賦過(guò)去,只不過(guò)如果是負(fù)數(shù),是將其補(bǔ)碼作為一個(gè)無(wú)符號(hào)數(shù)來(lái)處理。main() unsigned int a; 37 int b=-1; a=b; printf(%u,a); 這時(shí) a=65535。各種賦值形
45、式雖然看起來(lái)復(fù)雜,但是都是它們都是:按存儲(chǔ)單元中的存儲(chǔ)形式直接傳送。要求學(xué)生必須對(duì)補(bǔ)碼只是熟練掌握。六、逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符的運(yùn)算規(guī)則是自左至右。整個(gè)表達(dá)式的值是逗號(hào)表達(dá)式最后一個(gè)表達(dá)式的值。例如: int a ,b,c; a=b=5; c=(a+3,b+a,a=a+b,b+a) c 輸出的值應(yīng)該為15。例如: a=3*4,a+5;要注意賦值運(yùn)算符的優(yōu)先級(jí)高于逗號(hào)運(yùn)算符,所以先算a=3*4,在算 a+5。所以整個(gè)表達(dá)式為逗號(hào)表達(dá)式,值為60。注意: printf和 scanf 中出現(xiàn)的逗號(hào)是作為分隔參數(shù)用的,并不是逗號(hào)表達(dá)式。七、指針運(yùn)算指針運(yùn)算符的作用是取指針地址中對(duì)應(yīng)的具體數(shù)值
46、,它與取地址符為互逆運(yùn)算。38 例:int *p,a; a=5; p=&a; 則*p 的值為 5。這個(gè)思想我們?cè)谇懊娴木毩?xí)中也給大家說(shuō)過(guò)。八、強(qiáng)制類型轉(zhuǎn)換和測(cè)字節(jié)函數(shù)這兩個(gè)運(yùn)算我們?cè)谇懊嬷v過(guò),這里就不再說(shuō)了。九、總結(jié)及課堂練習(xí)教材 3.9,3.10 作業(yè): 3.11,3.12。第七講運(yùn)算符和表達(dá)式(2)學(xué)時(shí): 2 學(xué)時(shí)授課形式:板書 +多媒體講解 +實(shí)例程序演示主要內(nèi)容及時(shí)間安排(課堂90 分鐘,80 分鐘講課, 5 分鐘復(fù)習(xí), 5 分鐘總結(jié)):(1)復(fù)習(xí)上節(jié)課的主要知識(shí)點(diǎn)( 5 分鐘) ;(2)關(guān)系運(yùn)算符和關(guān)系表達(dá)式( 15 分鐘) ;(3)邏輯運(yùn)算符和邏輯表達(dá)式(20 分鐘) ;(
47、4)位運(yùn)算符( 20 分鐘) ;(5)課堂練習(xí)( 30 分鐘) 。重點(diǎn):關(guān)系運(yùn)算符,邏輯運(yùn)算符,位運(yùn)算符的操作方法。39 難點(diǎn):各種運(yùn)算符的混合運(yùn)算,需要考慮算符的優(yōu)先級(jí)和結(jié)合性等因素。教學(xué)內(nèi)容細(xì)節(jié):一、關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符表示的是前后兩個(gè)表達(dá)式的關(guān)系,表達(dá)式的值為邏輯值“真” 或 “假” , 如果關(guān)系正確則表達(dá)式的值為 “真” ,否則為“假”,由于 c語(yǔ)言不提供邏輯類型值,所以如果表達(dá)式的值為“真”,則用 1 表示,表達(dá)式的值為“假”則用0 表示。例:int a=3,b=4,c=5; 則 c!=ab 的值為 1。二、邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符表示兩個(gè)操作數(shù)的邏輯關(guān)系,邏輯運(yùn)
48、算的結(jié)果也是邏輯值“真”和“假” ,也是對(duì)應(yīng)數(shù)字1 和 0;但是要注意:在表示“真”和“假”時(shí),非零就表示“真”,0 就表示“假” 。a b !a a&b a|b 真真假真真真假假假真假真真假真假假真假假40 例:!a&b|xy& (c+),運(yùn)算級(jí)別 ! 最高,然后是算術(shù),然后是關(guān)系、然后是邏輯、然后是賦值;a=1,b=0,c=3,x=7,y=10; 則表達(dá)式的值為 0,c 的值為 3。注意: & 和| 的運(yùn)算規(guī)則。三、位運(yùn)算符和表達(dá)式位運(yùn)算符的前提示首先將數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制在進(jìn)行相應(yīng)的操作。運(yùn)算符含義運(yùn)算符含義& 按位與取反| 按位或 右移例如:641:
49、 010010111110110(邏輯右移)a1: 110010111110110(算術(shù)右移)四、條件運(yùn)算符例如: int a=5,b=3; 41 ab?a:b; 五、總結(jié)及課堂練習(xí)1、教材: 1、2、3、4、5 2、自設(shè)題目:a=45;求a,a2,a2; a&0000000011111111; a|0000000011111111 第八講輸入輸出函數(shù)及順序結(jié)構(gòu)學(xué)時(shí): 2 學(xué)時(shí)授課形式:板書 +多媒體講解 +實(shí)例程序演示主要內(nèi)容及時(shí)間安排(課堂90 分鐘,80 分鐘講課, 5 分鐘復(fù)習(xí), 5 分鐘總結(jié)):(1)c語(yǔ)言的基本語(yǔ)句(分為五類:表達(dá)式語(yǔ)句、函數(shù)調(diào)用語(yǔ)句、控制語(yǔ)句、復(fù)合語(yǔ)句、空
50、語(yǔ)句,各種語(yǔ)句舉例,賦值語(yǔ)句的使用)(10 分鐘)(2)常用輸入函數(shù)介紹( 5 分鐘) ;(3)scanf 函數(shù)的使用方法(包括各種格式的輸入、顯性分隔符和隱形分隔符的使用、舉例) (20 分鐘) ;(4)getchar函數(shù)的使用方法( getchar的使用、字符輸入與 scanf 的區(qū)別) (10 分鐘)(5)printf使用方法復(fù)習(xí)( 10 分鐘)42 (6)putchar 輸入函數(shù)的使用( 5 分鐘)(7)程序舉例( 10 分鐘)(8)課堂練習(xí)( 15 分鐘)(9)總結(jié)及下一節(jié)內(nèi)容提要(5 分鐘)重點(diǎn): c語(yǔ)言各種輸入輸出函數(shù)的使用難點(diǎn): scanf 函數(shù)隱形分隔符和顯性分隔符的使用教學(xué)
51、內(nèi)容細(xì)節(jié):一、c語(yǔ)言的基本語(yǔ)句1、語(yǔ)句的概念c語(yǔ)言中的語(yǔ)句是以分號(hào)結(jié)束的, 以分號(hào)結(jié)束的就可以稱為語(yǔ)句,它用來(lái)想計(jì)算機(jī)發(fā)出指令。2、c程序結(jié)構(gòu)3、各種基本語(yǔ)句(1)流控語(yǔ)句 if (), else ,條件語(yǔ)句for (),循環(huán)語(yǔ)句c程序源程序文件 1 源程序文件 2 源程序文件 n 預(yù)處理命令數(shù)據(jù)聲明函數(shù) 1 函數(shù) n 函數(shù)首部函數(shù)體數(shù)據(jù)聲明執(zhí)行語(yǔ)句43 while (),循環(huán)語(yǔ)句 do,while ()循環(huán)語(yǔ)句 continue 結(jié)束本次循環(huán)進(jìn)入下一次循環(huán) break 終止所在循環(huán)或switch 結(jié)構(gòu) switch ()case , 多分支選擇語(yǔ)句 goto 轉(zhuǎn)向語(yǔ)句 return 從函數(shù)返
52、回語(yǔ)句(2)函數(shù)調(diào)用語(yǔ)句 printf(“%d,%d ”,a,b); c=max(a,b); (3)表達(dá)式語(yǔ)句 a=3; a=c+b; (4)空語(yǔ)句 ; (5)復(fù)合語(yǔ)句大括號(hào)括起來(lái)的語(yǔ)句組: z=x+y ;t=z/100; printf(“%d,%d ”,z,t); 二、常用輸入函數(shù)介紹(1)scanf 函數(shù)的使用方法(包括各種格式的輸入、顯44 性分隔符和隱形分隔符的使用、舉例)scanf( “格式說(shuō)明”,輸入表列);注意:格式說(shuō)明由格式說(shuō)明符和分隔符兩部分組成,輸入表列是由逗號(hào)分開(kāi)的變量地址列表。如:scanf ( “a=%d,b=%d ”,&a,&b); 在運(yùn)行時(shí),為了讓 ab 得到正確的值,則應(yīng)輸入 a=12,b=15回車;這里 a=,b=均為顯性分隔符,在輸入時(shí)除了格式控制符對(duì)應(yīng)變量類型外,其他的顯性分隔符原樣輸入。又如: scanf( “%d%d ”,&a,&b); 在運(yùn)行時(shí),為了讓ab 得到正確的賦
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鷹課件語(yǔ)文教學(xué)課件
- 特殊旅客課件教學(xué)課件
- 2024年度建設(shè)工程施工合同工期與質(zhì)量要求
- 2024年度維修保養(yǎng)服務(wù)合同
- 2024年城鄉(xiāng)供水工程特許經(jīng)營(yíng)合同
- 2024年度設(shè)備采購(gòu)合同:甲乙雙方在二零二四年就某設(shè)備的采購(gòu)的詳細(xì)合同條款
- 2024企業(yè)人力資源管理與聘用合同詳細(xì)規(guī)定
- 2024年家長(zhǎng)學(xué)生老師三方面協(xié)議
- 2024年國(guó)際貨物買賣合同:機(jī)械設(shè)備
- 【初中生物】觀察周邊環(huán)境中的生物+課件2024-2025學(xué)年人教版生物七年級(jí)上冊(cè)
- 辦稅服務(wù)外包投標(biāo)方案(技術(shù)標(biāo))
- 冷庫(kù)是有限空間應(yīng)急預(yù)案
- 基于PLC的機(jī)械手控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 足軟組織感染的護(hù)理查房
- 建設(shè)項(xiàng)目竣工環(huán)境保護(hù)驗(yàn)收管理辦法
- 植物學(xué)課件:第二章 種子和幼苗
- 一日生活中幼兒自主探究行為的表現(xiàn)及支持策略研究
- 第8課 用制度體系保證人民當(dāng)家做主
- 軟件測(cè)試規(guī)范模板
- 足皮膚感染的護(hù)理課件
- 新蘇教版六年級(jí)上冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn)(精編)
評(píng)論
0/150
提交評(píng)論