C語言程序設(shè)計(jì)教程(微課版)全套課件_第1頁
C語言程序設(shè)計(jì)教程(微課版)全套課件_第2頁
C語言程序設(shè)計(jì)教程(微課版)全套課件_第3頁
C語言程序設(shè)計(jì)教程(微課版)全套課件_第4頁
C語言程序設(shè)計(jì)教程(微課版)全套課件_第5頁
已閱讀5頁,還剩577頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計(jì)程序設(shè)計(jì)語言的歷史劉鵬01_1_1程序設(shè)計(jì)語言的歷史.ppt01_2_1C語言的基本語法成分.ppt01_2_2C程序基本結(jié)構(gòu).ppt01_2_3C語言的上機(jī)步驟.ppt02_1了解程序算法.pptx02_2描述程序算法.pptx03_1_1認(rèn)識(shí)C語言的數(shù)據(jù)類型.pptx03_1_2書寫C語言的常量.pptx03_1_3定義C語言的變量.pptx03_2_1計(jì)算算術(shù)表達(dá)式.pptx03_2_2計(jì)算賦值表達(dá)式和逗號(hào)表達(dá)式.pptx03_2_3計(jì)算關(guān)系表達(dá)式和邏輯表達(dá)式.pptx03_2_4計(jì)算條件表達(dá)式和位運(yùn)算表達(dá)式.pptx04_1_1認(rèn)識(shí)C語言語句分類.ppt04_2_1格式輸出語句.ppt04_2_2格式輸入語句.ppt04_2_3字符輸入輸出語句.ppt05_1_1認(rèn)識(shí)if語句.ppt05_1_2使用if語句.ppt05_2_1使用switch語句.ppt06_1_1使用while語句.ppt06_2_1使用do-while語句.ppt06_3_1使用for語句.ppt06_3_2循環(huán)語句的復(fù)合使用.ppt06_3_3break與continue的使用.ppt07_1_1定義和初始化一維數(shù)組.pptx07_1_2遍歷一維數(shù)組.pptx07_2_1定義和初始化二維數(shù)組.pptx07_2_2遍歷二維數(shù)組.pptx08_1_1認(rèn)識(shí)函數(shù)的基本概念.pptx08_1_2定義和調(diào)用函數(shù).pptx08_1_3遞歸調(diào)用函數(shù).pptx08_2_1認(rèn)識(shí)變量的作用域和存儲(chǔ)類.pptx09_1_1認(rèn)識(shí)和定義指針變量.pptx09_1_2運(yùn)算指針變量.pptx09_2_1使用指針操作一維數(shù)組.pptx09_2_2使用指針操作二維數(shù)組.pptx09_3_1使用指針實(shí)現(xiàn)函數(shù)間數(shù)據(jù)傳遞.pptx09_3_2使用指向函數(shù)的指針.pptx09_3_3認(rèn)識(shí)main函數(shù)的參數(shù).pptx09_4_1認(rèn)識(shí)字符串.pptx09_4_2輸入輸出字符串.pptx09_4_3操作字符串.pptx10_1定義和使用宏.pptx11_1_1使用typedef.pptx11_1_2定義結(jié)構(gòu)體.pptx11_1_3使用結(jié)構(gòu)體數(shù)據(jù).pptx11_2_1使用動(dòng)態(tài)存儲(chǔ)分配函數(shù).pptx11_2_2使用單鏈表.pptx11_3_1使用共用體.pptx11_3_2使用枚舉類型.pptx12_1_1認(rèn)識(shí)并打開文件.pptx12_2_1使用文件讀寫函數(shù).pptx12_2_2使用文件定位函數(shù).pptx12_3_1使用文件檢測函數(shù).pptx學(xué)習(xí)目標(biāo)了解程序設(shè)計(jì)語言了解程序設(shè)計(jì)語言的發(fā)展21、程序或者軟件,是一組指令的集合;2、程序或軟件都是計(jì)算機(jī)軟件設(shè)計(jì)人員使用特定的程序設(shè)計(jì)語言、根據(jù)需要設(shè)計(jì)好的;程序設(shè)計(jì)語言33、程序設(shè)計(jì)語言是用來定義計(jì)算機(jī)程序的一組記號(hào)和一組語法規(guī)則,它是一種被標(biāo)準(zhǔn)化了的人機(jī)交流語言,用來向計(jì)算機(jī)發(fā)出指令。一種程序設(shè)計(jì)語言讓程序開發(fā)人員能夠準(zhǔn)確地定義計(jì)算機(jī)所需的數(shù)據(jù),并精確地定義在不同情況下所應(yīng)該采取的行動(dòng)。程序設(shè)計(jì)語言41.機(jī)器語言計(jì)算機(jī)只能接受由0和1構(gòu)成的指令。程序設(shè)計(jì):用紙帶穿孔機(jī)及人工的方法在特制的紙帶上穿孔,在指定位置上有孔代表1,無孔代表0。運(yùn)行程序:將紙帶裝入光電輸入機(jī),當(dāng)光電輸入機(jī)讀取紙帶信息時(shí),有孔處產(chǎn)生一個(gè)電脈沖,從而變成電信號(hào)讓計(jì)算機(jī)執(zhí)行指令。程序設(shè)計(jì)語言的發(fā)展51.機(jī)器語言計(jì)算機(jī)能直接識(shí)別和執(zhí)行的二進(jìn)制指令稱為機(jī)器指令,機(jī)器指令的集合就是機(jī)器語言。機(jī)器語言,是第一代計(jì)算機(jī)語言。程序設(shè)計(jì)語言的發(fā)展62.符號(hào)語言人們進(jìn)行了一種有益的改進(jìn),創(chuàng)造出了符號(hào)語言,它用一些英文字符和數(shù)字表示指令。開始了程序設(shè)計(jì)“源代碼—自動(dòng)翻譯器目標(biāo)代碼”的使用方式,開始了計(jì)算機(jī)語言宜人方向的進(jìn)程。程序設(shè)計(jì)語言的發(fā)展72.符號(hào)語言相較于機(jī)器語言,人們比較容易讀懂并理解程序在干什么,糾錯(cuò)及維護(hù)都變得方便一些,這種程序設(shè)計(jì)語言就稱為匯編語言,即第二代計(jì)算機(jī)語言。由其“貼近”計(jì)算機(jī)的特性由此而稱之為“低級(jí)語言”。程序設(shè)計(jì)語言的發(fā)展83.高級(jí)語言高級(jí)語言接近于數(shù)學(xué)語言或人的自然語言,同時(shí)又不過分依賴于計(jì)算機(jī)硬件,編出的程序能在多數(shù)機(jī)器上通用。程序設(shè)計(jì)語言的發(fā)展93.高級(jí)語言高級(jí)語言是有效地使用汁算機(jī)與計(jì)算機(jī)執(zhí)行效率之間的一個(gè)很好的折中手段。經(jīng)過努力,1954年,第一個(gè)完全脫離機(jī)器硬件的高級(jí)語言—FORTRAN問世了。程序設(shè)計(jì)語言的發(fā)展10謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了!!!程序設(shè)計(jì)語言的歷史11C語言程序設(shè)計(jì)C語言的基本語法成分劉鵬學(xué)習(xí)目標(biāo)C語言的字符集C語言的詞匯字符是組成語言的最基本的元素,一般認(rèn)為C采用了是ASCII字符集(美國信息交換標(biāo)準(zhǔn)碼)。C語言的字符集在C語言中使用的詞匯分為六類:標(biāo)識(shí)符,關(guān)鍵字,運(yùn)算符,分隔符,常量,注釋符C語言的詞匯1.標(biāo)識(shí)符在程序中使用的變量名、函數(shù)名、標(biāo)號(hào)等一切名稱統(tǒng)稱為標(biāo)識(shí)符。標(biāo)識(shí)符只能是字母(A~Z,a~z)、數(shù)字(0~9)、下劃線(_)組成的字符序列,并且其第一個(gè)字符必須是字母或下劃線。C語言的詞匯1.標(biāo)識(shí)符在標(biāo)識(shí)符中,大小寫是有區(qū)別的;用戶自定義標(biāo)識(shí)符不能和關(guān)鍵字同名,可以和預(yù)定義標(biāo)識(shí)符同名,但不建議這么用。C語言的詞匯2.關(guān)鍵字關(guān)鍵字也叫保留字,可視作標(biāo)識(shí)符的其中一種;是由C語言規(guī)定的具有特定意義的字符串,共有32個(gè)。C語言的詞匯關(guān)鍵字分類:(1)類型說明符:用于定義、說明變量、函數(shù)或其它數(shù)據(jù)結(jié)構(gòu)的類型。如int,double等(2)語句定義符:用于表示一個(gè)語句的功能。如if-else就是條件語句的語句定義符。(3)預(yù)處理命令符:用于表示一個(gè)預(yù)處理命令。如include。C語言的詞匯3.運(yùn)算符C語言中含有相當(dāng)豐富的運(yùn)算符。運(yùn)算符與常量、變量,函數(shù)調(diào)用一起組成表達(dá)式,表示各種運(yùn)算功能。運(yùn)算符由一個(gè)或多個(gè)字符組成。C語言的詞匯4.分隔符在C語言中經(jīng)常采用的分隔符有逗號(hào)和空格兩種。逗號(hào)主要用在類型說明和函數(shù)參數(shù)表中,分隔各個(gè)變量??崭穸嘤糜谡Z句各單詞之間,作間隔符。C語言的詞匯5.常量C語言中使用的常量可以做如圖所示的劃分:C語言的詞匯6.注釋符塊注釋:以“/*”開頭并以“*/”結(jié)尾的串單行注釋:以“//”開頭,本行“//”后面的為注釋。注釋可出現(xiàn)在程序中的任何位置,可寫任意字符,程序編譯時(shí)不對注釋作任何處理。C語言的詞匯謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了!??!C語言的基本語法成分C語言程序設(shè)計(jì)C程序基本結(jié)構(gòu)劉鵬學(xué)習(xí)目標(biāo)掌握C程序的結(jié)構(gòu)C程序的結(jié)構(gòu)C程序的結(jié)構(gòu)如圖所示:C程序的結(jié)構(gòu)C程序的特點(diǎn):一個(gè)C語言源程序可以由一個(gè)或多個(gè)源文件組成。每個(gè)源文件可由一個(gè)或多個(gè)函數(shù)組成。源程序中可以有預(yù)處理命令(include命令僅為其中的一種),預(yù)處理命令通常應(yīng)放在源文件或源程序的最前面。C程序的結(jié)構(gòu)C程序的特點(diǎn):C語言本身沒有輸入輸出語句。輸入輸出操作由庫函數(shù)scanf和printf等函數(shù)完成??梢杂谩?

……

/”或者“//”在C程序中的任何地方作注釋以提高程序的可讀性。C程序的結(jié)構(gòu)C程序中的函數(shù):函數(shù)是C程序的基本單位。編寫C程序的主要工作就是完成一個(gè)個(gè)函數(shù)的定義。由自定義函數(shù)及系統(tǒng)提供的庫函數(shù)共同完成程序功能。C程序的結(jié)構(gòu)C程序中的函數(shù):程序中有一個(gè)且只能有一個(gè)main函數(shù),即主函數(shù)。一個(gè)C程序總是從main函數(shù)開始執(zhí)行,而main函數(shù)可以出現(xiàn)在整個(gè)程序中的任何位置。C程序的結(jié)構(gòu)C程序中的書寫特點(diǎn):每一個(gè)定義、說明,每一個(gè)語句都必須以分號(hào)結(jié)尾。預(yù)處理命令,函數(shù)頭和花括號(hào)“{}”之后不能加分號(hào)。C程序書寫格式自由,一行內(nèi)可寫多個(gè)語句,一個(gè)語句可分寫在多行上。C程序的結(jié)構(gòu)C程序中的書寫一般遵循的規(guī)則:一個(gè)說明或一個(gè)語句占一行,盡量書寫短語句。用{}括起來的部分,通常表示了程序的某一層次結(jié)構(gòu)。{}一般與該結(jié)構(gòu)語句的第一個(gè)字母對齊,并單獨(dú)占一行。低一層次的語句縮進(jìn)若干格后書寫。以便看起來更加清晰,增加程序的可讀性。謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。?!C程序基本結(jié)構(gòu)C語言程序設(shè)計(jì)C語言的上機(jī)步驟劉鵬學(xué)習(xí)目標(biāo)熟悉C語言的上機(jī)步驟C語言的上機(jī)步驟C語言上機(jī)步驟如圖所示:操作演示

操作演示操作演示謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。?!C語言的上機(jī)步驟C語言程序設(shè)計(jì)了解程序算法張熙學(xué)習(xí)目標(biāo)了解算法的概念了解算法的特點(diǎn)算法的概念算法就是解決問題的步驟。在這里重點(diǎn)關(guān)注的是計(jì)算機(jī)算法,特指計(jì)算機(jī)能夠執(zhí)行的算法,所以算法設(shè)計(jì)得符合計(jì)算機(jī)的能力。算法的概念計(jì)算機(jī)算法分為數(shù)值運(yùn)算算法和非數(shù)值運(yùn)算算法兩大類,在本學(xué)期當(dāng)中的編程實(shí)例當(dāng)中,數(shù)值運(yùn)算占據(jù)大多數(shù)。算法解決了“怎么做”的問題后,程序編輯過程中的一行一行的源代碼實(shí)際上就是算法的體現(xiàn)。算法的特點(diǎn)有窮性:指的是“算法得在合理的時(shí)間范圍內(nèi)結(jié)束”。確定性:算法中每一個(gè)步驟應(yīng)當(dāng)是確定的,而不能應(yīng)當(dāng)是含糊的、模棱兩可的。算法的特點(diǎn)有零個(gè)或多個(gè)輸入:所謂輸入是指執(zhí)行算法需要從外界獲得的必要信息。有一個(gè)或多個(gè)輸出。問題解決之后的、需要讓外界了解的“解”就是輸出。算法的特點(diǎn)有效性:算法中每一個(gè)步驟應(yīng)當(dāng)能有效地執(zhí)行,并得到確定的結(jié)果。了解程序算法C語言程序設(shè)計(jì)描述程序算法張熙學(xué)習(xí)目標(biāo)認(rèn)識(shí)算法的三種基本結(jié)構(gòu)認(rèn)識(shí)一般流程圖認(rèn)識(shí)N-S流程圖認(rèn)識(shí)算法的三種基本結(jié)構(gòu)1、三種基本結(jié)構(gòu)順序結(jié)構(gòu):該結(jié)構(gòu)規(guī)定兩個(gè)步驟按照出現(xiàn)的先后次序,依次執(zhí)行,它是最簡單的一種基本結(jié)構(gòu)。認(rèn)識(shí)算法的三種基本結(jié)構(gòu)1、三種基本結(jié)構(gòu)(續(xù))選擇結(jié)構(gòu):也叫分支結(jié)構(gòu),該結(jié)構(gòu)按照一定的判斷條件,選取后續(xù)的兩個(gè)步驟之一進(jìn)行執(zhí)行,執(zhí)行后結(jié)束選擇結(jié)構(gòu)。認(rèn)識(shí)算法的三種基本結(jié)構(gòu)1、三種基本結(jié)構(gòu)(續(xù))循環(huán)結(jié)構(gòu):該結(jié)構(gòu)在循環(huán)條件的控制下重復(fù)執(zhí)行某些步驟。認(rèn)識(shí)算法的三種基本結(jié)構(gòu)2、結(jié)論已經(jīng)證明的是:任何復(fù)雜問題的算法都可以通過三種基本結(jié)鉤的組合得以實(shí)現(xiàn)。結(jié)構(gòu)化的算法設(shè)計(jì),它不存在不規(guī)律的轉(zhuǎn)向,只允許在基本結(jié)構(gòu)內(nèi)部存在分支或者跳轉(zhuǎn)。認(rèn)識(shí)一般流程圖一般流程圖符號(hào)認(rèn)識(shí)一般流程圖一般流程圖描述的三種基本結(jié)構(gòu)認(rèn)識(shí)一般流程圖一般流程圖描述的三種基本結(jié)構(gòu)(續(xù))認(rèn)識(shí)N-S流程圖N-S流程圖描述的三種基本結(jié)構(gòu)描述程序算法C語言程序設(shè)計(jì)認(rèn)識(shí)C語言的數(shù)據(jù)類型張熙學(xué)習(xí)目標(biāo)認(rèn)識(shí)C語言數(shù)據(jù)類型的分類認(rèn)識(shí)基本數(shù)據(jù)類型認(rèn)識(shí)C語言數(shù)據(jù)類型的分類認(rèn)識(shí)基本數(shù)據(jù)類型1、整數(shù)類型數(shù)據(jù)類型類型說明符數(shù)的范圍字節(jié)VC++6.0基本整型[signed]int-32768~32767

即-215~(215-1)24無符號(hào)整型unsigned[int]0~65535

即0~(216-1)24短整型short[int]-32768~32767

即-215~(215-1)22認(rèn)識(shí)基本數(shù)據(jù)類型1、整數(shù)類型(續(xù))數(shù)據(jù)類型類型說明符數(shù)的范圍字節(jié)VC++6.0無符號(hào)短整型unsignedshort[int]0~65535即0~(216-1)22長整型long[int]-2147483648~2147483647即-231~(231-1)44無符號(hào)長整型unsignedlong[int]0~4294967295即0~(232-1)44認(rèn)識(shí)基本數(shù)據(jù)類型2、實(shí)數(shù)類型數(shù)據(jù)類型類型說明符有效數(shù)字?jǐn)?shù)的范圍字節(jié)數(shù)單精度實(shí)型float6~710-37~10384雙精度實(shí)型double15~1610-307~103088長雙精度實(shí)型longdouble18~1910-4931~10493216認(rèn)識(shí)基本數(shù)據(jù)類型3、字符類型C語言提供了一種存放字符的數(shù)據(jù)類型:char,該類型的數(shù)據(jù)存放單個(gè)字符,占據(jù)1字節(jié)的存儲(chǔ)單元。字符型數(shù)據(jù)的值是以ASCII碼值的形式存放在對應(yīng)的內(nèi)存單元之中的。所以字符型數(shù)據(jù)可以把它們看成是整型量。認(rèn)識(shí)C語言的數(shù)據(jù)類型C語言程序設(shè)計(jì)書寫C語言的常量張熙學(xué)習(xí)目標(biāo)書寫整型常量書寫實(shí)型常量書寫字符型常量書寫字符串常量書寫符號(hào)常量書寫整型常量十進(jìn)制整型常量:沒有前綴和前導(dǎo)0。其數(shù)碼為0~9,可出現(xiàn)正/負(fù)號(hào)。一個(gè)整型常量,默認(rèn)是int型的。長整型數(shù)的后綴是“L”或“l(fā)”,無符號(hào)數(shù)的后綴是“U”或“u”。書寫整型常量八進(jìn)制整型常量:以數(shù)字0開頭的八進(jìn)制數(shù)字串。數(shù)字串中只能含有0~7這八個(gè)數(shù)字符號(hào)。十六進(jìn)制整型常量:以數(shù)字0x或0X開頭的十六進(jìn)制數(shù)字串。串中只能含有0~9這十個(gè)數(shù)字和a、b、c、d、e、f(或大寫的A、B、C、D、E、F)。書寫實(shí)型常量實(shí)型常量一般都作為雙精度double型來處理,并且只用十進(jìn)制數(shù)表示。小數(shù)形式:它由正/負(fù)符號(hào)、整數(shù)部分、小數(shù)點(diǎn)及小數(shù)部分組成,其中小數(shù)點(diǎn)不可省略。書寫實(shí)型常量科學(xué)計(jì)數(shù)法:由十進(jìn)制小數(shù)形式加上指數(shù)部分組成,形式如下:

十進(jìn)制小數(shù)e指數(shù)或十進(jìn)制小數(shù)E指數(shù)其中e或E前面的數(shù)字稱為尾數(shù),而e或E后面的指數(shù)必須是整數(shù),表示10的冪次。書寫字符型常量字符常量是用單引號(hào)括起來的一個(gè)字符,存放時(shí)是以字符的ASCII碼值進(jìn)行存放的。一般的字符常量:指的是大寫英文字母A-Z,小寫英文字符a-z,數(shù)字符號(hào)0-9,以及其他一些在鍵盤上可以直接敲擊并顯示的字符,這些字符常量直接用一對單引號(hào)括起來即可表示。書寫字符型常量轉(zhuǎn)義字符:是一種特殊的字符常量。以反斜線"\"開頭,后跟一個(gè)或幾個(gè)字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。書寫字符串常量字符串常量是由一對雙引號(hào)括起的字符序列。字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中有效字符數(shù)加1。增加的一個(gè)字節(jié)中存放字符‘\0’(ASCII碼為0,稱之為空字符,這是字符串結(jié)束的標(biāo)志)。書寫符號(hào)常量符號(hào)常量,即用指定的標(biāo)識(shí)符來表示某個(gè)常量,在程序中直接使用該標(biāo)識(shí)符代替該常量。用宏定義命令對符號(hào)常量進(jìn)行定義,其定義形式如下:#define標(biāo)識(shí)符常量書寫C語言的常量C語言程序設(shè)計(jì)定義C語言的變量張熙學(xué)習(xí)目標(biāo)認(rèn)識(shí)變量掌握變量的定義掌握變量初始化認(rèn)識(shí)變量變量是指在程序運(yùn)行時(shí)其值可以改變的量。認(rèn)識(shí)變量變量可視作一個(gè)存儲(chǔ)數(shù)據(jù)的容器,容器大小由數(shù)據(jù)類型決定。程序里的每個(gè)變量都要有一個(gè)變量名,程序是通過變量名來使用變量的。對變量的基本操作有兩個(gè):賦值和取值。定義變量定義變量需要提供兩方面的信息:變量的名字和它的類型,其目的是由變量的類型決定變量的存儲(chǔ)結(jié)構(gòu),以便使C語言的編譯程序?yàn)樗x的變量分配存儲(chǔ)空間。定義變量變量定義形式如下:

類型說明符變量名表;初始化變量在定義變量的同時(shí)可以給變量賦初值,這稱之為“初始化”。即使同值的初始化也要分開寫。如:

inta=3,b=3;定義C語言的變量C語言程序設(shè)計(jì)計(jì)算算術(shù)表達(dá)式張熙學(xué)習(xí)目標(biāo)認(rèn)識(shí)算術(shù)運(yùn)算符掌握運(yùn)算規(guī)則掌握自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換一、認(rèn)識(shí)算術(shù)運(yùn)算符用于各類數(shù)值算術(shù)運(yùn)算。包括:加(+)、減(-)、乘(*)、除(/)、求余(或稱模運(yùn)算,%)、自增(++)、自減(--)共七種。二、掌握運(yùn)算規(guī)則加(+)、減(-)、乘(*)、除(/)、模(%)這五種運(yùn)算符的運(yùn)算規(guī)則與我們熟知的數(shù)學(xué)運(yùn)算基本一致,都需要兩個(gè)操作數(shù),具有左結(jié)合性。二、掌握運(yùn)算規(guī)則模(%)運(yùn)算只能由整型數(shù)據(jù)參與運(yùn)算,運(yùn)算結(jié)果的符號(hào)取決運(yùn)算符前面的操作數(shù)。如果算術(shù)運(yùn)算符兩側(cè)的操作數(shù)都是整數(shù),那么運(yùn)算結(jié)果也只能是整數(shù);如果有一個(gè)操作數(shù)是實(shí)數(shù),那么運(yùn)算結(jié)果就是實(shí)數(shù)。二、掌握運(yùn)算規(guī)則自增(++)、自減(--)都是單目運(yùn)算符,只需要一個(gè)操作數(shù),具有右結(jié)合性。++運(yùn)算符其功能是使變量的值自增1,--運(yùn)算符其功能是使變量值自減1。二、掌握運(yùn)算規(guī)則自增自減運(yùn)算符可以寫在變量前面(前綴寫法),也可以寫在變量后面(后綴寫法)。對同樣的操作變量,前綴寫法和后綴寫法的操作變量的最終值是一樣的,都是操作變量的原值+1,但表達(dá)式值是不一樣的。前綴寫法的表達(dá)式值等于操作變量的終值,后綴寫法的表達(dá)式值等于操作變量的原值。三、掌握自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換發(fā)生在不同數(shù)據(jù)類型的操作數(shù)混合運(yùn)算時(shí),由編譯系統(tǒng)自動(dòng)完成。float三、掌握自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換是通過類型轉(zhuǎn)換運(yùn)算來實(shí)現(xiàn)的。其一般形式為:(類型說明符)(表達(dá)式)計(jì)算算術(shù)表達(dá)式C語言程序設(shè)計(jì)計(jì)算賦值表達(dá)式和逗號(hào)表達(dá)式張熙學(xué)習(xí)目標(biāo)認(rèn)識(shí)賦值運(yùn)算符掌握賦值運(yùn)算規(guī)則掌握逗號(hào)運(yùn)算認(rèn)識(shí)賦值運(yùn)算符用于給變量賦值。分為簡單賦值(=)、復(fù)合算術(shù)賦值(+=,-=,*=,/=,%=)和復(fù)合位運(yùn)算賦值(&=,|=,^=,>>=,<<=)三類共十一種。賦值運(yùn)算符都是雙目運(yùn)算符,具有右結(jié)合性。掌握賦值運(yùn)算規(guī)則1、簡單賦值其一般形式為:

變量=

表達(dá)式計(jì)算運(yùn)算符右側(cè)表達(dá)式的值(可稱為右值)再賦予左邊的變量(可稱為左值)。掌握賦值運(yùn)算規(guī)則1、簡單賦值賦值號(hào)左邊只能出現(xiàn)變量。賦值后左變量的原值被覆蓋消失。賦值表達(dá)式的值是左變量的新值,類型是左變量的類型。掌握賦值運(yùn)算規(guī)則2、復(fù)合的賦值:構(gòu)成復(fù)合賦值表達(dá)式的一般形式為:

變量

雙目運(yùn)算符=表達(dá)式等效于:

變量=變量雙目運(yùn)算符表達(dá)式掌握逗號(hào)運(yùn)算用于把多個(gè)表達(dá)式連接起來組成一個(gè)表達(dá)式,稱為逗號(hào)表達(dá)式。一般形式為:表達(dá)式1,表達(dá)式2,……,表達(dá)式n掌握逗號(hào)運(yùn)算逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低。逗號(hào)表達(dá)式自左往右依次計(jì)算各個(gè)表達(dá)式,整個(gè)逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,其類型是最后一個(gè)表達(dá)式的類型。計(jì)算賦值表達(dá)式和逗號(hào)表達(dá)式C語言程序設(shè)計(jì)計(jì)算關(guān)系表達(dá)式和邏輯表達(dá)式張熙學(xué)習(xí)目標(biāo)掌握關(guān)系表達(dá)式的計(jì)算掌握邏輯表達(dá)式的計(jì)算掌握關(guān)系表達(dá)式的計(jì)算用于比較兩個(gè)量的大小關(guān)系。運(yùn)算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、!=(不等于)。掌握關(guān)系表達(dá)式的計(jì)算都是雙目運(yùn)算符,其結(jié)合性均為左結(jié)合。一般形式如下:

表達(dá)式關(guān)系運(yùn)算符

表達(dá)式求值過程:如果運(yùn)算符兩側(cè)的表達(dá)式值與運(yùn)算符相符,則表達(dá)式成立,表達(dá)式值為1;否則為0。表達(dá)式類型為int。掌握邏輯表達(dá)式的計(jì)算1、認(rèn)識(shí)邏輯運(yùn)算符用于邏輯真假的判斷運(yùn)算。邏輯運(yùn)算符:&&(邏輯與運(yùn)算)、||(邏輯或運(yùn)算)、!(邏輯非運(yùn)算)。邏輯&&和邏輯||均為雙目運(yùn)算符,具有左結(jié)合性。邏輯非!為單目運(yùn)算符,具有右結(jié)合性。掌握邏輯表達(dá)式的計(jì)算1、認(rèn)識(shí)邏輯運(yùn)算符C語言中任何表達(dá)式都可以當(dāng)邏輯值使用,以非0值代表“真”,即將一個(gè)非0的數(shù)值認(rèn)為是“真”,以0值代表“假”。邏輯表達(dá)式的計(jì)算結(jié)果:“邏輯真”,值為1;“邏輯假”,值為0,表達(dá)式類型int。掌握邏輯表達(dá)式的計(jì)算2、運(yùn)算規(guī)則&&:參與運(yùn)算的兩個(gè)表達(dá)式都為真時(shí),結(jié)果為1,否則為0。||:參與運(yùn)算的兩個(gè)表達(dá)式只要有一個(gè)為真,結(jié)果為1;兩個(gè)都為假時(shí),結(jié)果為0。!:參與運(yùn)算的表達(dá)式為真時(shí),結(jié)果為0;參與運(yùn)算的表達(dá)式為假時(shí),結(jié)果為1。掌握邏輯表達(dá)式的計(jì)算3、“短路”原則x&&y:如果x為假(0),就不需要計(jì)算y的值;x║

y:

如果x為真(非0),就不必判斷y。計(jì)算關(guān)系表達(dá)式和邏輯表達(dá)式C語言程序設(shè)計(jì)計(jì)算條件表達(dá)式和位運(yùn)算表達(dá)式張熙學(xué)習(xí)目標(biāo)掌握條件表達(dá)式的計(jì)算掌握位運(yùn)算表達(dá)式的計(jì)算掌握條件表達(dá)式的計(jì)算條件運(yùn)算符由兩個(gè)符號(hào)“?”和“:”組成,要求有3個(gè)操作對象,稱三目(元)運(yùn)算符,它是C語言中唯一的三目運(yùn)算符。條件表達(dá)式的格式為:

表達(dá)式1?表達(dá)式2:表達(dá)式3掌握條件表達(dá)式的計(jì)算求值過程:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值;若表達(dá)式1的值為0(假)則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。掌握位運(yùn)算表達(dá)式的計(jì)算位運(yùn)算符:參與運(yùn)算的量,按二進(jìn)制位進(jìn)行運(yùn)算;對操作數(shù)(整型或字符型)中的每一位二進(jìn)制數(shù),將0看成假、將1看成真再按相應(yīng)的邏輯進(jìn)行運(yùn)算。掌握位運(yùn)算表達(dá)式的計(jì)算位運(yùn)算符有六種,如圖所示:除了~是單目運(yùn)算符,其他都是雙目運(yùn)算符。掌握位運(yùn)算表達(dá)式的計(jì)算按位與“&”:參與運(yùn)算的兩數(shù)各對應(yīng)的二進(jìn)位相與,只有對應(yīng)的兩個(gè)二進(jìn)位均為1時(shí),結(jié)果位才為1,否則為0。掌握位運(yùn)算表達(dá)式的計(jì)算按位或“|”:參與運(yùn)算的兩數(shù)各對應(yīng)的二進(jìn)位相或。只要對應(yīng)的兩個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1,否則為0。掌握位運(yùn)算表達(dá)式的計(jì)算按位異或“^”:參與運(yùn)算的兩數(shù)各對應(yīng)的二進(jìn)位相異或。當(dāng)兩對應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1,否則為0。掌握位運(yùn)算表達(dá)式的計(jì)算按位非“~”:對參與運(yùn)算的數(shù)的各二進(jìn)位按位求反,1變0,0變1。掌握位運(yùn)算表達(dá)式的計(jì)算右移“>>”:

把“>>”左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,由“>>”右邊的數(shù)指定移動(dòng)的位數(shù),低位舍棄。掌握位運(yùn)算表達(dá)式的計(jì)算左移“<<”:

把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。計(jì)算條件表達(dá)式和位運(yùn)算表達(dá)式C語言程序設(shè)計(jì)認(rèn)識(shí)C語言語句分類劉鵬學(xué)習(xí)目標(biāo)認(rèn)識(shí)C語言的語句分類掌握表達(dá)式語句的使用方法掌握復(fù)合語句的使用方法掌握空語句的使用方法128C程序的執(zhí)行部分是由語句組成的。程序的功能也是由執(zhí)行語句實(shí)現(xiàn)的。C語言語句可分為如圖的五類:C語言語句分類129C語言的一條規(guī)則:那就是任何表達(dá)式均可用作語句。不論任何類型或計(jì)算結(jié)果,任何表達(dá)式都可以通過添加分號(hào)的形式轉(zhuǎn)換為語句。表達(dá)式語句130例如:將++i轉(zhuǎn)換為語句++i;執(zhí)行這條語句時(shí),i先進(jìn)行自增,然后將新值進(jìn)行取出。由于++i不是長表達(dá)式中的一部分,所以會(huì)丟棄它的值,同時(shí)執(zhí)行下一條語句。表達(dá)式語句131一起來看幾個(gè)例子:i=1;//i存儲(chǔ)了1,然后取出i的新值,但并未使用i--;//取出i的值但并沒有使用,隨后,i進(jìn)行自減i*j-1;//計(jì)算出表達(dá)式i*j-1的值后丟掉,因?yàn)閕和j沒有變化,所以這條語句沒有任何作用表達(dá)式語句132把多個(gè)語句用括號(hào){}括起來組成的一個(gè)語句稱復(fù)合語句。在程序中應(yīng)把復(fù)合語句看成是單條語句,而不是多條語句。復(fù)合語句133例如:{x=y+z;printf(“%d”,x);}這是一條復(fù)合語句。復(fù)合語句內(nèi)的各條語句都必須以分號(hào)“;”結(jié)尾,在括號(hào)“}”外不能加分號(hào)。復(fù)合語句134只有分號(hào)“;”組成的語句稱為空語句??照Z句是什么也不執(zhí)行的語句。在程序中空語句可用來作空循環(huán)體??照Z句135例如while(getchar()!='\n');本語句的功能是,只要從鍵盤輸入的字符不是回車則重新輸入。這里的循環(huán)體為空語句??照Z句136謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。?!認(rèn)識(shí)C語言語句分類137C語言程序設(shè)計(jì)格式輸出語句劉鵬學(xué)習(xí)目標(biāo)了解格式輸出語句設(shè)計(jì)格式輸出語句139printf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。作為一個(gè)特例,不要求在使用printf函數(shù)之前必須包含stdio.h文件。格式輸出語句標(biāo)準(zhǔn)140printf函數(shù)調(diào)用的一般形式為:

printf(“格式控制字符串”,輸出表列);其中格式控制字符串用于指定輸出格式。格式控制串可由格式字符串和非格式字符串兩種組成。格式輸出語句標(biāo)準(zhǔn)141格式字符串是以%開頭的字符串,在%后面跟有各種格式字符,以說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位數(shù)等。142格式輸出語句標(biāo)準(zhǔn)非格式字符串原樣輸出,在顯示中起提示作用。輸出表列中給出了各個(gè)輸出項(xiàng),要求格式字符串和各輸出項(xiàng)在數(shù)量和類型上應(yīng)該一一對應(yīng)。143格式輸出語句標(biāo)準(zhǔn)在C中格式字符串的一般形式為:[標(biāo)志][輸出最小寬度][.精度][長度]類型其中方括號(hào)[]中的項(xiàng)為可選項(xiàng)。144格式輸出語句標(biāo)準(zhǔn)1)類型

類型字符用以表示輸出數(shù)據(jù)的類型,其格式符和意義如下表所示:145格式字符意義d以十進(jìn)制形式輸出帶符號(hào)整數(shù)(正數(shù)不輸出符號(hào))o以八進(jìn)制形式輸出無符號(hào)整數(shù)(不輸出前綴0)x,X以十六進(jìn)制形式輸出無符號(hào)整數(shù)(不輸出前綴Ox)格式輸出語句標(biāo)準(zhǔn)1)類型(續(xù))146格式字符意義u以十進(jìn)制形式輸出無符號(hào)整數(shù)f以小數(shù)形式輸出單、雙精度實(shí)數(shù)e,E以指數(shù)形式輸出單、雙精度實(shí)數(shù)g,G以%f或%e中較短的輸出寬度輸出單、雙精度實(shí)數(shù)c輸出單個(gè)字符s輸出字符串格式輸出語句標(biāo)準(zhǔn)2)標(biāo)志

標(biāo)志字符為-、+、#和空格四種,其意義下表所示:147標(biāo)志意義-結(jié)果左對齊,右邊填空格+輸出符號(hào)(正號(hào)或負(fù)號(hào))格式輸出語句標(biāo)準(zhǔn)2)標(biāo)志(續(xù))148標(biāo)志意義空格輸出值為正時(shí)冠以空格,為負(fù)時(shí)冠以負(fù)號(hào)#對c、s、d、u類無影響;對o類,在輸出時(shí)加前綴o;對x類,在輸出時(shí)加前綴0x;對e、g、f類當(dāng)結(jié)果有小數(shù)時(shí)才給出小數(shù)點(diǎn)。格式輸出語句標(biāo)準(zhǔn)3)輸出最小寬度用十進(jìn)制整數(shù)來表示輸出的最少位數(shù)。若實(shí)際位數(shù)多于定義的寬度,則按實(shí)際位數(shù)輸出,若實(shí)際位數(shù)少于定義的寬度則補(bǔ)以空格或0。149格式輸出語句標(biāo)準(zhǔn)4)精度精度格式符以“.”開頭,后跟十進(jìn)制整數(shù)。意義:如果輸出數(shù)字,則表示小數(shù)的位數(shù);如果輸出的是字符,則表示輸出字符的個(gè)數(shù);若實(shí)際位數(shù)大于所定義的精度數(shù),則截去超過的部分。150格式輸出語句標(biāo)準(zhǔn)5)長度長度格式符為h、l兩種。h表示按短整型量輸出l表示按長整型量輸出。151格式輸出語句標(biāo)準(zhǔn)謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。。「袷捷敵稣Z句152C語言程序設(shè)計(jì)格式輸入語句劉鵬學(xué)習(xí)目標(biāo)了解格式輸入語句設(shè)計(jì)格式輸入語句154scanf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。與printf函數(shù)相同,C語言也允許在使用scanf函數(shù)之前不必包含stdio.h文件。格式輸入語句標(biāo)準(zhǔn)155scanf函數(shù)的一般形式為:

scanf(“格式控制字符串”,地址表列);其中,格式控制字符串的作用與printf函數(shù)相同,但不能顯示非格式字符串,也就是不能顯示提示字符串。格式輸入語句標(biāo)準(zhǔn)156地址列表地址表列中給出各變量的地址。地址是由地址運(yùn)算符“&”后跟變量名組成的。地址就是編譯系統(tǒng)在內(nèi)存中給變量分配的地址。在C語言中,使用了地址這個(gè)概念,這是與其它語言不同的。格式輸入語句標(biāo)準(zhǔn)157格式字符串形式:%[*][輸入數(shù)據(jù)寬度][長度]類型其中有方括號(hào)[]的項(xiàng)為任選項(xiàng)。格式輸入語句標(biāo)準(zhǔn)1581)類型表示輸入數(shù)據(jù)的類型,其格式符和意義如下表所示。格式輸入語句標(biāo)準(zhǔn)159格式字符意義d輸入十進(jìn)制整數(shù)o輸入八進(jìn)制整數(shù)x輸入十六進(jìn)制整數(shù)u輸入無符號(hào)十進(jìn)制整數(shù)f或e輸入實(shí)型數(shù)(用小數(shù)形式或指數(shù)形式)c輸入單個(gè)字符s輸入字符串2)“*”符用以表示該輸入項(xiàng),讀入后不賦予相應(yīng)的變量,即跳過該輸入值。如:scanf("%d%*d%d",&a,&b);當(dāng)輸入為:1

2

3時(shí),把1賦予a,2被跳過,3賦予b。

格式輸入語句標(biāo)準(zhǔn)1603)寬度用十進(jìn)制整數(shù)指定輸入的寬度(即字符數(shù))。例如:scanf("%5d",&a);輸入12345678只把12345賦予變量a,其余部分被截去。格式輸入語句標(biāo)準(zhǔn)1614)長度長度格式符為l和hl表示輸入長整型數(shù)據(jù)(如%ld)和雙精度浮點(diǎn)數(shù)(如%lf)h表示輸入短整型數(shù)據(jù)。格式輸入語句標(biāo)準(zhǔn)162謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。?!格式輸入語句163C語言程序設(shè)計(jì)字符輸入輸出語句劉鵬學(xué)習(xí)目標(biāo)了解putchar函數(shù)了解getchar函數(shù)165putchar函數(shù)是字符輸出函數(shù)。功能:在顯示器上輸出單個(gè)字符。形式為:putchar(字符變量);了解putchar函數(shù)166對控制字符則執(zhí)行控制功能,不在屏幕上顯示。使用本函數(shù)前必須要用文件包含命令:#include<stdio.h>或#include"stdio.h"了解putchar函數(shù)167getchar函數(shù)的功能是從鍵盤上輸入一個(gè)字符。形式為:getchar();使用:通常把輸入的字符賦予一個(gè)字符變量,構(gòu)成賦值語句,如:charc;c=getchar();了解getchar函數(shù)168使用getchar函數(shù)還應(yīng)注意幾個(gè)問題:getchar函數(shù)只能接受單個(gè)字符,輸入數(shù)字也按字符處理。輸入多于一個(gè)字符時(shí),只接收第一個(gè)字符。使用本函數(shù)前必須包含文件“stdio.h”。169了解getchar函數(shù)謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了!??!字符輸入輸出語句170C語言程序設(shè)計(jì)認(rèn)識(shí)if語句劉鵬學(xué)習(xí)目標(biāo)認(rèn)識(shí)基本if語句172用if語句可以構(gòu)成分支結(jié)構(gòu)。根據(jù)給定的條件進(jìn)行判斷,以決定執(zhí)行某個(gè)分支程序段。C語言的if語句有三種基本形式:If語句、if…else…語句以及階梯式if…else語句。認(rèn)識(shí)基本if語句1731、IF語句語句格式:if(表達(dá)式)語句;語義:如果表達(dá)式的值為真,則執(zhí)行其后的語句,否則不執(zhí)行該語句。認(rèn)識(shí)基本if語句1742、if...else...語句格式:if(表達(dá)式)

語句1;

else

語句2;認(rèn)識(shí)基本if語句1752、if...else...語句語義:如果表達(dá)式的值為真,則執(zhí)行語句1,否則執(zhí)行語句2。認(rèn)識(shí)基本if語句1763、if...elseif...else語句格式:認(rèn)識(shí)基本if語句177if(表達(dá)式1)

語句1;

elseif(表達(dá)式2)

語句2;

elseif(表達(dá)式3)

語句3;

else

語句n;流程圖:認(rèn)識(shí)基本if語句178語義:依次判斷表達(dá)式的值,當(dāng)出現(xiàn)某個(gè)值為真時(shí),則執(zhí)行其對應(yīng)的語句。然后跳到整個(gè)if語句之外繼續(xù)執(zhí)行程序。如果所有的表達(dá)式均為假,則執(zhí)行語句n。然后繼續(xù)執(zhí)行后續(xù)程序。認(rèn)識(shí)基本if語句179謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。。≌J(rèn)識(shí)if語句180C語言程序設(shè)計(jì)使用if語句劉鵬學(xué)習(xí)目標(biāo)使用簡單if語句使用嵌套if語句1821、使用if語句何時(shí)使用?需要在滿足某種條件時(shí)進(jìn)行一些操作,而不滿足條件時(shí)就不進(jìn)行任何操作。使用簡單if語句1831、使用if語句如何使用?求最值例子:使用簡單if語句184max=b;//a、b兩個(gè)變量中假設(shè)b最大if(a>b)max=a;//如果a>b,那么更改max的值printf("%d和%d的較大值是:%d\n",a,b,max);2、使用if...else語句何時(shí)使用?當(dāng)面臨兩種選擇時(shí),需使用if和else關(guān)鍵字對條件進(jìn)行判斷。使用簡單if語句1852、使用if...else語句如何使用?

if(age>=18){printf("恭喜,你已經(jīng)成年,可以使用該軟件!\n");}

else{printf("抱歉,你還未成年,不宜使用該軟件!\n");}使用簡單if語句1863、使用多個(gè)if…else語句何時(shí)使用?當(dāng)面臨多個(gè)選擇,而if...else...無法完成功能時(shí),便需要使用多個(gè)ifelse語句來完成。此選擇語句一旦遇到能夠成立的判斷條件,則不再執(zhí)行其他的語句塊,所以最終只能有一個(gè)語句塊被執(zhí)行。使用簡單if語句187一個(gè)列子:使用簡單if語句188c=getchar();

if(c<32)printf("Thisisacontrolcharacter\n");

else

if(c>='0'&&c<='9')printf("Thisisadigit\n");

elseif(c>='A'&&c<='Z')printf("Thisisacapitalletter\n");

elseif(c>='a'&&c<='z')printf("Thisisasmallletter\n");

elseprintf("Thisisanothercharacter\n");謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。?!使用if語句189C語言程序設(shè)計(jì)使用switch語句劉鵬學(xué)習(xí)目標(biāo)認(rèn)識(shí)switch語句使用switch語句191switch是多分支選擇結(jié)構(gòu)的語句。可以用來代替簡單的、擁有多個(gè)分枝的if…else語句。認(rèn)識(shí)switch語句192基本格式如下:switch(表達(dá)式){

case整型數(shù)值1:語句1;

case整型數(shù)值2:語句2;......

case整型數(shù)值n:語句n;

default:語句n+1;}認(rèn)識(shí)switch語句193執(zhí)行過程是:認(rèn)識(shí)switch語句194break是C語言中的一個(gè)關(guān)鍵字。功能:用于跳出switch或循環(huán)語句。使用switch語句195“跳出”:是指一旦遇到break,就不再執(zhí)行switch中的任何語句,包括當(dāng)前分支中的語句和其他分支中的語句;也就是說,整個(gè)switch執(zhí)行結(jié)束了,接著會(huì)執(zhí)行整個(gè)switch后面的代碼。使用switch語句196使用switch語句197最后需要對switch語句進(jìn)行說明的兩點(diǎn)是:case后面必須是一個(gè)整數(shù),或者是結(jié)果為整數(shù)的表達(dá)式,但不能包含任何變量。default不是必須的。當(dāng)沒有default時(shí),如果所有case都匹配失敗,那么就什么都不執(zhí)行。使用switch語句198謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。。∈褂胹witch語句199C語言程序設(shè)計(jì)使用while語句劉鵬學(xué)習(xí)目標(biāo)認(rèn)識(shí)while語句使用while語句201while是C語言的關(guān)鍵字。While語句用來實(shí)現(xiàn)程序的循環(huán)控制。相較于其他循環(huán)語句,While語句是一種“當(dāng)”型循環(huán),只有當(dāng)條件成立時(shí)才會(huì)運(yùn)行循環(huán)體。認(rèn)識(shí)while語句202while循環(huán)的一般形式為:while(表達(dá)式){

語句塊}其中表達(dá)式稱為循環(huán)條件,語句塊稱為循環(huán)體。認(rèn)識(shí)while語句203表達(dá)式:可以是C語言中任意合法的表達(dá)式,由它來控制循環(huán)體是否執(zhí)行。循環(huán)體:可以是一條簡單可執(zhí)行語句;若循環(huán)體內(nèi)需要多個(gè)語句,應(yīng)該用大括號(hào)括起來,組成復(fù)合語句。認(rèn)識(shí)while語句204執(zhí)行過程:先計(jì)算“表達(dá)式”的值;當(dāng)值為真(非0)時(shí),執(zhí)行“語句塊”;重復(fù)步驟1、2,直到表達(dá)式的值為假(0),就退出循環(huán),執(zhí)行while后面的代碼。認(rèn)識(shí)while語句205流程圖:認(rèn)識(shí)while語句206循環(huán)計(jì)算1加到100的值:使用while語句207inti=1,sum=0;

while(i<=100){sum+=i;i++;}while循環(huán)的整體思路:設(shè)置一個(gè)帶有變量的循環(huán)條件,也即一個(gè)帶有變量的表達(dá)式;在循環(huán)體中額外添加一條語句,讓它能夠改變循環(huán)條件中變量的值。想一想:如果沒有循環(huán)控制變量會(huì)發(fā)生什么呢?使用while語句208循環(huán)條件成立時(shí)的話,while循環(huán)會(huì)一直執(zhí)行下去,永不結(jié)束,成為“死循環(huán)”。即while(1)。循環(huán)條件不成立的話,while循環(huán)就一次也不會(huì)執(zhí)行。即while(0)。使用while語句209謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了!??!使用while語句210C語言程序設(shè)計(jì)使用do-while語句劉鵬學(xué)習(xí)目標(biāo)認(rèn)識(shí)do-while語句使用do-while語句212do-while是C語言中的關(guān)鍵字。do-while語句完成程序中的循環(huán)控制。do-while語句是一種“直到”型循環(huán),先執(zhí)行循環(huán)體,直到循環(huán)條件不成立才會(huì)體質(zhì)循環(huán)。認(rèn)識(shí)do-while語句213語法形式:do{

語句塊}while(表達(dá)式);其中表達(dá)式稱為循環(huán)條件,語句塊稱為循環(huán)體。認(rèn)識(shí)do-while語句214說明:do是C語言的關(guān)鍵字,必須和while聯(lián)合使用。由do開始,用while結(jié)束;注意在while(表達(dá)式)后的“;”不可丟,它表示do-while語句的結(jié)束;認(rèn)識(shí)do-while語句215說明:while后一對圓括號(hào)中的表達(dá)式,可以是C語言中任意合法的表達(dá)式,由它控制循環(huán)是否執(zhí)行。在do和while之間的循環(huán)體只能是一條可執(zhí)行語句;若循環(huán)體內(nèi)需要多個(gè)語句,應(yīng)該用大括號(hào)括起來,組成復(fù)合語句。認(rèn)識(shí)do-while語句216執(zhí)行過程:先執(zhí)行“語句塊”;判斷表達(dá)式是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。認(rèn)識(shí)do-while語句217流程圖如右側(cè):do-while語句與while語句的區(qū)別就在于:先執(zhí)行循環(huán)體,循環(huán)體至少執(zhí)行一次。認(rèn)識(shí)do-while語句218使用do-while語句完成1-100的加法運(yùn)算:使用do-while語句219#include<stdio.h>intmain(){inti=1,sum=0;

do{sum+=i;i++;}while(i<=100);printf("%d\n",sum);return0;}謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了!??!使用do-while語句220C語言程序設(shè)計(jì)使用for語句劉鵬學(xué)習(xí)目標(biāo)認(rèn)識(shí)for語句使用for語句222for是C語言中的關(guān)鍵字。for語句完成程序中的循環(huán)控制。for語句是一種結(jié)構(gòu)非常標(biāo)準(zhǔn)的當(dāng)型循環(huán)語句。認(rèn)識(shí)do-while語句223for語句很好地體現(xiàn)了正確表達(dá)循環(huán)結(jié)構(gòu)應(yīng)注意的三個(gè)問題:⑴控制變量的初始化。⑵循環(huán)的條件。⑶循環(huán)控制變量的更新。認(rèn)識(shí)do-while語句224形式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

循環(huán)體;認(rèn)識(shí)for語句225說明:表達(dá)式可以是任意形式的表達(dá)式,用“;”隔開。緊跟在for(…)之后的循環(huán)體,在語法上要求是一條語句;若在循環(huán)體內(nèi)需要多條語句,應(yīng)該用大括號(hào)括起來組成復(fù)合語句。認(rèn)識(shí)for語句226流程圖:認(rèn)識(shí)for語句227執(zhí)行過程如下:認(rèn)識(shí)for語句228注意:for語句中的表達(dá)式可以部分或全部省略,但兩個(gè)“;”不可省略。若三個(gè)表達(dá)式均省略,因缺少條件判斷,循環(huán)將會(huì)無限制地執(zhí)行,形成死循環(huán)。for后一對括號(hào)中的表達(dá)式可以是任意有效的C語言表達(dá)式。在for后的一對圓括號(hào)中,允許出現(xiàn)各種形式的與循環(huán)控制無關(guān)的表達(dá)式。認(rèn)識(shí)for語句229for語句完成1-100的求和運(yùn)算:使用for語句230#include"stdio.h"voidmain(){ ints,i;

for(s=0,i=1;i<=100;i++)s=s+i; printf("i=%d,s=%d\n",i,s);}對于有規(guī)律可循的數(shù)組,for語句可以很好完成其計(jì)算。例如:求解Fibonacci數(shù)列,其數(shù)字規(guī)律為:1,1,2,3,5,8,13,21,34,…特點(diǎn):每項(xiàng)是前兩項(xiàng)之和231使用for語句謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。?!使用for語句232C語言程序設(shè)計(jì)循環(huán)語句的復(fù)合使用劉鵬學(xué)習(xí)目標(biāo)比較各種循環(huán)語句使用嵌套的循環(huán)語句234比較各種循環(huán)語句235比較各種循環(huán)語句236循環(huán)語句比較:1)四種循環(huán)可以互相代替。但一般不提倡用goto型循環(huán),盡量使用其他語句代替。2)while和do-while循環(huán),循環(huán)體中應(yīng)包括使循環(huán)趨于結(jié)束的語句。比較各種循環(huán)語句237循環(huán)語句比較:3)for語句功能最強(qiáng),也最常用。4)用while和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在while和do-while語句之前完成,而for語句可以在表達(dá)式1中實(shí)現(xiàn)循環(huán)變量的初始化。比較各種循環(huán)語句238選用的一般原則是:如果循環(huán)次數(shù)在執(zhí)行循環(huán)體之前就已確定,一般用for語句。如果循環(huán)次數(shù)是由循環(huán)體的執(zhí)行情況確定的,一般用while語句或者do-while語句。

當(dāng)循環(huán)體至少執(zhí)行一次時(shí),用do-while語句,反之,如果循環(huán)體可能一次也不執(zhí)行,則選用while語句。使用嵌套的循環(huán)語句239一個(gè)循環(huán)體語句中又包含另一個(gè)循環(huán)語句,稱為循環(huán)嵌套。三種循環(huán)語句for、while、do-while可以互相嵌套自由組合。但要注意的是,各循環(huán)必須完整,相互之間絕不允許交叉。使用嵌套的循環(huán)語句240謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。?!循環(huán)語句的復(fù)合使用241C語言程序設(shè)計(jì)break和continue的使用劉鵬學(xué)習(xí)目標(biāo)使用break使用continue243使用break244break是C語言中的一個(gè)關(guān)鍵字,用于實(shí)現(xiàn)程序的“跳出”。在循環(huán)結(jié)構(gòu)中,也可應(yīng)用break語句使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)。注意只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句。當(dāng)break出現(xiàn)在循環(huán)體中的switch語句體內(nèi)時(shí),其作用只是跳出該switch語句體。當(dāng)break出現(xiàn)在循環(huán)體中,則在執(zhí)行break后,跳出本層循環(huán)體。使用break245實(shí)現(xiàn):計(jì)算半徑從1到20時(shí)圓的面積,直到面積大于200為止。

for(r=1;r<=20;r++) { s=PI*r*r; if(s>200)break; printf("r=%d,s=%.2f\n",r,s); }使用break246說明:程序進(jìn)行循環(huán),將PI*r*r的計(jì)算結(jié)果送給s;對s進(jìn)行判斷,若其大于200的時(shí)候,執(zhí)行break,程序跳出循環(huán),循環(huán)結(jié)束。使用break247Continue是C語言的一個(gè)關(guān)鍵字。Continue語句的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判定。注意:執(zhí)行continue語句并沒有使整個(gè)循環(huán)終止。使用continue248Continue在循環(huán)語句中的運(yùn)用:在while和do-while循環(huán)中,continue語句使得流程直接跳到循環(huán)控制條件的測試部分,本次循環(huán)循環(huán)體的其他語句不會(huì)被執(zhí)行;根據(jù)測試條件然后決定循環(huán)是否繼續(xù)進(jìn)行。使用continue249Continue在循環(huán)語句中的運(yùn)用:在for循環(huán)中,遇到continue后,跳過循環(huán)體中余下的語句,進(jìn)行for語句中的“表達(dá)式3”求值;然后進(jìn)行“表達(dá)式2”的條件測試,最后根據(jù)“表達(dá)式2”的值來決定for循環(huán)是否執(zhí)行。使用continue250實(shí)現(xiàn):輸出50到150之間不能被5整除的整數(shù): for(i=50;i<=150;i++) { if(i%5==0) { printf("\n");//使輸出的顯示每五個(gè)數(shù)換一行。

continue; } printf("%5d",i); }使用continue251說明:程序進(jìn)行循環(huán),每當(dāng)i的值可將5進(jìn)行整除時(shí),進(jìn)入if語句的執(zhí)行體;執(zhí)行換行以及continue;之后不向下繼續(xù)執(zhí)行程序,也就是不會(huì)輸出能被5整除的數(shù),而是調(diào)到下一次的循環(huán)。使用continue252謝謝,大家觀看!謝謝,大家觀看!今天,我們的課結(jié)束了?。?!break和continue的使用253C語言程序設(shè)計(jì)定義和初始化一維數(shù)組朱云霞學(xué)習(xí)目標(biāo)掌握一維數(shù)組的定義掌握一維數(shù)組的初始化定義一維數(shù)組1、認(rèn)識(shí)一維數(shù)組數(shù)組是一組有序數(shù)據(jù)的集合,數(shù)組中每一個(gè)元素的類型相同。用數(shù)組名和下標(biāo)來唯一確定數(shù)組中的元素。數(shù)組定義就是要準(zhǔn)確告訴編譯器兩件事情:這個(gè)數(shù)組是由什么類型的數(shù)據(jù)構(gòu)成的,這種數(shù)據(jù)有多少個(gè)。掌握一維數(shù)組的定義2、定義一維數(shù)組定義形式:

類型說明符

數(shù)組名[常量表達(dá)式];常量表達(dá)式表示數(shù)據(jù)元素的個(gè)數(shù),也稱為數(shù)組的長度,也確定了數(shù)組元素下標(biāo)的范圍。如:inta[10];掌握一維數(shù)組的定義3、表示元素?cái)?shù)組元素的一般形式為:數(shù)組名[下標(biāo)]下標(biāo)從0開始~整型常量表達(dá)式-1。初始化一維數(shù)組數(shù)組初始化賦值是指在數(shù)組定義時(shí)給數(shù)組元素賦予初值,數(shù)組初始化是在編譯階段進(jìn)行的。初始化的一般形式:

類型

數(shù)組名[常量表達(dá)式]={逗號(hào)間隔的初值表}初始化一維數(shù)組初始元素個(gè)數(shù)不能超過定義的數(shù)組元素長度。只能給元素逐個(gè)賦值,不能給數(shù)組整體賦值。初始化一維數(shù)組可以只給部分元素賦初值,未初始化的自動(dòng)賦值0。如給全部元素賦值,則在數(shù)組定義中,可以不給出數(shù)組元素的個(gè)數(shù)。定義和初始化一維數(shù)組C語言程序設(shè)計(jì)遍歷一維數(shù)組柴君學(xué)習(xí)目標(biāo)掌握一維數(shù)組的遍歷方法遍歷一維數(shù)組在C語言中只能逐個(gè)地使用下標(biāo)變量來遍歷全部元素,而不能一次引用整個(gè)數(shù)組。最常見遍歷方式:for(i=0;i<10;i++)……遍歷一維數(shù)組數(shù)組輸出:for(i=0;i<10;i++)

printf("%d",a[i]);數(shù)組輸入:for(i=0;i<10;i++)

scanf(“%d”,&a[i]);遍歷一維數(shù)組求最值的步驟:1.定義score數(shù)組2.輸入:for循環(huán)輸入成績3.處理:(a)先令max=score[0](b)依次用score[i]和max比較(循環(huán))

若score[i]>max,令max=score[i]4.輸出:max遍歷一維數(shù)組343434676778遍歷一維數(shù)組代碼……max=score[0];for(i=1;i<SIZE;i++){if(score[i]>max)max=score[i];}printf("最高成績=%d\n",max);遍歷一維數(shù)組C語言程序設(shè)計(jì)定義和初始化二維數(shù)組柴君學(xué)習(xí)目標(biāo)掌握二維數(shù)組的定義掌握二維數(shù)組的初始化定義二維數(shù)組二數(shù)組也要先定義后使用。二維數(shù)組定義就是要準(zhǔn)確告訴編譯器兩件事情:1、二維數(shù)組是由什么類型的數(shù)據(jù)構(gòu)成的2、二維數(shù)組有幾行幾列。定義二維數(shù)組定義方式:

類型說明符數(shù)組名[常量表達(dá)式1][常量表達(dá)式2];常量表達(dá)式1:二維數(shù)組的行數(shù),行下標(biāo)的范圍是從0~行數(shù)-1。常量表達(dá)式2:二維數(shù)組的列數(shù),列下標(biāo)的范圍是從0~列數(shù)-1。定義二維數(shù)組如:

inta[3][4];定義一個(gè)3行4列的數(shù)組a,共有3×4=12個(gè)元素a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]定義二維數(shù)組二維數(shù)組是按行存放的。二維數(shù)組可以看作是一個(gè)長度為行數(shù)的一維數(shù)組,該一維數(shù)組的每個(gè)元素又可以看作是一個(gè)長度為列數(shù)的一維數(shù)組。初始化二維數(shù)組對二維數(shù)組a[3][4]:1、按行分段賦值可寫為:inta[3][4]={{80,75,92,65},{61,65,71,88},{59,63,70,95}};2、按行連續(xù)賦值可寫為:

inta[3][4]={80,75,92,65,61,65,71,88,59,63,70,95};初始化二維數(shù)組二維數(shù)組a[3][4]賦值后的狀態(tài)807592656165718859637095初始化二維數(shù)組可以只對部分元素賦初值,未賦初值的元素自動(dòng)取0值。如對全部元素賦初值,則第一維的長度可以不給出。定義和初始化二維數(shù)組C語言程序設(shè)計(jì)遍歷二維數(shù)組柴君學(xué)習(xí)目標(biāo)掌握二維數(shù)組的遍歷方法遍歷二維數(shù)組基于二維數(shù)組的元素引用方式,一般通過對行下標(biāo)和列下標(biāo)進(jìn)行依次循環(huán)從而遍歷整個(gè)二維數(shù)組。一般形式:

for(i=0;i<3;i++)

for(j=0;j<4;j++)……遍歷二維數(shù)組輸入二維數(shù)組:

for(i=0;i<3;i++)

for(j=0;j<4;j++)

scanf(“%d”,&a[i][j]);遍歷二維數(shù)組輸出二維數(shù)組:

for(i=0;i<3;i++){

for(j=0;j<4;j++)printf("%d",a[i][j]);

printf(“\n”);}遍歷二維數(shù)組求最值:……遍歷二維數(shù)組求最值:max=a[0][0];row=colum=0;for(i=0;i<3;i++)/*用兩重循環(huán)遍歷全部元素*/

for(j=0;j<4;j++){if(a[i][j]>max){max=a[i][j];row=i;colum=j;}}遍歷二維數(shù)組C語言程序設(shè)計(jì)認(rèn)識(shí)函數(shù)的基本概念張熙學(xué)習(xí)目標(biāo)認(rèn)識(shí)函數(shù)的概念了解函數(shù)的優(yōu)點(diǎn)認(rèn)識(shí)函數(shù)的分類認(rèn)識(shí)函數(shù)的概念C源程序是由函數(shù)組成的。主函數(shù)main()是必須的,它是程序執(zhí)行的起點(diǎn)。由主函數(shù)調(diào)用其它函數(shù),而不允許被其它函數(shù)調(diào)用,只能由系統(tǒng)調(diào)用。認(rèn)識(shí)函數(shù)的概念其它函數(shù)可以互相調(diào)用,同一函數(shù)可以被一個(gè)或多個(gè)函數(shù)調(diào)用任意多次。所有函數(shù)(包括主函數(shù))都是平行的,在定義時(shí)候是分別進(jìn)行的,相互獨(dú)立,無從屬關(guān)系,不可嵌套定義。認(rèn)識(shí)函數(shù)的概念了解函數(shù)的優(yōu)點(diǎn)使用函數(shù)可以控制任務(wù)的規(guī)模;使用函數(shù)可以控制變量的作用范圍;最重要的,使用函數(shù)可以重復(fù)利用已有的、調(diào)式好的、成熟的程序模塊。了解函數(shù)的分類從函數(shù)定義的角度看,函數(shù)可分為:庫函數(shù)用戶定義函數(shù)了解函數(shù)的分類從返回值的角度看,函數(shù)可分為:有返回值函數(shù)無返回值函數(shù)了解函數(shù)的分類從主調(diào)函數(shù)和被調(diào)函數(shù)之間數(shù)據(jù)傳送的角度看,又可分為:無參函數(shù)有參函數(shù)認(rèn)識(shí)函數(shù)的基本概念C語言程序設(shè)計(jì)定義和調(diào)用函數(shù)張熙學(xué)習(xí)目標(biāo)學(xué)會(huì)定義函數(shù)學(xué)會(huì)調(diào)用函數(shù)學(xué)會(huì)聲明函數(shù)定義函數(shù)函數(shù)定義是函數(shù)功能的確立。函數(shù)是語句的封裝,函數(shù)定義就是語句的封裝過程。定義函數(shù)函數(shù)定義的一般形式如下:

函數(shù)返回值類型標(biāo)識(shí)符

函數(shù)名(形參類型1形參名稱1,…){

聲明部分

執(zhí)行語句部分}定義函數(shù)函數(shù)的組成:函數(shù)首部(或函數(shù)頭):函數(shù)定義第一行。函數(shù)體:函數(shù)首部下用一對{}括起來的部分。定義函數(shù)1、函數(shù)頭(首部)函數(shù)返回值的數(shù)據(jù)類型函數(shù)名稱形式參數(shù)的類型和名稱定義函數(shù)2、函數(shù)體函數(shù)功能的實(shí)現(xiàn)可以是空的,即函數(shù)可以是一個(gè)空函數(shù),但一對{}不能省略函數(shù)體一般包括聲明部分和執(zhí)行語句部分定義函數(shù)3、函數(shù)的返回值一般出現(xiàn)在函數(shù)體結(jié)尾,通過return語句返回主調(diào)函數(shù)的“函數(shù)調(diào)用處”。形式:

return表達(dá)式;函數(shù)返回值相當(dāng)于是函數(shù)的“輸出”。調(diào)用函數(shù)程序中是通過對函數(shù)的調(diào)用來執(zhí)行函數(shù)的,一般形式為:

函數(shù)名(實(shí)際參數(shù)表);實(shí)參要與函數(shù)定義時(shí)的形參相對應(yīng)。調(diào)用函數(shù)函數(shù)調(diào)用過程:調(diào)用函數(shù)首先計(jì)算實(shí)參表達(dá)式的值然后把實(shí)參的值“復(fù)制”一份,傳送給被調(diào)用函數(shù)的形參,從而實(shí)現(xiàn)調(diào)用函數(shù)向被調(diào)用函數(shù)的數(shù)據(jù)傳送調(diào)用函數(shù)實(shí)參對形參的數(shù)據(jù)傳送是單向的,對函數(shù)而言,形參是函數(shù)的“輸入”。實(shí)參和形參占用不同的內(nèi)存單元,函數(shù)執(zhí)行時(shí),形參值發(fā)生變化也不會(huì)影響實(shí)參的值。調(diào)用函數(shù)在C語言中,可以用以下幾種方式調(diào)用函數(shù):1)對有返回值的函數(shù):函數(shù)調(diào)用作為表達(dá)式的一部分出現(xiàn),或作為函數(shù)實(shí)參出現(xiàn)。2)對無返回值的函數(shù):函數(shù)調(diào)用直接加上分號(hào)構(gòu)成函數(shù)調(diào)用語句,這種使用中僅進(jìn)行某些操作。聲明函數(shù)在調(diào)用函數(shù)之前應(yīng)對該被調(diào)函數(shù)進(jìn)行說明(聲明),這與使用變量之前要先進(jìn)行變量定義是一樣的。其一般形式為:

函數(shù)類型被調(diào)函數(shù)名(類型形參名,類型形參名,…);

函數(shù)類型說明符被調(diào)函數(shù)名(類型,類型,…);定義和調(diào)用函數(shù)C語言程序設(shè)計(jì)遞歸調(diào)用函數(shù)張熙學(xué)習(xí)目標(biāo)認(rèn)識(shí)遞歸調(diào)用應(yīng)用遞歸調(diào)用認(rèn)識(shí)遞歸調(diào)用函數(shù)在調(diào)用一個(gè)函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身,稱為函數(shù)的遞歸調(diào)用。執(zhí)行遞歸函數(shù)將反復(fù)調(diào)用其自身,每調(diào)用一次就進(jìn)入新的一層。認(rèn)識(shí)遞歸調(diào)用函數(shù)能遞歸調(diào)用的條件:1)問題的解法能轉(zhuǎn)換為同解法、規(guī)模小的相同或相似問題;2)存在遞歸的終結(jié)條件。應(yīng)用遞歸調(diào)用函數(shù)5人排成一隊(duì),從最后一人開始,其年齡均比前面的人大2歲,而最前面的人年齡是10歲,問最后一人的年齡是多少歲?應(yīng)用遞歸調(diào)用函數(shù)5!問題遞歸調(diào)用函數(shù)C語言程序設(shè)計(jì)認(rèn)識(shí)變量的作用域和存儲(chǔ)類張熙學(xué)習(xí)目標(biāo)認(rèn)識(shí)局部變量和全局變量認(rèn)識(shí)變量的存儲(chǔ)類別認(rèn)識(shí)函數(shù)的存儲(chǔ)類別認(rèn)識(shí)局部變量和全局變量1、局部變量局部變量是在一個(gè)函數(shù)內(nèi)部定義或者復(fù)合語句內(nèi)部定義的變量,也叫內(nèi)部變量。形式參數(shù)也是局部變量,它的作用域只限于本函數(shù)范圍內(nèi)或本復(fù)合語句范圍內(nèi)。認(rèn)識(shí)局部變量和全局變量1、局部變量局部變量默認(rèn)是auto型的存儲(chǔ)類別。在程序運(yùn)行進(jìn)入局部變量所在的函數(shù)或復(fù)合語句時(shí)分配存儲(chǔ)空間,退出所在函數(shù)或復(fù)合語句時(shí)釋放存儲(chǔ)空間——局部變量默認(rèn)的生存期。認(rèn)識(shí)局部變量和全局變量2、全局變量全局變量也稱為外部變量,它是在所有函數(shù)之外定義的變量。它不屬于哪一個(gè)函數(shù),它屬于一個(gè)源程序文件。認(rèn)識(shí)局部變量和全局變量2、全局變量全局變量默認(rèn)的作用域是從變量定義的位置開始,到整個(gè)源文件結(jié)束,而生存期是整個(gè)程序運(yùn)行期間。全局變量是static的存儲(chǔ)類別。認(rèn)識(shí)變量的存儲(chǔ)分類存儲(chǔ)類別:自動(dòng)變量(auto)寄存器變量(register)靜態(tài)變量(static)外部變量(extern)認(rèn)識(shí)變量的存儲(chǔ)分類1.a(chǎn)uto變量局部變量默認(rèn)屬于此類在調(diào)用該函數(shù)時(shí)系統(tǒng)會(huì)給它們分配存儲(chǔ)空間,在函數(shù)調(diào)用結(jié)束時(shí)就自動(dòng)釋放這些存儲(chǔ)空間。認(rèn)識(shí)變量的存儲(chǔ)分類2.register變量C語言允許將局部變量的值放在運(yùn)算器中的寄存器中,不必再到內(nèi)存中去存取,這種變量叫“寄存器變量”,用關(guān)鍵字register作說明。寄存器變量也是自動(dòng)類的變量。認(rèn)識(shí)變量的存儲(chǔ)分類3.static變量全局變量是靜態(tài)的。局部變量加上static說明符時(shí),則該變量成為靜態(tài)局部變量。作用域沒有發(fā)生變化,生存期發(fā)生了變化:存在于整個(gè)程序運(yùn)行期間。認(rèn)識(shí)變量的存儲(chǔ)分類3.static變量(續(xù))靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值一次。在程序運(yùn)行時(shí)它已有初值,以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。認(rèn)識(shí)變量的存儲(chǔ)分類4.extern變量在定義點(diǎn)之前的函數(shù)想使用全局變量,則應(yīng)該在引用之前用關(guān)鍵字extern對該變量作聲明。通過extern說明符擴(kuò)大全局變量的作用域,不僅適用于同一源文件內(nèi)(同一編譯單位),也適用于多文件程序。認(rèn)識(shí)變量的存儲(chǔ)分類不同類型變量的存儲(chǔ):認(rèn)識(shí)函數(shù)的存儲(chǔ)分類C語言的函數(shù)本質(zhì)上都是外部的。函數(shù)在被其他編譯單位調(diào)用時(shí),應(yīng)當(dāng)在調(diào)用語句前的函數(shù)聲明中用extern加以說明。在定義函數(shù)時(shí),若加上static說明符,稱此函數(shù)為靜態(tài)函數(shù)。靜態(tài)函數(shù)只限于本編譯單位的其它函數(shù)調(diào)用。認(rèn)識(shí)變量的作用域和存儲(chǔ)類C語言程序設(shè)計(jì)認(rèn)識(shí)和定義指針變量柴君學(xué)習(xí)目標(biāo)認(rèn)識(shí)指針和指針變量定義指針變量認(rèn)識(shí)指針和指針變量1、指針計(jì)算機(jī)內(nèi)存按字節(jié)編號(hào),這個(gè)編號(hào)即為地址,也叫指針。如:某段內(nèi)存的編號(hào)(地址即指針)認(rèn)識(shí)指針和指針變量1、指針C語言用變量來存儲(chǔ)數(shù)據(jù),用函數(shù)來定義一段可以重復(fù)使用的代碼,它們最終都要放到內(nèi)存中才能使用。變量名和函數(shù)名只是地址的一種助記符,當(dāng)源文件被編譯和鏈接成可執(zhí)行程序后,它們都會(huì)被替換成地址。認(rèn)識(shí)指針和指針變量1、指針變量名:表示的是數(shù)據(jù)本身,&變

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論