C語言程序設(shè)計課件_第1頁
C語言程序設(shè)計課件_第2頁
C語言程序設(shè)計課件_第3頁
C語言程序設(shè)計課件_第4頁
C語言程序設(shè)計課件_第5頁
已閱讀5頁,還剩195頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言概述

主要內(nèi)容:

C語言的特點

C語言的開發(fā)流程簡單的C語言程序

Win-TC的基本操作教學目的及要求:

通過對本章的學習,要求掌握C語言的特點及其發(fā)展歷史;初步認識C語言編譯軟件Win-TC的使用,基本了解C語言程序開發(fā)的設(shè)計流程。第一章C語言概述本章重點:

C語言的特點

C語言程序的開發(fā)流程

Win-TC的基本操作本章難點:

Win-TC的基本操作第一章C語言概述

1.C語言的誕生與發(fā)展(1)在C語言誕生以前,系統(tǒng)軟件主要是用匯編語言編寫的。由于匯編語言程序依賴于計算機硬件,其可讀性和可移植性都很差;但一般的高級語言又難以實現(xiàn)對計算機硬件的直接操作(這正是匯編語言的優(yōu)勢),于是人們盼望有一種兼有匯編語言和高級語言特性的新語言。(2)C語言是貝爾實驗室于70年代初研制出來的,后來又被多次改進,并出現(xiàn)了多種版本。80年代初,美國國家標準化協(xié)會(ANSI),根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴充,制定了ANSIC標準(1989年再次做了修訂)。*本書以ANSIC新標準來介紹。1.1C語言的特點(3)目前,在微機上廣泛使用的C語言編譯系統(tǒng)有MicrosoftC、TurboC、BorlandC等。雖然它們的基本部分都是相同的,但還是有一些差異,所以請大家注意自己所使用的C編譯系統(tǒng)的特點和規(guī)定(參閱相應(yīng)的手冊)。本書選定的上機環(huán)境是Win-TC(Windows操作系統(tǒng))。2.C語言的特點

C語言同時具有匯編語言和高級語言的優(yōu)勢。(1)語言簡潔、緊湊,使用方便、靈活。(2)運算符極其豐富。(3)生成的目標代碼質(zhì)量高,程序執(zhí)行效率高。(4)可移植性好(較之匯編語言)。(5)可以直接操縱硬件。3.在C語言中,除實現(xiàn)順序、選擇和循環(huán)三種基本結(jié)構(gòu)等的9條控制語句外,輸入輸出操作均由標準庫函數(shù)(不是C語言的組成部分)來實現(xiàn)。所以學習C語言,不僅要學習這9條控制語句和各種運算符,而且要學習并掌握常用標準庫函數(shù)的使用。1.2C語言程序的開發(fā)過程1.編輯編輯C語言源程序,以.C為擴展名。2.編譯將C語言源程序編譯成目標程序。擴展名為.OBJ。3.連接將目標程序連接生成可執(zhí)行的代碼??蓤?zhí)行文件的擴展名為.EXE。4.執(zhí)行執(zhí)行可執(zhí)行文件。1.3簡單的C語言程序1.3.1C語言程序的總體結(jié)構(gòu)一個完整的C語言程序,是由一個main()函數(shù)(又稱主函數(shù))和若干個其它函數(shù)結(jié)合而成的,或僅由一個main()函數(shù)構(gòu)成。[案例1.1]僅由main()函數(shù)構(gòu)成的C語言程序。/*案例代碼文件名:AL1_1.C*//*功能:僅由main()函數(shù)構(gòu)成的C語言程序示例*/main(){printf(“ThisisaCprogram.\n”);}程序運行結(jié)果:

ThisisaCprogram.1.3.2C語言程序規(guī)定

一個C語言程序可由多個函數(shù)組成,但必須包含一個且只能包含一個名為main的函數(shù),程序總是從main函數(shù)開始執(zhí)行。

由一對{}擴起來的部分是函數(shù)體,其中語句實現(xiàn)程序的預定功能。

C語言的每個基本語句都以“;”結(jié)束。

C語言程序書寫格式較自由,一行可寫一個或多個語句。

所有的變量必須“先定義、后使用”。

/*……*/中的內(nèi)容是程序的注釋部分

#include語句是編譯預處理語句。1.4Win-TC軟件的使用本章小結(jié):

本章系統(tǒng)介紹了C語言的特點及其C語言程序設(shè)計開發(fā)流程,讓學生對C語言有個感性的認識,初步接觸了簡單易學的C語言編譯軟件——Win-TC。第一章C語言概述

常量和變量

基本數(shù)據(jù)類型及其常量

算術(shù)運算符、賦值運算符及其表達式

關(guān)系運算符、邏輯運算符及其表達式

逗號運算符、條件運算符及其表達式

變量的初始化

不同類型數(shù)據(jù)之間的轉(zhuǎn)換

類型定義第二章數(shù)據(jù)類型、運算符及其表達式主要內(nèi)容:本章授課理論課:

4學時實踐課:4學時第二章數(shù)據(jù)類型、運算符及其表達式教學目的及要求:

通過對本章的學習,要求掌握C語言程序設(shè)計的基礎(chǔ)知識,能夠?qū)ψ兞亢统A窟M行定義及使用,對常用的運算符及其表達式能夠熟練應(yīng)用?;玖私釩語言不同類型數(shù)據(jù)間的轉(zhuǎn)換和類型定義。本章重點:

變量定義和應(yīng)用基本類型及其常量定義和應(yīng)用算術(shù)運算符、賦值運算符及其表達式關(guān)系運算符、邏輯運算符及其表達式本章難點:

逗號運算符、條件運算符及其表達式類型定義第二章數(shù)據(jù)類型、運算符及其表達式2.1常量和變量

常量

即在程序運行過程中其值不會改變的量。

變量

即在程序運行過程中其值可以改變的量。

標識符

用以標識程序中用到的變量名、函數(shù)名、類型名、數(shù)組名、文件名、符號常量名等的有效字符序列。標識符的命名規(guī)則:由字母(大、小寫均可)、數(shù)字及下劃線組成,且第一個字符必須是字母或下劃線。變量名

合法變量名:Year,Day,ATOK,x1,_CWS,_change,_to

不合法變量名:#123,.CUM,$100,1996Y,1-2-3-大,小寫字母有區(qū)別,一般變量名用小寫,組成變量名的有效字符數(shù)隨C語言的編譯系統(tǒng)而定,同一個函數(shù)內(nèi)所定義的變量不能同名。最基本的數(shù)據(jù)類型有四種:整型:int字符型:char單精度型:float雙精度型:double2.2基本數(shù)據(jù)類型及其常量浮點型2.2.1整型變量及其常量

整型變量用以存放整型數(shù)據(jù).

一般定義形式:inti1,i2;

整型常量

C語言中可用三種數(shù)制表示:

十進制:

如250,23,-10等十六進制:

以0X或0x開頭,如0X61(相當97)

八進制:以0開頭,如0141(相當97)2.2.2浮點型變量及其常量

帶有小數(shù)點的數(shù)稱為浮點數(shù)或?qū)嵭蛿?shù)。浮點型變量分單精度浮點型變量和雙精度浮點型變量。單精度浮點型變量的定義方式:floatf1,f2;雙精度浮點型變量的定義方式:doubled1,d2;不同系統(tǒng)中,float型數(shù)據(jù)和double型數(shù)據(jù)所能提供的精度是有差異的。浮點型常量一般不分float型和double型,根據(jù)變量的類型來截取相應(yīng)的有效位數(shù)。兩種表示形式:(1)十進制形式:由數(shù)字和小數(shù)點組成。如,21.34567,-4,30等。(2)指數(shù)形式:即用科學計數(shù)法。字母E和e之前必須有數(shù)字,且e后面的指數(shù)部分必須是整數(shù)。2.2.3字符型變量及其常量字符型變量用于存放一個字符。一般定義形式:charc1,c2;字符型常量用一對單引號括起來的一個字符。如‘A’,‘3’,‘#’等。轉(zhuǎn)義字符以‘\’開頭的特殊字符型常量。‘\n’換行字符‘\r’回車字符‘\b’退格字符‘\t’跳格字符‘\’’單引號字符‘\“’雙引號字符

2.2.4長整型、短整型和無符號型

長整型變量定義的一般形式:longintX;能表示的數(shù)值范圍與計算機系統(tǒng)有關(guān),是int的兩倍。長整型常量:在整型常量的末尾加上字母L或l。例:x=9876543L;

短整型變量定義的一般形式:shortintx;能表示的數(shù)值范圍與計算機系統(tǒng)有關(guān),有的與int相同,有的小于int。

無符號整型變量定義的一般形式:unsignedintx;用于存放非負整型數(shù)。與int型變量占相同的內(nèi)存空間。

注:C語言只要求long型數(shù)據(jù)長度不短于int型,short型數(shù)據(jù)長度不長于int型,各數(shù)據(jù)類型所占存儲字節(jié)數(shù)具體所使用系統(tǒng)及編譯器。2.2.5sizeof運算符

用于了解一個變量或某種數(shù)據(jù)類型的量在內(nèi)存中所占字節(jié)數(shù)。Sizeof有兩種使用方法:

sizeof表達式如:當x是整形變量的時候,sizeofx=2;

sizeof(類型名)

如:sizeof(float)=42.3算術(shù)運算符、賦值運算符及其表達式運算符的優(yōu)先級及結(jié)合性優(yōu)先級:一個表達式中,多個運算符運算的先后順序。結(jié)合性:一個運算對象的兩側(cè)的運算符的優(yōu)先級相同時,進行運算的結(jié)合方向。算術(shù)運算符和算術(shù)表達式

1.加、減、乘、除及取模運算符(自左至右)

+、-、*、/(運算符兩側(cè)是整數(shù),則其結(jié)果為整數(shù))、%(取兩個整型數(shù)相除的余數(shù))。

2.增1、減1運算符(自右至左)運算對象只能是整型或字符型變量。

i++;先使用變量i的值,再使i的值加1。

++i;先使i的值加1,再先使用變量i的值。

i--;先使用變量i的值,再使i的值減1。

--i;先使i的值減1,再先使用變量i的值。賦值運算符和賦值表達式

1.賦值運算符(自右至左)

=

功能:將賦值運算符右邊的表達式的值賦給左邊的變量。例:x=23;f=23.5;h=‘A’;

2.復合賦值運算符(自右至左)

+=,-=,*=,/=,%=

例:x+=10;y*=20;舉例#include"stdio.h"voidmain(){inti,j;i=3;j=-i++;printf("%d,%d\n",j,i);system(“pause”)}#include"stdio.h"voidmain(){inta;a=12;a+=a-=a*a;printf("%d\n",a);system(“pause”)}a+=a-=a*a=>1.a-=a*a

即:a=a-a*a

2.a+=a

即:a=a+a

a+=a-=a*a=>a=(a-a*a)+(a-a*a)2.4關(guān)系運算符、邏輯運算符及其表達式關(guān)系運算符和關(guān)系表達式

1.關(guān)系運算符(自左至右)

共6種:

<、<=、>、>=、==、!=

后兩種運算符的優(yōu)先級低于前4種。關(guān)系運算符的優(yōu)先級低于算術(shù)運算符。

2.關(guān)系表達式用關(guān)系運算符將兩個運算量連接起來的有意義的式子。例:X>Y,A+B<=C+D。關(guān)系表達式是一個邏輯值“真”(用1表示)或“假”(用0表示)。邏輯運算符和邏輯表達式

1.邏輯運算符有三種:!、&&、||

優(yōu)先級依次降低,“!”優(yōu)先級高于算術(shù)運算符和關(guān)系運算符;&&、||優(yōu)先級低于算術(shù)運算符和關(guān)系運算符。結(jié)合性:!自右至左。

&&、||自左至右。

2.邏輯表達式用邏輯運算符將關(guān)系表達式或邏輯量連接起來的式子。邏輯表達式結(jié)果是一個邏輯值“真”(用1表示)或“假”(用0表示)。但判斷一個量是否為“真”時,以非0表示“真”,以0表示“假”。#include"stdio.h"voidmain(void){inta=10,b=20,c=30;charx='a',y='b';printf("%d\n",a>b||b<c);printf("%d\n",!(x<y));system(“pause”);}舉例#include"stdio.h"voidmain(void){inta=10,b=20,c=30;charx='a',y='b';printf("%d,%d\n",a>b,b<c);printf("%d\n",x<y);system(“pause”);}2.5逗號運算符、條件運算符及其表達式

逗號運算符和逗號表達式

1.逗號運算符:,(自左至右)

優(yōu)先級最低。

2.逗號表達式:一般形式:表達式1,表達式2,…,表達式n

求解過程:先求解表達式1,再求解表達式2,最后求解表達式n,逗號表達式的值為最右邊表達式n的值。例:a=6,a*3

條件運算符和條件表達式

1.條件運算符:?:(自右至左)唯一的三目運算符。

2.條件表達式一般形式:表達式1?表達式2:表達式3

功能:當表達式1的值為“真”時,條件表達式的值取表達式2的值,當表達式1的值為“假”時,條件表達式的值取表達式3的值。例:c=(a>b)?a:b;舉例#include"stdio.h"voidmain(void){inta=10,b=20,c=30,x;x=(a,b,c);printf("%d\n",x);}#include"stdio.h"voidmain(void){inta,b,max;scanf("%d,%d",&a,&b);max=(a>b)?a:b;printf("max=%d\n",max);}2.6變量的初始化

即在對變量進行定義的同時,為其賦初值。例:int age=20;

char letter=‘A’;

int convert=‘b’-‘B’;

float average=3.2*9.8;int x=10,y=20,z=30;2.7不同類型數(shù)據(jù)之間的轉(zhuǎn)換

不同類型數(shù)據(jù)在進行混合運算時,需進行類型轉(zhuǎn)換,有兩種方式:1.自動類型轉(zhuǎn)換

2.強制類型轉(zhuǎn)換

C語言允許字符型數(shù)據(jù)和整型數(shù)據(jù)之間通用。2.7.1自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換規(guī)則:當單、雙精度浮點型數(shù)據(jù)賦給整型變量時,浮點數(shù)的小數(shù)部分將被舍棄,且需進行相應(yīng)有效位數(shù)的截取。當整型數(shù)據(jù)賦給浮點型變量時,數(shù)值上不發(fā)生任何變化。只要某個算術(shù)運算符的兩個運算對象中有一個是浮點數(shù),則運算將按浮點型格式來進行。2.7.2強制類型轉(zhuǎn)換自動類型轉(zhuǎn)換達不到目的時,可以利用強制類型轉(zhuǎn)換。一般形式:(類型名)(表達式)例:(float)x/y說明:強制類型轉(zhuǎn)換后,得到的是一個所需類型的中間變量,原來變量的類型沒有發(fā)生任何變化。舉例#include"stdio.h"voidmain(void){ inti='a'; charc=97; printf("%d,%c\n",c,c); printf("%d,%c\n",i,i);}#include"stdio.h"voidmain(void){ inti=20,j; floatf; j=i/40; f=(float)i/40; printf("%d\n",j); printf("%f\n",f);}2.8類型定義

C語言允許使用typedef語句定義新的類型名,以代替已有的類型名。例:typedefintcounter;

counterx,y;=>intx,y;說明: 1.typedef不能創(chuàng)建新的類型

2.typedef不能用以定義變量.第二章數(shù)據(jù)類型、運算符及其表達式本章小結(jié):

本章主要介紹C語言程序設(shè)計中的常用數(shù)據(jù)類型,對變量和常量的定義和引用,對常用的運算符及其表達式應(yīng)用方法。簡單介紹C語言不同類型數(shù)據(jù)間的轉(zhuǎn)換方法和類型定義方法。

基本語句

數(shù)據(jù)的輸入

數(shù)據(jù)的輸出

第三章基本語句主要內(nèi)容:本章授課理論課:

2學時實踐課:2學時

第三章基本語句教學目的及要求:

通過對本章的學習,要求掌握C語言程序設(shè)計中常用的基本語句和復合語句,熟悉數(shù)據(jù)的輸入和輸出方法。能夠調(diào)用常用的數(shù)據(jù)輸入和輸出函數(shù)。本章重點:

基本語句復合語句數(shù)據(jù)的輸入數(shù)據(jù)的輸出本章難點:數(shù)據(jù)的輸入數(shù)據(jù)的輸出

第三章基本語句語句和復合語句數(shù)據(jù)的輸入數(shù)據(jù)的輸出第三章基本語句3.1語句和復合語句

一個表達式的后面跟一個分號構(gòu)成語句。用左、右花括號括起來的語句稱為復合語句。

一個復合語句在語法上等同于一個語句。例: x=a+b;

if(1)

{a=3;b=4;x=a*b;}第三章基本語句

字符輸入函數(shù)格式:getchar()

功能:接收從鍵盤輸入的一個字符。例:#include"stdio.h"voidmain(void){ charc;

c=getchar(); }3.2數(shù)據(jù)的輸入第三章基本語句格式輸入函數(shù)格式:scanf(格式控制,地址表);

功能:用以接收從鍵盤上輸入的多個任何類型的數(shù)據(jù)。1.格式控制由%和格式字符組成。作用是將輸入的數(shù)據(jù)轉(zhuǎn)換成指定的格式后存入到由地址表所指向的相應(yīng)的變量中。例:%c,%d,%f2.地址表由變量地址組成。變量地址由&和變量名組成。例:&a,&b3.2數(shù)據(jù)的輸入第三章基本語句格式字符d輸入十進制整數(shù)(長整型用ld;短整型用hd)o輸入八進制整數(shù)(長整型用lo;短整型用ho)x輸入十六進制整數(shù)(長整型用lx;短整型用hx)c輸入單個字符f輸入浮點數(shù)e輸入浮點數(shù),作用與f相同.s輸入以‘\0’為結(jié)束標致的字符串3.2數(shù)據(jù)的輸入第三章基本語句舉例#include"stdio.h"voidmain(void){ inti; floatf; charc; scanf("%d%f%c",&i,&f,&c); printf("%d,%f,%c\n",i,f,c);}3.2數(shù)據(jù)的輸入第三章基本語句字符輸出函數(shù) 格式:putchar(變量名)

功能:將變量中的字符輸出到屏幕當前光標位置。 例:#include"stdio.h" voidmain(void) { charc; c=getchar(); putchar(c); }3.3數(shù)據(jù)的輸出第三章基本語句格式輸出函數(shù) 格式:printf(格式控制,輸出表); 功能:用以輸出多個任何類型的數(shù)據(jù)。

1.格式控制 由%和格式字符組成,作用是將要輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式后輸出。 例:%d,%f,%c 2.輸出表 由變量名組成。變量名間用逗號隔開。 例:a,b,c第三章基本語句3.3數(shù)據(jù)的輸出格式字符d 輸出十進制整數(shù)(長整型用ld)o 輸出八進制整數(shù)(長整型用lo)x 輸出十六進制整數(shù)(長整型用lx)c 輸出單個字符f 輸出浮點數(shù)e 以科學計數(shù)法輸出浮點數(shù)s 輸出以‘\0’為結(jié)束標致的字符串第三章基本語句3.3數(shù)據(jù)的輸出#include"stdio.h"voidmain(void){ charc1,c2; scanf("%c%c",&c1,&c2); ++c1; --c2;

printf("C1=%c,C2=%c",c1,c2);}第三章基本語句3.3數(shù)據(jù)的輸出舉例

第三章基本語句本章小結(jié):

本章在闡述C語言程序設(shè)計中常用的基本語句和復合語句基礎(chǔ)上,詳細介紹了數(shù)據(jù)的輸入和輸出的常用函數(shù)及其使用方法。第四章選擇結(jié)構(gòu)

主要內(nèi)容:

結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)

IF-else選擇結(jié)構(gòu)多分支Switch選擇結(jié)構(gòu)本章授課理論課:

2學時實踐課:2學時教學目的及要求:

通過對本章的學習,要求掌握C語言程序設(shè)計中的三種基本結(jié)構(gòu),把握選擇結(jié)構(gòu)的兩種常用語句結(jié)構(gòu)。基本了解C語言程序開發(fā)的選擇流程設(shè)計。第四章選擇結(jié)構(gòu)本章重點:

C語言程序設(shè)計的三種基本結(jié)構(gòu)

IF-else選擇語句結(jié)構(gòu)多分支Switch選擇語句結(jié)構(gòu)本章難點:

Switch多分支選擇結(jié)構(gòu)第四章選擇結(jié)構(gòu)

結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)

1.順序結(jié)構(gòu)按語句的書寫順序依此執(zhí)行。

2.選擇結(jié)構(gòu)通過對特定條件的判斷,選擇一個分支執(zhí)行。

3.循環(huán)結(jié)構(gòu)在給定條件下,重復執(zhí)行某段程序,直到條件不滿足為止。AB第四章選擇結(jié)構(gòu)格式:if(表達式)

語句1else

語句2

功能:先計算表達式的值,若表達式的值為“真”(非0),則執(zhí)行語句1,否則,若表達式的值為“假”(為0),則執(zhí)行語句2。

說明:

1、語句1、語句2可以是單個語句,也可是復合語句。

2、if語句可以嵌套。(else總是與它前面的離它最近的if配對)。非0?YNAB4.1IF條件選擇語句第四章選擇結(jié)構(gòu)if語句舉例#include"stdio.h"main(){ charc1,c2; c1=getchar(); c2=getchar(); if(c1>c2) printf("%c\n",c1); else printf("%c\n",c2);}#include<stdio.h>main(){ inta,b,c,max; printf("Inputa,b,c:");scanf("%d,%d,%d",&a,&b,&c); if(a>b&&a>c) max=a; else if(b>c) max=b; else max=c;printf("max=%d\n",max);}4.1IF條件選擇語句第四章選擇結(jié)構(gòu)格式:switch(表達式){ case常量表達式1:

語句1 case常量表達式2:

語句2 …… case常量表達式n:

語句n [default: 語句n+1] }功能:先計算switch后面表達式的值,若此值等于某個case后面的常量表達式的值,則轉(zhuǎn)去執(zhí)行該case后面的語句去執(zhí)行;否則執(zhí)行default后面的語句。4.2多分支選擇語句第四章選擇結(jié)構(gòu)說明:

1.“表達式”及“常量表達式”的值,必須是整型或字符型。

2.case后面的常量表達式的值必須互不相同。

3.執(zhí)行完某個case后面的語句后,將自動轉(zhuǎn)到該語句后面的語句去執(zhí)行,直到遇到switch語句結(jié)束或“break”語句為止。

4.case后面的多個語句可以不用花括號括起。

5.多個case后面的語句可以共用一組執(zhí)行語句。4.2多分支選擇語句第四章選擇結(jié)構(gòu) case4: case6: case9: case11:days=30;break; case2:if(year%4==0&&year%100!=0||year%400==0) days=29; else days=28;break; default: printf("Dataerror!");break; } printf("Days=%d",days);}4.3Switch語句舉例第四章選擇結(jié)構(gòu)#include<stdio.h>main(){ intyear,month,days; printf("Inputyearandmonth:"); scanf("%d%d",&year,&month); switch(month) { case1: case3: case5: case7: case8: case10: case12:days=31;break;本章小結(jié):

本章簡單介紹了C語言程序設(shè)計中的三種基本結(jié)構(gòu),重點系統(tǒng)介紹了選擇結(jié)構(gòu)的兩種常用語句結(jié)構(gòu)及其使用方法。第四章選擇結(jié)構(gòu)第五章循環(huán)結(jié)構(gòu)

主要內(nèi)容:

while循環(huán)語句

do-while循環(huán)語句

for循環(huán)語句

break和continue語句空操作語句和goto語句本章授課理論課:

4學時實踐課:4學時教學目的及要求:

通過對本章的學習,要求熟悉C語言程序設(shè)計中常用的循環(huán)語句,包括while、do-while和for語句結(jié)構(gòu),并能夠熟練應(yīng)用它們?nèi)ピO(shè)計程序;掌握循環(huán)語句結(jié)構(gòu)配套使用的break和continue的用法;了解空操作語句和goto語句的用法;第五章循環(huán)結(jié)構(gòu)本章重點:

while、do-while和for循環(huán)語句

break和continue語句空操作和goto語句本章難點:

for循環(huán)語句

break和continue的用法區(qū)別第五章循環(huán)結(jié)構(gòu)while循環(huán)語句do-while循環(huán)語句for循環(huán)語句break語句和continue語句空操作語句和goto語句第五章循環(huán)結(jié)構(gòu)格式:while(表達式){

循環(huán)體

}功能:先計算表達式的值,若表達式的值為真,則執(zhí)行循環(huán)體,否則,執(zhí)行循環(huán)體后面的語句。表達式真假循環(huán)體第五章循環(huán)結(jié)構(gòu)5.1while循環(huán)語句While循環(huán)舉例#include"stdio.h"voidmain(){ inti=1,sum=0;

while(i<=100) { sum+=i; i=i+1; } printf("%d\n",sum);}第五章循環(huán)結(jié)構(gòu)5.1while循環(huán)語句格式:do{循環(huán)體}while(表達式);功能:先執(zhí)行一次循環(huán)體,再判斷表達式的值是否為“真”,若為“真”,繼續(xù)執(zhí)行循環(huán)體,直到表達式的值為“假”,退出循環(huán)。循環(huán)體表達式真假第五章循環(huán)結(jié)構(gòu)5.2do-while循環(huán)語句do-while循環(huán)語句舉例#include"stdio.h"voidmain(){ inti=1,sum=0;

do {sum+=i; i=i+1;} while(i<=100); printf("%d\n",sum);}第五章循環(huán)結(jié)構(gòu)5.2do-while循環(huán)語句格式:for(表達式1;表達式2;表達式3)

{循環(huán)體}執(zhí)行過程:1、先求解表達式1,2、再求解表達式2,若表達式2的值為“真”,則執(zhí)行循環(huán)體中的語句,接著求解表達式3,3、重復執(zhí)行步驟2),直到表達式2的值為“假”,退出循環(huán)。

求解表達式1表達式2執(zhí)行循環(huán)體求解表達式3退出循環(huán)真假第五章循環(huán)結(jié)構(gòu)5.3for循環(huán)語句for循環(huán)說明for語句中的任何一個表達式都可以省略,但其中分號不能省略。省略表達式2,相當于死循環(huán)。此時應(yīng)在循環(huán)體中設(shè)置相應(yīng)語句結(jié)束循環(huán)。如循環(huán)體由多個語句組成,則必須用花括號括起。表達式1和表達式3都可是逗號表達式。第五章循環(huán)結(jié)構(gòu)5.3for循環(huán)語句for循環(huán)舉例#include"stdio.h"voidmain(){ inti,sum;

for(i=1,sum=0;i<=100;i++) sum+=i; printf("%d\n",sum);}第五章循環(huán)結(jié)構(gòu)5.3for循環(huán)語句break語句格式:break;功能:終止switch語句或循環(huán)語句的執(zhí)行。continue語句格式:continue;功能:終止本次循環(huán)。第五章循環(huán)結(jié)構(gòu)5.4break和continueBreak、continue語句舉例#include"stdio.h"voidmain(){ inti,sum; for(i=1,sum=0;i<=100;i++){ if(sum>2000) break; sum+=i;} printf("%d\n",sum);}第五章循環(huán)結(jié)構(gòu)5.4break和continue#include"stdio.h"voidmain(){ intsum,i; charch; sum=0; for(i=0;i<10;i++){ ch=getchar(); if(ch<'0'||ch>'9') continue; sum++;} printf("sum=%d",sum);}第五章循環(huán)結(jié)構(gòu)Break、continue語句比較舉例#include"stdio.h"voidmain(){ intsum,i; charch; sum=0; for(i=0;i<10;i++){ ch=getchar(); if(ch<'0'||ch>'9') continue; sum++;} printf("sum=%d",sum);}#include"stdio.h"voidmain(){ intsum,i; charch; sum=0; for(i=0;i<10;i++){ ch=getchar(); if(ch<'0'||ch>'9') break; sum++;} printf("sum=%d",sum);}空操作語句 僅由一個分號組成,不進行任何操作。goto語句 格式:goto標號;

……

標號:語句; 功能:將執(zhí)行流程轉(zhuǎn)到以該標號為前綴的語句去執(zhí)行。 說明:標號的命名規(guī)則與變量完全相同。第五章循環(huán)結(jié)構(gòu)5.5空操作和goto語句舉例#include"stdio.h"voidmain(){ intsum,i; charch; for(sum=0,i=1;i<=100;sum+=i,i++) ; printf("sum=%d\n",sum);}#include"stdio.h"voidmain(){ inti; floatsum; sum=1; i=2;L1:sum+=1/(float)i; i+=2; if(i<=50) gotoL1; printf("sum=%f\n",sum);}第五章循環(huán)結(jié)構(gòu)5.5空操作和goto語句本章小結(jié):

本章重點介紹了C語言程序設(shè)計中常用的循環(huán)語句及其使用方法,包括while、do-while和for語句結(jié)構(gòu),并通過例子說明了它們的使用方法;同時介紹了循環(huán)語句結(jié)構(gòu)配套使用的break和continue的用法;最后,對空操作語句和goto語句的用法作了簡單介紹;第五章循環(huán)結(jié)構(gòu)第六章數(shù)組

主要內(nèi)容:

一維數(shù)組定義、引用、初始化和舉例二維數(shù)組定義、引用、初始化和舉例字符數(shù)組定義、引用、初始化和舉例字符串函數(shù)的應(yīng)用本章授課理論課:

4學時實踐課:4學時教學目的及要求:

通過對本章的學習,要求掌握C語言一維數(shù)組、二維數(shù)組和字符數(shù)組的定義、引用及其初始化方法;初步認識數(shù)組的應(yīng)用舉例使用,了解常用的字符串處理函數(shù)。第六章數(shù)組本章重點:

一維數(shù)組的定義、引用、舉例和初始化二維數(shù)組的定義、引用、舉例和初始化字符數(shù)組的定義、引用、舉例和初始化字符串處理函數(shù)本章難點:

一維數(shù)組、二維數(shù)組和字符數(shù)組的初始化第六章數(shù)組

一維數(shù)組

二維數(shù)組

字符數(shù)組和字符串第六章數(shù)組一維數(shù)組的定義和引用 定義:類型說明符數(shù)組名[常量表達式]; 例:intage[10];

floata[10],f,b[20]; 說明:不允許動態(tài)定義數(shù)組。 如:inti;i=15;intdata[i]; 引用:數(shù)組名[下標表達式]

例:a[0]=10;a[5]=2*a[0]; 說明:下標從0開始,不允許一次引用整個數(shù)組,只能逐個引用每個數(shù)組元素。一維數(shù)組元素的初始化

staticinta[5]={1,2,3,4,5}; staticintdata[5]={5,4,3}; staticintdata[5]; staticintdata[]={1,2,3,4,5};第六章數(shù)組6.1一維數(shù)組舉例#include"stdio.h"voidmain(){ inti;

staticintx[]={10,8,7,6,5}; staticinty[]={-3,9,-10,-2,4}; intz[5]; for(i=0;i<5;i++) z[i]=x[i]+y[i]; for(i=0;i<5;i++) printf("%d\n",z[i]);}第六章數(shù)組6.1一維數(shù)組二維數(shù)組的定義和引用 定義:類型說明符數(shù)組名[常量表達式][常量表達式]; 例:int x[3][2];

float a[2][3],f,b[20]; 說明:數(shù)組元素的排列順序按行進行。 引用:數(shù)組名[下標表達式][下標表達式]

例:a[0][1]=10;a[1][1]=2*a[0][1]; 說明:每個下標從0開始,不允許一次引用整個數(shù)組,只能逐個引用每個數(shù)組元素。一維數(shù)組元素的初始化

staticinta[3][2]={1,2,3,4,5,6}; staticintdata[2][3]={5,4,3}; staticintdata[3][2]={{1},{2},{3}}; staticintdata[][2]={{1},{2,3},{4}};第六章數(shù)組6.2二維數(shù)組舉例#include"stdio.h"voidmain(){ intyear,month,day,days,i,leap; staticintmtable[][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}}; printf("inputyear,month,day:"); scanf("%d%d%d",&year,&month,&day); leap=0; if(year%4==0&&year%100!=0||year%400==0) leap=1; days=day; for(i=1;i<month;i++) days+=mtable[leap][i]; printf("Days=%d",days);}第六章數(shù)組6.2二維數(shù)組字符數(shù)組

一維數(shù)組定義: char數(shù)組名[常量表達式];

二維數(shù)組定義: char數(shù)組名[常量表達式][常量表達式];

字符數(shù)組元素的引用: c[5]=‘B’;ch[1][2]=‘k’;

字符數(shù)組初始化: staticcharch[5]={‘G’,’O’,’O’,’D’,’!’}

說明:初值個數(shù)可以少于數(shù)組元素的個數(shù),不可多于。

第六章數(shù)組6.3字符數(shù)組和字符串字符數(shù)組舉例#include"stdio.h"voidmain(){

staticchartext[]={'h','e','l','l','o'}; charbuff[5]; inti,flag; for(i=0;i<5;i++) buff[i]=getchar(); flag=0; for(i=0;i<5;i++) if(buff[i]!=text[i]) {flag=1; break;} if(flag) printf("Thiswordisnothello"); else printf("Thiswordishello");}第六章數(shù)組6.3字符數(shù)組和字符串字符串字符串及其結(jié)束標志 字符串是用雙引號括起來的字符序列。 字符串利用字符數(shù)組存放。 字符串結(jié)束標志:‘\0’

字符串常量初始化數(shù)組: staticcharstr[]={“Happy”};

或:staticcharstr[]=“Happy”;字符串的輸入和輸出 “%c”格式符:每次輸入或輸出一個字符。 “%s”格式符:每次輸入或輸出一個字符串。第六章數(shù)組6.3字符數(shù)組和字符串字符串輸入輸出舉例#include"stdio.h"voidmain(){ charstr[10]; inti; printf("Inputastring:"); scanf("%s",str); i=0; while(str[i]!='\0') { printf("%c",str[i]); i++; }}第六章數(shù)組6.3字符數(shù)組和字符串常用的字符串處理函數(shù)

輸入字符串函數(shù)

輸出字符串函數(shù)

字符串比較函數(shù)

字符串拷貝函數(shù)

字符串連接函數(shù)

字符串測試長度函數(shù)第六章數(shù)組6.3字符數(shù)組和字符串輸入字符串函數(shù)格式:gets(字符數(shù)組名)功能:輸入一個字符串。說明:

1.要用#include命令將“stdio.h”頭文件包含到文件中。

2.返回字符數(shù)組的首地址。例:charp[20];

……gets(p);第六章數(shù)組輸入字符串函數(shù)舉例#include"stdio.h"main(){ charp[20]; gets(p); printf("%s\n",p);}第六章數(shù)組輸出字符串函數(shù)格式:puts(字符數(shù)組名)功能:輸出以‘\0’結(jié)尾的字符串。說明: 要用#include命令將“stdio.h”頭文件包含到文件中。 例: charp[20];

…… puts(p);第六章數(shù)組輸出字符串函數(shù)舉例#include"stdio.h"main(){ charp[20]; gets(p); puts(p);}第六章數(shù)組字符串比較函數(shù)格式:strcmp(字符串1,字符串2)功能:比較兩個字符串。說明: R<0字符串1<字符串2 R=0字符串1=字符串2 R>0字符串1>字符串2例: intR; R=strcmp(“Good”,”Happy”)第六章數(shù)組字符串比較函數(shù)舉例#include"stdio.h"#include"string.h"voidmain(){ charstr1[]={"abcde"},p[20]; intr; gets(p); r=strcmp(str1,p); printf("%d",r);}第六章數(shù)組字符串拷貝函數(shù)格式: strcpy(字符數(shù)組1,字符數(shù)組2)功能:

將字符數(shù)組2(以‘\0’結(jié)尾)拷貝到字符數(shù)組1中。例: staticcharstr2[]=“string” charstr1[7];

…… strcpy(str1,str2);第六章數(shù)組字符串拷貝函數(shù)舉例#include"stdio.h"#include"string.h"voidmain(){ charstr1[20],p[20]; gets(p); strcpy(str1,p); printf("%s\n",str1);}第六章數(shù)組字符串連接函數(shù)格式:strcat(字符串1,字符串2)功能:連接兩個以‘\0’結(jié)尾的字符串。說明: 字符數(shù)組1必須足夠長,以便容納字符串2。例: staticcharstr1[20]=“Happy”staticcharstr2[10]=“NewYear” ……strcat(str1,str2);第六章數(shù)組字符串連接函數(shù)舉例#include"stdio.h"#include"string.h"voidmain(){ charp1[]="abcde",p2[]="12345"; strcat(p1,p2); printf("%s\n",p1);}第六章數(shù)組字符串測試長度函數(shù)格式:strlen(字符串)功能:測試字符串長度(不包括‘\0’)。例: strlencharstr[10]={“China”};printf(“%d”,strlen(str));第六章數(shù)組字符串測試長度函數(shù)舉例#include"stdio.h"#include"string.h"voidmain(){ charp1[]="abcde"; inti,j; i=strlen(p1); j=strlen("1234567890"); printf("%d,%d\n",i,j);}第六章數(shù)組本章小結(jié):

本章主要介紹了C語言一維數(shù)組、二維數(shù)組和字符數(shù)組的定義、引用及其初始化方法;闡述了數(shù)組的應(yīng)用方法,并介紹了跟數(shù)組相關(guān)的常用的字符串處理函數(shù)的用法。第六章數(shù)組第七章函數(shù)

主要內(nèi)容:

函數(shù)的概念和定義函數(shù)的常用調(diào)用方法函數(shù)的參數(shù)傳遞方式函數(shù)變量的作用域函數(shù)的作用域本章授課理論課:

6學時實踐課:6學時教學目的及要求:

通過對本章的學習,要求掌握構(gòu)成C語言程序模塊的單元--函數(shù)的特點及其定義和調(diào)用的方法;初步認識C語言變量的作用范圍,區(qū)分函數(shù)的作用域。第七章函數(shù)本章重點:

函數(shù)的定義

函數(shù)的調(diào)用方法函數(shù)的參數(shù)傳遞方式函數(shù)的作用域函數(shù)變量的作用域本章難點:

函數(shù)的調(diào)用方法及其參數(shù)傳遞方式第七章函數(shù)

函數(shù)的概念

函數(shù)的定義和調(diào)用

函數(shù)的返回值及其類型

函數(shù)的參數(shù)及其傳遞方式

函數(shù)的嵌套調(diào)用和遞歸調(diào)用

變量的作用域及存儲類型

內(nèi)部函數(shù)和外部函數(shù)第七章函數(shù)和變量一個C程序由一個或多個函數(shù)組成,必須有且僅有一個主函數(shù)(main())。函數(shù)之間沒有從屬關(guān)系。函數(shù)通過調(diào)用執(zhí)行,從main函數(shù)開始,main函數(shù)可以調(diào)用任何一個函數(shù),其他函數(shù)不能調(diào)用main函數(shù)。函數(shù)包括:標準庫函數(shù)和用戶自定義函數(shù)。第七章函數(shù)和變量7.1函數(shù)的概念函數(shù)的定義格式:類型說明符函數(shù)名(形參表)形參類型說明

{

說明部分語句部分(函數(shù)體部分)

}函數(shù)的調(diào)用格式:函數(shù)名(實參表);例第七章函數(shù)和變量7.2函數(shù)的定義和調(diào)用函數(shù)的定義和調(diào)用舉例#include"stdio.h"intmax(inta,intb){inti;i=(a>b)?a:b;return(i);}main(){intx=10,y=20,temp;

temp=max(x,y);printf("Themaxis%d\n",temp);system("pause");}第七章函數(shù)和變量7.2函數(shù)的定義和調(diào)用返回語句 格式: return[(表達式)]; 或: return[表達式];返回值類型

C語言規(guī)定第七章函數(shù)和變量7.3函數(shù)返回值與類型C語言規(guī)定在調(diào)用函數(shù)中,通常應(yīng)對被調(diào)用函數(shù)的返回值類型進行說明例: main()

{ floatcount();

floats;

…… s=count(20);

…… }第七章函數(shù)和變量7.3函數(shù)返回值與類型當被調(diào)用函數(shù)的定義位于調(diào)用函數(shù)之前時可不必說明例: floatcount(n)

intn;

{ floats;

…… return(s);

} main()

{ floats;

…… s=count(10);

…… }第七章函數(shù)和變量7.3函數(shù)返回值與類型允許在所有函數(shù)的外面、文件的開頭對函數(shù)的類型進行說明,而在調(diào)用函數(shù)中便可以不對被調(diào)用函數(shù)的類型進行說明。例: floatcount();

main()

{ floats;

…… s=count(10);

…… }

floatcount(n)

intn;

{ floats;

…… return(s);

}第七章函數(shù)和變量7.3函數(shù)返回值與類型當函數(shù)的返回值為int型時,在函數(shù)定義時,返回值的類型說明可以省略。當函數(shù)沒有返回值時,函數(shù)的返回值類型可說明為void型。例: #include"stdio.h" voidabc() { printf("good!"); } main() { abc(); }第七章函數(shù)和變量7.3函數(shù)返回值與類型函數(shù)返回值類型一般應(yīng)與return語句中的表達式的值的類型一致,若不同,則以函數(shù)定義時的返回值類型說明為準。允許在沒有返回值的函數(shù)中使用return語句,以結(jié)束函數(shù)的執(zhí)行,返回主調(diào)函數(shù)。

格式:return第七章函數(shù)和變量7.3函數(shù)返回值與類型實參和形參

實參:函數(shù)調(diào)用時,函數(shù)名后面的參數(shù) 形參:函數(shù)定義時,函數(shù)名后面的參數(shù)。一般變量(包括數(shù)組元素)作函數(shù)參數(shù)

實參—>形參 (單向)值傳遞 形參值改變不影響實參。數(shù)組名作函數(shù)參數(shù)

實參和形參共占一段存儲單元 (雙向)地址傳遞 形參值的改變將影響實參。第七章函數(shù)和變量7.4參數(shù)及傳遞方式一般變量(包括數(shù)組元素)作函數(shù)參數(shù)#include"stdio.h"intmult10(intn){ n*=10; return(n);}main(){ intnum; intresult; num=5; result=mult10(num); printf("result=%d\n",result); printf("num=%d\n",num);}第七章函數(shù)和變量7.4參數(shù)及傳遞方式數(shù)組名作函數(shù)參數(shù)#include"stdio.h"voidADD1(inta[],intn){ inti; for(i=0;i<n;i++) a[i]++;}main(){ staticintarray[]={0,1,2,3,4,5,6,7,8,9}; inti; ADD1(array,10); for(i=0;i<10;i++) printf("%d",array[i]);}第七章函數(shù)和變量7.4參數(shù)及傳遞方式函數(shù)的嵌套調(diào)用 即一個函數(shù)可以被其他函數(shù)調(diào)用,也可調(diào)用其他函數(shù)。函數(shù)的遞歸調(diào)用

直接遞歸調(diào)用: 一個函數(shù)可直接調(diào)用該函數(shù)本身。

間接遞歸調(diào)用: 一個函數(shù)可間接調(diào)用該函數(shù)本身。第七章函數(shù)和變量7.5嵌套和遞歸調(diào)用函數(shù)的嵌套調(diào)用#include"stdio.h"intSADD(intn){ inti,sum=0; for(i=1;i<=n;i++) sum+=i; return(sum);}intsmul(intn){ intm,d;

m=SADD(n); d=2*m-1; eturn(d);}main(){ inti,n,d; intflag; printf("Inputanumber:"); scanf("%d",&n);

d=smul(n); flag=0; for(i=0;i<n;i++) { printf("%d",d); d-=2; flag++; if(flag==5) { printf("\n");flag=0; } }}第七章函數(shù)和變量7.5嵌套和遞歸調(diào)用直接遞歸調(diào)用floatfunc(n)intn;{ intm;

floatf;

…… f=func(m);

……}第七章函數(shù)和變量7.5嵌套和遞歸調(diào)用間接遞歸調(diào)用func1(n)intn;{ intm;

…… func2(m);

……}func2(x)intx;{ int

y;

…… func1(y);

……}第七章函數(shù)和變量7.5嵌套和遞歸調(diào)用函數(shù)的遞歸調(diào)用#include"stdio.h"main(){ intn; longintresult; longintfact(int); while(1) { printf("Inputanumber:"); scanf("%d",&n); if(n>=0) break; } result=fact(n); printf("Result=%ld",result);}longintfact(intn){ longintf; if(n==0) f=1; else f=n*fact(n-1); return(f);}第七章函數(shù)和變量7.5嵌套和遞歸調(diào)用

一般概念

局部變量及存儲類型

全局變量及存儲類型第七章函數(shù)和變量7.6變量作用域及存儲類型一般概念C語言所占存儲空間分為: 程序區(qū):存放可執(zhí)行的程序的機器指令。 靜態(tài)存儲區(qū):存放需占用固定存儲單元的變量。 動態(tài)存儲區(qū):存放不需占用固定存儲單元的變量。變量的定義包含三個方面: 變量的數(shù)據(jù)類型 變量的作用域:一個變量能夠起作用的程序范圍。 變量的存儲類型:變量在內(nèi)存中的存儲方法。第七章函數(shù)和變量7.6變量作用域及存儲類型局部變量及存儲類型局部變量: 在函數(shù)內(nèi)部定義的變量。局部變量的作用域:僅限于定義它的函數(shù)。局部變量的三種存儲類型:

自動類(auto)

靜態(tài)類(static)

寄存器類(register)第七章函數(shù)和變量7.6變量作用域及存儲類型自動類(auto)變量

在函數(shù)內(nèi)部定義的,沒有指定其他存儲類型的變量。格式:[auto]類型說明符變量表在動態(tài)存儲區(qū)分配存儲單元,函數(shù)調(diào)用結(jié)束時,其中的數(shù)據(jù)被釋放,每調(diào)用一次函數(shù)都需重新賦初值一次。#include"stdio.h"voidtest_auto(){ intva=0; printf("auto=%d\n",va); ++va;}main(){ inti; for(i=0;i<4;i++) test_auto();}第七章函數(shù)和變量7.6變量作用域及存儲類型靜態(tài)類(static)變量

在函數(shù)內(nèi)用static定義的變量。格式:static類型說明符變量表在靜態(tài)存儲區(qū)分配存儲單元,函數(shù)調(diào)用結(jié)束后其中數(shù)據(jù)并不釋放。#include"stdio.h"voidtest_static(){

staticintvs=0; printf("static=%d\n",vs); ++vs;}main(){ inti; for(i=0;i<4;i++) test_static();}第七章函數(shù)和變量7.6變量作用域及存儲類型寄存器類(register)變量用寄存器存放值的變量。格式:

register類型說明符變量表能被說明為寄存器類變量的數(shù)據(jù)類型只有char、shortint、unsignedint、int和指針類型。第七章函數(shù)和變量7.6變量作用域及存儲類型全局變量及存儲類型全局變量:

在函數(shù)外定義的變量。作用域:

從定義位置開始到本源文件結(jié)束。所有全局變量都在靜態(tài)存儲區(qū)分配存儲單元。默認初值為0。全局變量的兩種存儲類型:

外部的(extern)

靜態(tài)的(static)第七章函數(shù)和變量7.6變量作用域及存儲類型外部變量

沒有說明為static的全局變量稱外部變量。一個C語言程序可由多個源文件組成,如果一個文件要引用另一個文件中定義的外部變量,需用extern關(guān)鍵字說明,一般應(yīng)在文件的開頭且位于所有函數(shù)的外面。如在同一個文件中的全局變量的定義位于使用它的函數(shù)后面,可在要使用該全局變量的函數(shù)中,用extern說明,再使用它(見例)。格式:

extern數(shù)據(jù)類型變量名文件f1.c的內(nèi)容:#include"stdio.h"intx;main(){ intsum,y; scanf("%d",&y); store(); sum=x+y; printf("sum=%d",sum);}文件f2.c的內(nèi)容:externintx;voidstore(){ x=10;}第七章函數(shù)和變量7.6變量作用域及存儲類型例#include"stdio.h"main(){

externintx,y; intm; scanf("%d%d",&x,&y); m=(x<y)?x:y; printf("Min=%d",m);}

intx,y;第七章函數(shù)和變量7.6變量作用域及存儲類型靜態(tài)(static)外部變量

若希望在一個文件中定義的全局變量的作用域僅限于此文件中,則可在定義全局變量的類型說明符的前面使用static關(guān)鍵字。格式:

static類型說明符變量名作用域:從定義位置開始到該文件結(jié)束。file1.cstaticinta;main(){……}file2.cexterninta;fun(n)intn;{ …… a=a*n; ……}第七章函數(shù)和變量7.6變量作用域及存儲類型

內(nèi)部函數(shù)只能在定義它的文件中被調(diào)用,不能被其他文件中的函數(shù)所調(diào)用。定義格式:

static類型說明符函數(shù)名(參數(shù)表)

外部函數(shù)可以被其他文件中的函數(shù)所調(diào)用??稍诙x和調(diào)用函數(shù)時使用extern說明。定義函數(shù)時extern可以省略。第七章函數(shù)和變量7.7內(nèi)部函數(shù)和外部函數(shù)外部函數(shù)file1.cmain(){

externvoidinput(); charbuff[100]; ...... input(buff); ......}file2.cexternvoidinput(b)charb[100];{ ......}第七章函數(shù)和變量7.7內(nèi)部函數(shù)和外部函數(shù)本章小結(jié):

本章系統(tǒng)介紹了函數(shù)的特點及其定義和調(diào)用的方法;簡單介紹了C語言變量的作用域和函數(shù)的作用域。第七章函數(shù)第八章結(jié)構(gòu)和聯(lián)合

主要內(nèi)容:

結(jié)構(gòu)體的定義、引用及其初始化結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體的嵌套聯(lián)合枚舉本章授課理論課:

4學時實踐課:4學時教學目的及要求:

通過對本章的學習,要求掌握C語言結(jié)構(gòu)體的特點及其定義、引用和初始化方法;在此基礎(chǔ)上,初步認識結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)體的嵌套方法;了解聯(lián)合和枚舉的定義、引用的方法。第八章結(jié)構(gòu)和聯(lián)合本章重點:

結(jié)構(gòu)體的定義、引用和初始化

結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體的嵌套聯(lián)合的定義、引用枚舉的定義、引用本章難點:

結(jié)構(gòu)體數(shù)組的定義和引用第八章結(jié)構(gòu)和聯(lián)合結(jié)構(gòu)類型變量的定義結(jié)構(gòu)類型變量的引用結(jié)構(gòu)的初始化結(jié)構(gòu)和函數(shù)結(jié)構(gòu)和數(shù)組結(jié)構(gòu)的嵌套聯(lián)合枚舉第八章結(jié)構(gòu)和聯(lián)合先定義結(jié)構(gòu)類型,再定義結(jié)構(gòu)變量在定義結(jié)構(gòu)類型的同時定義結(jié)構(gòu)變量直接定義結(jié)構(gòu)變量定義結(jié)構(gòu)類型名8.1

結(jié)構(gòu)類型變量的定義第八章結(jié)構(gòu)和聯(lián)

溫馨提示

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

最新文檔

評論

0/150

提交評論