版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言程序設(shè)計(jì)南昌大學(xué)計(jì)算中心C語(yǔ)言程序設(shè)計(jì)南昌大學(xué)計(jì)算中心1第2章C程序設(shè)計(jì)的初步知識(shí)2.1簡(jiǎn)單C語(yǔ)言程序的構(gòu)成和格式例:求圓面積和周長(zhǎng)的程序。#include<stdio.h>#definePI3.14main(){floata,b,r;scanf(“%f”,&r);/*
請(qǐng)用戶輸入半徑*/a=2*PI*r;b=PI*r*r;printf(“a=%f,b=%f\n”,a,b);/*輸出結(jié)果*/}南昌大學(xué)計(jì)算中心第2章C程序設(shè)計(jì)的初步知識(shí)2.1簡(jiǎn)單C語(yǔ)言程序的構(gòu)成和2由上例總結(jié)出C程序結(jié)構(gòu):1、C程序是由函數(shù)構(gòu)成的。2、一個(gè)C程序有且只有一個(gè)main函數(shù),即主函數(shù)。3、C程序總是從main函數(shù)開(kāi)始執(zhí)行,結(jié)束于main函數(shù)。4、函數(shù)由函數(shù)首部(函數(shù)名、參數(shù))和函數(shù)體(從{到}結(jié)束)組成,函數(shù)內(nèi)有語(yǔ)句(后面有分號(hào))。5、程序中可有注釋(不會(huì)執(zhí)行),注釋部分用/*和*/括起來(lái)。6、C程序書寫格式很自由。南昌大學(xué)計(jì)算中心由上例總結(jié)出C程序結(jié)構(gòu):南昌大學(xué)計(jì)算中心32.2標(biāo)識(shí)符、常量和變量2.2.1標(biāo)識(shí)符標(biāo)識(shí)符:由字母、下劃線和數(shù)字組成的字符序列,且第一個(gè)字符必須是字母或下劃線。標(biāo)識(shí)符的分類:1、關(guān)鍵字:已被C語(yǔ)言賦予固定含義的標(biāo)識(shí)符。書寫時(shí)必須用小寫。2、預(yù)定義標(biāo)識(shí)符:被C語(yǔ)言預(yù)先定義的特定標(biāo)識(shí)符。允許用戶對(duì)它們重新定義。3、用戶標(biāo)識(shí)符:由用戶根據(jù)需要定義的標(biāo)識(shí)符。區(qū)分大小寫。南昌大學(xué)計(jì)算中心2.2標(biāo)識(shí)符、常量和變量南昌大學(xué)計(jì)算中心42.2.2常量常量:程序運(yùn)行過(guò)程中,其值不能被改變的量。2.2.3符號(hào)常量符號(hào)常量:用一個(gè)符號(hào)名代表一個(gè)常量。定義符號(hào)常量:使用事先編譯預(yù)處理命令define定義。格式:#define標(biāo)識(shí)符常量編譯時(shí)先由系統(tǒng)替換為它所代表的常量,再進(jìn)行編譯。南昌大學(xué)計(jì)算中心2.2.2常量南昌大學(xué)計(jì)算中心5練習(xí):下列程序的執(zhí)行結(jié)果是____。#include<stdio.h>#definesum10+20main(){intb=0,c=0;b=5;c=sum*b;printf("%d",c);}A)100 B)110 C)70D)150√
南昌大學(xué)計(jì)算中心練習(xí):下列程序的執(zhí)行結(jié)果是____。√南昌大學(xué)計(jì)算中心6練習(xí):下列程序的執(zhí)行結(jié)果是____。#include<stdio.h>#definesum(10+20)main(){intb=0,c=0;b=5;c=sum*b;printf("%d",c);}A)100 B)110 C)70D)150√
南昌大學(xué)計(jì)算中心練習(xí):下列程序的執(zhí)行結(jié)果是____?!棠喜髮W(xué)計(jì)算中心72.2.4變量變量:程序運(yùn)行過(guò)程中,其值可以改變的量。變量應(yīng)遵循“先定義后使用”的原則。變量定義示意:.......125a變量a的存儲(chǔ)單元南昌大學(xué)計(jì)算中心2.2.4變量..125a變量a的存儲(chǔ)單元南昌大學(xué)計(jì)算中心82.3整型數(shù)據(jù)2.3.1整型常量十進(jìn)制:由數(shù)字0~9組成。八進(jìn)制:由數(shù)字0~7組成,必須以0開(kāi)頭。十六進(jìn)制:由數(shù)字0~9以及A~F(不區(qū)分大小寫)構(gòu)成,必須以0x或0X開(kāi)頭。2.3.2整型變量包括基本型、短整型、長(zhǎng)整型和無(wú)符號(hào)型四種。如:inta;/*定義基本型整型變量a*/如:inta=3;/*定義基本型整型變量a,同時(shí)賦整數(shù)3*/注意:VC6.0為一個(gè)基本型整型變量開(kāi)辟4個(gè)字節(jié)的內(nèi)存單元,如上例中的變量a。南昌大學(xué)計(jì)算中心2.3整型數(shù)據(jù)南昌大學(xué)計(jì)算中心92.3.3整型數(shù)據(jù)的分類1、基本型(int):占4個(gè)字節(jié)。2、短整型(shortint):占2個(gè)字節(jié)。3、長(zhǎng)整型(longint):占4個(gè)字節(jié)。4、無(wú)符號(hào)型(unsigned):unsignedint:占4個(gè)字節(jié);unsignedshort:占2個(gè)字節(jié);unsignedlong:占4個(gè)字節(jié)。無(wú)符號(hào)型必為非負(fù)數(shù)。注意:整型常量一般默認(rèn)為基本型,但可用U或L(或小寫)加在常量后面以改變其類型。如:137L、0L、729U、0xffL南昌大學(xué)計(jì)算中心2.3.3整型數(shù)據(jù)的分類南昌大學(xué)計(jì)算中心102.3.4整數(shù)在內(nèi)存中的存儲(chǔ)形式(二進(jìn)制形式,最高位為符號(hào)位)1、正整數(shù):“原碼”形式存放。如:shortinta=5;上述語(yǔ)句指在內(nèi)存中開(kāi)辟一個(gè)2個(gè)字節(jié)的單元,單元名為a,并存放整數(shù)5的二進(jìn)制代碼。代碼為:0000000000000101最高位為0,表示正整數(shù)因此:short型整數(shù)最大值為32767,即0111111111111111。南昌大學(xué)計(jì)算中心2.3.4整數(shù)在內(nèi)存中的存儲(chǔ)形式(二進(jìn)制形式,最高位為符號(hào)112、負(fù)整數(shù):“補(bǔ)碼”形式存放。如:shortinta=-5;上述語(yǔ)句指在內(nèi)存中開(kāi)辟一個(gè)2個(gè)字節(jié)的單元,單元名為a,并存放整數(shù)-5的二進(jìn)制代碼。代碼為:1111111111111011,此為補(bǔ)碼形式。得到補(bǔ)碼的方法:(1)求原碼的反碼:把原碼除符號(hào)位之外的二進(jìn)制碼按位取反。如:-5的原碼:1000000000000101-5的反碼:1111111111111010(2)把所得的反碼加1,即為補(bǔ)碼。如:-5的反碼:1111111111111010加1后,補(bǔ)碼:1111111111111011南昌大學(xué)計(jì)算中心2、負(fù)整數(shù):“補(bǔ)碼”形式存放。南昌大學(xué)計(jì)算中心12由補(bǔ)碼還原成十進(jìn)制負(fù)整數(shù)的方法:(1)把補(bǔ)碼的除符號(hào)位之外的各位取反。如:-5的補(bǔ)碼:1111111111111011取反后:1000000000000100(2)把所得的二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制負(fù)整數(shù)。如:上例中的:1000000000000100轉(zhuǎn)換后得:-4(3)對(duì)所得十進(jìn)制數(shù)再減1。如:上例中的-4:-4-1得-5南昌大學(xué)計(jì)算中心由補(bǔ)碼還原成十進(jìn)制負(fù)整數(shù)的方法:南昌大學(xué)計(jì)算中心133、無(wú)符號(hào)整數(shù):為非負(fù)數(shù),最高位不為符號(hào)位。如:unsignedshorta=5;上述語(yǔ)句指在內(nèi)存中開(kāi)辟一個(gè)2個(gè)字節(jié)的單元,單元名為a,并存放整數(shù)5的二進(jìn)制代碼。代碼為:0000000000000101,此為原碼形式。不是符號(hào)位再如:unsignedshorta=65535;上述語(yǔ)句指在內(nèi)存中開(kāi)辟一個(gè)2個(gè)字節(jié)的單元,單元名為a,并存放整數(shù)65535的二進(jìn)制代碼。代碼為:1111111111111111,此為原碼形式。不是符號(hào)位南昌大學(xué)計(jì)算中心3、無(wú)符號(hào)整數(shù):為非負(fù)數(shù),最高位不為符號(hào)位。不是符號(hào)位再如:14練習(xí):已知shortx=0xabcde;則x的結(jié)果是____。A)賦值非法 B)不確定 C)abcdD)bcde√
南昌大學(xué)計(jì)算中心練習(xí):已知shortx=0xabcde;則x的結(jié)果是__15練習(xí):若定義了shorta=32768;執(zhí)行語(yǔ)句printf(“a=%d”,a);后的輸出結(jié)果是____。A)a=-32768
B)a=-1
C)a=32768
D)數(shù)據(jù)類型不一致,出錯(cuò)
√
南昌大學(xué)計(jì)算中心練習(xí):若定義了shorta=32768;執(zhí)行語(yǔ)句print16練習(xí):設(shè)shorti=65539;執(zhí)行語(yǔ)句printf(“%d”,i);后的輸出結(jié)果是____。A)-3B)3
C)65539
D)數(shù)據(jù)不確定
√
南昌大學(xué)計(jì)算中心練習(xí):設(shè)shorti=65539;執(zhí)行語(yǔ)句printf(“172.4實(shí)型數(shù)據(jù)2.4.1實(shí)型常量(或稱實(shí)數(shù)、浮點(diǎn)數(shù))十進(jìn)制小數(shù)形式:由數(shù)字0~9和小數(shù)點(diǎn)組成。小數(shù)點(diǎn)不可省略。如:6.55、0.0、0.39、.39、40.指數(shù)形式:由尾數(shù)加階碼標(biāo)志e或E以及階碼組成。其一般形式為aEn(a為尾數(shù),n為階碼)其值為a×10n。階碼必須是整數(shù),E前面必須要有數(shù)字。如:3.5×106可以表示為3.5E62.8×10-2可以表示為2.8E-2南昌大學(xué)計(jì)算中心2.4實(shí)型數(shù)據(jù)南昌大學(xué)計(jì)算中心182.4.2實(shí)型變量單精度型:用float定義,分配4個(gè)字節(jié)存儲(chǔ)空間。雙精度型:用double定義,分配8個(gè)字節(jié)存儲(chǔ)空間。2.5算術(shù)表達(dá)式2.5.1基本的算術(shù)運(yùn)算符+、-、*、/、%屬于雙目運(yùn)算符(運(yùn)算符需要兩個(gè)運(yùn)算對(duì)象)。%的運(yùn)算對(duì)象只能是整數(shù),結(jié)果正負(fù)號(hào)同被除數(shù)。若兩邊運(yùn)算數(shù)類型一致,所得結(jié)果類型與運(yùn)算數(shù)類型一致。如:1.7+2.3結(jié)果為4.0,不是42.5/0.5結(jié)果為5.0,不是53/6結(jié)果為0,不是0.5或兩邊運(yùn)算數(shù)類型不一致,系統(tǒng)將自動(dòng)進(jìn)行類型轉(zhuǎn)換,使得兩邊運(yùn)算數(shù)類型一致,轉(zhuǎn)換規(guī)律見(jiàn)附錄5。南昌大學(xué)計(jì)算中心2.4.2實(shí)型變量2.5算術(shù)表達(dá)式南昌大學(xué)計(jì)算中心192.5.2運(yùn)算符的優(yōu)先級(jí)、結(jié)合性和算術(shù)表達(dá)式1、算術(shù)運(yùn)算符的優(yōu)先級(jí)()+-++--
*/%
+-
同級(jí)同級(jí)同級(jí)
單目雙目
高
低2、算術(shù)運(yùn)算符和圓括號(hào)的結(jié)合性算術(shù)運(yùn)算符的結(jié)合性是從左到右(除了表示正負(fù)號(hào)的+、-是從右到左)。若有圓括號(hào)則優(yōu)先進(jìn)行圓括號(hào)中的運(yùn)算。南昌大學(xué)計(jì)算中心2.5.2運(yùn)算符的優(yōu)先級(jí)、結(jié)合性和算術(shù)表達(dá)式()203、算術(shù)表達(dá)式把算術(shù)運(yùn)算符和運(yùn)算數(shù)連接起來(lái)的表達(dá)式稱為算術(shù)表達(dá)式。表達(dá)式都有運(yùn)算結(jié)果,即表達(dá)式值。2.5.3強(qiáng)制類型轉(zhuǎn)換表達(dá)式(類型符)(表達(dá)式)即強(qiáng)行把表達(dá)式值轉(zhuǎn)換成所需類型。如:(float)(5/3)(int)(a)或(int)a南昌大學(xué)計(jì)算中心3、算術(shù)表達(dá)式南昌大學(xué)計(jì)算中心21練習(xí):下面程序的輸出結(jié)果是____。main(){intx;x=-3+4*5-6;printf(“%d”,x);x=3+4%5-6;printf(“%d”,x);x=-3*4%-6/5;printf(“%d”,x);x=(7+6)%5/2;printf(“%d”,x);}A)11101 B)11–321C)12–321 D)11121√
南昌大學(xué)計(jì)算中心練習(xí):下面程序的輸出結(jié)果是____?!棠喜髮W(xué)計(jì)算中心22練習(xí):若有如下定義:inta=2,b=3;floatx=3.5,y=2.5;則表達(dá)式:(float)(a+b)/2+(int)x%(int)y的值是_____。A.2.500000B.3.500000C.4.500000D.5.000000√
南昌大學(xué)計(jì)算中心練習(xí):若有如下定義:inta=2,b=3;float232.6賦值表達(dá)式2.6.1賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符:=賦值表達(dá)式格式:變量名=表達(dá)式作用是把右側(cè)表達(dá)式的值賦給左邊的變量,整個(gè)表達(dá)式的值就是左側(cè)變量的值?!?”是雙目運(yùn)算符,右結(jié)合性,優(yōu)先級(jí)僅高于逗號(hào)運(yùn)算符。如:a=5a=b=8/3南昌大學(xué)計(jì)算中心2.6賦值表達(dá)式南昌大學(xué)計(jì)算中心242.6.2復(fù)合賦值表達(dá)式C語(yǔ)言提供了10種復(fù)合的賦值運(yùn)算符,它們是+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=其中前5個(gè)是復(fù)合的算術(shù)賦值運(yùn)算符,后5個(gè)是復(fù)合的位運(yùn)算賦值運(yùn)算符。復(fù)合的賦值運(yùn)算符是雙目運(yùn)算符,優(yōu)先級(jí)和賦值運(yùn)算符相同,也是右結(jié)合性的。<變量><復(fù)合賦值運(yùn)算符><表達(dá)式>它等效于<變量>=<變量><算術(shù)運(yùn)算符><表達(dá)式>例如:a+=5等價(jià)于a=a+5x*=y+7等價(jià)于x=x*(y+7)南昌大學(xué)計(jì)算中心2.6.2復(fù)合賦值表達(dá)式南昌大學(xué)計(jì)算中心25練習(xí):設(shè)有以下定義,則能使值為3的表達(dá)式是____。
intk=7,x=12;A)x%=(k%=5)B)x%=(k-k%5)C)x%=kD)(x%=k)-(k%=5)√
南昌大學(xué)計(jì)算中心練習(xí):設(shè)有以下定義,則能使值為3的表達(dá)式是____?!棠喜?6練習(xí):下面程序的輸出結(jié)果是_____。
main() {inta=0; a+=(a=8);printf(“%d\n”,a); }16
南昌大學(xué)計(jì)算中心練習(xí):下面程序的輸出結(jié)果是_____。16南昌大學(xué)計(jì)算中心27練習(xí):下面程序的輸出結(jié)果是_____。
main() {intx=2,y=0,z; x*=3+2;printf(“%d”,x); x*=y=z=4;printf(“%d”,x); }A)840B)1040C)10,4 D)8,4√
南昌大學(xué)計(jì)算中心練習(xí):下面程序的輸出結(jié)果是_____。√南昌大學(xué)計(jì)算中心282.6.3賦值運(yùn)算中的類型轉(zhuǎn)換當(dāng)賦值表達(dá)式中左右兩邊類型不一致時(shí),會(huì)遵循自動(dòng)轉(zhuǎn)換規(guī)則:右側(cè)表達(dá)式的值按左側(cè)變量的類型進(jìn)行轉(zhuǎn)換。如:假設(shè)變量a為整型a=3.5的結(jié)果為3,即變量a的內(nèi)容為3注意整型之間的轉(zhuǎn)換,參見(jiàn)書上。南昌大學(xué)計(jì)算中心2.6.3賦值運(yùn)算中的類型轉(zhuǎn)換南昌大學(xué)計(jì)算中心292.7自加、自減運(yùn)算和逗號(hào)運(yùn)算符2.7.1自加運(yùn)算符“++”和自減運(yùn)算符“--”是單目運(yùn)算符,與變量結(jié)合,作用是使變量值增1或減1。有前綴和后綴兩種形式:前綴形式:先自增(自減)再引用;后綴形式:先引用再自增(自減);如:假設(shè)變量a為5a++則a為6,表達(dá)式值為5++a則a為6,表達(dá)式值為6具有右結(jié)合性,結(jié)合方向?yàn)閺挠业阶?。如:–a++等價(jià)于-(a++)南昌大學(xué)計(jì)算中心2.7自加、自減運(yùn)算和逗號(hào)運(yùn)算符南昌大學(xué)計(jì)算中心30練習(xí):設(shè)有intx=11;則表達(dá)式(x++*1/3)的值是____。
A)3 B)4 C)11 D)12√
南昌大學(xué)計(jì)算中心練習(xí):設(shè)有intx=11;則表達(dá)式(x++*1/3)的值是31練習(xí):下面程序的輸出結(jié)果是____。
main() {intm=12,n=34; printf(“%d%d”,m++,++n); printf(“%d%d\n”,n++,++m); } A)12353514 B)12353513 C)12343514 D)12343513√
南昌大學(xué)計(jì)算中心練習(xí):下面程序的輸出結(jié)果是____?!棠喜髮W(xué)計(jì)算中心32練習(xí):下面程序的輸出結(jié)果是____。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026四川省油氣勘探開(kāi)發(fā)有限公司招聘8人備考題庫(kù)及一套完整答案詳解
- 2026云南保山天潤(rùn)高級(jí)中學(xué)在職教師招聘6人備考題庫(kù)及答案詳解參考
- 2025年山東方言文化題庫(kù)及答案
- 2025年水產(chǎn)養(yǎng)殖操作題庫(kù)及答案
- 2025年市場(chǎng)營(yíng)銷面試題庫(kù)及答案
- 2026天津市南開(kāi)區(qū)衛(wèi)生健康系統(tǒng)招聘事業(yè)單位人員(含高層次人才)60人備考題庫(kù)有完整答案詳解
- 2025年初級(jí)考試官方題庫(kù)及答案
- 2025貴州貴陽(yáng)市烏當(dāng)區(qū)新天九年制學(xué)校秋季招聘第十六批臨聘教師2人備考題庫(kù)含答案詳解
- 2025廣西百色市平果市大學(xué)園區(qū)管理服務(wù)中心城鎮(zhèn)公益性崗位人員招聘1人備考題庫(kù)及答案詳解(易錯(cuò)題)
- 2025中共連城縣委黨校定向選調(diào)2人備考題庫(kù)(福建)附答案詳解
- 統(tǒng)編版語(yǔ)文二年級(jí)上冊(cè)知識(shí)點(diǎn)
- 北京師范大學(xué)介紹
- 設(shè)備隱患排查培訓(xùn)
- 國(guó)家事業(yè)單位招聘2025中國(guó)農(nóng)業(yè)科學(xué)院植物保護(hù)研究所招聘12人筆試歷年參考題庫(kù)附帶答案詳解
- 售后技術(shù)服務(wù)流程規(guī)范
- 六性分析報(bào)告標(biāo)準(zhǔn)格式與范例
- 餐具分揀裝置的設(shè)計(jì)(機(jī)械工程專業(yè))
- 供水管網(wǎng)施工期間居民供水保障方案
- 江蘇省常州市鐘樓區(qū)小學(xué)語(yǔ)文三年級(jí)上冊(cè)期末檢測(cè)卷(含答案)
- 2025年縣司法局行政執(zhí)法協(xié)調(diào)監(jiān)督工作自查報(bào)告
- 醫(yī)院科室臺(tái)風(fēng)應(yīng)急預(yù)案
評(píng)論
0/150
提交評(píng)論