



下載本文檔
版權(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ì)講稿welcome精品目錄第一講C 語(yǔ)言概述1第二講C 語(yǔ)言程序介紹2第三講算法7第四講數(shù)據(jù)類(lèi)型( 1)18第五講數(shù)據(jù)類(lèi)型( 2)24第六講運(yùn)算符和表達(dá)式( 1)30第七講運(yùn)算符和表達(dá)式( 2)38第八講輸入輸出函數(shù)及順序結(jié)構(gòu)41第九講選擇結(jié)構(gòu)程序設(shè)計(jì)( 1)49第十講選擇結(jié)構(gòu)程序設(shè)計(jì)( 2)60第十一講循環(huán)結(jié)構(gòu)( 1)65第十二講循環(huán)結(jié)構(gòu)( 2)72第十三講習(xí)題課77第十四講一維數(shù)組的定義和使用84第十五講二維數(shù)組92第十六講字符數(shù)組和字符串97第十七講函數(shù)( 1)103第十八講函數(shù)( 2)112第十九講習(xí)題課 & 文件113第二十講結(jié)構(gòu)體和共用體113welcom
2、e精品第二十一講C 語(yǔ)言屏幕操作函數(shù)115第二十二講C 語(yǔ)言實(shí)現(xiàn)圖形動(dòng)畫(huà)效果116welcome精品第一講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ì)算、數(shù)據(jù)排序查找、小型應(yīng)用系統(tǒng)、圖形動(dòng)畫(huà)效果) ,每個(gè)實(shí)例使用一種編譯環(huán)境,在觀看實(shí)例效果的同時(shí)簡(jiǎn)單了解C 語(yǔ)言編譯運(yùn)行環(huán)境( 2
3、0 分鐘);( 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ù)類(lèi)型、關(guān)鍵字、流控結(jié)構(gòu)等( 30 分鐘);( 5)總結(jié)本節(jié)課程的主要內(nèi)容,布置課后練習(xí)題。 (10分鐘);重點(diǎn): C 語(yǔ)言特點(diǎn)中的數(shù)據(jù)類(lèi)型、關(guān)鍵字和流控語(yǔ)句簡(jiǎn)介welcome精品教學(xué)內(nèi)容細(xì)節(jié):具體內(nèi)容參加幻燈片。第二講C 語(yǔ)言程序介紹學(xué)時(shí): 2 學(xué)時(shí)授課形式:板書(shū) + 多媒體 + 實(shí)例程序演示教學(xué)目標(biāo):了解 C 語(yǔ)言的語(yǔ)法及結(jié)構(gòu);掌握 C 語(yǔ)言的編寫(xiě)流程;熟悉 C 語(yǔ)言的編譯環(huán)境 VC+6.0 。主要內(nèi)容及時(shí)間安排(課堂 90 分鐘,
4、80 分鐘講課, 5 分鐘復(fù)習(xí), 5 分鐘總結(jié)):( 1)以提問(wèn)的方式復(fù)習(xí)上節(jié)課的內(nèi)容( 5 分鐘);( 2)通過(guò)實(shí)例編寫(xiě)簡(jiǎn)單程序(先用多媒體展示第一個(gè)實(shí)例程序,要求學(xué)生了解一般 C 程序的編寫(xiě)流程,然后在編譯環(huán)境演示程序執(zhí)行過(guò)程,總結(jié) C 語(yǔ)言程序的基本結(jié)構(gòu)和語(yǔ)法要求)(15 分鐘);( 3)通過(guò)實(shí)例演示程序的運(yùn)算功能(先用多媒體展示編寫(xiě)程序,一一講解給學(xué)生,要求學(xué)生具有變量需要先定義的理念,然后在編譯環(huán)境進(jìn)行實(shí)例程序演示,掌握具有輸入函數(shù)的 C 語(yǔ)言程序的運(yùn)行過(guò)程)(15 分鐘);( 4)通過(guò)上述實(shí)例, 利用板式總結(jié) C 語(yǔ)言的編寫(xiě)和編譯過(guò)程(借助 VC+6.0 來(lái)展示 C 語(yǔ)言的編寫(xiě)和執(zhí)
5、行過(guò)程)(10分鐘);(5)C 語(yǔ)言結(jié)構(gòu)特點(diǎn)總結(jié)( C 語(yǔ)言由函數(shù)構(gòu)成、書(shū)寫(xiě)格welcome精品式自由、輸入輸出由函數(shù)實(shí)現(xiàn)、語(yǔ)句結(jié)束要有分號(hào)、main 函數(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ì)節(jié):一、通過(guò)提問(wèn)的方式復(fù)習(xí)上節(jié)課程的主要內(nèi)容。
6、二、實(shí)例演示(1)實(shí)例 1-1簡(jiǎn)單輸出:#include <stdio.h>/* 包含文件*/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è)welcome精品main 函數(shù),函數(shù)體(功能語(yǔ)句)放在內(nèi)。printf是 C 語(yǔ)言的輸出函數(shù),它的作用是將“”中的內(nèi)容原樣輸出。其中“ n ”是換行符。以/* 和*/ 括起來(lái)的是注釋?zhuān)?程序運(yùn)行期間是不執(zhí)行的只是增加
7、程序的可讀性。( 2)實(shí)例 1-2 簡(jiǎn)單計(jì)算:/* 求兩個(gè)數(shù)的和 */#include<stdio.h>/* 包含文件 */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ù)的書(shū)寫(xiě)順序應(yīng)
8、該是:先寫(xiě)預(yù)處理命令, 然后是函數(shù)名; 然后是函數(shù)體, 函數(shù)體中welcome精品應(yīng)先寫(xiě)變量定義,在寫(xiě)功能語(yǔ)句。為了增加程序的可讀性應(yīng)適當(dāng)加上注釋?zhuān)?printf 提示。三、 C 語(yǔ)言的編寫(xiě)流程開(kāi)始編輯源程序file.c編譯有目 標(biāo)程有錯(cuò)?序無(wú)file.obj連接可 執(zhí) 行目 標(biāo) 程庫(kù)函數(shù)和序行其它目標(biāo)執(zhí)程序不正確結(jié)果正確?正確結(jié)束四、 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ǔ)句
9、, 這種功能語(yǔ)句由兩部分組成:welcome精品聲明部分和執(zhí)行部分;( 3)每一條語(yǔ)句由分號(hào)結(jié)束,程序書(shū)寫(xiě)格式自由,一行可以寫(xiě)多句,一句可以寫(xiě)多行,但分行時(shí)注意不能將字符串整體分開(kāi);( 4)C 語(yǔ)言大小寫(xiě)敏感,大小寫(xiě)不能混用;一般程序語(yǔ)句用小寫(xiě)字母,符號(hào)常量用大寫(xiě) ;程序要有適當(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)秀
10、的程序員應(yīng)具備的基本素質(zhì)( 1)具有良好的編程習(xí)慣( 2)使用 TAB 縮進(jìn)( 3)對(duì)齊( 4)有足夠的注釋?zhuān)?5)有合適的空行六、上機(jī)環(huán)境使用介紹重點(diǎn)介紹上機(jī)環(huán)境VC+6.0的使用方法,包括:程序編輯、程序編譯、程序改錯(cuò)、程序保存、程序運(yùn)行等。welcome精品第三講算法學(xué)時(shí): 2 學(xué)時(shí)授課形式:板書(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)算
11、法的概念及算法優(yōu)劣比較舉例(什么是算法,連加算法優(yōu)劣比較、算法的分類(lèi)) (10 分鐘);( 4)簡(jiǎn)單算法舉例(設(shè)計(jì) 5 個(gè)例子,從易到難)(40 分鐘);( 5)算法的特性(有窮性、確定性、有零個(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ù)類(lèi)型相關(guān)知識(shí))(5 分鐘)welcome精品重點(diǎn):算法的概念、算法的特性、設(shè)計(jì)算法的意義、算法的表示方法難點(diǎn):算法的表示方法教學(xué)
12、內(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)題的步驟。不是只有數(shù)值運(yùn)算問(wèn)題才有算法,好多非數(shù)值運(yùn)算問(wèn)題也是有算法的。數(shù)值運(yùn)算問(wèn)題的算法主要是求數(shù)值的結(jié), 比如求連加和,非數(shù)值算法主要應(yīng)用在事務(wù)管理領(lǐng)域(圖書(shū)檢索、人事管理等)。在進(jìn)行數(shù)值運(yùn)算或解決非數(shù)值算法時(shí)有時(shí)需要考慮算法的優(yōu)劣,比如連加和,可以從1 一直加到 100 ,也可以采用首尾相加,在相乘的形式。當(dāng)然所用的步驟是不同的。對(duì)于數(shù)學(xué)中的一些常用算法,比如求絕對(duì)值,求平方根,等等經(jīng)常用到,
13、人們就把它們寫(xiě)成程序模塊的形式,用戶什么時(shí)候需要就可以進(jìn)行調(diào)用了,非常方便,常用的數(shù)值運(yùn)算函數(shù)都包含在 math.h 文件中。welcome精品例 3-1 :計(jì)算輸入整數(shù)的平方根, 如果輸入的是負(fù)數(shù), 則先求它的絕對(duì)值,在求平方根:#include <stdio.h>#include <math.h>void main()int a;double s;printf("input the a:");scanf("%d",&a);a=fabs(a);/* 如果 a 是負(fù)數(shù),求 a 的絕對(duì)值,再放到a 中, fabs 是求絕對(duì)值
14、的函數(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-S 圖表示法。流程圖的基本符號(hào)及含義:welcome精品起止框輸入輸出框處理框判斷框或流程線連接點(diǎn)( 1)計(jì)算 1*2*3*4*5自然語(yǔ)言表示法繁瑣的算法將第二個(gè)數(shù)與第一個(gè)數(shù)相乘,得到的積與第三個(gè)數(shù)相乘,依此方法一直乘到5。當(dāng)要進(jìn)行連乘的數(shù)比較多時(shí),這種方法顯
15、然不適用。改進(jìn)的算法開(kāi)辟兩個(gè)空間 p 和 i,一個(gè)放計(jì)算之后的積,一個(gè)放被乘數(shù),上面的算法進(jìn)行改造后如下:(S1 表示第一步, S2 表示第二步,依此類(lèi)推)S1:1=>p,2=>iS2:計(jì)算 p*i 的積,結(jié)果仍然放在p 中,即 p*i=>pS3:i 的值增 1 ,即 i+1=>iS4:如果 i 沒(méi)有超過(guò) 5,則繼續(xù)執(zhí)行 S2、S3、S5,否則,算法結(jié)束,p 中的數(shù)據(jù)就是連乘積。流程圖表示法:N-S 圖表示法:開(kāi)始welcome1=>p,2=>i1=>p,2=>ip*i=>p精品習(xí)題:計(jì)算 1+3+5+7+9的和,用流程圖和 N-S 圖表示
16、此算法。( 2)有 50 個(gè)學(xué)生,輸出 80 分以上的學(xué)生學(xué)號(hào)和成績(jī)?yōu)榱吮硎痉奖悖?用 n 表示學(xué)生學(xué)號(hào), n i 表示第 i 個(gè)學(xué)生學(xué)號(hào),用 g 表示學(xué)生成績(jī), g i 表示第 i 個(gè)學(xué)生成績(jī),則算法如下:自然語(yǔ)言表示法:S1:1=>iS2:如果 g i>80 ,則輸出 n i 和 g i,否則不輸出;S3:i+1=>IS4:如果 i<=50 ,返回到 S2,繼續(xù)執(zhí)行 S2、S3、S4;否則,算法結(jié)束。流程圖表示法:N-S 圖表示法:開(kāi)始1=>i1=>iwelcomegi>=80NY輸出 nigiYNi+1=>igi>=8精品習(xí)題:有 5
17、0 個(gè)學(xué)生,找出 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:輸入年份 =>yS2:若 y 能被 4 整除,但不能被 100 整除,則輸出 y 是閏年,算法結(jié)束;否則,執(zhí)行S3;S3:若 y 能被 100 整除,也能被 400 整除,則輸出 y 是welcome精品閏
18、年,算法結(jié)束;否則,執(zhí)行S4;S4:輸出 y 不是閏年,算法結(jié)束。流程圖表示法:開(kāi)始輸入年份 =>yy 不能被4 整除YNy 不能被N100 整除YYy 不能被N輸出 y400 整除是閏年輸出 y輸出 y輸出 y不是閏年是閏年不是閏年結(jié)束N-S 圖表示法:輸入年份 =>yYy/4 的余數(shù)為 0y/100 余數(shù)不為 0NY輸出N輸出y/400余數(shù)不為 0y 不YNy 是輸出 y 是輸出 y 不是是閏閏年閏年welcome精品習(xí)題:輸出某一年份段內(nèi)(比如1000-3000之間,包括1000 和 3000 )的所有閏年。(4)求一個(gè)數(shù)列的值1-1/2+1/3-1/4+1/5+1/99-1
19、/100注意數(shù)列的規(guī)律,分子都是 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=>sumS3:-t=>t;i+1=>iS4:如果 i<=100, 則返回 S2,繼續(xù)執(zhí)行 S2、S3、S4,否則 ,算法結(jié)束
20、, sum 中的值就是所求。流程圖表示法:N-S 圖表示法:開(kāi)始0.0=>sum,1.0=>i,1=t0.0=>sum,1.0=>i ,1=>tt*1/i+sum=>sut*1/i+sum=>sum-t=>t,i+1=>i直到 i>100-t=>t,i+1=>i輸出 sumwelcomeYi<=10精品習(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ù),否則
21、就不是素?cái)?shù),首先需要開(kāi)辟一個(gè)空間n 存放待判斷的數(shù),其次開(kāi)辟一個(gè)除數(shù)的空間 i(i 從 2 開(kāi)始),利用 n 除以這個(gè) i,看能否整除,具體算法如下:自然語(yǔ)言表示法:S1:輸入待判斷的數(shù) =>nS2:2=>iS4:n 除以 i,得余數(shù) rS5:如果 r 不為 0,則 i+1=>i,否則,輸出 n 不是素?cái)?shù),算法結(jié)束S6:如果 i<n ,則返回 S4,否則,輸出 n 是素?cái)?shù),算法結(jié)束??紤]是否非要做到i=n-1 ,是不是可以做到i<=sqrt(n)。流程圖表示法:流程圖表示法:(改進(jìn))開(kāi)始welcome開(kāi)始輸入待判輸入待判精品N-S 圖表示法:輸入待判斷數(shù)0=>
22、;w,2=>in/i 的余數(shù) =>rr=0YN1=>wi+1=>i直到 i>n 或 w=1welcomeYw=0N輸出 n 是素?cái)?shù)輸出 n 不是素?cái)?shù)精品習(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)生了不同的操作;(3 )當(dāng)某一條件成立時(shí),反復(fù)做相同的操作。這就是我們結(jié)構(gòu)化程序設(shè)計(jì)的三種基本流控結(jié)構(gòu):順序,分支和循環(huán),下面給出這三種基本流控結(jié)構(gòu)的流程圖和 N
23、-S 圖表示。流程圖表示方法:YpNYAABABpN順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)N-S 表示方法:Ap當(dāng) p 成立循環(huán)體BYNA循環(huán)體直到 p 成立順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)六、算法的特性welcome精品算法共有五個(gè)特性:有窮性、確定性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出、有效性;有窮性:一個(gè)算法的步驟必須是有限的;確定性:算法中的每個(gè)步驟必須是確定的,不能是含糊不清的,不能有歧義;輸入:算法運(yùn)行時(shí)有時(shí)需要外部輸入的信息;輸出:算法的最終目的是求解和輸出;有效性:算法的每個(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é)
24、構(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ù)類(lèi)型( 1)學(xué)時(shí): 2 學(xué)時(shí)welcome精品授課形式:板書(shū) + 多媒體講解 + 實(shí)例程序演示教學(xué)目標(biāo):掌握各種數(shù)據(jù)類(lèi)型的關(guān)鍵字,掌握各種數(shù)據(jù)類(lèi)型在計(jì)算機(jī)中所占的存儲(chǔ)空間,常量及變量的定義形式,針對(duì)各種數(shù)據(jù)類(lèi)型 printf 的格式控制輸出。主要內(nèi)容及時(shí)間安排(課堂 90 分鐘, 80 分鐘講課, 5 分鐘復(fù)習(xí), 5 分鐘總結(jié)):( 1)以提問(wèn)的方式復(fù)習(xí)上節(jié)課
25、的主要知識(shí)點(diǎn)( 5 分鐘);( 2)C 語(yǔ)言的各種數(shù)據(jù)類(lèi)型簡(jiǎn)介 (基本類(lèi)型和構(gòu)造類(lèi)型,各種數(shù)據(jù)類(lèi)型的關(guān)鍵字及所占字節(jié)等) (10 分鐘);( 3)針對(duì)不同格式的 printf 輸出格式介紹及舉例(printf格式介紹,各種類(lèi)型格式控制符介紹,以例子說(shuō)明) (20 分鐘);( 4)常量(包括整型常量、實(shí)型常量、字符型常量、符號(hào)常量、舉例)(20 分鐘)( 5)整型變量的概念及舉例(整型變量的定義及舉例)( 20 分鐘)( 6)課堂練習(xí)(針對(duì)所講知識(shí)進(jìn)行相關(guān)習(xí)題練習(xí)) (10分鐘)( 7)總結(jié)及新一講內(nèi)容提要(下一講實(shí)型變量、字符型變量、指針變量的定義和使用) (5 分鐘)重點(diǎn): C 語(yǔ)言各種數(shù)據(jù)
26、類(lèi)型的關(guān)鍵字、各種類(lèi)型的常量表示法、整型變量的定義和操作等;welcome精品難點(diǎn):整型變量的表示范圍。教學(xué)內(nèi)容細(xì)節(jié):一、 C 語(yǔ)言各種數(shù)據(jù)類(lèi)型介紹無(wú)符號(hào)整型整型長(zhǎng)整型基本類(lèi)型字符型整型、短整型單精度實(shí)型枚舉型雙精度數(shù)據(jù)類(lèi)型數(shù)組構(gòu)造類(lèi)型結(jié)構(gòu)體共用體指針類(lèi)型空類(lèi)型各種數(shù)據(jù)類(lèi)型的關(guān)鍵字, 及在計(jì)算機(jī)內(nèi)存中所占大小 (以各種不同的編譯環(huán)境為例)類(lèi)型名關(guān)鍵字所占字節(jié)( B)TCRarnu_cVC+整型int224短整型short int222長(zhǎng)整形long int444無(wú)符號(hào)整型unsigned int224無(wú)符號(hào)長(zhǎng)整形unsigned long444無(wú)符號(hào)短整型unsigned short222單精
27、度f(wàn)loat444welcome精品雙精度double888字符型char111指針類(lèi)型*244二、以 printf輸出各種數(shù)據(jù)類(lèi)型printf基本格式說(shuō)明printf (格式控制,輸出表列);格式控制:用雙引號(hào)括起來(lái)的字符串,這個(gè)字符串包括兩部分,格式說(shuō)明和普通字符,格式說(shuō)明以 %開(kāi)頭。輸出表列:與格式說(shuō)明對(duì)應(yīng)的輸出表列。在格式控制符中,除了格式說(shuō)明去后邊對(duì)應(yīng)輸出表列之外其他字符原樣原位置輸出,輸出表列為帶輸出的內(nèi)容。比如:printf( “abcd ”);/* 輸出 abcd 字符串 */int x=8 ,y=9;printf( “abcd%defg%d”,x,y);/* 輸出 abcd8
28、efg9*/具體格式說(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;welcome精品printf( “%d,%u,%o,%xn”,a,a,a,a);輸出內(nèi)容分別是: -1,65535,177777,ffff所以原反補(bǔ)碼的含義大家一定要清楚,對(duì)為什么出現(xiàn)這樣的情況加以分析。對(duì)于其他的數(shù)據(jù)類(lèi)型也要采取不同的輸出格式:%f/* 以單精度形式輸出實(shí)數(shù)*/%lf/* 以雙精度形式輸出實(shí)數(shù) */%c/* 以字符形式輸出,只輸出一個(gè)字符*/分析:int a=65
29、 ;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ù)類(lèi)型常量1.整型常量( 1)十進(jìn)制整型常量( 2)八進(jìn)制整型常量(以 0 開(kāi)頭)welcome精品(3)十六進(jìn)制整型常量(以0x 開(kāi)頭)(4)后綴為 u 和 U 則表示無(wú)符號(hào)整型,后綴為L(zhǎng) 或 l,表示長(zhǎng)整型。如果將一
30、個(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ù)處理范疇,與文件包含命令相同。#define X 12一般放在程序開(kāi)始,作用是定義一個(gè)符號(hào)為常量,在程序運(yùn)行過(guò)程中不允許改變。四、整型變量的概念和舉例welcome精品( 1)標(biāo)示符的命名
31、規(guī)則:由字母數(shù)字下劃線,開(kāi)頭不能使數(shù)字。例:以下合法的用戶標(biāo)識(shí)符是()Aa1B 3erC_a#D if( 2 )各種類(lèi)型變量的定義:各種變量的定義方法為:類(lèi)型名 變量名列表;/* 如果變量名多余1 個(gè),用 ,分隔 */整型變量的定義方法:int a ;int a,b;int a,b,c=12;int a=12 ,b=12 ,c=12; 不能寫(xiě)成int a=b=c=12;可以在變量定義時(shí)給變量賦初值。第五講數(shù)據(jù)類(lèi)型( 2)學(xué)時(shí): 2 學(xué)時(shí)授課形式:板書(shū) + 多媒體講解 + 實(shí)例程序演示主要內(nèi)容及時(shí)間安排(課堂90 分鐘, 80 分鐘講課, 5分鐘復(fù)習(xí), 5 分鐘總結(jié)):( 1)以提問(wèn)的方式復(fù)習(xí)上
32、節(jié)課的主要內(nèi)容( 5 分鐘);( 2)實(shí)型變量(定義方法、表示范圍、使用舉例) (15welcome精品分鐘);(3)字符型變量(定義方法、表示范圍、使用舉例)(15分鐘);(4)指針型變量(含義、定義方法、使用舉例) ( 15 分鐘);( 5)各種數(shù)據(jù)類(lèi)型間的混合運(yùn)算(類(lèi)型間的轉(zhuǎn)化、強(qiáng)制類(lèi)型轉(zhuǎn)化方法、舉例)(20 分鐘);( 6)課堂習(xí)題( 15 分鐘);( 7)總結(jié)及下一講知識(shí)提要(運(yùn)算符和表達(dá)式) (5 分鐘)。重點(diǎn):實(shí)型變量的定義方法、表示范圍;字符型變量的定義方法、表示范圍;指針和其他類(lèi)型變量的配合使用;數(shù)據(jù)類(lèi)型間混合運(yùn)算時(shí)的轉(zhuǎn)化;難點(diǎn):指針和其他數(shù)據(jù)類(lèi)型的配合使用,數(shù)據(jù)間的轉(zhuǎn)化。教
33、學(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 位。24位8位數(shù)符小數(shù)部分指數(shù)部分welcome精品比如:24位8位+.3141591表示 3.14159浮點(diǎn)型變量定義的類(lèi)型包括:float 、double 、long double舉例說(shuō)明浮點(diǎn)型數(shù)據(jù)是有誤差的:#include <stdio.h>void main()float a,b;a=123456.789e5;b=a+20;printf("%fn&
34、quot;,b);如果將 float 改為 double則結(jié)果不同。二、字符型變量字符型常量是以單引號(hào)括起來(lái)的單個(gè)字符。字符變量的定義使用的是關(guān)鍵字charchar a,b;a= a;welcome精品b=97;整數(shù)和字符型可以互相賦值。一 般編 譯系 統(tǒng) 默 認(rèn) 字 符型為 signed 類(lèi) 型, 表 示 -128 127 之間的數(shù)字對(duì)應(yīng)的字符, 如果想表示 128-255 之間的數(shù)字則字符需定義為 unsigned char 。三、指針型變量指針型變量往往是和其他變量的定義配合使用,表示不同變量在內(nèi)存中的地址。指針變量定義是以*為標(biāo)識(shí)符的。比如:int *a,*b;char *c,*d;這
35、時(shí)需要注意,在定義中出現(xiàn)的* 與程序中出現(xiàn)的 *是不同的,定義時(shí)出現(xiàn)的* 表示變量為指針類(lèi)型,程序中出現(xiàn)*表示取出地址中的具體數(shù)值。*與& 地址運(yùn)算互逆。#include <stdio.h>void main()int *p;int c;p=&c;scanf("%d",p);printf("%d,%dn",c,*p);welcome精品四、變量賦初值在前面的變量定義時(shí),有時(shí)在定義的同時(shí)就給變量賦了初值,有的是在定義好后,再利用賦值語(yǔ)句給變量賦初值,不管利用哪種方式,都要注意兩點(diǎn):不能在定義時(shí)進(jìn)行連續(xù)賦值;不能將不匹配的數(shù)據(jù)類(lèi)型
36、互相賦值,否則會(huì)產(chǎn)生錯(cuò)誤。錯(cuò)誤的:int a=b=c=10;int a=3.56;正確的:int a,b,c;a=b=c=10;五、各類(lèi)數(shù)據(jù)類(lèi)型間混合運(yùn)算各種數(shù)據(jù)類(lèi)型可以進(jìn)行混合運(yùn)算,運(yùn)算結(jié)果為一種數(shù)據(jù)類(lèi)型,具體規(guī)則如下:高doublefloatlongunsigned低intchar、 short橫向的是必須轉(zhuǎn)化的,比如float 型數(shù)據(jù)在進(jìn)行運(yùn)算時(shí),其運(yùn)算記過(guò)統(tǒng)統(tǒng)要轉(zhuǎn)化為double類(lèi)型,不管參與運(yùn)算的是welcome精品否有 double類(lèi)型;char 或 short 類(lèi)型的數(shù)據(jù)在進(jìn)行運(yùn)算時(shí),結(jié)果都會(huì)轉(zhuǎn)化成int 型??v向箭頭表示對(duì)象類(lèi)型不同時(shí)的轉(zhuǎn)換方向,當(dāng)參與運(yùn)算的對(duì)象數(shù)據(jù)類(lèi)型不同時(shí),
37、采用低級(jí)向高級(jí)轉(zhuǎn)化的規(guī)律。比如int 型和 long 型進(jìn)行運(yùn)算時(shí), 將 int 轉(zhuǎn)化為 long 類(lèi)型再進(jìn)行運(yùn)算。比如:10+ a+1.5-8765.4321*b 結(jié)果為double類(lèi)型,轉(zhuǎn)化由系統(tǒng)自動(dòng)完成,無(wú)需用戶操作。如果在計(jì)算過(guò)程中不想按照上述轉(zhuǎn)化規(guī)則進(jìn)行轉(zhuǎn)化,則可以利用強(qiáng)制類(lèi)型轉(zhuǎn)換。具體方式為:(強(qiáng)制類(lèi)型名)變量或常量例如:#include <stdio.h>void main()int a;float b=3.67;a=(int)3.67;printf("%d,%fn",a,b);welcome精品六、總結(jié)及課堂練習(xí)課堂習(xí)題: 3.2,3.3作業(yè):
38、3.5 ,3.6 ,3.8第六講運(yùn)算符和表達(dá)式(1)學(xué)時(shí): 2 學(xué)時(shí)授課形式:板書(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 分
39、鐘)( 7)指針運(yùn)算符( 10 )( 8)課堂習(xí)題(所講運(yùn)算符的使用和運(yùn)算方法) (10 分welcome精品鐘)( 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ù)必須
40、為整數(shù),其含義是去兩個(gè)整數(shù)相除的余數(shù)。2.自加自減運(yùn)算符自加自減運(yùn)算符包括 + 和- ,它屬于單目運(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)算符,比如+= ,%= ,welcome精品<<= ,>>= 等。它屬于雙目運(yùn)算,結(jié)合性自右至左。4.逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符,順序求值運(yùn)算,結(jié)合性自左至右。5.位運(yùn)算符位運(yùn)算符包括 << ,>> ,, 小彎彎, & ,|,按位運(yùn)算,雙目運(yùn)算符,其中按位取
41、反為單目運(yùn)算符 (結(jié)合性自右至左),雙目位運(yùn)算結(jié)合性自左至右。6.指針運(yùn)算符指針運(yùn)算符 *,取地址運(yùn)算符 & ,單目運(yùn)算符,結(jié)合性自右至左。7.邏輯運(yùn)算符邏輯運(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: 值 211. 分量運(yùn)算符分量運(yùn)算符: -> 和.,結(jié)合性為自左至右。12. 下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符 ,結(jié)合性自左至右。welcome精品13. 求字節(jié)運(yùn)算符求字節(jié)運(yùn)算符 sizeof (操作數(shù)),結(jié)合性自右至左。14. 強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符強(qiáng)制類(lèi)型轉(zhuǎn)換:(類(lèi)型)操作數(shù),結(jié)合性自右至左。二、各種運(yùn)算符的優(yōu)先級(jí)( 1)初等運(yùn)算符()、 、 、.( 2)單目運(yùn)算符!、 、+ 、- 、-
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村抗旱合同范例
- 中央空調(diào)維修合同范例
- it行業(yè)勞務(wù)合同范例
- 企業(yè)收購(gòu)項(xiàng)目合同范例
- 傳媒授權(quán)合同范例
- 借條模板和合同范本
- 中城華府購(gòu)房合同范例
- 業(yè)主建設(shè)工程合同范例
- 企業(yè)策劃宣傳合同范例
- 上海小區(qū)電梯改造合同范例
- 2024-2025學(xué)年第二學(xué)期天域全國(guó)名校協(xié)作體高三3月聯(lián)考 地理試卷(含答案)
- 學(xué)校2025年每日兩小時(shí)體育活動(dòng)方案-陽(yáng)光體育活力四溢
- JT-T-1202-2018城市公共汽電車(chē)場(chǎng)站配置規(guī)范
- 冠心病病人的護(hù)理ppt(完整版)課件
- 專(zhuān)用夾具設(shè)計(jì)說(shuō)明書(shū)
- 氣缸選型介紹.ppt課件
- 水上危險(xiǎn)化學(xué)品泄漏事故處置技術(shù)研究
- 數(shù)字電子技術(shù)基礎(chǔ)第1章--康華光-第五版
- 國(guó)內(nèi)汽車(chē)產(chǎn)銷(xiāo)數(shù)據(jù)四個(gè)統(tǒng)計(jì)口徑數(shù)據(jù)利益鏈
- 消防設(shè)施檢測(cè)內(nèi)容及流程
- 零序保護(hù)整定說(shuō)明
評(píng)論
0/150
提交評(píng)論