C語言程序設(shè)計(jì) 第3版 課件 丁紅 第1-3章 帶你認(rèn)識(shí)C語言、數(shù)據(jù)類型、運(yùn)算符和表達(dá)式_第1頁
C語言程序設(shè)計(jì) 第3版 課件 丁紅 第1-3章 帶你認(rèn)識(shí)C語言、數(shù)據(jù)類型、運(yùn)算符和表達(dá)式_第2頁
C語言程序設(shè)計(jì) 第3版 課件 丁紅 第1-3章 帶你認(rèn)識(shí)C語言、數(shù)據(jù)類型、運(yùn)算符和表達(dá)式_第3頁
C語言程序設(shè)計(jì) 第3版 課件 丁紅 第1-3章 帶你認(rèn)識(shí)C語言、數(shù)據(jù)類型、運(yùn)算符和表達(dá)式_第4頁
C語言程序設(shè)計(jì) 第3版 課件 丁紅 第1-3章 帶你認(rèn)識(shí)C語言、數(shù)據(jù)類型、運(yùn)算符和表達(dá)式_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C語言程序設(shè)計(jì)語言C——帶你認(rèn)識(shí)入門

了解計(jì)算機(jī)語言的概念及其發(fā)展史了解常見的高級(jí)語言掌握指令、程序、源程序、目標(biāo)程序的概念理解C語言的基本特點(diǎn)和上機(jī)步驟學(xué)習(xí)目標(biāo)一、什么是計(jì)算機(jī)語言自然語言:

人與人之間進(jìn)行交流的語言計(jì)算機(jī)語言:是人和計(jì)算機(jī)進(jìn)行信息交流的工具,人們可以使用計(jì)算機(jī)語言來命令計(jì)算機(jī)進(jìn)行各種操作處理。二、計(jì)算機(jī)語言的發(fā)展機(jī)器語言:由0和1二進(jìn)制代碼構(gòu)成。匯編語言:用一組易記的符號(hào)代表機(jī)器指令。高級(jí)語言:接近于人們習(xí)慣使用的自然語言和數(shù)學(xué)語言。又稱為類自然語言。例:“加”命令用二進(jìn)制10110111表示。例:“加”命令用add表示。例:“加”命令用+表示。三、常見的高級(jí)語言及用途C語言:編寫系統(tǒng)軟件,如編寫UNIX,Windows,Linux等操作系統(tǒng).C++,C#:都是在C語言的基礎(chǔ)上發(fā)展起來的。FORTRAN:用于數(shù)值計(jì)算,如微分方程數(shù)值解,

比如氣候模式,海洋模式,模擬核爆炸試驗(yàn)JAVA:網(wǎng)絡(luò)環(huán)境語言,編手機(jī)上的程序或游戲.Python:開發(fā)人工智能軟件四、源程序和目標(biāo)程序源程序:使用高級(jí)計(jì)算機(jī)語言編寫的程序代碼目標(biāo)程序:源程序必須經(jīng)過編譯后生成計(jì)算機(jī)可以理解的二進(jìn)制形式,這樣的二進(jìn)制形式的程序稱為目標(biāo)程序。源程序目標(biāo)程序編譯可執(zhí)行程序鏈接五、指令、程序、源程序和目標(biāo)程序指令語句:用來指揮計(jì)算機(jī)執(zhí)行某個(gè)操作的命令語句。程序:為了實(shí)現(xiàn)一定的目的而用計(jì)算機(jī)語言編寫的一系列指令語句的集合。如:sum=a+b;number1number2sum5625811、編寫程序需要遵循一定的格式嗎?是什么樣的格式呢?2、輸入的數(shù)據(jù)放在什么地方?3、如何使從鍵盤輸入的數(shù)據(jù)到指定的地址中呢?4、如何將計(jì)算好的結(jié)果數(shù)據(jù)輸出來?案例:輸入兩個(gè)整數(shù),求這兩個(gè)整數(shù)的和。六、C語言的構(gòu)成

intnumber1,number2,sum;printf("請(qǐng)輸入加數(shù):");scanf(“%d”,&number1);printf("請(qǐng)輸入被加數(shù):");scanf("%d",&number2);sum=number1+number2;printf("\n%d+%d=%d",number1,number2,sum);intmain(int

argc,char*argv[]){

}

加法器源程序代碼/*定義3個(gè)變量*//*向number1中輸入數(shù)據(jù)*//*主函數(shù)main()*/上一頁七、總結(jié)—關(guān)于C語言程序結(jié)構(gòu)的介紹C語言程序是由函數(shù)構(gòu)成的,有且只有一個(gè)主函數(shù)main。

一個(gè)函數(shù)由兩部分組成:函數(shù)的首部和函數(shù)體。

函數(shù)體有聲明部分和執(zhí)行部分組成。

函數(shù)的執(zhí)行總是先從主函數(shù)main開始執(zhí)行。

main函數(shù)的位置可以任意。

每條語句后都有一個(gè)分號(hào)“;”作為間隔,分號(hào)不可少。一行內(nèi)可以寫多個(gè)語句,一個(gè)語句也可以寫在多行上。上一頁八、C語言的上機(jī)步驟輸入編輯源程序編譯連接和生成可執(zhí)行文件.c文件.obj文件.exe文件小結(jié)計(jì)算機(jī)語言是人和計(jì)算機(jī)之間交流的語言C語言是常見的高級(jí)語言,它具有低級(jí)語言和高級(jí)語言的特點(diǎn),不但可以用來編寫應(yīng)用軟件,也可以用來編寫系統(tǒng)軟件.用高級(jí)語言編寫出來的程序稱為源程序,經(jīng)過編譯以后生成目標(biāo)程序,鏈接后形成可執(zhí)行程序.就象自然語言要遵循一定的語法規(guī)則一樣,使用C語言編程時(shí)也要遵循一定的語法規(guī)則.第二章數(shù)據(jù)類型程序=數(shù)據(jù)結(jié)構(gòu)+算法在程序中定義所要處理數(shù)據(jù)的類型和組織形式對(duì)解題方法和解題步驟的描述C中最常見的三種基本類型:整型實(shí)型字符型2.1常量和變量inta;a=3;a3定義了一個(gè)整型變量,名為a將常數(shù)3賦給變量a變量:在程序運(yùn)行過程中,其值可以改變的量。每個(gè)變量在計(jì)算機(jī)中對(duì)應(yīng)相應(yīng)長度的存儲(chǔ)空間。常量:在程序運(yùn)行過程中,其值不變的量。一、變量

每個(gè)變量在使用之前必須確定其類型,并為之取一個(gè)合適的名字。intage;floatscore;agescorecharsex;sexsex=‘a(chǎn)’;例:定義變量類型的一般形式為:

類型標(biāo)志符變量名;a(1)標(biāo)識(shí)符只能由字母、數(shù)字、下劃線組成,且第一個(gè)字符不能為數(shù)字。(2)C語言區(qū)分大小寫。(3)標(biāo)識(shí)符的名字不能和C語言中的關(guān)鍵字和特定字相同。(4)標(biāo)識(shí)符的長度最好不要超過8個(gè)字符。(5)標(biāo)識(shí)符的命名最好做到見名知意。如age用來表示年齡,number表示學(xué)號(hào)。標(biāo)志符的命名規(guī)則:二、常量常見的常量如18,65.5,3.14159,‘m’,‘ding’1、整型常量(整常數(shù))1)、十進(jìn)制形式表示:如25,65,23。2)、八進(jìn)制形式表示:以數(shù)字0開頭,如0253)、十六進(jìn)制形式表示:以數(shù)字0x開頭,如

0x25,0x65,0x1A。2、實(shí)型常量(實(shí)數(shù)、浮點(diǎn)數(shù))十進(jìn)制小數(shù)形式:10.25,-1.2314指數(shù)形式表示:如23500可以用指數(shù)形式表示為:2.35e40.00014可以用指數(shù)形式表示為:1.4e-43、字符型常量常見的字符常量有:’a’,‘A’,‘F’,‘*’,‘■’,‘▼

‘1)、普通字符常量2)、轉(zhuǎn)義字符常量如’\n’表示換行的意思

‘\r’表示使光標(biāo)回到本行的開頭

‘\b’表示使光標(biāo)回到前一列‘\t’表示使光標(biāo)移到下一個(gè)Tab的位置‘\a’表示響起報(bào)警聲‘\\’表示一個(gè)\‘\’’表示單撇號(hào)’‘\”’表示雙撇號(hào)”‘\ddd’表示一到三位八進(jìn)制數(shù)所代表的字符‘\xdd’表示一到二位十六進(jìn)制所代表的字符

4、字符串常量字符串常量就是由多個(gè)字符組成的字符序列,用雙撇號(hào)括起來。例:“DaiChunmei”“$89

”DaiChunmeI\0$89\0回顧1、C語言中三種最基本的數(shù)據(jù)類型包括:()A、整型、實(shí)型、邏輯型B、整型、實(shí)型、字符型C、整型、字符型、邏輯型D、整型、實(shí)型、邏輯型、字符型2、在C語言中,下面哪一個(gè)不是整型常量()A、123B、123LC、0x123D、U1233、在C語言中,下面哪一個(gè)不是字符型常量()A、‘a(chǎn)’B、‘\81’C、‘\0x41’D、“a”E、‘\t’4、下列選項(xiàng)哪個(gè)選項(xiàng)不符合C語言中變量名的命名規(guī)則()A、age_1B、1_ageC、_1ageD、age*1

思考題:現(xiàn)在需要編寫一個(gè)教師的工資管理系統(tǒng),其中涉及到一個(gè)變量,用來存放教師的工齡。該如何定義。2.2整型變量intT_age;類型標(biāo)志符變量名T_ageint型變量占2個(gè)字節(jié)的存儲(chǔ)空間一、整型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式

補(bǔ)碼表示,最高位表示符號(hào)位,正數(shù)用0表示,負(fù)數(shù)用1表示。假設(shè)使T_age=15,則15在計(jì)算機(jī)中的存儲(chǔ)形式為:0000000000001111假設(shè)使T_age=-15,則15在計(jì)算機(jī)中的存儲(chǔ)形式為:1111111111110001所以,int型數(shù)據(jù)存儲(chǔ)范圍為:-215——215-1-3276832767二、整型變量的分類shortint(短整型)longint(長整型)int(基本整型)整型[signed]intunsigned[int][signed]short[int]

unsignedshort[int]

[signed]long[int]

unsignedlong[int]

1、短整型(short型)占小于或等于2個(gè)字節(jié)的存儲(chǔ)空間,存儲(chǔ)范圍為:-215——215-12、無符號(hào)短整型(unsignedshort型)占2個(gè)字節(jié)的存儲(chǔ)空間,存儲(chǔ)范圍為:3、基本整型(int型)占2個(gè)字節(jié)的存儲(chǔ)空間,存儲(chǔ)范圍為:0——216-1-215——215-14、無符號(hào)基本整型(unsigned型)占2個(gè)字節(jié)的存儲(chǔ)空間,存儲(chǔ)范圍為:0——216-15、長整型(long型)占4個(gè)字節(jié)的存儲(chǔ)空間,存儲(chǔ)范圍為:-231——231-16、無符號(hào)長整型(unsignedlong型)占4個(gè)字節(jié)的存儲(chǔ)空間,存儲(chǔ)范圍為:0——232-12.3實(shí)型變量

思考題:現(xiàn)在需要定義一個(gè)用來存放教師工資的變量,該將其定義為何種類型?floatT_salary;類型標(biāo)志符變量名T_salaryfloat型變量占4個(gè)字節(jié)的存儲(chǔ)空間用小數(shù)部分和指數(shù)部分來表示,例如:一、實(shí)型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式(-25.25)原=(-11001.01)B11100101101尾數(shù)位指數(shù)位二、實(shí)型變量的分類變量類型

數(shù)據(jù)長度

有效數(shù)字

取值范圍

單精度型(float)

4個(gè)字節(jié)

7位

10-37—1038

雙精度型(double)

8個(gè)字節(jié)

16位

10-307—10308

長雙精度型(longdouble)

16個(gè)字節(jié)

19位

10-4931—1049322.4字符型變量

思考題:現(xiàn)在需要定義一個(gè)用來存放教師性別的變量,該將其定義為何種類型?charT_sex;類型標(biāo)志符變量名T_sexchar型數(shù)據(jù)占1個(gè)字節(jié)的存儲(chǔ)空間一、字符型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式

字符的存儲(chǔ)就是將其所對(duì)應(yīng)的ASCII代碼的二進(jìn)制形式存放到內(nèi)存中例:字符’A’的ASCII代碼是65,存儲(chǔ)形式如下:01000001例:字符’

?’的ASCII代碼是3,存儲(chǔ)形式如下:00000011二、字符變量的定義和使用舉例例1:觀看下面程序的輸出結(jié)果是什么?main(){charch;ch=‘a(chǎn)’;printf(“%c”,ch);}97;main(){intch;ch=97;printf(“%c”,ch);}‘a(chǎn)’;總結(jié):整型數(shù)據(jù)和字符型數(shù)據(jù)之間通用,整型變量和字符型變量之間可以相互賦值;整數(shù)可以以字符型形式輸出,字符型數(shù)據(jù)也可以以整數(shù)形式輸出。思考題:當(dāng)給字符型變量賦整型數(shù)值時(shí),其值應(yīng)該在0-255之間,您知道為什么嗎?字符型變量使用舉例例2:當(dāng)從鍵盤輸入字符‘b’時(shí),輸出結(jié)果是什么?main(){charc;scanf(“%c”,&c);c=c-32;printf(“%c”,c);}三、變量賦初值概念:在編寫程序的時(shí)候,常常需要對(duì)變量預(yù)先設(shè)置一個(gè)值,稱為變量賦初值

如:intnumber;number=21;intnumber=21;inta,b,c;a=4;b=4;c=4;inta,b,c;a=b=c=4;inta=b=c=4;2.5各類型間的混合運(yùn)算三種基本類型整型實(shí)型字符型短整型short基本整型int長整型long單精度float雙精度double長雙精度longdoublechar不同類型數(shù)據(jù)發(fā)生混合運(yùn)算時(shí)的轉(zhuǎn)換規(guī)則:float

double

long

unsignedchar,short

int低例如:1560+245.56+56325-’A’的結(jié)果是什么類型?返回第三章運(yùn)算符和表達(dá)式

當(dāng)變量被定義為某一種類型后,即被分配相應(yīng)的存儲(chǔ)空間,此后并不能放置一旁而不用,還需要對(duì)其進(jìn)行加工。何謂加工?加工就是指運(yùn)算,C中最常見的運(yùn)算有加、減、乘、除等。運(yùn)算符就是用來表示運(yùn)算的符號(hào),如“+”

、“-”、“*”、“/”

。參加運(yùn)算的數(shù)據(jù)稱為運(yùn)算量,也就是運(yùn)算對(duì)象。由運(yùn)算符把運(yùn)算對(duì)象連接起來的式子稱為表達(dá)式,如“

sum=a+b;”就是一個(gè)表達(dá)式。C語言中常見的運(yùn)算符3.1算術(shù)運(yùn)算符3.2賦值運(yùn)算符3.3關(guān)系運(yùn)算符3.4邏輯運(yùn)算符3.5位運(yùn)算符3.6逗號(hào)運(yùn)算符3.7求字節(jié)數(shù)運(yùn)算符sizeof和強(qiáng)制類型轉(zhuǎn)換運(yùn)算符3.8復(fù)習(xí)3.1算術(shù)運(yùn)算符和表達(dá)式一、常見的算術(shù)運(yùn)算符+-*/%

當(dāng)兩個(gè)整數(shù)相除時(shí),商的結(jié)果取整。如5/3的結(jié)果為1,-5/3的結(jié)果為-1。當(dāng)兩個(gè)除數(shù)中有一個(gè)為實(shí)數(shù)時(shí),結(jié)果為實(shí)數(shù),如5/2.0=2.5。

實(shí)現(xiàn)兩個(gè)整數(shù)的相除取余,結(jié)果的符號(hào)和被除數(shù)的符號(hào)相同。參加取余運(yùn)算的兩個(gè)數(shù)必須是整數(shù)。二、自增、自減運(yùn)算符++--1)自增運(yùn)算符++:使變量的值增1例:i++;表示使用完i之后,使i的值增1

++i;表示先使i的值增1,然后再使用i2)自減運(yùn)算符--:使變量的值減1例:i--;表示使用完i之后,使i的值減1

--i;表示先使i的值減1,然后再使用i例1:inta,b,c;a=5;b=++a;c=a++;結(jié)果:a=7;b=6;c=6;例2:inta,b,c;a=5;b=--a;c=b--;結(jié)果:a=4;b=3;c=4;三、算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性

思考題:表達(dá)式--x-a*b/c++的結(jié)果值是多少?(假設(shè)x的值為3,a的值為5,b的值為2,c的值為3)

運(yùn)算符的優(yōu)先級(jí):運(yùn)算符的優(yōu)先次序運(yùn)算符的結(jié)合性:當(dāng)優(yōu)先級(jí)相同時(shí),是自左至右或是自右至左計(jì)算(--x)-a*b/c++-1--x-a*b/c++++、--、+(取正)、-(取負(fù))*、/、%+、-自右至左自左至右自左至右number=24;3.2賦值運(yùn)算符和表達(dá)式賦值運(yùn)算符x+5;x*y;

注意:

當(dāng)賦值運(yùn)算符右邊的常量或表達(dá)式的類型和左邊變量的類型不一致時(shí),先將右邊表達(dá)式的類型轉(zhuǎn)換為和左邊相同的類型,然后再賦值。例:

floatx;

X=3;1、普通的賦值運(yùn)算符2、復(fù)合的賦值運(yùn)算符x=x+y;x+=y;復(fù)合的賦值加運(yùn)算符(1)+=(2)-=(3)*=(4)/=

(5)%=常見的復(fù)合的賦值運(yùn)算運(yùn)算符例如:x的值為6,

則x+=4的結(jié)果是什么?3、賦值運(yùn)算符的優(yōu)先級(jí)和結(jié)合性算術(shù)運(yùn)算符賦值運(yùn)算符結(jié)合性為自右而左例:已知a=5,b=8,n未知。求下列各表達(dá)式的值。1、n=b+8;2、n+=a*=2;3、n=a=b;3.3關(guān)系運(yùn)算符和表達(dá)式

關(guān)系運(yùn)算又稱比較運(yùn)算,就是對(duì)兩個(gè)運(yùn)算量進(jìn)行比較,判斷其比較的結(jié)果是否符合給定的條件。如果符合,則結(jié)果為“真”,用1表示;如果不符合,則結(jié)果為“假”,用0表示。1、常見的關(guān)系運(yùn)算符<(小于)、>(大于)、<=(小于或等于)、>=(大于或等于)、==(等于)、!=(不等于)2、關(guān)系運(yùn)算符的優(yōu)先級(jí)和結(jié)合性算術(shù)運(yùn)算符關(guān)系運(yùn)算符賦值運(yùn)算符自左至右自左至右自右至左例:number1=25;判斷下列表達(dá)式的值。

(1)number1>=25;(2)number1==25;

(3)number1%5==0

(4)number1!=24;(5)number1/3<23;

(6)n=number1>4;(7)number1>24>2;(8)number1+1==26;案例已知i=3,j=4,a=5,b=6,m為未知。求下列各式的值。(1)++i+j---a(2)a+b-j*a/i(3)m=-j++

3.4邏輯運(yùn)算符和表達(dá)式思考題:如何表示整數(shù)x既可以被5整除又可以被7

整除.x%5==0x%7==0&&()()邏輯運(yùn)算符”邏輯與”邏輯或(||):

一般形式a||b,a和b中任一為真,結(jié)果為真.邏輯與(&&):一般形式:a&&b;

只有當(dāng)a和b都為真時(shí),結(jié)果才為真.邏輯非(!):

一般形式!a,a為真,!a就為假;a為假,!a為真.例:判斷下列各邏輯表達(dá)式的值假設(shè)a=5,b=6,c=3,d=10;(a>b)&&(c>d);(a<b)||(c>d)!a!a&&b3||101001邏輯運(yùn)算符的優(yōu)先級(jí)和結(jié)合性

高?。ㄟ壿嫹牵┧阈g(shù)運(yùn)算符關(guān)系運(yùn)算符

&&和||

低賦值運(yùn)算符自左至右自右至左X=!a+2||x>y+2&&a==3,已知a=3,x=5,y=4,求x的值。實(shí)訓(xùn)1、若a=5,b=4,x=0,判斷下面兩個(gè)表達(dá)式的結(jié)果及x的值:

(1)0&&x=a>b(2)a>b||++x2、要判別某一年是否閏年。閏年的條件是符合下面兩個(gè)條件的其中一個(gè)就可以了:

(1)能被4整除,但不能被100整除;

(2)能被4整除,又能被400整除;(year%4==0&&year%100!=0)||(year%400==0)3.5位運(yùn)算符和表達(dá)式位運(yùn)算:就是對(duì)二進(jìn)制位進(jìn)行的運(yùn)算.C中常用的位運(yùn)算符:

&(按位與)|(按位或)^(按位異或)

~(取反)

>>(右移)

<<(左移)“按位與”運(yùn)算符‘&’

“按位與”又稱“按位乘”,即二進(jìn)位相乘?!鞍次慌c”的規(guī)則為:

0&0=0,0&1=0,1&0=0,1&1=1

例:

求-1和5按位與的結(jié)果.-1的補(bǔ)碼:1111111111111111

5的補(bǔ)碼:00000000000001010000000000000101按位與的作用:使一個(gè)存儲(chǔ)單元清零3.6逗號(hào)運(yùn)算符和表達(dá)式,逗號(hào)運(yùn)算符作用在于將若干個(gè)表達(dá)式連接起來。逗號(hào)表達(dá)式的一般形式為:表達(dá)式1,表達(dá)式2

溫馨提示

  • 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)論