




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 全國(guó)計(jì)算機(jī)等級(jí)考試全國(guó)計(jì)算機(jī)等級(jí)考試 (NCRE)二級(jí)教程二級(jí)教程CC語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)目錄第1章 程序設(shè)計(jì)基本概念第2章 C程序設(shè)計(jì)的初步知識(shí)第3章 順序結(jié)構(gòu)第4章 選擇結(jié)構(gòu)第5章 循環(huán)結(jié)構(gòu)第6章 字符型數(shù)據(jù)第7章 函數(shù)第8章 地址和指針第9章 數(shù)組第10章 字符串第11章 對(duì)函數(shù)的進(jìn)一步討論第12章 C語(yǔ)言中用戶標(biāo)識(shí)符 的作用域和存儲(chǔ)類第13章 編譯預(yù)處理和動(dòng)態(tài)存 儲(chǔ)分配第14章 結(jié)構(gòu)體、共用體和用 戶定義類型第15章 位運(yùn)算第16章 文件第17章 上機(jī)指導(dǎo)1.1 程序和程序設(shè)計(jì)程序和程序設(shè)計(jì)C語(yǔ)言語(yǔ)言源程序源程序C語(yǔ)言語(yǔ)言編譯程序編譯程序二進(jìn)制機(jī)器指令二進(jìn)制機(jī)器指令(目標(biāo)程序目標(biāo)
2、程序).C.OBJ高級(jí)語(yǔ)言高級(jí)語(yǔ)言機(jī)器語(yǔ)言機(jī)器語(yǔ)言C語(yǔ)言語(yǔ)言連接程序連接程序可執(zhí)行文件可執(zhí)行文件.EXE考點(diǎn)考點(diǎn)算法的基本特征算法的基本特征有窮性、確定性、可行性有窮性、確定性、可行性有零個(gè)或多個(gè)輸入有零個(gè)或多個(gè)輸入有一個(gè)或多個(gè)輸出有一個(gè)或多個(gè)輸出結(jié)構(gòu)化程序設(shè)計(jì)的結(jié)構(gòu)化程序設(shè)計(jì)的三種三種基本結(jié)構(gòu)基本結(jié)構(gòu)順序結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)考點(diǎn)總結(jié)考點(diǎn)總結(jié):由以上由以上3種基本結(jié)構(gòu)組成的算法種基本結(jié)構(gòu)組成的算法 可以完成任何復(fù)雜的問(wèn)題可以完成任何復(fù)雜的問(wèn)題.考點(diǎn)總結(jié)考點(diǎn)總結(jié):用用C程序?qū)崿F(xiàn)的算法可以程序?qū)崿F(xiàn)的算法可以 沒(méi)有輸入沒(méi)有輸入,但必須要有輸出但必須要有輸出.習(xí)題1.1 在VC
3、6.0環(huán)境中用RUN命令運(yùn)行一個(gè)C程序時(shí),這時(shí)所運(yùn)行的程序的后綴是_。1.2 C語(yǔ)言源程序文件名的后綴是_;經(jīng)過(guò)編譯后,生成文件的后綴是_;經(jīng)過(guò)連接后,生成文件的后綴是_。1.3 結(jié)構(gòu)化程序由_、 _、 _三種基本結(jié)構(gòu)組成。.exe.c.obj.exe順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)第2章 C程序設(shè)計(jì)的初步知識(shí)v2.1 簡(jiǎn)單C語(yǔ)言程序的構(gòu)成和格式v2.2 標(biāo)識(shí)符、常量和變量v2.3 整型數(shù)據(jù)v2.4 實(shí)型數(shù)據(jù)v2.5 算術(shù)表達(dá)式v2.6 賦值表達(dá)式v2.7 自加、自減運(yùn)算符和逗號(hào)運(yùn)算符2.1 簡(jiǎn)單簡(jiǎn)單C語(yǔ)言程序的構(gòu)成和格式語(yǔ)言程序的構(gòu)成和格式本節(jié)將通過(guò)一個(gè)簡(jiǎn)單的程序例子,介紹本節(jié)將通過(guò)一個(gè)簡(jiǎn)單的程序例
4、子,介紹C程序的一些基本構(gòu)成和格式,使程序的一些基本構(gòu)成和格式,使大家對(duì)大家對(duì)C語(yǔ)言程序有一個(gè)初步的了解。語(yǔ)言程序有一個(gè)初步的了解。 例例2.1 已知矩形的兩條邊長(zhǎng)已知矩形的兩條邊長(zhǎng)(用用a表示寬表示寬,b表示長(zhǎng)表示長(zhǎng)),求矩形的面積,求矩形的面積(area)。 #include main() double a,b,area; a=1.2; b=3.6; area=a*b; printf(“a=%f,b=%f,area=%fn”,a,b,area); a=1.200000,b=3.600000,area=4.320000注意:注意:1. C程序由函數(shù)組成,一個(gè)程序必須有一個(gè)且只能有一個(gè)程序由函
5、數(shù)組成,一個(gè)程序必須有一個(gè)且只能有一個(gè)主函數(shù)主函數(shù)(main),),C程程序總是從主函數(shù)開(kāi)始執(zhí)行,并且也是從它結(jié)束的。序總是從主函數(shù)開(kāi)始執(zhí)行,并且也是從它結(jié)束的。2. 函數(shù)體必須放在一對(duì)花括號(hào)函數(shù)體必須放在一對(duì)花括號(hào)“”內(nèi),在函數(shù)體中,通常有內(nèi),在函數(shù)體中,通常有定義(說(shuō)明)語(yǔ)句定義(說(shuō)明)語(yǔ)句和和執(zhí)行語(yǔ)句執(zhí)行語(yǔ)句,定義語(yǔ)句應(yīng)出現(xiàn)在執(zhí)行語(yǔ)句之前,每條語(yǔ)句后面的分號(hào)不可少。多條,定義語(yǔ)句應(yīng)出現(xiàn)在執(zhí)行語(yǔ)句之前,每條語(yǔ)句后面的分號(hào)不可少。多條語(yǔ)句可以寫(xiě)在同一行上,并且一條語(yǔ)句也可以寫(xiě)在多行上。語(yǔ)句可以寫(xiě)在同一行上,并且一條語(yǔ)句也可以寫(xiě)在多行上。3. C程序中的注釋必須放在程序中的注釋必須放在/*和和
6、*/之間,之間,/和和*之間不允許有空格。之間不允許有空格。/*和和*/之間不允許再插入之間不允許再插入/*或或*/。注釋可以出現(xiàn)在程序中任意位置。注釋可以出現(xiàn)在程序中任意位置。 /*包含頭文件包含頭文件*/*主函數(shù)主函數(shù),程序的入口程序的入口*/*聲明部分聲明部分,定義了定義了3實(shí)型個(gè)變量實(shí)型個(gè)變量*/*給變量給變量a賦值賦值*/*給變量給變量b賦值賦值*/*將將a*b的結(jié)果賦值給變量的結(jié)果賦值給變量area*/ /*分別輸出矩形的兩條邊長(zhǎng)和面積分別輸出矩形的兩條邊長(zhǎng)和面積*/abarea函數(shù)體函數(shù)體2.2 標(biāo)識(shí)符、常量和變量標(biāo)識(shí)符、常量和變量2.2.1 標(biāo)識(shí)符標(biāo)識(shí)符在在C語(yǔ)言中,有許多東西
7、都需要命名,如變量名、函數(shù)名、數(shù)組名等,在命語(yǔ)言中,有許多東西都需要命名,如變量名、函數(shù)名、數(shù)組名等,在命名的時(shí)候都必須遵守一定的規(guī)則,按此規(guī)則命名的符號(hào)稱為名的時(shí)候都必須遵守一定的規(guī)則,按此規(guī)則命名的符號(hào)稱為標(biāo)識(shí)符標(biāo)識(shí)符。在在C語(yǔ)言中,合法的標(biāo)識(shí)符由語(yǔ)言中,合法的標(biāo)識(shí)符由字母字母、數(shù)字?jǐn)?shù)字和和下劃線下劃線組成組成 。遵守以下規(guī)則命名:遵守以下規(guī)則命名:v必須以字母(大小寫(xiě)皆可)或下劃線開(kāi)頭。必須以字母(大小寫(xiě)皆可)或下劃線開(kāi)頭。v隨后可跟若干個(gè)(包括隨后可跟若干個(gè)(包括0個(gè))字母、數(shù)字、下劃線。個(gè))字母、數(shù)字、下劃線。v標(biāo)識(shí)符的長(zhǎng)度各個(gè)系統(tǒng)不同,最好不要超過(guò)標(biāo)識(shí)符的長(zhǎng)度各個(gè)系統(tǒng)不同,最好不要
8、超過(guò)8個(gè)字符。個(gè)字符。如:如:area PI _ini a_array s1234 P101p (合法合法) 456P cade-y w.w a&b (不合法不合法)注意注意C語(yǔ)言區(qū)分大小寫(xiě),如語(yǔ)言區(qū)分大小寫(xiě),如page、Page是兩個(gè)不同的標(biāo)識(shí)符。是兩個(gè)不同的標(biāo)識(shí)符。2.2 標(biāo)識(shí)符、常量和變量標(biāo)識(shí)符、常量和變量2.2.1 標(biāo)識(shí)符標(biāo)識(shí)符C語(yǔ)言的標(biāo)識(shí)符可以分為以下三類語(yǔ)言的標(biāo)識(shí)符可以分為以下三類 :a) 關(guān)鍵字關(guān)鍵字 b) 預(yù)定義標(biāo)識(shí)符預(yù)定義標(biāo)識(shí)符 c) 用戶標(biāo)識(shí)符用戶標(biāo)識(shí)符關(guān)鍵字:關(guān)鍵字: C語(yǔ)言規(guī)定了一批標(biāo)識(shí)符,它們?cè)诔绦蛑卸即碇潭ǖ暮x,語(yǔ)言規(guī)定了一批標(biāo)識(shí)符,它們?cè)诔绦蛑卸即?/p>
9、著固定的含義,不能另作它用。例如,用來(lái)說(shuō)明變量類型的標(biāo)識(shí)符不能另作它用。例如,用來(lái)說(shuō)明變量類型的標(biāo)識(shí)符int、float、double以及以及if語(yǔ)句中的語(yǔ)句中的if、else等都已有專門(mén)的用途,它們不能再用等都已有專門(mén)的用途,它們不能再用作變量名或函數(shù)名。注意,所有的關(guān)鍵字都必須小寫(xiě)。作變量名或函數(shù)名。注意,所有的關(guān)鍵字都必須小寫(xiě)。C語(yǔ)言中的關(guān)語(yǔ)言中的關(guān)鍵字請(qǐng)參考附錄鍵字請(qǐng)參考附錄4。預(yù)定義標(biāo)識(shí)符:預(yù)定義標(biāo)識(shí)符:這些標(biāo)識(shí)符在這些標(biāo)識(shí)符在C語(yǔ)言中也都有特定的含義,如語(yǔ)言中也都有特定的含義,如C語(yǔ)言提供的語(yǔ)言提供的庫(kù)函數(shù)的名字庫(kù)函數(shù)的名字(如如include)和預(yù)編譯處理命令和預(yù)編譯處理命令(如
10、如define)等。等。 用戶標(biāo)識(shí)符:用戶標(biāo)識(shí)符:由用戶根據(jù)需要定義的標(biāo)識(shí)符稱為用戶標(biāo)識(shí)符。一般用來(lái)給由用戶根據(jù)需要定義的標(biāo)識(shí)符稱為用戶標(biāo)識(shí)符。一般用來(lái)給變量、函數(shù)、數(shù)組或文件等命名。變量、函數(shù)、數(shù)組或文件等命名。 如例如例2.1中的中的a,b,area三個(gè)變量三個(gè)變量2.2 標(biāo)識(shí)符、常量和變量標(biāo)識(shí)符、常量和變量2.2.2 常量常量在程序運(yùn)行過(guò)程中,其值不能被改變的量,稱為在程序運(yùn)行過(guò)程中,其值不能被改變的量,稱為常量常量。 常量常量整型常量:整型常量:實(shí)型常量(符點(diǎn)型)實(shí)型常量(符點(diǎn)型)字符常量:字符常量:字符串常量:字符串常量:?jiǎn)尉刃停簡(jiǎn)尉刃停弘p精度型:雙精度型:由上述可見(jiàn),常量的類型
11、從字面形式上就可以區(qū)分開(kāi)來(lái),我們稱此常量為由上述可見(jiàn),常量的類型從字面形式上就可以區(qū)分開(kāi)來(lái),我們稱此常量為字字面常量。面常量。12、-1、0A、d”NCRE”、“Beijing”3.14159、-2.71828、0.012.5678、-12.56782.2 標(biāo)識(shí)符、常量和變量標(biāo)識(shí)符、常量和變量2.2.3 符號(hào)常量符號(hào)常量在在C語(yǔ)言中,可以用一個(gè)語(yǔ)言中,可以用一個(gè)符號(hào)名符號(hào)名來(lái)代表一個(gè)常量,稱為來(lái)代表一個(gè)常量,稱為符號(hào)常符號(hào)常量。量。但是這個(gè)符號(hào)名必須在程序中用(但是這個(gè)符號(hào)名必須在程序中用(#define)進(jìn)行特別的)進(jìn)行特別的“指定指定。例例2.2 計(jì)算圓面積和周長(zhǎng),此程序中將如何教大家使用
12、符號(hào)常量。計(jì)算圓面積和周長(zhǎng),此程序中將如何教大家使用符號(hào)常量。#include “stdio.h”#define PI 3.14159main()double r,s,l; r=5.0; s=PI*r*r; l=2*PI*r; printf(“s=%f,l=%fn”,s,l); S=78.539750,l=31.415900/*包含頭文件包含頭文件*/*定義符號(hào)常量定義符號(hào)常量,符號(hào)常量名為符號(hào)常量名為PI,用用PI來(lái)代表來(lái)代表3.14159*/*主函數(shù)主函數(shù),程序的入口程序的入口*/*聲明部分聲明部分,定義了定義了3實(shí)型個(gè)變量實(shí)型個(gè)變量*/*給變量給變量r賦值賦值*/*計(jì)算圓的面積計(jì)算圓的面
13、積*/*計(jì)算圓的周長(zhǎng)計(jì)算圓的周長(zhǎng)*/*分別圓的面積和周長(zhǎng)分別圓的面積和周長(zhǎng)*/注意注意習(xí)慣上,符號(hào)常量名用大寫(xiě),變量名用小寫(xiě),以示區(qū)別習(xí)慣上,符號(hào)常量名用大寫(xiě),變量名用小寫(xiě),以示區(qū)別函數(shù)體函數(shù)體rsl2.2 標(biāo)識(shí)符、常量和變量標(biāo)識(shí)符、常量和變量2.2.4 變量變量1.所謂所謂變量變量是指在程序運(yùn)行過(guò)程中可以改變的量。是指在程序運(yùn)行過(guò)程中可以改變的量。如下程序:如下程序:#include main()double a,b; a=1.5; b=2.5; printf(“%f%fn”,a,b); a=a+1; b=b+1; printf(“%f%fn”,a,b);ab1.5000002.500000
14、2.在程序中,聲明變量就是在計(jì)算機(jī)內(nèi)存中申請(qǐng)了某個(gè)在程序中,聲明變量就是在計(jì)算機(jī)內(nèi)存中申請(qǐng)了某個(gè)內(nèi)存單元內(nèi)存單元。對(duì)變量。對(duì)變量進(jìn)行賦值,實(shí)質(zhì)上就是把數(shù)據(jù)存入該變量所代表的存儲(chǔ)單元中。進(jìn)行賦值,實(shí)質(zhì)上就是把數(shù)據(jù)存入該變量所代表的存儲(chǔ)單元中。3.C語(yǔ)言規(guī)定,程序中所有變量都必須語(yǔ)言規(guī)定,程序中所有變量都必須先定義后使用先定義后使用。如程序例。如程序例2.1、例、例2.2。內(nèi)存空間內(nèi)存空間ab2.5000003.5000002.3 整型數(shù)據(jù)整型數(shù)據(jù)2.3.1 整型常量整型常量在在C語(yǔ)言中,按整型常量的語(yǔ)言中,按整型常量的表示形式表示形式可以有三種形式??梢杂腥N形式。整型常量整型常量由由09十個(gè)數(shù)
15、字組成,如十個(gè)數(shù)字組成,如32767、-32768、0等。等。由由07八個(gè)數(shù)字組成,如八個(gè)數(shù)字組成,如010、011、016等。等。注意,最高位必須用注意,最高位必須用0作引導(dǎo)符,與十進(jìn)制和十六進(jìn)制區(qū)分。作引導(dǎo)符,與十進(jìn)制和十六進(jìn)制區(qū)分。如:如:018,為不合法的八進(jìn)制常量。,為不合法的八進(jìn)制常量。由由09十個(gè)數(shù)字和十個(gè)數(shù)字和af(AF)六個(gè)字母組成,如六個(gè)字母組成,如0 x10、0Xde、0 xf注意,最高位必須用注意,最高位必須用0 x( 0X)作引導(dǎo)符,與十進(jìn)制和八進(jìn)制區(qū)分。作引導(dǎo)符,與十進(jìn)制和八進(jìn)制區(qū)分。如:如:oxff、0X12H,都為不合法的十六進(jìn)制常量。,都為不合法的十六進(jìn)制常量
16、。在在C語(yǔ)言中,按整型常量的語(yǔ)言中,按整型常量的表示范圍表示范圍可以分為四種??梢苑譃樗姆N。在在C語(yǔ)言中,八進(jìn)制數(shù)和十六進(jìn)制數(shù)只能是正整數(shù)。語(yǔ)言中,八進(jìn)制數(shù)和十六進(jìn)制數(shù)只能是正整數(shù)。注意注意如:如:-077、-0X11、01.0等,(不合法)等,(不合法)短整型短整型基本整型基本整型長(zhǎng)整型長(zhǎng)整型無(wú)符號(hào)整型無(wú)符號(hào)整型三種進(jìn)制之間的轉(zhuǎn)換三種進(jìn)制之間的轉(zhuǎn)換十六進(jìn)制常量:十六進(jìn)制常量:八進(jìn)制常量:八進(jìn)制常量:十進(jìn)制常量:十進(jìn)制常量:2.3 整型數(shù)據(jù)整型數(shù)據(jù)2.2.2 整型變量整型變量整型變量整型變量是用來(lái)存放整型常量的工具??梢园颜妥兞砍橄鬄橐粋€(gè)盒子。是用來(lái)存放整型常量的工具??梢园颜妥兞砍橄鬄橐?/p>
17、個(gè)盒子。由于整型常量有短整型、基本整型、長(zhǎng)整型和無(wú)符號(hào)整型四種類型,既然整型變量由于整型常量有短整型、基本整型、長(zhǎng)整型和無(wú)符號(hào)整型四種類型,既然整型變量是用來(lái)存放整型數(shù)據(jù)的,那整型變量也要分為四種對(duì)應(yīng)類型的整型變量,以方便存是用來(lái)存放整型數(shù)據(jù)的,那整型變量也要分為四種對(duì)應(yīng)類型的整型變量,以方便存放不同類型的整型常量。在此我們只介紹基本整型變量。也叫放不同類型的整型常量。在此我們只介紹基本整型變量。也叫整型變量整型變量。在在C語(yǔ)言中,整型變量我們需要用一個(gè)符號(hào)來(lái)表示它,即整型變量名。語(yǔ)言中,整型變量我們需要用一個(gè)符號(hào)來(lái)表示它,即整型變量名。例如:例如:int k; /*定義定義k為整型變量為整型
18、變量,k為變量名為變量名*/關(guān)鍵字關(guān)鍵字int是用來(lái)說(shuō)明變量是用來(lái)說(shuō)明變量k的類型為整型。的類型為整型。又如:又如:int i,j,k; /*定義定義i、j、k為整型變量為整型變量*/int i;int j;int k;相同相同注意注意在同一行上使用關(guān)鍵字定義多個(gè)變量時(shí),變量之間用逗號(hào)隔開(kāi)。在同一行上使用關(guān)鍵字定義多個(gè)變量時(shí),變量之間用逗號(hào)隔開(kāi)。所有定義語(yǔ)句后必須以一個(gè)所有定義語(yǔ)句后必須以一個(gè)“;”號(hào)結(jié)束,表示它是一條語(yǔ)句。號(hào)結(jié)束,表示它是一條語(yǔ)句。2.3 整型數(shù)據(jù)整型數(shù)據(jù)2.2.2 整型變量整型變量在前面已經(jīng)講過(guò),聲明變量就是在計(jì)算機(jī)內(nèi)存中申請(qǐng)某個(gè)在前面已經(jīng)講過(guò),聲明變量就是在計(jì)算機(jī)內(nèi)存中申
19、請(qǐng)某個(gè)內(nèi)存單元內(nèi)存單元。在在VC6.0環(huán)境中,用關(guān)鍵字環(huán)境中,用關(guān)鍵字int聲明變量時(shí),計(jì)算機(jī)將會(huì)為每個(gè)變量開(kāi)辟聲明變量時(shí),計(jì)算機(jī)將會(huì)為每個(gè)變量開(kāi)辟4字節(jié)(字節(jié)(32個(gè)二進(jìn)制位)的內(nèi)存單元。個(gè)二進(jìn)制位)的內(nèi)存單元。例如例如,當(dāng)前的某段內(nèi)存空間如右圖所示。有如下程序段。,當(dāng)前的某段內(nèi)存空間如右圖所示。有如下程序段。內(nèi)存空內(nèi)存空間間地址地址2000200120022003200420052006200720112010200920082012int i;int j;i=100;j=200;C語(yǔ)言規(guī)定,可以在定義變量的同時(shí)給變量賦初值,該過(guò)程語(yǔ)言規(guī)定,可以在定義變量的同時(shí)給變量賦初值,該過(guò)程稱為變量
20、的稱為變量的初始化初始化。例如:。例如:#include main()int i=1,j=0,k=2; : :ij/*在聲明變量的同時(shí),為三個(gè)變量賦值在聲明變量的同時(shí),為三個(gè)變量賦值*/2.3 整型數(shù)據(jù)整型數(shù)據(jù)2.3.3 整型數(shù)據(jù)的分類整型數(shù)據(jù)的分類不同的計(jì)算機(jī)系統(tǒng)對(duì)整型數(shù)所占用的字節(jié)數(shù)和數(shù)值范圍有不同規(guī)定,下表列出了不同的計(jì)算機(jī)系統(tǒng)對(duì)整型數(shù)所占用的字節(jié)數(shù)和數(shù)值范圍有不同規(guī)定,下表列出了在在VC6.0VC6.0中定義的整型數(shù)所占用的字節(jié)數(shù)和數(shù)值范圍。中定義的整型數(shù)所占用的字節(jié)數(shù)和數(shù)值范圍。 類型名稱類型名稱通常使用簡(jiǎn)寫(xiě)通常使用簡(jiǎn)寫(xiě)字節(jié)數(shù)字節(jié)數(shù)數(shù)值范圍數(shù)值范圍signed intint4-214
21、7483648 2147483647signed short intshort2-3276832767signed long intlong4-2147483648 2147483647unsigned intunsigned404294967295unsigned short intunsigned short2065535unsigned long intunsigned long404294967295由于整型數(shù)據(jù)在由于整型數(shù)據(jù)在C語(yǔ)言中分為上述幾類,比如語(yǔ)言中分為上述幾類,比如123。它是屬于哪一類型的?。它是屬于哪一類型的?int123L、345l、0L、123456L123U、34
22、5u、0U、123456U123LU、345lu、0LU、123456LUlongunsignedunsigned long2.3 整型數(shù)據(jù)整型數(shù)據(jù)2.3.4 整數(shù)在內(nèi)存中的存儲(chǔ)形式整數(shù)在內(nèi)存中的存儲(chǔ)形式計(jì)算機(jī)中,內(nèi)存儲(chǔ)器的最小的存儲(chǔ)單位稱為計(jì)算機(jī)中,內(nèi)存儲(chǔ)器的最小的存儲(chǔ)單位稱為“位位(bit)”,每一位中只能存放,每一位中只能存放0或或1,因,因此稱為此稱為二進(jìn)制位二進(jìn)制位。8個(gè)二進(jìn)制位組成一個(gè)個(gè)二進(jìn)制位組成一個(gè)“字節(jié)字節(jié)”,并給每一個(gè)字節(jié)分配一個(gè)地址。,并給每一個(gè)字節(jié)分配一個(gè)地址。數(shù)據(jù)在內(nèi)存中是以數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式二進(jìn)制形式進(jìn)行存放的。進(jìn)行存放的。一、正整數(shù)一、正整數(shù)正整數(shù)在內(nèi)存中
23、是以正整數(shù)在內(nèi)存中是以“原碼原碼”形式存放的。如果定義了一個(gè)形式存放的。如果定義了一個(gè)short類型變量類型變量i:short i;i=5;/*聲明聲明i為短整型變量為短整型變量*/*給給i賦以整數(shù)賦以整數(shù)5*/十進(jìn)制數(shù)十進(jìn)制數(shù)5的二進(jìn)制形式為的二進(jìn)制形式為101,在,在VC6.0中,由于短整型變量在內(nèi)存中占中,由于短整型變量在內(nèi)存中占2個(gè)字節(jié),個(gè)字節(jié),i0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1i符號(hào)位符號(hào)位:0代表正整數(shù),代表正整數(shù),1代表負(fù)整數(shù)代表負(fù)整數(shù)二、負(fù)整數(shù)二、負(fù)整數(shù)負(fù)整數(shù)在內(nèi)存中是以負(fù)整數(shù)在內(nèi)存中是以“補(bǔ)碼補(bǔ)碼”形式存放的。形式存放的。2.4 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)
24、2.4.1 實(shí)型常量實(shí)型常量在在C語(yǔ)言中,實(shí)型常量的表示形式有兩種。語(yǔ)言中,實(shí)型常量的表示形式有兩種。實(shí)型常量實(shí)型常量由數(shù)字和小數(shù)點(diǎn)組成,如由數(shù)字和小數(shù)點(diǎn)組成,如0.123、.123、123.、0.0指數(shù)形式:指數(shù)形式: 如:如:0.23026x101 2.3026x100 23.026x10-10.23026E12.3026e023.026e-1注意注意E(e)前后必須有數(shù)字,并且后面的必須為整型數(shù)。前后必須有數(shù)字,并且后面的必須為整型數(shù)。.3e3 3.0e3 3.e3 (合法合法)3e e3 55e0.3 (不合法不合法)小數(shù)形式:小數(shù)形式:2.4 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)2.4.2 實(shí)型變量實(shí)型
25、變量分類分類類型名稱類型名稱字節(jié)數(shù)字節(jié)數(shù)數(shù)值范圍數(shù)值范圍有效數(shù)字位有效數(shù)字位單精度型單精度型float4-103810387位位雙精度行雙精度行double8-10308103081516位位單精度型變量定義的形式如下:?jiǎn)尉刃妥兞慷x的形式如下:float a,b,c;雙精度型變量定義的形式如下:雙精度型變量定義的形式如下:double x,y,z;實(shí)數(shù)在內(nèi)存中是以實(shí)數(shù)在內(nèi)存中是以“指數(shù)指數(shù)”形式存放的。形式存放的。也可以在定義實(shí)型變量的同時(shí),對(duì)變量進(jìn)行初始化。例如:也可以在定義實(shí)型變量的同時(shí),對(duì)變量進(jìn)行初始化。例如:#include main()float a=1.5,b=.5,c=0.0
26、; double x=1.5,y=.5,z=0.0; :/*在聲明變量的同時(shí),為三個(gè)變量賦值在聲明變量的同時(shí),為三個(gè)變量賦值*/*在聲明變量的同時(shí),為三個(gè)變量賦值在聲明變量的同時(shí),為三個(gè)變量賦值*/2.5 算術(shù)表達(dá)式算術(shù)表達(dá)式2.5.1 基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符+ (加法運(yùn)算符,或正值運(yùn)算符加法運(yùn)算符,或正值運(yùn)算符) 如:如:1+2、+3.9- (減法運(yùn)算符,或負(fù)值運(yùn)算符減法運(yùn)算符,或負(fù)值運(yùn)算符) 如:如:3-4、-54* (乘法運(yùn)算符乘法運(yùn)算符) 如:如:1.2*3.2、3*4、2*x/ (除法運(yùn)算符除法運(yùn)算符) 如:如:5/3、(a+b)/(x+y)單目運(yùn)算符單目運(yùn)算符雙目運(yùn)算符雙
27、目運(yùn)算符兩個(gè)整數(shù)相除,其值仍然為整數(shù)。如:兩個(gè)整數(shù)相除,其值仍然為整數(shù)。如:5/3值為值為1、1/2值為值為0。兩個(gè)實(shí)數(shù)相除,其值仍然為實(shí)數(shù)。如:兩個(gè)實(shí)數(shù)相除,其值仍然為實(shí)數(shù)。如:1.0/2.0值為值為0.5。除數(shù)、被除數(shù)只要有一個(gè)為實(shí)數(shù)時(shí),系統(tǒng)將自動(dòng)進(jìn)行類型轉(zhuǎn)換,轉(zhuǎn)換為除數(shù)、被除數(shù)只要有一個(gè)為實(shí)數(shù)時(shí),系統(tǒng)將自動(dòng)進(jìn)行類型轉(zhuǎn)換,轉(zhuǎn)換為double型。型。 如:如:1/2.0=0.5、 1.0/2.0=0.5 最后結(jié)果的類型為最后結(jié)果的類型為double型。型。% (求余運(yùn)算符求余運(yùn)算符) 注意:注意:%運(yùn)算符的兩側(cè)必須為整型數(shù)據(jù)。運(yùn)算符的兩側(cè)必須為整型數(shù)據(jù)。 如:如:7%4的結(jié)果為的結(jié)果為3。-
28、7%4、 7%-4、 -7%-4的結(jié)果為多少?的結(jié)果為多少?-3 3 -3結(jié)果的符號(hào)和被除數(shù)相結(jié)果的符號(hào)和被除數(shù)相同同2.5 算術(shù)表達(dá)式算術(shù)表達(dá)式2.5.2 運(yùn)算符的優(yōu)先級(jí)、結(jié)合性和算術(shù)表達(dá)式運(yùn)算符的優(yōu)先級(jí)、結(jié)合性和算術(shù)表達(dá)式一、優(yōu)先級(jí)一、優(yōu)先級(jí)( ) + - * / % + -單目單目雙目雙目同級(jí)同級(jí)同級(jí)同級(jí)同級(jí)同級(jí)高高低低二、結(jié)合性二、結(jié)合性單目運(yùn)算符的結(jié)合性是從右往左的,即表達(dá)式從右往左進(jìn)行計(jì)算,稱為單目運(yùn)算符的結(jié)合性是從右往左的,即表達(dá)式從右往左進(jìn)行計(jì)算,稱為右結(jié)合右結(jié)合。其余運(yùn)算符的結(jié)合性是從左往右的。即表達(dá)式從左往右進(jìn)行計(jì)算,稱為其余運(yùn)算符的結(jié)合性是從左往右的。即表達(dá)式從左往右進(jìn)行
29、計(jì)算,稱為左結(jié)合左結(jié)合。例如例如:(5+1)/2 5+1/2 5*-25*(-2)三、算術(shù)表達(dá)式三、算術(shù)表達(dá)式用算術(shù)運(yùn)算符和一對(duì)圓括號(hào)將運(yùn)算量用算術(shù)運(yùn)算符和一對(duì)圓括號(hào)將運(yùn)算量(或稱操作數(shù)或稱操作數(shù))連接起來(lái)的、符合連接起來(lái)的、符合C語(yǔ)法的語(yǔ)法的表達(dá)式稱為表達(dá)式稱為算術(shù)表達(dá)式算術(shù)表達(dá)式。算術(shù)表達(dá)式中,運(yùn)算對(duì)象可以是常量、變量和函數(shù)等。例如:算術(shù)表達(dá)式中,運(yùn)算對(duì)象可以是常量、變量和函數(shù)等。例如:2+sqrt(c)*b。 5 -103 2.5 算術(shù)表達(dá)式算術(shù)表達(dá)式2.5.3 強(qiáng)制類型轉(zhuǎn)換表達(dá)式強(qiáng)制類型轉(zhuǎn)換表達(dá)式表達(dá)式的形式如下:表達(dá)式的形式如下:(類型名類型名)(表達(dá)式表達(dá)式)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制
30、類型轉(zhuǎn)換運(yùn)算符作用:可以利用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式轉(zhuǎn)換成想要的類型。作用:可以利用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式轉(zhuǎn)換成想要的類型。例如例如:(int)3.234 (double)(10%3)3注意注意int3.234 (錯(cuò)誤)(錯(cuò)誤)(double)10%3 (錯(cuò)誤)(錯(cuò)誤)例:閱讀如下程序,關(guān)于強(qiáng)制類型轉(zhuǎn)換。例:閱讀如下程序,關(guān)于強(qiáng)制類型轉(zhuǎn)換。#include main()double a; int b; a=3.6; b=(int)a; printf(“a=%f,b=%dn”,a,b);a=3.600000,b=31.0ab2.6 賦值表達(dá)式賦值表達(dá)式2.6.1 賦值運(yùn)算符和賦值表
31、達(dá)式賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符:賦值運(yùn)算符: =賦值表達(dá)式:由賦值運(yùn)算符組成的表達(dá)式稱為賦值表達(dá)式,它的形式如下:賦值表達(dá)式:由賦值運(yùn)算符組成的表達(dá)式稱為賦值表達(dá)式,它的形式如下: 變量名變量名=表達(dá)式表達(dá)式 賦值號(hào)的左邊必須是一個(gè)代表某一存儲(chǔ)單元的變量名。賦值號(hào)的左邊必須是一個(gè)代表某一存儲(chǔ)單元的變量名。賦值運(yùn)算的功能是先求出右邊表達(dá)式的值,然后把此值賦給左邊的變量。賦值運(yùn)算的功能是先求出右邊表達(dá)式的值,然后把此值賦給左邊的變量。 例如,若例如,若a和和b都被定義成都被定義成int類型變量類型變量a=10; /*把常量把常量10賦給變量賦給變量a*/b=a; /*把把a(bǔ)中的值賦給變量中的
32、值賦給變量b,a中的值不變中的值不變*/注意注意1. 賦值運(yùn)算符的優(yōu)先級(jí)別只高于逗號(hào)運(yùn)算符,比其它任何運(yùn)算符的優(yōu)先賦值運(yùn)算符的優(yōu)先級(jí)別只高于逗號(hào)運(yùn)算符,比其它任何運(yùn)算符的優(yōu)先級(jí)都低,且具有自右向左的結(jié)合性。例如:級(jí)都低,且具有自右向左的結(jié)合性。例如:a=2+7/3 2. 賦值運(yùn)算符的左側(cè)只能是變量不能是常量或表達(dá)式。如賦值運(yùn)算符的左側(cè)只能是變量不能是常量或表達(dá)式。如a+b=c是不合是不合法的賦值表達(dá)式。法的賦值表達(dá)式。 3. 賦值號(hào)右邊的表達(dá)式也可以是一個(gè)賦值表達(dá)式,如賦值號(hào)右邊的表達(dá)式也可以是一個(gè)賦值表達(dá)式,如a=b=7+1。4. 作為一個(gè)表達(dá)式,它自己也應(yīng)該有一個(gè)值,作為一個(gè)表達(dá)式,它自己
33、也應(yīng)該有一個(gè)值,C語(yǔ)言規(guī)定最左邊變量中語(yǔ)言規(guī)定最左邊變量中所得到的新值就是賦值表達(dá)式的值。所得到的新值就是賦值表達(dá)式的值。 2.6 賦值表達(dá)式賦值表達(dá)式2.6.2 復(fù)合賦值表達(dá)式復(fù)合賦值表達(dá)式在賦值運(yùn)算符在賦值運(yùn)算符”=”之前加上其它運(yùn)算符可以構(gòu)成復(fù)合賦值運(yùn)算符。之前加上其它運(yùn)算符可以構(gòu)成復(fù)合賦值運(yùn)算符。 += -= *= /= %= &= = |= 等價(jià)于等價(jià)于 n=n+1 等價(jià)于等價(jià)于 a=a+3 等價(jià)于等價(jià)于 n=n*(m+3) 注意:有括號(hào)注意:有括號(hào)例例2.3 已有變量已有變量a,初始值為,初始值為9,計(jì)算表達(dá)式,計(jì)算表達(dá)式a+=a-=a+a的值。的值。a表達(dá)式表達(dá)式如:如:
34、n+=1 a+=3 n*=m+3a+=a-=a+a9a+=a-=18a=a-18a+=-9a=a+-9a=a+(-9)a+=a-=a+a的值是:的值是:-182.6 賦值表達(dá)式賦值表達(dá)式2.6.3 賦值運(yùn)算中的類型轉(zhuǎn)換賦值運(yùn)算中的類型轉(zhuǎn)換在賦值運(yùn)算中,只有在賦值號(hào)右側(cè)表達(dá)式的類型在賦值運(yùn)算中,只有在賦值號(hào)右側(cè)表達(dá)式的類型 與左側(cè)變量類型完全一致時(shí),賦值操作才能進(jìn)行。與左側(cè)變量類型完全一致時(shí),賦值操作才能進(jìn)行。 如:如:int a; double b; a=10; b=3.5;如果賦值運(yùn)算符兩側(cè)的數(shù)據(jù)類型不一致,在賦值前,如果賦值運(yùn)算符兩側(cè)的數(shù)據(jù)類型不一致,在賦值前, 系統(tǒng)將自動(dòng)先把右側(cè)表達(dá)式求
35、得的數(shù)值,按賦值號(hào)系統(tǒng)將自動(dòng)先把右側(cè)表達(dá)式求得的數(shù)值,按賦值號(hào) 左邊變量的類型進(jìn)行轉(zhuǎn)換,也可以用強(qiáng)制類型轉(zhuǎn)換左邊變量的類型進(jìn)行轉(zhuǎn)換,也可以用強(qiáng)制類型轉(zhuǎn)換 的方式,人為地進(jìn)行轉(zhuǎn)換后賦給賦值號(hào)左邊的變量。的方式,人為地進(jìn)行轉(zhuǎn)換后賦給賦值號(hào)左邊的變量。 a10b3.5如:如:int a; double b; a=20.5; b=15;a20b15.03. 在在C語(yǔ)言的表達(dá)式中語(yǔ)言的表達(dá)式中(不包括賦值表達(dá)式不包括賦值表達(dá)式),如果運(yùn)算,如果運(yùn)算 符兩邊的數(shù)據(jù)類型不相同,將進(jìn)行類型之間的轉(zhuǎn)換。符兩邊的數(shù)據(jù)類型不相同,將進(jìn)行類型之間的轉(zhuǎn)換。 轉(zhuǎn)換規(guī)則如下:轉(zhuǎn)換規(guī)則如下: doublelongunsign
36、edintfloatchar,short低低高高如:如:10+97+1.5-8765.1234*988765.1234*98.0double2.7 自加、自減運(yùn)算符和逗號(hào)運(yùn)算符自加、自減運(yùn)算符和逗號(hào)運(yùn)算符2.7.1 自加運(yùn)算符自加運(yùn)算符“+”和自減運(yùn)算符和自減運(yùn)算符“-”+ (自加運(yùn)算符自加運(yùn)算符)- (自減運(yùn)算符自減運(yùn)算符)1. +、-運(yùn)算符是單目運(yùn)算符,運(yùn)算對(duì)象只能變量,不能是常量和表達(dá)式。運(yùn)算符是單目運(yùn)算符,運(yùn)算對(duì)象只能變量,不能是常量和表達(dá)式。 2. +和和-運(yùn)算符的結(jié)合方向是運(yùn)算符的結(jié)合方向是自右至左自右至左。 i+、+i i-、 -ii=i+1i=i-1例如:例如:int i=5;
37、i+;int i=5;+i;int i=5;i-;int i=5;-i;i:表達(dá)式:表達(dá)式:運(yùn)算規(guī)則運(yùn)算規(guī)則運(yùn)算符在前,先計(jì)算,后賦值運(yùn)算符在前,先計(jì)算,后賦值運(yùn)算符在后,先賦值,后計(jì)算運(yùn)算符在后,先賦值,后計(jì)算例如:例如:int i=3; -i+; int i=3;-(i+);i:表達(dá)式:表達(dá)式:思考:程序示例,自增自減運(yùn)算思考:程序示例,自增自減運(yùn)算#include main()int i=0,j; j=i+; printf(“%d,%dn”,i,j); i=0; j=+i; printf(“%d,%dn”,i,j);上機(jī)練習(xí)上機(jī)練習(xí)656645444-32.7 自加、自減運(yùn)算符和逗號(hào)運(yùn)算
38、符自加、自減運(yùn)算符和逗號(hào)運(yùn)算符2.7.2 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式, (逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符)用逗號(hào)將表達(dá)式連接起來(lái)的式子稱為用逗號(hào)將表達(dá)式連接起來(lái)的式子稱為逗號(hào)表達(dá)式逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的一般形式為:。逗號(hào)表達(dá)式的一般形式為: 表達(dá)式表達(dá)式1,表達(dá)式,表達(dá)式2,表達(dá)式,表達(dá)式n 表達(dá)式之間用表達(dá)式之間用逗號(hào)逗號(hào)進(jìn)行連接進(jìn)行連接1. 逗號(hào)運(yùn)算符的結(jié)合性為從左到右,因此逗號(hào)表達(dá)式將從左到右進(jìn)行運(yùn)算。逗號(hào)運(yùn)算符的結(jié)合性為從左到右,因此逗號(hào)表達(dá)式將從左到右進(jìn)行運(yùn)算。 如:如:i=3,i+,+i,i+5 i表達(dá)式表達(dá)式33i表達(dá)式表達(dá)式43i表達(dá)式表達(dá)式55i表達(dá)式表達(dá)式510逗
39、號(hào)表達(dá)式的值為逗號(hào)表達(dá)式的值為2. 在所有運(yùn)算符中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)別最低。在所有運(yùn)算符中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)別最低。 習(xí)題一、選擇題2.1 以下選項(xiàng)中正確的整型常量是 A 12. B -20 C 1,000 D 4 5 62.2 以下選項(xiàng)中正確的實(shí)型常量是A 0 B 3. 1415 C 0.329X102 D .871 2.3 以下選項(xiàng)中不正確的實(shí)型常量是A 2.607E-1 B 0.8103e 2 C -77.77 D 456e-22.4 以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是 A abc.c B file C Main D PRINTF2.5 以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是 A _123 B printf C A $ D Dim2.6 C語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是 A % B / C ! D * *2.7 可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是 A void
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年羅茨風(fēng)機(jī)合作協(xié)議書(shū)
- 2025-2030年中國(guó)生物質(zhì)成型燃料項(xiàng)目可行性研究報(bào)告
- 2025-2030年中國(guó)玫瑰花行業(yè)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)汽車紡織品市場(chǎng)營(yíng)銷策略與發(fā)展前景分析報(bào)告
- 2025-2030年中國(guó)水果批發(fā)市場(chǎng)運(yùn)營(yíng)現(xiàn)狀及發(fā)展規(guī)劃分析報(bào)告
- 2025-2030年中國(guó)棉酚行業(yè)規(guī)模調(diào)研及前景發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)服裝吊牌行業(yè)十三五規(guī)劃與發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)改裝汽車制造行業(yè)運(yùn)營(yíng)狀況與未來(lái)發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)彈簧鋼市場(chǎng)運(yùn)行現(xiàn)狀及發(fā)展前景預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)差別化滌綸聚酯切片市場(chǎng)運(yùn)營(yíng)狀況及發(fā)展前景分析報(bào)告
- 人教版(2025版)七年級(jí)下冊(cè)英語(yǔ)UNIT 1 Animal Friends 單元整體教學(xué)設(shè)計(jì)(6個(gè)課時(shí))
- 項(xiàng)目管理知識(shí)手冊(cè)指南
- 2025年春季學(xué)期學(xué)校德育工作計(jì)劃及安排表
- 2025年常熟市招聘進(jìn)村人員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- (主城一診)重慶市2025年高2025屆高三學(xué)業(yè)質(zhì)量調(diào)研抽測(cè) (第一次)物理試卷(含答案)
- 2025年中國(guó)電信集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- DB50T 393-2011 城市三維建模技術(shù)規(guī)范
- 《肺癌圍手術(shù)期護(hù)理》課件
- 《糖尿病足護(hù)理查房》課件
- 山東省臨沂市地圖矢量課件模板()
評(píng)論
0/150
提交評(píng)論