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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論