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

下載本文檔

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

文檔簡介

1、第2章,C程序設計的初步知識,2,大綱要求2-1,1、C語言程序的構成和格式。程序的構成、main函數和其它函數語言基本概念,頭文件、數據說明、函數的開始和結束標志,源程序的書寫格式,C語言的風格。 2、常量、變量和標示符。C中標示符的定義規則和分類,常量、變量的概念以及合法形式。 3、數據類型。C的基本數據類型(整型、實型)及其定義方法。,3,大綱要求2-2,4、C運算。C基本算術運算符號,運算符的優先級、結合性和算術表達式,不同數據間的轉換與運算。 5、C表達式。表達式類型(賦值表達式、算數表達式、逗號表達式)和求值規則。,4,C 程序的基本結構,#include void main()

2、printf(Hello Worldn); ,以 # 開始的語句稱為預處理器指令,#include語句不是必需的,但是,如果程序有該語句,就必須將它放在程序的開始處,以.h為后綴的文件被稱為頭文件,可以是 C 程序中現成的標準庫文件,也可以是自定義的庫文件。,stdio.h文件中包含了有關輸入輸出語句的函數,main() 函數是 C 程序處理的起點。,main() 函數可以返回一個值,也可以不返回值。如果某個函數沒有返回值,那么在它的前面有一個關鍵字 void,在函數定義的后面有一個左大括號,即 ,它表示函數的開始,后面是函數的主體,大括號也可以用于將語句塊括起來,在函數定義的結尾處有一個右大

3、括號,即 ,在屏幕上產生一行輸出“Hello world”,并換行(n),函數主體中的每個語句都以分號結束。,C 程序中的一個語句可以跨越多行,并且用分號通知編譯器該語句已結束。,5,C 程序中的注釋,#include void main() printf(Hello Worldn); ,/ 此程序用來打印Hello World,單行注釋,C 程序可以包含注釋,以便向讀者作一般說明,編譯器并不處理這些注釋,/* 此程序由 編寫 * 用來打印輸出“Hello World”*/,多行注釋,/* * 作者: 創建日期: 描述: * */ #include void main() ,注釋,在程序中添加

4、注釋是一個好的編程習慣,可以增強程序的可讀性。,6,例題,1、以下敘述中正確的是( )。(2008.09) A)C程序的基本組成單位是語句 B)C程序中每一行只能寫一條語句 C)簡單C語句必須以分號結束 D)C語句必須在一行內寫完,7,例題,2、以下敘述中正確的是 ( )。(2008.04) A) C程序中的注釋只能出現在程序的開始位置和語句的后面 B) C程序書寫格式嚴格,要求一行內只能寫一個語句 C) C程序書寫格式自由,一個語句可以寫在多行上 D) 用C語言編寫的程序只能放在一個程序文件中,8,例題,3、以下敘述中正確的是( )。(2007.09) A)C語言程序將從源程序中第一個函數開

5、始執行 B)可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行 C)C語言規定必須用main作為主函數名,程序將從此開始執行,在此結束 D)main可作為用戶標識符,用以命名任意一個函數作為主函數,9,例題,4、對于一個正常運行的C程序,以下敘述中正確的是( )。(2007.04) A)程序的執行總是從main函數開始,在main函數結束 B)程序的執行總是從程序的第一個函數開始,在main函數結束 C)程序的執行總是從main函數開始,在程序的最后一個函數中結束 D)程序的執行總是從程序的第一個函數開始,在程序的最后一個函數中結束,10,例題,5、下列敘述中正確的是( )。(2

6、006.09) A)每個C程序文件中都必須有一個main()函數B)在C程序中main()函數的位置是固定的C)C程序可以由一個或多個函數組成D)在C程序的函數中不能定義另一個函數,6、下列敘述中錯誤的是( )。(2006.09)A)一個C語言程序只能實現一種算法B)C程序可以由多個程序文件組成C)C程序可以由一個或多個函數組成D)一個C函數可以單獨作為一個C程序文件存在,11,標識符2-1,1、定義:就是用來標識變量名、符號常量名、函數名、類型名、文件名等的有效字符序列。 2、命名規則: (1)標識符只能由字母、數字和下劃線三種字符組成 (2)第一個字符必須為字母或下劃線 如:_1 year

7、 month student_name sum0 M.D.Jones $123 #a 3b ?c a=b,12,標識符2-2,3、注意事項 (1)在C語言中,大小寫字母不等效。因此,a和A,I和i,Sum和sum,分別是兩個不同的標識符。習慣上,變量名用小寫字母表示,符號常量用大寫字母表示。 (2)C語言中的關鍵字是一類特殊的標識符,它們具有特定的含義,已被C語言本身使用,不能用作變量名、常量名等。 (3)C語言中提供了大量的庫函數與頭文件,這些庫函數名和頭文件中定義的標識符都統稱為預定義標識符。用戶定義標識符時應注意避免和預定義標識符重名。,13,常量3-1,1、定義:在程序運行中,其數值不

8、能被改變的量。 2、分類:整型常量 、實型常量、字符常量和字符串常量。其中前兩者又稱數值型常量。 (1)整型常量,也稱整數,包括正負整數和零。 (2)實型常量,即實數,又稱浮點數。 (3)字符常量,用單引號括起來的一個字符。如a等。 單引號只是作為定界符使用,并不是其組成部分。 單引號內的字符不允許是單引號或反斜杠。 字符常量具有數值。 字符常量與證型常量等價。,14,常量3-2, 字符創常量,由一對雙引號括起來(“”)的字符序列,其存放只能在字符型數組中。 轉義字符常量, C語言允許用一種特殊形式的字符常量,它是以反斜杠()開頭的特定字符序列,表示ASCII字符集中控制字符、某些用于功能定義

9、的字符和其他字符。如n表示回車換行符,表示字符“”。,15,轉義序列,輸出結果:,Name: Audrey Hepburn Movie: Roman Holiday,代碼:,printf(“Name: Audrey Hepburn n Movie: Roman Holiday”);,轉義序列允許在輸出結果中包括特殊字符,16,常量3-3,3、符號常量,用一個標識符代表一個常量,即常量可以用“符號”代替,代替常量的符號就成符號常量。 符號常量在使用之前必須先定義,定義放法: #define 標識符 常量數據(注意沒用分號) 一個#define只能定義一個符號常量。,17,變量,變量,是指在程序執

10、行過程中其值可以被改變的量。 變量定義的實質是按照變量說明的數據類型為變量分配相應空間的存儲單元,在該存儲單元中存放變量的值。 C語言中,變量使用時遵循“先定義,后使用”的原則。 變量分為整型變量、實型變量、字符變量等。 在定義時要說明變量類型,系統編譯時根據變量及其類型為它分配相應數量的存儲空間。,18,例題,1、以下選項中不能作為C語言合法常量的是( )。(2008.09) A)cd B)0.1e+6 C)”a” D)”011” 2、以下選項中正確的定義語句是( )。(2008.09) A)double a;b; B)double a=b=7; C)double a=7,b=7; D)do

11、uble ,a,b; 3、以下選項中不合法的標識符是 ( )。(2008.04) A) print B) FOR C) B) char A=65+1,b=b; C) float a=1,*b= 5、可在C程序中用做用戶標識符的一組標識符是( )。(2007.09) A)and B)Date C)Hi D)case _2007 y-m-d Dr.Tom Bigl 6、按照C語言規定的用戶標識符命名規則,不能出現在標識符中的是( )。(2007.04) A)大寫字母 B)連接符 C)數字字符 D)下劃線,20,例題,7、下列定義變量的語句中錯誤的是( )。 (2007.09) A)int _int

12、; B)double int_; C)char for; D)float USS 8、以下不合法的用戶標識符是( )(2006.04) A)j2_KEY B)Double C)4d D)_8_ 9、以下不合法的數值常量是( )(2006.04) A)011 B)1e1 C)8.0E0.5 D)0 xabcd,21,整型常量,表示形式: 十進制整型常量:以數字19開頭,其他位以數字09構成十進制整型常量。如12,-38等。 八進制整型常量:以數字0開頭,其他位以數字07構成八進制整型常如012,-037等。 018 十六進制整型常量:以0X或0 x開頭(數字0和大寫或小寫字母x),其他位以數字0

13、9或字母af或AF構成十六進制整型常量。如0 x12,-0Xa9等。,22,整型變量,分類:基本型、短整型、長整型和無符號型。 基本型,以int表示。 int k; int i,j,k; C規定,可以在定義變量的同時給變量賦初值,也稱初始化變量。 int i=1, j=2, k=0;,23,整型常量與變量的分類,在VC 6.0中,除長整型(L或l)占用的字節數為4,其余皆為2個字節。 無符號整數在數的末尾加上u或U。,24,整型,25,整數在內存中的存儲形式,計算機中最小的存儲單位是“位(bite)” 8個二進制位組成一個“字節(byte)” 若干個字節組成一個“字(word)” C語言中,一

14、個int整數通常用2個字節存儲,其中最高位(最左邊一位)用來存放整數的符號,正整數最高位為0,負整數最高位為1。 正整數 5 0000000000000101 負整數,原碼、反碼、補碼 -5 1111111111111011 無符號整數 不可能是負數,26,例題,1、C源程序中不能表示的數制是( )(2008.09) A)二進制 B) 八進制 C) 十進制 D) 十六進制 2、以下關于long、int和short類型數據占用內存大小的敘述中正確的是( )(2007.09) A) 均占4個字節 B)根據數據的大小來決定所占內存的字節數 C)由用戶自己定義 D)由C語言編譯系統決定,27,實型常量

15、,實型常量又稱實數,在C語言中的表示形式: 小數形式,由整數部分、小數點和小數部分組成。如,0.98、-0.21、0.0等。 指數形式,由尾數部分、字母e(E)和指數部分組成,如,12.34E+9、-43.21e-10等。,28,實型變量,實型變量,指值為實數的變量。其命名與標識符的規則相同。實型變量分為兩類: 單精度型(float),分配4個字節的存儲單元。 雙精度型(double),分配8個字節的存儲單元。,29,例題,1、以下選項中,合法的一組C語言數值常量是( )。(2007.09) A) 028 B) 12. C) .177 D) 0 x8A . 5e-3 OXa23 4c1.5 1

16、0,000 -0 xf 4.5e0 Oabc 3.e5 2、以下選項中可作為C語言合法常量的是( )。(2006.09) A) -80. B) -080 C) -8e1.0 D) -80.0e,30,基本的算術運算符,基本算術運算符包括加法(+)、減法(-)、乘法(*)、除法(/)和求余(%)。 (1)若除法運算符的運算對象均為整型數據,則結果為其商的整數部分,舍去小數部分。如13/7的結果為1。若運算對象中有一個為負值,則舍入的方向是不固定的。如, -13/7在有的機器上得到結果是-1,有的機器上得到結果是-2,但多數機器采取“向零取整”方法,即13/7=1, -13/7=-1,取整后向零靠

17、攏。 (2)求余運算符的運算對象必須是整型數據,運算結果的符號與被除數的符號相同,如,-13%7運算結果為-6, 13%-7運算結果為6 , -13%-7運算結果為-6 。,31,算術運算符的優先級,算術運算符和圓括號的優先級次序如下(由高到低): ( )、+、-、*、/、%、+、- 以上所列的運算符,只有單目運算符“+”和“-”的結合性是從右到左,其余運算符的結合性都是從左到右。,32,強制類型轉換,語法:(類型名)(表達式) 其中前面的稱為強制類型轉換運算符,例如: (float)x 將x轉換成浮點型 (double)(8%3) 將8%3轉換成雙精度型,33,例題,1、以下不能正確表示代數

18、式 2ab/cd的C語言表達式是( )。(2008.09) A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*d 2、以下選項中,當x為大于1的奇數時,值為0的表達式( ) 。(2007.04) A) x%2=1 B) x/2 C) x%2!=0 D) x%2=0 3、表達式3.6-52+1.2+52的值是( ) 。(2006.04) A) 4.3 B) 4.8 C) 3.3 D) 3.8,34,簡單賦值表達式,賦值運算符是“=”,其作用是將賦值運算符右側的表達式的值賦給其左側的變量。 在實例中“i=3,a=5,b=7;c=ab?a:b;d=ab?a:

19、b;相當于a=(b=(c=(ab?a:b);,35,簡單賦值表達式,值得注意的是:賦值運算符運算對象中的左側對象一定是變量。如:a=b-c=5;相當于a=(b-c)=5);,由于表達式中出現將數值5賦給b-c表達式,因此,該表達式是非法的。 賦值符“=”與數學中的等號“=”外觀相同,作用不同。,36,復合賦值表達式,C語言允許在賦值運算符“=”之前加上其他運算符,構成復合運算符。在“=”之前加上算術運算符,則構成算術復合賦值運算符;在“=”之前加上位運算符,則構成位復合賦值運算符。象+=、-=、*=等。使用如,a+=b-c等價于a=a+(b-c),a%=b-c等價于a=a%(b-c)。 復合賦

20、值運算符:*=、/=、%=、+=、-=、=、 B) x=n%2.5; C) x+n=I; D) x=5=4+1; 3、若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是( ) 。(2006.09) A)+x,y=x- B)x+1=y C)x=x+10=x+y D)double(x)/10,39,例題,1、設變量a和b已正確定義并賦初值。請寫出與a-=a+b等價的賦值表達式( )。 (2008.09),40,自增(+)和自減(-)運算符4-1,自增(+)和自減(-)運算符是單目運算符,其功能是使運算對象(變量)的值增1或減1。它們既可以作前綴運算符(位于運算對象的前面),如+i,-i;也

21、可以作后綴運算符(位于運算對象的后面),如i +,i -。前綴和后綴運算的數據處理方法有明顯的差異。,41,+i,-i,先增(減)1,再使用i,i+,i-,先使用i,再增(減)1,(1) 單獨使用時,+i;,等 價,i+;,等 價,i=i+1;,(2) j=+i;,(3) j=i+;,若i的初始值為3,i=4; j=4;,i=4; j=3;,自增(+)和自減(-)運算符4-2,42,結合性:,自右向左,例:,i = 2; j = -i+;,分析: (1)+、-、+(正號)、-(取負)是同級運算符,結合方向:自右向左。,(2) -i+等價于-(i+),(3) 對于括號內的自增運算,又要先使用i,

22、再使i增加1。,運算結果: i的值為3,j的值為-2。,自增(+)和自減(-)運算符4-3,43,自增(+)和自減(-)運算符4-4,自增或自減運算符在使用時,需要注意以下幾點: (1)運算符的操作對象,只能是變量,而不能作用于常量或表達式。 運算符的優先級高于基本算術運算符,結合性是“自右向左”右結合。 (2)-i+,遵照右結合原則,它相當于-( i +),而不相當于(-i)+形式。,44,逗號運算符和逗號表達式2-1,逗號運算符是“,”,它的優先級低于賦值運算符,是左結合性。用逗號運算符將若干個表達式連接成一個逗號表達式。一般形式如下: 表達式1,表達式2,表達式n 逗號表達式的操作過程是:先計算表達式1,再計算表達式2,最后再計算機表達式n,而逗號表達式的值為最右邊表達式n的值。 如: a=4.5,b=6.4,34.5-20.1,a-b 該逗號運算表達式

溫馨提示

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

評論

0/150

提交評論