C語言的基本知識_第1頁
C語言的基本知識_第2頁
C語言的基本知識_第3頁
C語言的基本知識_第4頁
C語言的基本知識_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、北京郵電大學出版社第第2章章 C語言的基本知識語言的基本知識 2.1 語言的數據類型語言的數據類型2.2 變量與常量變量與常量2.3 整型數據整型數據2.4 浮點數浮點數2.5 字符型數據字符型數據本章小結本章小結習題參考答案習題參考答案 北京郵電大學出版社2.1 語言的數據類型語言的數據類型一一C的數據類型的數據類型數據類型指針類型空類型基本類型整型實型(浮點型)字符型單精度型雙精度型枚舉類型構造類型數組類型結構體類型共用體類型北京郵電大學出版社2.2 變量與常量變量與常量一一 變量變量在程序運行過程中,其值可以被改變的量稱為變量。 1變量定義變量定義C語言中的變量遵循“先定義,后使用”的原

2、則。在定義變量時應注意以下幾點:F變量的定義必須在變量使用之前進行,一般放在函數體開頭的聲明部分。F允許同時定義同一數據類型的多個變量。F最后一個變量名之后必須以“;”號結束。F類型說明符與變量名之間至少要用一個空格分隔開。北京郵電大學出版社2.2 變量與常量變量與常量2變量賦初值變量賦初值 C語言中允許在變量定義的同時對變量賦初始值,也稱變量的初始化。 3標識符標識符在C程序中有許多需要命名的對象,為了區(qū)分并引用這些對象,需要給對象命名,所命的名稱稱為標識符。C語言規(guī)定:標識符只能由字母、數字和下劃線三種字符組成,且第一個字符必須是字母或下劃線;并且標識符不允許與關鍵字重名。需要注意的是嚴格

3、區(qū)分大小寫字母。變量名的命名遵循標識符的命名規(guī)則。 北京郵電大學出版社2.2 變量與常量變量與常量二常量二常量1常量常量 在程序運行過程中,其值不可以被改變的量稱為常量。常量也有不同的數據類型,在C語言中,常量是直接以自身的存在形式體現值和類型的,例如:123,-5是整型常量,1.5,1.2E-2是實型常量,y,*是字符常量。北京郵電大學出版社2.2 變量與常量變量與常量2符號常量符號常量在C語言中,常量除了以自身的存在形式直接表示之外,還可以為常量命名,稱為符號常量。常量命名遵循標識符命名規(guī)則。C語言中定義符號常量的形式如下:#define 符號常量名 常量符號常量仍是常量,所以不允許改變符

4、號常量的值,企圖對符號常量進行賦值的操作是不合法的。 一般符號常量名習慣用大寫,而變量名習慣用小寫,以示區(qū)別。 北京郵電大學出版社2.2 變量與常量變量與常量例:輸入圓的半徑r,求圓的周長c和圓的面積s。 #define PI 3.14159 main( ) float r,c,s ;scanf(%f , &r); /*輸入圓的半徑*/c = 2 * PI * r ;s = PI * r * r ; printf (c = %f , s = %f n ,c , s ); 北京郵電大學出版社2.3 整型數據整型數據一一整型變量整型變量1整型數據在內存中的存放形式整型數據在內存中的存放形式區(qū)分正負

5、的整型數據稱為有符號整型數據。它在內存中是以二進制補碼形式并按照其類型所占的字節(jié)數來存放的。最高位是符號位,0表示數值為正數,1表示數值為負數,其它位表示數值。正數的補碼與原碼相同;負數的補碼是將其原碼按位取反加1。 只有正數而沒有負數的整型數據稱為無符號整型數據。無符號數的全部位均表示數值,包括最高位。 北京郵電大學出版社2.3 整型數據整型數據2整型變量的分類整型變量的分類(1) 基本整型類型說明符為int,在內存中占2個字節(jié),其取值范圍為-3276832767。(2) 短整型類型說明符為short int或short,在內存所占字節(jié)數和取值范圍均與基本型相同。(3) 長整型類型說明符為l

6、ong int或long,在內存中占4個字節(jié),其取值范圍為-21474836482147483647。北京郵電大學出版社2.3 整型數據整型數據(4) 無符號型類型說明符為unsigned,此類型的整數沒有負數,分為三種:F無符號基本整型:類型說明符為unsigned int或unsigned,在內存中占2個字節(jié),其取值范圍為065535。F無符號短整型:類型說明符為unsigned short或unsigned short int,在內存中所占字節(jié)數和取值范圍與無符號基本整型相同。F無符號長整型:類型說明符為unsigned long或unsigned long int,在內存中占4個字節(jié),

7、其取值范圍為04294967295。北京郵電大學出版社2.3 整型數據整型數據2整型變量的分類整型變量的分類整數類型表類型說明符數的范圍分配字節(jié)數signed int-32768327672signed short int-32768327672Unsigned int0655352unsigned short int0655352signed long int-231231-14unsigned long0232-14北京郵電大學出版社2.3 整型數據整型數據3整型變量的定義與使用整型變量的定義與使用變量必須先定義后使用。注意:F類型不相同的整型數據可以進行算術運算。F整型數據的溢出 北京郵

8、電大學出版社2.3 整型數據整型數據二二整型常量整型常量1整型常量的表示方法整型常量的表示方法整型常量就是數學中的整數,在語言中,整數可用三種形式表示:(1) 十進制整型常量十進制整數,其數碼為09,數值前可以有+、-符號。(2) 八進制整型常量在C語言中,八進制整數必須以0開頭,即以0作為八進制數的前綴,數碼取值為07。(3) 十六進制整型常量在C語言中,十六進制整數必須以0 x或0X開頭,即以0 x或0X作為十六進制數的前綴,其數碼取值為09以及AF或af。北京郵電大學出版社2.3 整型數據整型數據2整型常量的類型整型常量的類型整型常量有6種類型這些類型的,類型判別請注意以下幾點:F一個整

9、型常量的值在-3276832767之間,認為是int類型。F一個整型常量的值超出了-3276832767范圍,在-21474836482147483647范圍內,認為是long int類型。F一個整型常量后面加了后綴L或l,則被認為是long int類型常量。F若C的編譯系統確定short int與int類型數據在內存中所占字節(jié)數相同時,則int類型和short int類型是通用的。一般認為是int類型。F如不特別指明,一個整型常量被認為是有符號整型常量,除非在整型常量后面加了后綴U或u,則認為該整型常量是unsigned,無符號類型。北京郵電大學出版社2.3 整型數據整型數據三三用用prin

10、tf顯示整型數據顯示整型數據對于一個有意義的程序來說,應該有1個或多個輸出。C語言本身不提供專門的輸入輸出語句,C中的輸入輸出操作是調用專門的輸入輸出函數來完成的。如果程序得到的結果是整型數據,則應該使用printf函數來顯示這些整型數據。北京郵電大學出版社2.3 整型數據整型數據1printf函數的一般格式函數的一般格式printf函數是格式化輸出函數,功能是按照指定的格式,將需要輸出的數據項在標準的輸出設備上輸出。格式化輸出函數printf的一般格式是:printf ( ”格式控制字符串” , 輸出項列表 );北京郵電大學出版社2.3 整型數據整型數據1printf函數的一般格式函數的一般

11、格式“格式控制字符串”是一個用雙引號括起來的字符串,是用于指定數據的輸出格式,它包括兩種信息: 普通字符,即按原樣輸出的字符。 格式說明,由“%”和格式字符組成,如%d、%f等。一般每個格式說明都應該有一個輸出項與它對應,表示將輸出項的值按格式說明中指定的格式輸出。格式說明總是由“%”字符開始的。 北京郵電大學出版社2.3 整型數據整型數據2整型數據輸出的格式字符整型數據輸出的格式字符與整型數據相關的格式字符如下:(1) d格式符、i格式符,按照十進制整型的格式輸出數據。 %d,按照實際寬度輸出整型數據。 %md,m是整數,代表輸出數據的寬度。m為正數,若數據的輸出寬度小于m,則在左側補相應數

12、目的空格,若大于m,則按照數據實際的位數輸出。m為負數,若需要補空格,則在右側補充。 %ld、%Ld輸出長整型數據 。 %mld按照指定寬度輸出長整型數據。 北京郵電大學出版社2.3 整型數據整型數據2整型數據輸出的格式字符整型數據輸出的格式字符(2) o格式符,按照八進制整型的格式輸出數據。輸出的數據按照無符號數據看待。 數據按照八進制形式輸出時,不帶前導0??梢允褂谩?lo”、“%mo”、“%mlo”格式說明。 (3) x格式符、X格式符,按照十六進制整型的格式輸出數據。輸出的數據為無符號數據。 數據按照十六進制形式輸出時,不帶前導0 x或oX。 可以使用“%lx”、“%mx”、“%mlx

13、”格式說明。 (4) u格式符,按照無符號整型的格式輸出數據。 可以使用“%lu”、“%mu”、“%mlu”格式說明。 北京郵電大學出版社2.3 整型數據整型數據printf整型數據格式字符及其說明整型數據格式字符及其說明格式字符說 明d , i有符號十進制整數形式輸出整數O無符號八進制整數形式輸出整數x , X無符號十六進制整數形式輸出整數U無符號十進制整數形式輸出整數北京郵電大學出版社2.3 整型數據整型數據printf整型數據附加格式說明符及說明整型數據附加格式說明符及說明 附加格式說明符 說 明l , L 加在i , d , o , x , X , u前表示長整型m(一個正整數) 表示

14、數據的輸出最小寬度 - 輸出的數據位數小于規(guī)定寬度時,空格在右側補充 北京郵電大學出版社2.3 整型數據整型數據四四用用scanf輸入整型數據輸入整型數據一個程序有0個或多個輸入 。如果程序需要輸入整型數據,則應該使用scanf函數調用來進行。 北京郵電大學出版社2.3 整型數據整型數據1scanf函數的一般格式函數的一般格式scanf函數是格式化輸入函數,其功能是按照指定的格式,將需要輸入的變量從標準的輸入設備上進行輸入。格式化輸入函數scanf的一般格式是:scanf ( ”格式控制字符串” ,變量地址列表 );北京郵電大學出版社2.3 整型數據整型數據“格式控制字符串格式控制字符串”用于

15、指定輸入格式,它包括兩種用于指定輸入格式,它包括兩種信息信息: 普通字符,即按原樣輸入的字符普通字符,即按原樣輸入的字符。輸入函數的格式控制字符串當中的原樣輸入字符,輸入函數的格式控制字符串當中的原樣輸入字符,通常是用來規(guī)定輸入的數據之間的分隔符號通常是用來規(guī)定輸入的數據之間的分隔符號。若格式控制字符串中有普通字符,輸入時一定要參若格式控制字符串中有普通字符,輸入時一定要參照該格式輸入。照該格式輸入。 格式說明,由格式說明,由“%”和格式字符組成,與輸出格和格式字符組成,與輸出格式字符類似。每個格式說明都應該有一個輸入式字符類似。每個格式說明都應該有一個輸入地址項與它對應,表示數據按格式說明中

16、指定地址項與它對應,表示數據按格式說明中指定的格式輸入。的格式輸入。北京郵電大學出版社2.3 整型數據整型數據2整型數據輸入的格式字符整型數據輸入的格式字符整型數據輸入的格式字符與輸出格式字符類似。說明:(1) 長整型的數據輸入一定要使用附加格式說明符l或L。(2) 可以用附加格式說明符m來指定輸入數據所占最大寬度。(3) 附加符*不常用,表示輸入的數據不存入到對應的變量中。北京郵電大學出版社2.4 浮點數浮點數一浮點變量一浮點變量1浮點數據在內存中的存放形式浮點數據在內存中的存放形式浮點數是以浮點小數形式存儲的。系統將一個浮點數據分成小數和指數兩個部分存儲。北京郵電大學出版社2.4 浮點數浮

17、點數2浮點型變量的分類浮點型變量的分類 (1) 單精度型類型說明符為float,在內存中占4個字節(jié),其取值范圍的絕對值為10-381038,提供67位有效數字。(2) 雙精度型類型說明符為double,在內存中占8字節(jié),其取值范圍的絕對值為10-30810308,提供1516位有效數字。(3) 長雙精度型類型說明符為long double,在內存中占10個字節(jié),其取值范圍的絕對值為10-4932104932,提供1819位有效數字。北京郵電大學出版社2.4 浮點數浮點數二浮點常量二浮點常量1浮點型常量的表示方法浮點型常量的表示方法浮點型常量也稱為實數或浮點數。在語言中,浮點數只采用十進制,有兩

18、種表示形式:(1) 小數形式小數形式的浮點數是十進制的。由數字09和小數點及數值前的+、-符號組成。注意一定要有小數點。(2) 指數形式由十進制數,加階碼標志“e”或“E”以及階碼(只能為十進制整數)組成。其一般形式為 a E n (a為十進制數,n為十進制整數),其值為 a*10n。北京郵電大學出版社2.4 浮點數浮點數二浮點常量二浮點常量2浮點型常量的類型浮點型常量的類型對于浮點數的兩種表示方法,系統均默認為是雙精度浮點型常量。如果一個浮點型常量的后面加上了后綴F或f,則被認為是float單精度浮點數。北京郵電大學出版社2.4 浮點數浮點數三用三用printf顯示浮點數據顯示浮點數據與浮點

19、型數據相關的格式字符如下:(1) f格式符,按照小數形式輸出數據,單精度與雙精度的浮點數輸出都使用f格式符。有如下幾種用法: %f,不指定輸出的寬度,整數部分全部輸出,小數位數6位。 %m.nf,指定輸出的數據總寬度為m,其中小數位數n位。若數據的輸出寬度小于m,則在左側補充相應數目的空格以達到總寬度為m,若數據的輸出寬度大于m,則按照數據實際所占寬度輸出。 %-m.nf,類似于%m.nf,若需要補空格在右側補充。 北京郵電大學出版社2.4 浮點數浮點數三用三用printf顯示浮點數據顯示浮點數據(2) e格式符、E格式符,按照指數形式輸出數據,單精度與雙精度的浮點數都可使用。 (3) g格式

20、符、G格式符,輸出浮點數據,根據數值輸出所占的寬度大小,自動選擇寬度小的f格式或e/E格式,不輸出無意義的零。 北京郵電大學出版社2.4 浮點數浮點數四用四用scanf輸入浮點數據輸入浮點數據浮點型數據輸入的格式字符與輸出格式字符類似 。 說明:(1) 雙精度浮點型的數據輸入應該使用附加格式說明符l,否則輸入時無法正確接收用戶輸入的數據。(2) 輸入浮點數據時不允許規(guī)定精度。(3) 輸入多個浮點數據時,如果未在輸入格式控制字符串中加入分隔符,同樣在輸入時要使用空格、回車鍵、Tab鍵將多個數值分隔開。北京郵電大學出版社2.5 字符型數據字符型數據一字符變量一字符變量1字符型數據在內存中的存放形式

21、字符型數據在內存中存儲的是字符的ASCII碼值的二進制形式,一個字符的存儲占用一個字節(jié)。2字符型變量的定義與使用字符變量的類型說明符是char。由于字符變量在內存中存放的是字符的ASCII值,所以也可以把它們看成是整型量。北京郵電大學出版社2.5 字符型數據字符型數據二字符常量二字符常量1字符常量是用一對單引號括起來的一個字符。 2轉義字符轉義字符有其特定的含義,不同于字符原本的含義,是用一個“”開頭的字符序列來表示。 北京郵電大學出版社2.5 字符型數據字符型數據常用的轉義符常用的轉義符 轉義字符轉義字符的意義十進制ASCII碼值n回車換行,將當前位置移至下一行的開頭10t橫向跳格,將當前位

22、置移至下一個Tab位置9b退格,將當前位置移至前一列8r回車,將當前位置移至本行開頭13f換頁,將當前位置移至下一頁開頭12反斜杠字符本身92單引號字符39”雙引號字符34ddd13位八進制數所代表的字符八進制數ddd對應的十進制數xhh12位十六進制數所代表的字符十六進制數hh對應的十進制數北京郵電大學出版社2.5 字符型數據字符型數據三三用用printf顯示字符顯示字符輸出字符型數據的格式字符只有c格式符,將輸出項按照字符形式輸出。有如下兩種用法: %c,按照字符的形式輸出數據,輸出寬度為1位。字符數據輸出顯示時不帶單引號。 %mc、%-mc,指定輸出的數據總寬度為m。北京郵電大學出版社2

23、.5 字符型數據字符型數據四四用用scanf輸入字符輸入字符輸入字符型變量的格式字符是c格式符,將輸入的數據以字符形式賦值給對應的字符型變量。有如下兩種用法: %c,字符形式的輸入。一個字符輸入時所占的寬度只有1位,所以在連續(xù)多個字符的輸入時,不需要加入分隔符,只需連續(xù)輸入。輸入字符時,轉義字符如回車換行符等會作為有效字符輸入。 %mc,指定輸入數據的寬度為m。北京郵電大學出版社2.5 字符型數據字符型數據五五用用getchar輸入字符和輸入字符和putchar輸出字符輸出字符C語言還提供函數getchar()和putchar()專門用來做字符量的輸入輸出。這兩個函數在使用時必須在程序中的所有

24、函數的定義前用編譯預處理命令include 或 include “stdio.h”北京郵電大學出版社2.5 字符型數據字符型數據五五用用getchar輸入字符和輸入字符和putchar輸出字符輸出字符1putchar函數函數putchar函數的功能是向標準輸出設備輸出一個字符。函數調用格式:putchar(字符表達式)函數調用括號中是參數,參數是一個字符型常量、字符型變量或是字符型表達式,也可以是一個整型量。北京郵電大學出版社2.5 字符型數據字符型數據五五用用getchar輸入字符和輸入字符和putchar輸出字符輸出字符2getchar函數函數getchar函數的功能是從標準輸入設備上接收

25、一個字符。函數調用格式:getchar( )getchar函數是一個無參函數。從輸入設備接收到的字符的ASCII碼值作為函數的結果,即函數的返回值。北京郵電大學出版社2.5 字符型數據字符型數據六字符串常量六字符串常量1字符串常量字符串常量 C語言中的字符串常量是由一對雙引號括起的字符序列。 2用用printf函數輸出字符串常量函數輸出字符串常量使用printf函數輸出字符串常量有兩種方式:(1) 將待輸出的字符串直接寫在printf函數的格式控制字符串中,作為原樣輸出字符進行輸出。北京郵電大學出版社2.5 字符型數據字符型數據六字符串常量六字符串常量2用用printf函數輸出字符串常量函數輸出字符串常量(2) 使用s格式符。 %s,輸出字符串。 %ms,指定輸出字符串所占的寬度,若字符串本身的長度不到m,則在左側補充空格。 %m.ns,指定輸出寬度為m,但只輸出字符串的左端n個字符。 %-ms、%-m.ns,-,若需要補充空格,補充在右側。北京郵電大學出版社本章小結本章小結本章主要介紹了數據類型;常量與變量;各種類型數據的表示方法、數據的取值范圍和數值的有效位數及相應的輸入、輸出方法。1C的數據類型基本類型,構造類型,指針類型,空類型2變量與常量(1) 變量定義,一般形式為:類型說明符 變量名標識符,變量

溫馨提示

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

評論

0/150

提交評論