C程序設(shè)計的初步知識.ppt_第1頁
C程序設(shè)計的初步知識.ppt_第2頁
C程序設(shè)計的初步知識.ppt_第3頁
C程序設(shè)計的初步知識.ppt_第4頁
C程序設(shè)計的初步知識.ppt_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章C程序設(shè)計的初步知識(一),回顧 1、程序是為執(zhí)行一項任務(wù)而編寫的有序指令集 2、編譯器將源程序轉(zhuǎn)換成機(jī)器能理解的程序 3、連接器用于連接相關(guān)的目標(biāo)文件以生成可執(zhí)行程序 問:1、C的源程序是后綴是什么? 2、目標(biāo)文件的后綴是什么? 3、程序的三大結(jié)構(gòu)是什么?,目標(biāo),理解C程序的基本結(jié)構(gòu) 理解變量和常量的含義 熟悉基本數(shù)據(jù)類型 - int、char、float 和 double,C語言的基本結(jié)構(gòu),#include void main() printf(“Hello Worldn“); ,以 # 開始的語句稱為預(yù)處理器指令,#include語句不是必需的,但是,如果程序有該語句,就必須將它放在程序的開始處,以.h為后綴的文件被稱為頭文件,可以是 C 程序中現(xiàn)成的標(biāo)準(zhǔn)庫文件,也可以是自定義的庫文件。,stdio.h文件中包含了有關(guān)輸入輸出語句的函數(shù),main() 函數(shù)是 C 程序處理的起點。,main() 函數(shù)可以返回一個值,也可以不返回值。如果某個函數(shù)沒有返回值,那么在它的前面有一個關(guān)鍵字 void,在函數(shù)定義的后面有一個左大括號,即 ,它表示函數(shù)的開始,后面是函數(shù)的主體,大括號也可以用于將語句塊括起來,在函數(shù)定義的結(jié)尾處有一個右大括號,即 ,在屏幕上產(chǎn)生一行輸出“Hello world”,并換行(n),函數(shù)主體中的每個語句都以分號結(jié)束。,C 程序中的一個語句可以跨越多行,并且用分號通知編譯器該語句已結(jié)束。,C 程序中的注釋,#include void main() printf(“Hello Worldn“); ,/ 此程序用來打印Hello World,單行注釋,C 程序可以包含注釋,以便向讀者作一般說明,編譯器并不處理這些注釋,/* 此程序由 編寫 * 用來打印輸出“Hello World”*/,多行注釋,/* * 作者: 創(chuàng)建日期: 描述: * */ #include void main() ,注釋,在程序中添加注釋是一個好的編程習(xí)慣,可以增強(qiáng)程序的可讀性。,上機(jī)寫一個錯誤的例子,給大家演示一下。 說明:1.必須使用main作為主函數(shù)名 ,程序是從主函數(shù)開始執(zhí)行,具有唯一性 注意后面不能帶“ ;” 2.函數(shù)體用左花括號“”開始,用右花括號結(jié)束“” 3.用分號“;”作為語句結(jié)束的標(biāo)志 注意是語句的結(jié)束標(biāo)志 4.注釋部分: 必須用/*和*/括起來 必須成對出現(xiàn), ”/“和”*“之間不能有空格 注釋可以出現(xiàn)在程序的任何地方 注釋部分對程序運行不起作用 在注釋之間不可以再嵌套/* */ (演示一下) 5,預(yù)處理器指理必須以”#“開頭,但不能加分號,什么是標(biāo)識符,標(biāo)識符:在C語言中,有許多符號的命 名,如變量名、函數(shù)名、數(shù)組名等,都必須 遵守一定的規(guī)則,按此規(guī)則命名的符號稱為 標(biāo)識符。,在 C 語言中,標(biāo)識符命名需要遵循一定的規(guī)則,有效名稱,principal,cost_price,marks_3,lastname,city,無效名稱,123rate,currency$,discount%,zip code,標(biāo)識符的命名規(guī)則: 標(biāo)識符名可以由字母、數(shù)字和 _(下劃線)組合而成 標(biāo)識符不能包含除 _ 以外的任何特殊字符,如:%、# 、逗號、空格等 標(biāo)識符必須以字母或 _(下劃線)開頭 標(biāo)識符不能包含空白字符(換行符、空格和制表符稱為空白字符) C 語言中的某些詞(例如 int 和 float 等)稱為保留字,具有特殊意義,不能用作標(biāo)識符名 C 語言區(qū)分大小寫,因此標(biāo)識符price 與標(biāo)識符PRICE 是兩個不同的標(biāo)識符,一、標(biāo)識符 1.分類:,關(guān)鍵字:c語言規(guī)定了一批標(biāo)識符,他們在c語言中代表著固定的含義,不能 另做它用 auto break case char const continue default do double else enum extern float or goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 預(yù)定義標(biāo)識符:c語言語法允許用戶把這類標(biāo)識符另做它用,但是這些標(biāo)識 符將失去系統(tǒng)規(guī)定的原意。比如:printf define 用戶標(biāo)識符:由用戶根據(jù)需要定義的標(biāo)識符稱為用戶標(biāo)識符,程序,指令,常 量,標(biāo)識符 關(guān)鍵字 常量 運算符 分隔符 等,常量是在程序中保持不變的量,常量用于定義具有如下特點的數(shù)據(jù): 在程序中保持不變 在程序內(nèi)部頻繁使用 需要用比較簡單的方式替代某些值,二、常量 1.分類:整型常量、實型常量、字符常量、字符串常量 三、用定義一個符號名的方法來代表一個常量 例2.2 計算圓的面積 #include “stdio.h” #define PI 3.14159 /*定義符號名PI為3.14159*/ main() float r; double s; r=5.0; s=PI*r*r; Printf(“s=%fn”,s); (演示一下) ,說明: 1、在整型常量的后面加一個字母L(大小寫均可)這個常量就成為長整型常量在內(nèi)存中占四個字節(jié)。 2、 無符號整數(shù)在數(shù)的未尾應(yīng)該加上字母后綴u(大小寫均可),若是長整型無符號整型常量,則可以加后綴lu或LU。 3、常量的名子一定要大寫。 4、定義常量的語句后面不能加“;”。,2.3整 型 數(shù) 據(jù) 一、整型常量 整數(shù)的表示,(1)十進(jìn)制表示:用一串連續(xù)的數(shù)字表示十進(jìn)制數(shù)。 例:345 31684 0 -23456 只有十進(jìn)制可以是負(fù)數(shù)。 (2)八進(jìn)制表示:以數(shù)字0開頭的一個連續(xù)數(shù)字序列,序列中只能有0-7這八個數(shù)字。 例:045 -078 06745l 而019、423是非法的八進(jìn)制數(shù)。 (3)十六進(jìn)制表示:以0X或0x開頭的連續(xù)數(shù)字和字母序列,序列中只能有0-9、A-F和 a-f這些數(shù)字和字母,字母a、b、c、d、e、f分別對應(yīng)數(shù)字10、11、12、13、14、15,大小寫均可。,二、整型變量 可以分為基本型、短整型、長整型和無符號型四種,聲明和使用變量,聲明變量: Datatype variablename; 定義時初始化變量: Datatype variablename = value; 定義后初始化變量: variablename = value;,給變量賦值,除了給一個直接的值以外,還可以通過計算獲得。演示,二、變量 1.定義:在程序的運行過程中,值可以改變的量 2.說明: (1)每個變量有一個名字作為標(biāo)識,它是屬于用戶標(biāo)識符 (2)變量必須先定義后使用(定義后還得賦值才能用),習(xí)題: 1.以下選項中不合法的用戶標(biāo)識符是 ( ) A._123 B.printf C.A$ D.Dim 2.可在c程序中用作用戶標(biāo)識符的一組標(biāo)識符是 ( ) A.void B.as_b3 C.For D.2c define _123 _abc DO WORD If (大寫) case SIG,2.4實型數(shù)據(jù),一、實型常量 1.小數(shù)形式:由數(shù)字和小數(shù)點組成,必須有小數(shù)點。 例:4.23、0.15、.56、78.、0.0 2.指數(shù)形式:以冪的形式表示,以字母e或E后跟一個以10為底的冪數(shù)。 字母e或E之前必須要有數(shù)字,且字母e或E后面的指數(shù)必須為整數(shù),字母e或 E的前后及數(shù)字之間不得有空格(實型變量也遵守這個規(guī)則)。 例:2.3e5、500e-2、.5E3、4.5e0,而e4、.5e3.6、.e5、e都不合法 二、實型變量 1.單精度:關(guān)鍵字為 float 2.雙精度: 關(guān)鍵字為 double 定義的一般形式 float a,b,c; 定義的一般形式 double a,b,c; float a=4.5,b=5.6; double a=5.9,b=45.36 注: (1)占四個字節(jié) 32位 注: (1)占八個字節(jié) 64位 (2)7位有效數(shù)字 -10381038 (2)1516位有效數(shù)字 -1030810308,說明: 1.在內(nèi)存中,實數(shù)一律以指數(shù)形式存放 2.在內(nèi)存中,整數(shù)可以精確存放,實型數(shù)據(jù)存在誤差 3.實型常量不分float和double 一個實型常量可以賦給一個float型或者 double型變量 4.定義變量的同時可以賦初值,三、課堂練習(xí) 1.下面四個選項中,那一組全是不合法浮點數(shù)的選項是 A.160. B.123 C.-.18 D.-e3 0.12 2e4.2 123e4 .234 e3 .e5 0.0 1e3 2.下面四個選項中,均是合法浮點數(shù)的選項是 A.+1e+1 B.-.60 C.123e D.-e3 5e-9.4 12e-4 1.2e-.4 .8e-4 3e2 -8e5 +2e-1 5.e-0,總結(jié): 1、 c語言是區(qū)分大小寫的 2、常量的分類:整型常量、實型常量、字符常量、字符串常量 3、變量的分類:1、整型變量:基本型、短整型、長整型和無符號型四種 2、實型變量分類:單精度、雙精度 4、指數(shù)形式:字母e或E之前必須要有數(shù)字,且字母e或E后面的指數(shù)必須為整數(shù),字母e或E的前后及數(shù)字之間不得有空格(實型變量也遵守這個規(guī)則),第二章 數(shù)值轉(zhuǎn)換、算術(shù)運算符(二),回顧 1、c語言是區(qū)分大小寫的 2、常量在程序中不能被更改,而變量在程序中可以被更改(定義常量的關(guān)健字是什么?) 3、標(biāo)識符只能由字母、數(shù)字和下劃線組成,且第一個字符不能為數(shù)字 4、整型分為短整型、整型、長整型,每種整型又可分為有符號型和無符號型 5、實數(shù)分為單精度浮點型和雙精度浮點型(表現(xiàn)方式為兩種,1、小數(shù) 2、指數(shù)) 6、八進(jìn)制表示為076 十六進(jìn)制表示為0X或0x,目標(biāo),理解二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換 理解原碼、補(bǔ)碼及如何計算 熟練使用算術(shù)運算符 理解類型轉(zhuǎn)換,改錯: #include stdio h #define PI 3.14; Main int a,b,c; a=1.2; b=3.4; c=a*b; printf(“c的值是:%f”,c) ,選擇題: 1、以下選項中正確的變量名是 a*123 b)_ yy Acd d)yy& 2、以下那個是八進(jìn)制的 表示方法? 0Xf b)80 080 d)076 3、以下那些是正確的實 型常量? a) 0.73e 2 b)0.72e0.2 c)-65.55 d)0,四、整數(shù)在內(nèi)存中的存儲形式(包括一下各種進(jìn)制的轉(zhuǎn)換) 位(bite):計算機(jī)里最小的存儲單元 字節(jié)(byte):8個二進(jìn)制組成一個字節(jié) 字(word):若干個字節(jié)組成一個字,16個二進(jìn)制位 2個字節(jié),最高位,最低位,0表示正數(shù) 1表示負(fù)數(shù),一、正整數(shù) 以原碼形式存儲 例 正整數(shù)5的二進(jìn)制代碼:,二、負(fù)整數(shù) 1.以補(bǔ)碼形式存儲 反碼:1和 0 互換 補(bǔ)碼:對原碼取反加1(符號位不參加取反) 例 負(fù)整數(shù)-5的二進(jìn)制代碼:,2.補(bǔ)碼形式存儲的二進(jìn)制轉(zhuǎn)換成負(fù)整數(shù),(1)對補(bǔ)碼取反 (2)轉(zhuǎn)換成十進(jìn)制 (3)根據(jù)最高位加負(fù)號 (4)對所求數(shù)減1,-5的補(bǔ)碼,取反,轉(zhuǎn)換成十進(jìn)制,-4,減1,-5,三、無符號整數(shù),不在是符號位 參與數(shù)值的大小中,算術(shù)運算符,算術(shù),一元,二元,操作數(shù),操作數(shù),運算符,二元運算符,+,-,*,/,%,#include void main() int a = 5, b = 3, c = 25, d = 12; float qu; int re,in,de; /* 使用算術(shù)運算符 */ qu = a / b; / 除法 re = a % b; / 求模 in = +c; de = -d; printf (“商為 %fn“,qu); printf (“余數(shù)為 %dn“,re); printf (“加 1 后為 %dn“,in); printf (“減 1 后為 %dn“,de); ,算術(shù)運算符示例,輸出: 商為 1.000000 余數(shù)為 2 加 1 后為 26 減 1 后為 11,類型轉(zhuǎn)換,自動類型轉(zhuǎn)換(雙目運算符兩邊運算數(shù)的類型必須一致,當(dāng)不一致時自動轉(zhuǎn)換 ) 原則:把表示范圍小的類型的值轉(zhuǎn)換到表示范圍大的類型的值(舉例a+1) short int long float double,說明:% 取?;蚯笥噙\算符 1.運算對象必須為整型 2.符號與被除數(shù)相同,例如:-5%3 值為-2 /兩端為整數(shù)時,它取整,有一端為實數(shù)時,他就變成了除,二、強(qiáng)制類型轉(zhuǎn)換 1.一般形式: (類型名)(表達(dá)式) 2.作用:將一個表達(dá)式轉(zhuǎn)換所需類型,說明: 1. (類型名)(表達(dá)式),括號不能省略,(int)(x+y) (int)x+y,對x、y整體,只對x,2.強(qiáng)制類型轉(zhuǎn)換運算得到一個中間變量,不改變原來變量的類型。,四、課堂練習(xí) 1. 已知 a=7, b=3, x=3.5, y=2.5 (1). x+a%3*(int)(x+y)%2/4 (2). (float)(a+b)/2+(int)x%(int)y,三、運算符的優(yōu)先級、結(jié)合性和算術(shù)表達(dá)式 1.算術(shù)運算符的優(yōu)先級 ( )、 +、 -、 *、 /、 %、 +、 -,高 底,同 級,同 級,同 級,單目,雙 目,2.算術(shù)運算符和圓括號的結(jié)合性 正負(fù)運算符: 右,左,其它算術(shù)運算符:左,右,Sum,=,num1,+,num2,表達(dá)式,Z = ( X * 2 ) + ( 5 Y ),賦 值 表 達(dá) 式,一、賦值運算符和賦值表達(dá)式 1. 賦值運算符和賦值表達(dá)式 賦值運算符:= 賦值表達(dá)式:由賦值運算符組成的表達(dá)式 形式: 變量名=表達(dá)式 說明:1.優(yōu)先級倒數(shù)第二,結(jié)合方向 右,左,2.是一種賦予的關(guān)系而不是等價的關(guān)系 x=5 y=8 怎么樣交換x、y中的數(shù)值? 3.賦值運算符的左側(cè)只能是變量不能是表達(dá)式 4.賦值號右邊的表達(dá)式也可以是一個賦值表達(dá)式,a=b=c=5 都為5 a=5+(c=6) a=11 a=(b=4)+(c=6) 10 a=(b=10)/(c=2) 5,課堂練習(xí):,二、復(fù)合賦值表達(dá)式,1. 復(fù)合賦值運算符: +=、 -=、 *=、 /=、 %=、 =、 &=、 =、 |=(兩個運算符之間不能有空格) 將形如: 變量名=變量名+表達(dá)式 的表達(dá)式 簡化成: 變量名+=表達(dá)式 的形式,a=a+3,例:a+=3,x*=y+8,x=x*(y+8),x%=3,x=x%3,理解: a+=b,移到=右側(cè),=a+b,=左側(cè)補(bǔ)變量名,a=a+b,例:已知變量a=6,計算表達(dá)式 a+=a-=a*a 結(jié)果為:-60,練習(xí): 已知 a=12 求運算后a的值 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2) n=5 (6)a+=a-=a*=a,說明:凡是有賦值運算符參加的運算都是從右往左算,一、自加(+)和自減(-)運算符,1.作用:使運算對象的值增加1或者減少1 例 i+ i=i+1,i- i=i-1, 2.使用,i+,表達(dá)式的值:先用后加 變量的值: 增加1,+i,表達(dá)式的值:先加后用 變量的值: 增加1,習(xí)題:int a,b; b=3; a=b+; a的值是多少,b的值是多少 a=+b; a的值是多少,b的值是多少,習(xí)題:int i=10,j=5,b; b=+i-j; printf(“b=%dn“,b); int i=10,j=5,b; b=i+-j; printf(“b=%dn“,b);,二、逗號運算符和逗號表達(dá)式 1.定義:用逗號將表達(dá)式連接起來的式子 一般形式:表達(dá)式1,表達(dá)式2,表達(dá)式3,,表達(dá)式n 2.求解過程: 從左到右一個一個

溫馨提示

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

評論

0/150

提交評論