C語言第3章順序結(jié)構(gòu)程序設(shè)計(jì)_第1頁
C語言第3章順序結(jié)構(gòu)程序設(shè)計(jì)_第2頁
C語言第3章順序結(jié)構(gòu)程序設(shè)計(jì)_第3頁
C語言第3章順序結(jié)構(gòu)程序設(shè)計(jì)_第4頁
C語言第3章順序結(jié)構(gòu)程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)1第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)2一一C C運(yùn)算符簡(jiǎn)介運(yùn)算符簡(jiǎn)介二二算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式三三類型轉(zhuǎn)換和自增、自減運(yùn)算符類型轉(zhuǎn)換和自增、自減運(yùn)算符四四賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式五五順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)31.算術(shù)運(yùn)算符算術(shù)運(yùn)算符 + - * / %2.關(guān)系運(yùn)算符關(guān)系運(yùn)算符 = = != 3.邏輯運(yùn)算符邏輯運(yùn)算符 ! & |4.位運(yùn)算符位運(yùn)算符 | 5.賦值運(yùn)算符賦值運(yùn)算符 = += -= *= /= %= 等等6.條件運(yùn)算符

2、條件運(yùn)算符 ? : 7.逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符 ,8.指針運(yùn)算符指針運(yùn)算符 *和和9.求字節(jié)數(shù)運(yùn)算符求字節(jié)數(shù)運(yùn)算符 sizeof10. 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 (類型)類型) 11. 分量運(yùn)算符分量運(yùn)算符 -12. 下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符 13. 其他其他 如函數(shù)調(diào)用運(yùn)算符如函數(shù)調(diào)用運(yùn)算符 ()()分類分類 運(yùn)算符運(yùn)算符 36頁!頁!第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)4基本算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符+ - * / %例例15/3=1 -5/3=-15%3=2模運(yùn)算符或求余運(yùn)算符模運(yùn)算符或求余運(yùn)算符只能用于只能用于整數(shù)整數(shù)運(yùn)算運(yùn)算算術(shù)表達(dá)式算術(shù)表達(dá)式用算術(shù)運(yùn)算符和括號(hào)將用算

3、術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象運(yùn)算對(duì)象(也稱操作數(shù))連接起(也稱操作數(shù))連接起來的、符合來的、符合C語法規(guī)則的式子。語法規(guī)則的式子。優(yōu)先級(jí)和優(yōu)先級(jí)和結(jié)合性結(jié)合性先乘除、后加減,有括號(hào)先算括號(hào)。先乘除、后加減,有括號(hào)先算括號(hào)。自左至右自左至右兩個(gè)整數(shù)相除的結(jié)果為整數(shù)兩個(gè)整數(shù)相除的結(jié)果為整數(shù)常量、變量、函數(shù)等常量、變量、函數(shù)等說明說明如果一個(gè)運(yùn)算符兩側(cè)的數(shù)據(jù)類型不同,先自動(dòng)進(jìn)行如果一個(gè)運(yùn)算符兩側(cè)的數(shù)據(jù)類型不同,先自動(dòng)進(jìn)行類型轉(zhuǎn)換類型轉(zhuǎn)換,使二者具有同一類型,然后進(jìn)行運(yùn)算。,使二者具有同一類型,然后進(jìn)行運(yùn)算。C規(guī)定了各種運(yùn)算符的規(guī)定了各種運(yùn)算符的結(jié)合方向(結(jié)合性)結(jié)合方向(結(jié)合性)第第3 3章章 順序結(jié)構(gòu)

4、程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)5轉(zhuǎn)換規(guī)則轉(zhuǎn)換規(guī)則例例2doublefloatlongunsignedintchar,short高高低低詳見詳見46頁頁int i;float f;double d;long e; i=2;f=2.5;d=3.9;e=3; 10+a+i*f-d/e1075.01.3112. 0110. 7intdoubledoubledoubledouble 1、低類型轉(zhuǎn)化為高類型。、低類型轉(zhuǎn)化為高類型。2、float型數(shù)據(jù)在運(yùn)算時(shí),型數(shù)據(jù)在運(yùn)算時(shí),一律轉(zhuǎn)化為一律轉(zhuǎn)化為double型。型。第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)6強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換運(yùn)算符運(yùn)算符自增、自減自

5、增、自減運(yùn)算符運(yùn)算符格式:(類型名)(表達(dá)式)格式:(類型名)(表達(dá)式)舉例:舉例: float x,y; x=2.3 ; y=4.5 (int)(x+y) : 6 (int) (int)x+y : 6.5 (double)作用:使變量的值增作用:使變量的值增1或減或減1。格式:格式: +i , -i i+ , i- 例例3i=3;A) j=+i;B) j=i+;i=i+1i=i-1? j,i A) j=4 i=4B) j=3 i=4第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)7例例3.1#include stdio.hint main( ) int n,x,y; n=4; x=+n; p

6、rintf(n=%dtx=%dn,n,x); n=4; y=n+; printf(n=%dty=%dn,n,y); return 0;程序的運(yùn)行結(jié)果是:程序的運(yùn)行結(jié)果是: n=5 x=5n=5 y=443頁頁第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)8例例3.2#include stdio.hint main( ) int n,x,y; n=4; x=-n; printf(n=%dtx=%dn,n,x); n=4; y=n-; printf(n=%dty=%dn,n,y); return 0;程序的運(yùn)行結(jié)果是:程序的運(yùn)行結(jié)果是: n=3 x=3n=3 y=444頁頁第第3 3章章 順序結(jié)

7、構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)9例例3.34 5 54 4 54 3 34 4 344頁頁#include stdio.hint main( ) int n; n=4; printf(%dt,n); printf(%dt,+n); printf(%dnn,n); n=4; printf(%dt,n); printf(%dt,n+); printf(%dnn,n); n=4; printf(%dt,n); printf(%dt,-n); printf(%dnn,n); n=4; printf(%dt,n); printf(%dt,n-); printf(%dnn,n); return 0;程序的運(yùn)行

8、結(jié)果是:程序的運(yùn)行結(jié)果是:第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)10說明說明1、自增運(yùn)算符和自減運(yùn)算符只能用于變量、自增運(yùn)算符和自減運(yùn)算符只能用于變量 而不能用于常量和表達(dá)式。而不能用于常量和表達(dá)式。2、+和和-的結(jié)合方向?yàn)樽杂抑磷?。(的結(jié)合方向?yàn)樽杂抑磷?。(P57)3、自增、自減運(yùn)算符和自減運(yùn)算符常用于、自增、自減運(yùn)算符和自減運(yùn)算符常用于 循環(huán)語句中,是循環(huán)變量自動(dòng)加循環(huán)語句中,是循環(huán)變量自動(dòng)加1,也用,也用 于指針變量,使指針指向下一個(gè)地址。于指針變量,使指針指向下一個(gè)地址。4、使用、使用+和和-時(shí),常會(huì)出現(xiàn)一些人們時(shí),常會(huì)出現(xiàn)一些人們“想不想不 到到”的的副作用副作用,初學(xué)者要

9、慎用。,初學(xué)者要慎用。第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)11賦值運(yùn)算符賦值運(yùn)算符簡(jiǎn)單:簡(jiǎn)單:=復(fù)合:復(fù)合:+=, -=,*=,/=,%= 賦值表達(dá)式賦值表達(dá)式 類型轉(zhuǎn)換類型轉(zhuǎn)換條件:當(dāng)賦值運(yùn)算符兩側(cè)的類型不一致時(shí)條件:當(dāng)賦值運(yùn)算符兩側(cè)的類型不一致時(shí)原則:以變量類型為準(zhǔn)。具體見原則:以變量類型為準(zhǔn)。具體見P39。例例1float a; int b;a=1.2;b=a*3;? b b=3例例2a+=3;x*=y+8a=a+3;x=x*(y+8)例例3a=b=5;a=7+(b=8)? a,b a=5 ;b=5a=15;b=8右結(jié)合性右結(jié)合性第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)

10、計(jì)12C C語言程序由函數(shù)組成,有一些函數(shù)是用戶編寫的語言程序由函數(shù)組成,有一些函數(shù)是用戶編寫的自定義函數(shù)自定義函數(shù),還有一些是預(yù)先定義的還有一些是預(yù)先定義的標(biāo)準(zhǔn)標(biāo)準(zhǔn)C C函數(shù)函數(shù),程序中經(jīng)常用到的一些操作,程序中經(jīng)常用到的一些操作(例如輸入、輸出等)都被事先編寫成相應(yīng)的函數(shù)(例如輸入、輸出等)都被事先編寫成相應(yīng)的函數(shù), ,保存在保存在C C的的函數(shù)庫函數(shù)庫中,可以供用戶使用時(shí)直接調(diào)用。中,可以供用戶使用時(shí)直接調(diào)用。標(biāo)準(zhǔn)標(biāo)準(zhǔn)C C函數(shù)按照不同的類別,聲明信息放在不同的頭文件中,例函數(shù)按照不同的類別,聲明信息放在不同的頭文件中,例如,如,printf( )printf( )和和scanf( )s

11、canf( )等輸入輸出函數(shù)的聲明信息放在頭文等輸入輸出函數(shù)的聲明信息放在頭文件件stdio.hstdio.h中,需要時(shí)使用預(yù)編譯處理命令中,需要時(shí)使用預(yù)編譯處理命令#include #include stdio.hstdio.h,進(jìn)行聲明。,進(jìn)行聲明。標(biāo)準(zhǔn)標(biāo)準(zhǔn)C C函數(shù)中有一類是函數(shù)中有一類是數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù),用來完成一些常用的數(shù)學(xué)計(jì)算。,用來完成一些常用的數(shù)學(xué)計(jì)算。這些數(shù)學(xué)函數(shù)的聲明信息放在頭文件這些數(shù)學(xué)函數(shù)的聲明信息放在頭文件math.hmath.h中,它含有數(shù)學(xué)中,它含有數(shù)學(xué)函數(shù)的定義。需要時(shí)使用預(yù)編譯處理命令函數(shù)的定義。需要時(shí)使用預(yù)編譯處理命令#include math.h#incl

12、ude math.h,進(jìn)行聲明,告訴編譯器應(yīng)該去訪問數(shù)學(xué)函數(shù)庫,這個(gè)命令要放進(jìn)行聲明,告訴編譯器應(yīng)該去訪問數(shù)學(xué)函數(shù)庫,這個(gè)命令要放在程序的開始處。在程序的開始處。54頁頁第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)13函數(shù)通常是按如下順序書寫的:函數(shù)名、左圓括號(hào)、函數(shù)通常是按如下順序書寫的:函數(shù)名、左圓括號(hào)、參數(shù)(或用逗號(hào)分隔的參數(shù)列表)、右圓括號(hào)。參數(shù)(或用逗號(hào)分隔的參數(shù)列表)、右圓括號(hào)。例如,例如,計(jì)算計(jì)算x x的平方根函數(shù)的平方根函數(shù)sqrtsqrt的書寫格式是:的書寫格式是:sqrt(x)sqrt(x),計(jì)算計(jì)算ex的函數(shù)的函數(shù)expexp的書寫格式是:的書寫格式是:exp(x)e

13、xp(x),計(jì)算計(jì)算xy的函數(shù)的函數(shù)powpow的書寫格式是:的書寫格式是:pow(x,y)pow(x,y),計(jì)算計(jì)算|x|x|的函數(shù)的函數(shù)fabsfabs的書寫格式是:的書寫格式是:fabs(x)fabs(x),計(jì)算計(jì)算弧度值弧度值x x的三角函數(shù)的三角函數(shù)的書寫格式是:的書寫格式是:sin(x)sin(x)、cos(x)cos(x)、tan(x)tan(x)等等。等等。第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)14當(dāng)需要處理的表達(dá)式中出現(xiàn)數(shù)學(xué)函數(shù)時(shí),表達(dá)式要按照當(dāng)需要處理的表達(dá)式中出現(xiàn)數(shù)學(xué)函數(shù)時(shí),表達(dá)式要按照C C語言語言的格式書寫。例如,的格式書寫。例如,寫出以下表達(dá)式的寫出以下表

14、達(dá)式的C C語言表達(dá)式是語言表達(dá)式是: :xex2)2( aacbb242yearratemoney)1 ( (x+2)*exp(2*x) (-b+sqrt(b*b-4*a*c)/(2*a) money * pow(1 + rate), year)第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)15C語句語句控制語句控制語句函數(shù)調(diào)用函數(shù)調(diào)用語句語句由一次函數(shù)調(diào)用加由一次函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成一個(gè)一個(gè)分號(hào)構(gòu)成一個(gè)語句。語句。表達(dá)式語句表達(dá)式語句空語句空語句?1、出現(xiàn)在函數(shù)體的執(zhí)行、出現(xiàn)在函數(shù)體的執(zhí)行 部分。部分。2、作用是向計(jì)算機(jī)系統(tǒng)、作用是向計(jì)算機(jī)系統(tǒng) 發(fā)出發(fā)出操作操作指令。指令。復(fù)合語句復(fù)合

15、語句if () else switchfor () while () do while()continuebreakgotoreturnif (xy) z=x;else z=y;printf(Hello!);由表達(dá)式加一個(gè)分由表達(dá)式加一個(gè)分號(hào)構(gòu)成一個(gè)語句。號(hào)構(gòu)成一個(gè)語句。a=3;由由 將一些語句將一些語句括起來。括起來。 t=a; a=b; b=t;?第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)16例例3.6編寫程序,實(shí)現(xiàn)兩個(gè)變量值的交換功能。編寫程序,實(shí)現(xiàn)兩個(gè)變量值的交換功能。在順序結(jié)構(gòu)程序中,各語句(或命令)是按照位置的在順序結(jié)構(gòu)程序中,各語句(或命令)是按照位置的先后次序先后次序,順

16、順序執(zhí)行序執(zhí)行的,且每條語句都會(huì)被執(zhí)行到。的,且每條語句都會(huì)被執(zhí)行到。56頁頁例如:例如:int a=10,b=25;分析:實(shí)現(xiàn)兩個(gè)變量分析:實(shí)現(xiàn)兩個(gè)變量值的交換,需要借助值的交換,需要借助第三變量(假設(shè)為第三變量(假設(shè)為t)結(jié)果為:結(jié)果為:a=25,b=10。即:即:printf(“a=%d,b=%d”,a,b;)t=a;a=b;b=t;即: 或:或: int a,b; a=10;b=25;或:或: int a,b; scanf(“%d%d”,&a,&b); 第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)17#include stdio.hint main( ) int a

17、,b,t; /增強(qiáng)人機(jī)交互性。增強(qiáng)人機(jī)交互性。 printf(請(qǐng)輸入請(qǐng)輸入a,b的初始值的初始值); scanf(%d%d,&a,&b); printf(交換之前交換之前a,b的值的值n); printf(a=%dtb=%dn,a,b); t=a; a=b; b=t; printf(交換之后交換之后a,b的值的值n); printf(a=%dtb=%dn,a,b); return 0;程序顯示:程序顯示:請(qǐng)輸入請(qǐng)輸入a,b的初始值:的初始值: 10 25 以下為程序運(yùn)行結(jié)果:以下為程序運(yùn)行結(jié)果:交換之前交換之前a,b的值的值a=10 b=25交換之后交換之后a,b的值的值a=2

18、5 b=10運(yùn)行情況:運(yùn)行情況:第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)18例例3.7輸入三角形的三邊,求三角形的面積。輸入三角形的三邊,求三角形的面積。#include #include void main() float a,b,c,s,area; printf(請(qǐng)輸入三角形的三邊:請(qǐng)輸入三角形的三邊:); scanf(%f%f%f,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“area=%7.2fn, area);請(qǐng)輸入三角形的三邊:請(qǐng)輸入三角形的三邊:3 4 5 area=6

19、.00分析分析a,b,c:表示三角形的三邊。表示三角形的三邊。 s:中間變量。中間變量。 s=(a+b+c)/2sarea:三角形面積。三角形面積。以上變量均為實(shí)型。以上變量均為實(shí)型。輸入輸入a,b,c輸出輸出areas (a+b+c)/2areasqrt(s*(s-a)*(s-b)*(s-c)?若輸入若輸入3 4 8-2 -3 9運(yùn)行情況:運(yùn)行情況:57頁頁第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)19例例3.8分析分析58頁頁從鍵盤輸入一個(gè)大寫字母,轉(zhuǎn)換成相應(yīng)的小寫字母輸出。從鍵盤輸入一個(gè)大寫字母,轉(zhuǎn)換成相應(yīng)的小寫字母輸出。#include void main() char c1,c

20、2; /增強(qiáng)人機(jī)交互性。增強(qiáng)人機(jī)交互性。 printf(請(qǐng)輸入一個(gè)大寫字母:請(qǐng)輸入一個(gè)大寫字母:); c1=getchar(); printf(“轉(zhuǎn)換前:轉(zhuǎn)換前:%c,%dn,c1,c1); c2=c1+32; printf(“轉(zhuǎn)換后:轉(zhuǎn)換后: %c,%dn,c2,c2);請(qǐng)輸入一個(gè)大寫字母:請(qǐng)輸入一個(gè)大寫字母:A A,65a,97運(yùn)行情況:運(yùn)行情況:大小寫字母的轉(zhuǎn)換算法為:大寫字母大小寫字母的轉(zhuǎn)換算法為:大寫字母ASCII碼值加上碼值加上32得到對(duì)應(yīng)小寫字母得到對(duì)應(yīng)小寫字母ASCII碼值碼值第第3 3章章 順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)20例例3.9分析分析58頁頁編寫程序,分行輸出一個(gè)編寫程序,分行輸出一個(gè)3位整數(shù)的每一位數(shù)字。位整數(shù)的每一位數(shù)字。#include stdio.hint main( ) int x,a,b,c; printf(請(qǐng)輸入一個(gè)請(qǐng)輸入一個(gè)3位整數(shù)位整數(shù)n); scanf(%d,&x); printf(您輸入的您輸入的3位整數(shù)是:位整數(shù)是:%dn,x); a=x/100; b=x%100/10; c=x%10; printf(分行輸出結(jié)果是:分行輸出結(jié)果是:n); printf(%dn,a); print

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論