版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章簡(jiǎn)單的C程序設(shè)計(jì)預(yù)備知識(shí)數(shù)據(jù)類型常量與變量不同類型數(shù)據(jù)間的轉(zhuǎn)換運(yùn)算符和表達(dá)式數(shù)據(jù)輸入、輸出字符數(shù)據(jù)的輸入輸出計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)字節(jié)和位內(nèi)存以字節(jié)為單元組成每個(gè)字節(jié)有一個(gè)地址一個(gè)字節(jié)一般由8個(gè)二進(jìn)制位組成每個(gè)二進(jìn)位的值是0或101234567012345678910……...<>計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)76432512.0
預(yù)備知識(shí)數(shù)值的表示方法——原碼、反碼和補(bǔ)碼計(jì)算機(jī)中數(shù)是以二進(jìn)制數(shù)存儲(chǔ)的,可以用原碼、反碼和補(bǔ)碼三種方法表示。實(shí)際上,數(shù)值都是以補(bǔ)碼表示的。原碼:最高位為符號(hào)位(正數(shù)為0;負(fù)數(shù)為1),其余各位為數(shù)值本身的絕對(duì)值<>1000101000001010例:—10+10反碼:正數(shù):反碼與原碼相同負(fù)數(shù):符號(hào)位為1,其余位對(duì)原碼取反補(bǔ)碼:正數(shù):原碼、反碼、補(bǔ)碼相同負(fù)數(shù):最高位為1(符號(hào)位),其余位為原碼取反,再對(duì)整個(gè)數(shù)加1計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)原碼反碼補(bǔ)碼+7000001110000011100000111-7100001111111100011111001+0000000000000000000000000-0100000001111111100000000數(shù)的范圍01111111~11111111(-127~+127)01111111~10000000(-127~+127)01111111~10000000(-128~+127)(用一字節(jié)表示數(shù))負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換成十進(jìn)制數(shù):最高位不動(dòng),其余位取反加1例補(bǔ)碼:11111001取反:10000110加1:10000111=-7<>計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)2.1數(shù)據(jù)類型數(shù)據(jù)類型總表<>字符類型charC數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void整型實(shí)型單精度型float雙精度型double數(shù)組類型結(jié)構(gòu)體類型struct共用體類型union短整型short長(zhǎng)整型long整型int數(shù)據(jù)類型決定:1.數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.數(shù)據(jù)取值范圍3.其上可進(jìn)行的操作計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)基本數(shù)據(jù)類型<>類型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(wú)(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsigned
int0~65535320~4294967295unsigned
longunsigned
short160~65535有float32-3.4e-38~3.4e38有double64-1.7e-308~1.7e308有char8-128~127無(wú)unsignedchar80~255說明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBMPC機(jī)為例:計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)2.2常量與變量標(biāo)識(shí)符定義:用來標(biāo)識(shí)變量、常量、函數(shù)等的字符序列組成:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母
或下劃線。大小寫字母被認(rèn)為是兩個(gè)不同的字符。不能使用關(guān)鍵字。長(zhǎng)度:最長(zhǎng)32個(gè)字符命名原則:見名知意不宜混淆如l與I,o與0例:判斷下列標(biāo)識(shí)符號(hào)合法性sumSumM.D.JohndayDate3daysstudent_name#33
lotus_1_2_3chara>b_above$123<>M.D.John3days#33char$123a>b計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)一般用大寫字母是宏定義預(yù)處理命令,不是C語(yǔ)句直接常量:整型常量實(shí)型常量字符常量字符串常量如#definePRICE
30常量定義:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))分類:符號(hào)常量:用標(biāo)識(shí)符代表常量定義格式:#define
符號(hào)常量常量>>>><>例符號(hào)常量舉例(ch2_1.c)#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf("total=%d",total);}運(yùn)行結(jié)果:total=300計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)整型常量(整常數(shù))三種形式:十進(jìn)制整數(shù):由數(shù)字0~9和正負(fù)號(hào)表示.如123,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字0~7表示.如0123,011十六進(jìn)制整數(shù):由0x開頭,后跟0~9,a~f,A~F表示.如0x123,0Xff<例12與12L例30000為int型65536為longint型整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型在整常量后加字母l或L,認(rèn)為它是longint
型常量在整常量后加字母u或U,認(rèn)為它是unsignedint
型常量問題:0123=()100x123=()100Xff=()1083291255問題:0123=()100x123=()100Xff=()10例15與15U計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù))表示形式:十進(jìn)制小數(shù)形式:它由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn))如0.123,.123,123.0,0.0,123.指數(shù)形式:(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù))如12.3e3,123E2,1.23e4,e-5,1.2E-3.5
<實(shí)型常量的類型默認(rèn)double型(雙精度)在實(shí)型常量后加字母f或F,認(rèn)為它是float型(單精度)如:1.234和1.234F計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)字符常量定義:用單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義字符.
字符常量的值:該字符的ASCII碼值<轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義\n\v\r\a\‘\ddd\t\b\f\\\“\xhh轉(zhuǎn)義字符含義換行垂直制表回車響鈴單引號(hào)3位8進(jìn)制數(shù)代表的字符水平制表退格換頁(yè)反斜線雙引號(hào)2位16進(jìn)制數(shù)代表的字符如‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65<如‘A’——65,‘a(chǎn)’——97,‘0’——48,‘\n’——10如‘a(chǎn)’‘A’‘?’‘\n’‘\101’轉(zhuǎn)義字符:反斜線后面跟一個(gè)字符或一個(gè)代碼值表示例轉(zhuǎn)義字符舉例(ch2_001.c,ch2_004.c)
main(){printf("\101\x42C\n");printf("Isay:\"Howareyou?\"\n");printf("\\CProgram\\\n");printf("Turbo\'C\'");}運(yùn)行結(jié)果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’例main(){printf(“Y\b=\n”);}運(yùn)行結(jié)果:屏幕顯示:=打印機(jī)輸出:¥計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)<字符常量與字符串常量不同字符串常量定義:用雙引號(hào)(“”)括起來的字符序列存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè)‘\0’作為字符串結(jié)束標(biāo)志hello\0例字符串“hello”在內(nèi)存中aa\0例‘a(chǎn)’“a”例空串“”\0例:
charch;
ch=“A”;
例:
charch;
ch=‘A’;計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元…...地址inta=1,b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址…...內(nèi)存1-3隨機(jī)數(shù)變量概念:其值可以改變的量變量名(在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,命名規(guī)則遵循標(biāo)識(shí)符的規(guī)定)與變量值(在該單元中存放的數(shù)據(jù))變量定義的一般格式:
數(shù)據(jù)類型變量1[,變量2,…,變量n];<>變量初始化:允許在定義變量時(shí)賦初值例:
inta,b,c;floatdata;決定分配字節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識(shí)符例:
inta=2,b,c=4;
floatdata=3.67;
charch=‘A’;(√)intx=1,y=1,z=1;(╳)
intx=y=z=1;變量的使用:先定義,后使用(未經(jīng)定義不作為變量名)例1
intstudent;stadent=19;//Undefinedsymbol‘statent’infunctionmain
例2
floata,b,c;c=a%b;//legaluseoffloatingpointinfunctionmain
變量定義位置:一般放在函數(shù)開頭main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;
printf(“data=%f\n”,data);}變量定義可執(zhí)行語(yǔ)句main(){inta,b=2;a=1;floatdata;data=(a+b)*1.2;
printf(“data=%f\n”,data);}計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)整型變量分類:基本整型(int)、短整型(short)和長(zhǎng)整型(long)。(注意:對(duì)于整型變量基本類型還存在有無(wú)符號(hào)之分[signed]和[unsigned],若未指定,則隱含為[signed])<>Ch2_006.c占字節(jié)數(shù)隨機(jī)器不同而不同,一般占一個(gè)機(jī)器字。在微機(jī)上使用C編譯系統(tǒng),每一個(gè)整型變量在內(nèi)存中占2個(gè)字節(jié)。所占字節(jié)數(shù):short≤int≤long可用sizeof(類型標(biāo)識(shí)符)測(cè)量在程序中定義a和b兩個(gè)變量:Inta;(有符號(hào)基本整型)Unsignedintb;(無(wú)符號(hào)基本整型)01111111111111111111111111111111(符號(hào)位)(代表數(shù)據(jù)的第1位)有符號(hào)整型變量a=32767無(wú)符號(hào)整型變量b=65535計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)實(shí)型變量分類:?jiǎn)尉龋╢loat)和雙精度(double)
float:占4字節(jié),提供7位有效數(shù)字
double:占8字節(jié),提供15~16位有效數(shù)字說明:對(duì)于實(shí)型變量類型還有長(zhǎng)雙精度(longdouble)類型,占16字節(jié),數(shù)值范圍:-1.2e-4932?1.2e4932對(duì)每一個(gè)實(shí)型變量在使用前都應(yīng)加以定義。在程序中實(shí)數(shù)可以用小數(shù)或指數(shù)形式表示,實(shí)際上計(jì)算機(jī)中是用二進(jìn)制數(shù)表示小數(shù)部分以及用2的冪次來表示指數(shù)部分的。例floata;a=111111.111;/*a=111111.1*/doubleb;b=111111.111;/*b=111111.111*/計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)字符型變量字符型變量用來存放字符常量。注意:一個(gè)字符型變量只能存放一個(gè)字符,不要以為在一個(gè)字符變量中可以存放一個(gè)字符串(包括若干字符)定義形式:charc1,c2;沒有字符串變量,用字符數(shù)組存放例a=‘D’;/*a=68;*/x=‘A’+5;/*x=65+5;*/s=‘!’+‘G’/*s=33+71;*/inti;Charc;i=‘a(chǎn)’;C=97;例:字符變量存放字符ASCII碼字符數(shù)據(jù)與整型數(shù)據(jù)間可進(jìn)行互相賦值。計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)例/*ch2_003.c*/#definePRICE12.5main(){intnum=3;floattotal;charch1,ch2=‘D’;total=num*PRICE;ch1=ch2-‘A’+‘a(chǎn)’;printf(“total=%f,ch1=%c\n”,total,ch1);}宏定義變量定義輸出結(jié)果運(yùn)行結(jié)果:total=37.500000,ch1=d計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)2.3不同類型數(shù)據(jù)間的轉(zhuǎn)換
整型(包括int,short,long)和實(shí)型(float,double)數(shù)據(jù)可以混合運(yùn)算,字符型數(shù)據(jù)可以與整型通用,因此,整型、實(shí)型、字符型數(shù)據(jù)間可以混合運(yùn)算。在進(jìn)行運(yùn)算時(shí),不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后在進(jìn)行運(yùn)算。轉(zhuǎn)換方式:隱式轉(zhuǎn)換和顯示轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)<>隱式轉(zhuǎn)換什么情況下發(fā)生運(yùn)算轉(zhuǎn)換------不同類型數(shù)據(jù)混合運(yùn)算時(shí)賦值轉(zhuǎn)換------把一個(gè)值賦給與其類型不同的變量時(shí)輸出轉(zhuǎn)換------輸出時(shí)轉(zhuǎn)換成指定的輸出格式函數(shù)調(diào)用轉(zhuǎn)換------實(shí)參與形參類型不一致時(shí)轉(zhuǎn)換運(yùn)算轉(zhuǎn)換規(guī)則:不同類型數(shù)據(jù)運(yùn)算時(shí)先自動(dòng)轉(zhuǎn)換成同一類型計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)doublefloatlongunsignedintchar,short低高說明:必定的轉(zhuǎn)換運(yùn)算對(duì)象類型不同時(shí)轉(zhuǎn)換例charch;
inti;floatf;doubled;ch/i+f*d-(f+i)doubledoubleintintdoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+‘a(chǎn)’+i*f-d/e例inti;floatf;doubled;longe;<>顯式轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)一般形式:(類型名)(表達(dá)式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6說明:強(qiáng)制轉(zhuǎn)換得到所需類型的中間變量,原變量類型不變例main(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);}結(jié)果:x=3.600000,i=3精度損失問題較高類型向較低類型轉(zhuǎn)換時(shí)可能發(fā)生<>Ch2_007.cCh2_008.c計(jì)算機(jī)技術(shù)基礎(chǔ)第二章簡(jiǎn)單C程序設(shè)計(jì)2.4
運(yùn)算符和表達(dá)式C運(yùn)算符算術(shù)運(yùn)算符:(+-*/%)關(guān)系運(yùn)算符:(<<===>>=!=)邏輯運(yùn)算符:(!&&||)位運(yùn)算符:(<<>>~|?&)賦值運(yùn)算符:(=及其擴(kuò)展賦值運(yùn)算符)條件運(yùn)算符:(?:)逗號(hào)運(yùn)算符:(,)指針運(yùn)算符:(*&)求字節(jié)數(shù)運(yùn)算符:(sizeof)強(qiáng)制類型轉(zhuǎn)換:((類型))分量運(yùn)算符:(.->)下標(biāo)運(yùn)算符:([])其它:(()-++--)<>計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)學(xué)習(xí)運(yùn)算符應(yīng)注意問題:運(yùn)算符功能與運(yùn)算量關(guān)系要求運(yùn)算量個(gè)數(shù)(單目、雙目和三目)要求運(yùn)算量類型運(yùn)算符優(yōu)先級(jí)別結(jié)合方向(是C特點(diǎn)之一,其他高級(jí)語(yǔ)言沒有)結(jié)果的類型計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)優(yōu)先級(jí)運(yùn)算符含義對(duì)象個(gè)數(shù)結(jié)合方向1圓括號(hào)下標(biāo)運(yùn)算符指向結(jié)構(gòu)體成員運(yùn)算符結(jié)構(gòu)體成員運(yùn)算符自左至右2!~++–––(類型)*&
Sizeof邏輯非運(yùn)算符按位取反運(yùn)算符自增運(yùn)算符自減運(yùn)算符負(fù)號(hào)運(yùn)算符類型轉(zhuǎn)換運(yùn)算符指針運(yùn)算符地址與運(yùn)算符長(zhǎng)度運(yùn)算符
1(單目運(yùn)算符)自右至左3*/%乘法運(yùn)算符除法運(yùn)算符求余運(yùn)算符
2(雙目運(yùn)算符)自左至右計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)運(yùn)算符優(yōu)先級(jí)別和結(jié)合性()[]—>?優(yōu)先級(jí)運(yùn)算符含義對(duì)象個(gè)數(shù)結(jié)合方向4+–加法運(yùn)算符減法運(yùn)算符
2(雙目運(yùn)算符)自左至右5<<>>左移運(yùn)算符右移運(yùn)算符
2(雙目運(yùn)算符)自左至右6<<=>>=右移運(yùn)算符
2(雙目運(yùn)算符)自左至右7==!=等于運(yùn)算符不等于運(yùn)算符
2(雙目運(yùn)算符)自左至右8&按位與運(yùn)算符
2(雙目運(yùn)算符)自左至右9?按位異或運(yùn)算符
2(雙目運(yùn)算符)自左至右10|按位或運(yùn)算符
2(雙目運(yùn)算符)自左至右計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)優(yōu)先級(jí)運(yùn)算符含義對(duì)象個(gè)數(shù)結(jié)合方向11&&邏輯與運(yùn)算符
2(雙目運(yùn)算符)自左至右12||邏輯或運(yùn)算符
2(雙目運(yùn)算符)自左至右13?:條件運(yùn)算符
3(三目運(yùn)算符)自右至左14=+=–=*=/=%=>>=<<=&=?=|=賦值運(yùn)算符2自右至左15,逗號(hào)運(yùn)算符順序求值運(yùn)算符自左至右計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)說明:
(1)同一級(jí)別的運(yùn)算符,運(yùn)算次序由結(jié)合方向決定。(2)不同的運(yùn)算符要求有不同的運(yùn)算對(duì)象個(gè)數(shù)。如:3*5/4(自左向右);
–i++相當(dāng)于–(i++)(自右向左)各類運(yùn)算符優(yōu)先級(jí)初等運(yùn)算符()[]—>?單目運(yùn)算符算術(shù)運(yùn)算符(先乘除,后加減)關(guān)系運(yùn)算符邏輯運(yùn)算符(不包括?。?/p>
條件運(yùn)算符(C語(yǔ)言中唯一的一個(gè)三目運(yùn)算符)賦值運(yùn)算符逗號(hào)運(yùn)算符高低優(yōu)先級(jí)(3)位運(yùn)算優(yōu)先級(jí)比較分散(有的在算術(shù)運(yùn)算符之前,有的在關(guān)系運(yùn)算符之前,還有的在關(guān)系運(yùn)算符之后,為了容易記憶,使用位運(yùn)算符時(shí)可加括號(hào))算術(shù)運(yùn)算符和表達(dá)式基本算術(shù)運(yùn)算符:+-*/%(模運(yùn)算符或稱求余運(yùn)算符)結(jié)合方向:從左向右優(yōu)先級(jí):----->*/%----->+-(2)(3)(4)
說明:“-”為單目運(yùn)算符時(shí),右結(jié)合性(自右向左)。兩整數(shù)相除,結(jié)果為整數(shù),舍去小數(shù)部分。%要求兩側(cè)均為整型數(shù)據(jù)。如果一個(gè)運(yùn)算符的兩側(cè)的數(shù)據(jù)類型不同,先自動(dòng)進(jìn)行類型轉(zhuǎn)換,使二者具有同一類型,然后再進(jìn)行運(yùn)算。例5/2=-5/2.0=例5%2=-5%2=1%10=
5%1=5.5%2<>例5/2=2
-5/2.0=-2.5例5%2=1
-5%2=-11%10=
1
5%1=
05.5%2()計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)表達(dá)式:用運(yùn)算符將運(yùn)算對(duì)象(也稱操作數(shù))連接起來的、符合
C語(yǔ)法規(guī)則的式子,稱C表達(dá)式。運(yùn)算對(duì)象包括常量、變量、函數(shù)、表達(dá)式等。如:a*b/c–1.5+‘a(chǎn)’自增、自減運(yùn)算符++--作用:使變量值加1或減1種類:前置++i,--i(先執(zhí)行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再執(zhí)行i+1或i-1)例j=3;k=++j;j=3;k=j++;j=3;printf(“%d”,++j);
j=3;printf(“%d”,j++);
a=3;b=5;c=(++a)*b;a=3;b=5;c=(a++)*b;<>//k=4,j=4//k=3,j=4//4//3//c=20,a=4//c=15,a=4計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)自增、自減運(yùn)算符++--作用:使變量值加1或減1種類:前置++i,--i(先執(zhí)行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再執(zhí)行i+1或i-1)說明:++--只能用于變量,不能用于常量和表達(dá)式,如5++,(a+b)++++--結(jié)合方向:自右向左++--常用于循環(huán)語(yǔ)句中,使循環(huán)語(yǔ)句自動(dòng)加1,也用于指針變量,使指針指向下一個(gè)地址。優(yōu)先級(jí):-
++-------->*/%----->+-
(2)(3)(4)例j+++k;(j++)+k;例-i++i=3;printf(“%d”,-i++);Ch2_009.c計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)//-3-(i++)賦值運(yùn)算符和表達(dá)式簡(jiǎn)單賦值運(yùn)算符符號(hào):=格式:變量標(biāo)識(shí)符=表達(dá)式作用:將一個(gè)數(shù)據(jù)(常量或表達(dá)式)賦給一個(gè)變量a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3<>例a=3;d=func();c=d+2;計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)復(fù)合賦值運(yùn)算符種類:+=-=*=/=%=《=》=&=?=|=含義:exp1op=exp2
exp1=exp1opexp2
位運(yùn)算說明:“=”賦值運(yùn)算符與數(shù)學(xué)中等號(hào)(=)不同,不是等同關(guān)系。結(jié)合方向:自右向左優(yōu)先級(jí):14(只高于逗號(hào)運(yùn)算符)左側(cè)必須是變量,不能是常量或表達(dá)式賦值表達(dá)式的值與變量值相等,且可嵌套賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型例3=x-2*y;a+b=3;例
floatf;
inti;
i=10;
f=i;則
f=10.0例inti;i=2.56;//結(jié)果i=2;例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)<>//表達(dá)式值為5,a,b,c值為5//b=5;a=5//表達(dá)式值11,c=6,a=11//表達(dá)式值10,a=10,b=4,c=6//表達(dá)式值5,a=5,b=10,c=2計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)如:y=a+b/c
與y=a+b/c;i++;i--;在賦值表達(dá)式的尾部加上“;”就構(gòu)成賦值語(yǔ)句。說明:“=”賦值運(yùn)算符與數(shù)學(xué)中等號(hào)(=)不同,不是等同關(guān)系。結(jié)合方向:自右向左優(yōu)先級(jí):14(只高于逗號(hào)運(yùn)算符)左側(cè)必須是變量,不能是常量或表達(dá)式賦值表達(dá)式的值與變量值相等,且可嵌套賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型例:a=12;a+=a-=a*a例:inta=2;a%=4-1;a+=a*=a-=a*=3;<>//a=-264//a=0計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)在賦值表達(dá)式的尾部加上“;”就構(gòu)成賦值語(yǔ)句。
等價(jià)于a=a+(a=a-(a*a))等價(jià)于a=a+(a=a*(a=a-(a=a*3)))逗號(hào)運(yùn)算符和表達(dá)式形式:表達(dá)式1,表達(dá)式2,……表達(dá)式n結(jié)合性:從左向右優(yōu)先級(jí):最低(順序求值運(yùn)算符)逗號(hào)表達(dá)式的值:等于表達(dá)式n的值用途:常用于循環(huán)for語(yǔ)句中例a=3*5,a*4a=3*5,a*4,a+5例x=(a=3,6*3)x=a=3,6*a例a=1;b=2;c=3;
printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);<>//a=15,表達(dá)式值60//a=15,表達(dá)式值20//賦值表達(dá)式,表達(dá)式值18,x=18//逗號(hào)表達(dá)式,表達(dá)式值18,x=3//1,2,3//3,2,3計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)逗號(hào)運(yùn)算符和表達(dá)式形式:表達(dá)式1,表達(dá)式2,……表達(dá)式n結(jié)合性:從左向右優(yōu)先級(jí):最低(順序求值運(yùn)算符)逗號(hào)表達(dá)式的值:等于表達(dá)式n的值用途:常用于循環(huán)for語(yǔ)句中例:/*ch2_6.c*/#include<stdio.h>main(){intx,y=7;floatz=4;x=(y=y+6,y/z);printf("x=%d\n",x);}運(yùn)行結(jié)果:x=3<>計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)復(fù)合語(yǔ)句:用{…}括起來的一組語(yǔ)句一般形式:{語(yǔ)句1;語(yǔ)句2;……語(yǔ)句n}如:{z=x+y;t=z/100;printf(“%f”,t);}說明:語(yǔ)法上和單一語(yǔ)句相同復(fù)合語(yǔ)句可嵌套計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)空語(yǔ)句:只有一個(gè)分號(hào)的語(yǔ)句。一般形式:{;}說明:程序執(zhí)行時(shí)不產(chǎn)生任何操作。有時(shí)用來做被轉(zhuǎn)向點(diǎn),或循環(huán)語(yǔ)句中的循環(huán)體。格式:
putchar(c)參數(shù):c為字符常量、字符和整型變量或表達(dá)式功能:向終端輸出一個(gè)字符返值:正常,為顯示的代碼值;出錯(cuò),為EOF(-1)C語(yǔ)言無(wú)輸入/輸出語(yǔ)句,輸入/輸出操作由函數(shù)實(shí)現(xiàn)。C語(yǔ)言庫(kù)函數(shù)中有一批“標(biāo)準(zhǔn)的輸入輸出函數(shù)”,其中包括:putchar(輸出字符),getchar(輸入字符),printf(格式輸出),scanf(格式輸入),puts(輸出字符串),gets(輸入字符串)等。
2.5數(shù)據(jù)輸入與輸出計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)在使用C語(yǔ)言庫(kù)函數(shù)時(shí),要用預(yù)編譯命令“#include”(放在程序開頭)將有關(guān)的“頭文件”包括到用戶源文件中。在“頭文件”中包含了與用到的函數(shù)有關(guān)的信息。字符數(shù)據(jù)輸入輸出字符輸出函數(shù)考慮到printf和scanf函數(shù)使用頻繁,系統(tǒng)允許在使用這兩個(gè)函數(shù)時(shí)可不加“#include”命令。調(diào)用標(biāo)準(zhǔn)輸入/輸出庫(kù)函數(shù):要用到“stdio.h”文件(后綴中“h”是head的縮寫;stdio是standard
input&output縮寫,它包含了與I/O(輸入/輸出)庫(kù)有關(guān)的變量定義和宏定義)。文件開頭應(yīng)有:
#include<stdio.h>
或#include“stdio.h”
預(yù)編譯命令。/*ch3_1.c*/#include<stdio.h>main(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);}運(yùn)行結(jié)果:AB例計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)格式:getchar()功能:從終端輸入一字符返值:正常,返回讀取的代碼值;出錯(cuò),返回EOF(-1)說明:getchar函數(shù)沒有參數(shù),函數(shù)的值就是從輸入設(shè)備得到的字符。字符輸入函數(shù)例/*ch3_4.c*/#include<stdio.h>main(){intc;printf("Enteracharacter:");c=getchar();printf("%c--->hex%x\n",c,c);}運(yùn)行結(jié)果:Enteracharacter:AA--->hex41計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)格式:printf(“格式控制串”,輸出列表)功能:按指定格式向終端輸出若干任意類型數(shù)據(jù)返值:正常,返回輸出字節(jié)數(shù);出錯(cuò),返回EOF(-1)輸出列表:要輸出的數(shù)據(jù)(可以沒有,多個(gè)時(shí)以“,”分隔)計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)格式輸入輸出函數(shù)格式輸出函數(shù)如:%d,%f如:printf()
printf(“%d%f”,a,b)
printf(“a=%db=%c”,a,b)格式控制串:用雙撇號(hào)括起來的字符串,包含兩種信息:格式說明:
%(修飾符)格式字符
作用:是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。普通字符:需要原樣輸出的字符。格式字符對(duì)不同類型的數(shù)據(jù)用不同的格式字符。常用的見下表:格式字符:說明 格式字符要用小寫格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對(duì)應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致,自動(dòng)按指定格式輸出111111111111111165535d,ix,Xoucse,Efg%%十六進(jìn)制無(wú)符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符字符串八進(jìn)制無(wú)符號(hào)整數(shù)小數(shù)形式浮點(diǎn)小數(shù)e和f中較短一種百分號(hào)本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+02567.789000567.789%計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)例
main(){unsignedintu=65535;printf(”u=%d\n",u);}
輸出結(jié)果:u=-1例main(){inta=3,b=4;printf(“%d%d\n”,a,b);
printf(“a=%d,b=%d\n”,a,b);}輸出結(jié)果:34
a=3,b=4例main(){inta=3,b=4;printf(“%d%d\n”,a,b);
printf(“a=%d,b=%d\n”,a,b);}附加格式說明符(修飾符)計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì).n對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對(duì)字符串,指定實(shí)際輸出位數(shù)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長(zhǎng)度<m,左補(bǔ)空格;否按實(shí)際輸出輸出數(shù)據(jù)在域內(nèi)左對(duì)齊(缺省右對(duì)齊)-指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)(+)+輸出數(shù)值時(shí)指定左面不使用的空位置自動(dòng)填00在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0x#在d,o,x,u前,指定輸出為long型數(shù)據(jù)在e,f,g前,指定輸出精度為double型l例inta=1234;floatf=123.456;charch=‘a(chǎn)’;printf(“%8d,%2d\n”,a,a);printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);printf(“%3c\n”,ch);運(yùn)行1234,1234結(jié)果:123.456000,123.456000,123.5,123.46,1.23e+02
a例staticchara[]=“Hello,world!”printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a);運(yùn)行結(jié)果:Hello,world!
Hello,world!
HelloHello
Hel
例m.n計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)例inta=1234;floatf=123.456;staticcharc[]=“Hello,world!”;printf(“%8d,%-8d\n”,a,a);printf(“%10.2f,%-10.1f\n”,f,f);printf(“%10.5s,%-10.3s\n”,c,c);運(yùn)行結(jié)果:1234,1234
123.46,123.5
Hello,Hel例-計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)例inta=1234;floatf=123.456;printf(“%08d\n”,a);printf(“%010.2f\n”,f);printf(“%0+8d\n”,a);printf(“0+10.2f\n”,f);例0、+例inta=123;printf(“%o,%#o,%X,%#X\n”,a,a,a,a);
例#例longa=65536;
printf(“%d,%8ld\n”,a,a);
例l00000000000000010000000000000000//00001234//0000123.46//000+1234//000+123.56//173,0173,7B,0X7B//0,65536計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)格式輸入函數(shù)格式:
scanf(“格式控制串”,地址表列)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲(chǔ)單元中,并按回車鍵結(jié)束返值:正常,返回輸入數(shù)據(jù)個(gè)數(shù)地址表列:變量的地址,常用取地址運(yùn)算符&格式字符:d,i,o,x,u,c,s,f,e例scanf(“%d”,&a);
輸入:10
則a=10例scanf(“%x”,&a);
輸入:11
則a=17計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)附加格式說明符(修飾符)l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實(shí)數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項(xiàng)讀入后不賦給變量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);
輸入19991015
則1999yy,10mm,15dd例scanf(“%3d%*4d%f”,&k,&f);
輸入12345678765.43則123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);
輸入1234567則12a,67b例scanf(“%3c%2c”,&c1,&c2);
輸入abcde
則‘a(chǎn)’c1,‘d’c2計(jì)算機(jī)技術(shù)基礎(chǔ)
第二章簡(jiǎn)單的C程序設(shè)計(jì)輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符其它字符做分隔符:格式串中兩個(gè)格式符間字符例scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);
輸入123123123輸出a=123,b=83,c=291例
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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年粉煤灰銷售合同范本(含供應(yīng)鏈金融服務(wù))
- 二零二五美容院美容院美容院品牌戰(zhàn)略規(guī)劃與實(shí)施合同3篇
- 影視院校校外實(shí)訓(xùn)基地協(xié)議書(2篇)
- 二零二五年度民辦中學(xué)教師教學(xué)質(zhì)量提升服務(wù)合同4篇
- 打樁施工方案
- 2025年度個(gè)人房貸提前還款手續(xù)費(fèi)合同4篇
- 財(cái)務(wù)風(fēng)險(xiǎn)述職報(bào)告模板
- 2024年中級(jí)經(jīng)濟(jì)師考試題庫(kù)含答案【鞏固】
- 二零二五年度時(shí)尚面料品牌授權(quán)合作協(xié)議4篇
- 2025年能源互聯(lián)網(wǎng)項(xiàng)目合作實(shí)施保密及技術(shù)交流協(xié)議3篇
- 數(shù)學(xué)-山東省2025年1月濟(jì)南市高三期末學(xué)習(xí)質(zhì)量檢測(cè)濟(jì)南期末試題和答案
- 中儲(chǔ)糧黑龍江分公司社招2025年學(xué)習(xí)資料
- 湖南省長(zhǎng)沙市2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期末考試試卷
- (完整版)小學(xué)生24點(diǎn)習(xí)題大全(含答案)
- 四川省2023年普通高等學(xué)校高職教育單獨(dú)招生文化考試(中職類)數(shù)學(xué)試題(原卷版)
- 2024年3月江蘇省考公務(wù)員面試題(B類)及參考答案
- 醫(yī)院科室考勤表
- 春節(jié)期間化工企業(yè)安全生產(chǎn)注意安全生產(chǎn)
- 數(shù)字的秘密生活:最有趣的50個(gè)數(shù)學(xué)故事
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)一 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)關(guān)鍵要素分解
- 基于ADAMS的汽車懸架系統(tǒng)建模與優(yōu)化
評(píng)論
0/150
提交評(píng)論