




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目二動(dòng)力航天基本數(shù)據(jù)類(lèi)型與簡(jiǎn)單程序設(shè)計(jì)-------------------------------------------《C語(yǔ)言程序設(shè)計(jì)》項(xiàng)目描述黨的二十大報(bào)告指出,教育、科技、人才是全面建設(shè)社會(huì)主義現(xiàn)代化國(guó)家的基礎(chǔ)性、戰(zhàn)略性支撐。必須堅(jiān)持科技是第一生產(chǎn)力。我國(guó)航天科技實(shí)現(xiàn)跨越式發(fā)展,航天發(fā)射能力顯著提升,航天強(qiáng)國(guó)建設(shè)邁出堅(jiān)實(shí)步伐。本項(xiàng)目以中國(guó)航天為主線,通過(guò)命名宇宙飛船,加強(qiáng)對(duì)數(shù)據(jù)類(lèi)型、標(biāo)識(shí)符的認(rèn)識(shí);以慶?!吧裰菔摺卑l(fā)射圓滿(mǎn)成功任務(wù)強(qiáng)化基本變量、常見(jiàn)常量知識(shí)內(nèi)容;在理解掌握數(shù)據(jù)的格式化輸入輸出時(shí),運(yùn)用任務(wù)“你最喜歡的航天員”夯實(shí)輸入輸出格式、格式符等基礎(chǔ)知識(shí);最后以任務(wù)“計(jì)算宇宙飛船牽引力”將C語(yǔ)言中的運(yùn)算符、表達(dá)式、常用的數(shù)學(xué)函數(shù)內(nèi)容串聯(lián)起來(lái)。從最簡(jiǎn)單的標(biāo)識(shí)符命名開(kāi)始,以程序設(shè)計(jì)為主線,由淺入深,由簡(jiǎn)單到復(fù)雜,結(jié)合實(shí)際,自然地、循序漸進(jìn)地編寫(xiě)程序。項(xiàng)目目標(biāo)了解C語(yǔ)言的基本數(shù)據(jù)類(lèi)型,理解常量和變量的定義掌握賦值語(yǔ)句以及數(shù)據(jù)輸入、輸出語(yǔ)句的用法理解運(yùn)算符、表達(dá)式及常用函數(shù)的用法掌握編寫(xiě)程序的思路方法,能夠完成簡(jiǎn)單的程序的編寫(xiě)任務(wù)一命名宇宙飛船
——數(shù)據(jù)的表現(xiàn)形式任務(wù)描述中國(guó)空間站叫“天宮”,核心艙叫“天和”,貨運(yùn)飛船叫“天舟”,載人飛船叫“神舟”,實(shí)驗(yàn)艙叫“問(wèn)天”、“夢(mèng)天”,中國(guó)航天人把探索浩瀚宇宙的心愿都寄托在航天器美好的名字,中國(guó)航天起名充滿(mǎn)“中式浪漫”詩(shī)意而唯美,閱讀以下內(nèi)容,用你所學(xué)知識(shí)為加點(diǎn)的數(shù)據(jù)設(shè)計(jì)標(biāo)識(shí)符,并完成以下表格嗎?語(yǔ)境數(shù)據(jù)數(shù)據(jù)類(lèi)型類(lèi)型標(biāo)識(shí)符自定義標(biāo)識(shí)符截至2024年3月,神舟十七號(hào)乘組太空出差日程過(guò)半,入駐空間站4個(gè)月來(lái),他們先后進(jìn)行了2次出艙活動(dòng),陸續(xù)開(kāi)展了進(jìn)行艙外載荷安裝及空間站維護(hù)維修等相關(guān)工作。神舟十七號(hào)
3個(gè)月
2次
空間站
單擊此處添加名稱(chēng)CLICKTOADDCAPTIONTEXT知識(shí)準(zhǔn)備:2.1基本數(shù)據(jù)類(lèi)型
2-2常用標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型類(lèi)型標(biāo)識(shí)符名
稱(chēng)字節(jié)數(shù)范
圍char字符型1-27~+27-1(-128~+127)short短整型2-215~+215-1(-32768~32767)int或long長(zhǎng)整型4-231~+231-1(-2147483648~2147483647)float浮點(diǎn)型(實(shí)型)410-37~10+38(絕對(duì)值)double雙精度浮點(diǎn)型810-307~10+308(絕對(duì)值)說(shuō)明:在Dev-C++或visualc中,int同long,在winTC中,int等同short。如何衡量數(shù)據(jù)類(lèi)型所占空間大???bit,中文叫法:位Byte,中文叫法:字節(jié)Kilobyte(KB),中文叫法:KMegabyte(MB),中文叫法:兆Gigabyte(GB),中文叫法:GTerabyte(TB),中文叫法:T1TB==1,024GB1GB==1,024MB1MB==1,024KB1KB==1,024B1B==8b知識(shí)準(zhǔn)備:2.1基本數(shù)據(jù)類(lèi)型一個(gè)漢字,占兩個(gè)字符(字節(jié))知識(shí)準(zhǔn)備:2.1基本數(shù)據(jù)類(lèi)型一個(gè)漢字,占兩個(gè)字符(字節(jié))一個(gè)位有多大?只能是“0”或者“1”,這叫二進(jìn)制。一個(gè)字節(jié)有多大?保存一個(gè)字符(英文字母、數(shù)字、符號(hào));ASCII(美國(guó)標(biāo)準(zhǔn)信息交換碼)編碼(見(jiàn)P364附錄A,常用字符與ASCII碼對(duì)照表),可以表示0~255之間的正整數(shù)。知識(shí)準(zhǔn)備:2.1基本數(shù)據(jù)類(lèi)型4種類(lèi)型修飾符:(1)signed——可以修飾int,char。eg:有符號(hào)整型
signedint。
int默認(rèn)是有符號(hào)整數(shù),char默認(rèn)為無(wú)符號(hào)。(2)unsigned——可以修飾int,char
eg:無(wú)符號(hào)整型unsignedint。(3)long——可以修飾int,doubleeg:長(zhǎng)整型為longint(4)short——可以修飾integ:短整型shortint類(lèi)型修飾符可以與字符型或者整型數(shù)據(jù)配合使用知識(shí)準(zhǔn)備:2.1基本數(shù)據(jù)類(lèi)型單擊此處添加名稱(chēng)CLICKTOADDCAPTIONTEXT知識(shí)準(zhǔn)備:2.2標(biāo)識(shí)符和關(guān)鍵字你認(rèn)識(shí)以下事物或人嗎?單擊此處添加名稱(chēng)CLICKTOADDCAPTIONTEXT標(biāo)識(shí)符又稱(chēng)為用戶(hù)自定義標(biāo)識(shí)符,是程序員用來(lái)表示各種程序元素而命名的符號(hào)。標(biāo)識(shí)符命名規(guī)則:只能由英文字母、數(shù)字和下劃線組成,且第一個(gè)字母必須是字母或下劃線大小寫(xiě)是不同的字符,就是C c不能用關(guān)鍵字和保留標(biāo)識(shí)符(比如標(biāo)準(zhǔn)庫(kù)函數(shù)名字)作為自定義的標(biāo)識(shí)符一個(gè)標(biāo)識(shí)符中不允許有空格、+、-等其它符號(hào)長(zhǎng)度任意=知識(shí)準(zhǔn)備:2.2標(biāo)識(shí)符和關(guān)鍵字單擊此處添加名稱(chēng)CLICKTOADDCAPTIONTEXT關(guān)鍵字又稱(chēng)保留字,由C語(yǔ)言定義的,具有特定含義的單詞。-每一個(gè)關(guān)鍵字都有一種特定含義,不能被賦予別的含義。都是小寫(xiě)專(zhuān)用,不能用來(lái)定義變量名或函數(shù)名等共32個(gè),見(jiàn)表1-1知識(shí)準(zhǔn)備:2.2標(biāo)識(shí)符和關(guān)鍵字單擊此處添加名稱(chēng)CLICKTOADDCAPTIONTEXTautobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile表1-1知識(shí)準(zhǔn)備:2.2標(biāo)識(shí)符和關(guān)鍵字單擊此處添加名稱(chēng)CLICKTOADDCAPTIONTEXT任務(wù)實(shí)施語(yǔ)境數(shù)據(jù)數(shù)據(jù)類(lèi)型類(lèi)型標(biāo)識(shí)符自定義標(biāo)識(shí)符截至2024年3月,神舟十七號(hào)乘組太空出差日程過(guò)半,入駐空間站4個(gè)月來(lái),他們先后進(jìn)行了2次出艙活動(dòng),陸續(xù)開(kāi)展了進(jìn)行艙外載荷安裝及空間站維護(hù)維修等相關(guān)工作。神舟十七號(hào)字符串stringShzh_174個(gè)月短整型shortT_42次短整型shortNm_2空間站字符串stringKongjzh注:其他滿(mǎn)足命名規(guī)則的自定義標(biāo)識(shí)符也可以使用。單擊此處添加名稱(chēng)CLICKTOADDCAPTIONTEXT任務(wù)拓展判斷以下標(biāo)識(shí)符定義是否正確的:
myVariable9pinsMYVARIABLEia+ctesting1-2-3._myvariable$myvariable
name-scorex&yINTint任務(wù)二慶祝神州十七發(fā)射圓滿(mǎn)成功
——數(shù)據(jù)的表現(xiàn)形式任務(wù)描述
2023年10月26日11時(shí)14分,搭載神舟十七號(hào)載人飛船的長(zhǎng)征二號(hào)F遙十七運(yùn)載火箭在酒泉衛(wèi)星發(fā)射中心點(diǎn)火發(fā)射,約10分鐘后,神舟十七號(hào)載人飛船與火箭成功分離,進(jìn)入預(yù)定軌道,航天員乘組狀態(tài)良好,發(fā)射取得圓滿(mǎn)成功。為慶祝神舟十七號(hào)發(fā)射圓滿(mǎn)成功,輸出以下內(nèi)容:慶祝神舟十七發(fā)射圓滿(mǎn)成功!ILOVECHINA!神舟十七的發(fā)射是我國(guó)載人航天工程立項(xiàng)以來(lái)的第30次飛行任務(wù),也是我國(guó)第12次載人飛行任務(wù),本次載人發(fā)射的長(zhǎng)二F火箭飛行可靠性指標(biāo)提升至0.9896,安全性指標(biāo)達(dá)0.99996。任務(wù)描述常量是指數(shù)據(jù)在程序的運(yùn)行過(guò)程中不會(huì)發(fā)生改變的量。只能被引用,不能被重新賦值。C語(yǔ)言的常量可分為:整型常量實(shí)型常量字符型常量字符串常量符號(hào)常量知識(shí)準(zhǔn)備:2.3.1常量和符號(hào)常量符號(hào)常量用一個(gè)標(biāo)識(shí)符代表一個(gè)常量,它的值在作用域內(nèi)不能改變,也不能被賦值。定義形式:#define標(biāo)識(shí)符字符串注意:字符串后面不能有分號(hào)“#”:表示一條預(yù)處理命令“define”:是關(guān)鍵字“標(biāo)識(shí)符”:是用戶(hù)自己定義的知識(shí)準(zhǔn)備:2.3.1常量和符號(hào)常量eg: #definePI3.1415926。此后,只要是在文件中出現(xiàn)的PI均可用3.1415926知識(shí)準(zhǔn)備:2.3.1常量和符號(hào)常量整型常量又稱(chēng)為整數(shù),整數(shù)有三種數(shù)值表現(xiàn)形式:十進(jìn)制整型常量。沒(méi)有前綴,其數(shù)碼取值范圍為0~9八進(jìn)制整型常量。以0開(kāi)頭,數(shù)碼取值范圍為0~7。如0200,0754。089非法。十六進(jìn)制整型常量。以0x開(kāi)頭,其數(shù)碼取值范圍為0~9,A~F或a~f,如0x80,0x8F。100用8進(jìn)制表示為0144,用16進(jìn)制表示為0x64二進(jìn)制和十六進(jìn)制最常用,八進(jìn)制不常用知識(shí)準(zhǔn)備:2.3.2整型常量098
0x2d
990x3H034100判斷???知識(shí)準(zhǔn)備:2.3.2整型常量格式字符含義
%d按十進(jìn)制整數(shù)形式輸出
%o按八進(jìn)制無(wú)前綴整數(shù)形式輸出
%x按十六進(jìn)制無(wú)前綴整數(shù)形式輸出
%#o按八進(jìn)制有前綴整數(shù)形式輸出
%#x按十六進(jìn)制有前綴整數(shù)形式輸出知識(shí)準(zhǔn)備:2.3.2整型常量100=0144=0x64知識(shí)準(zhǔn)備:2.3.2整型常量實(shí)型數(shù)據(jù)什么是實(shí)型常量知識(shí)準(zhǔn)備:2.3.3實(shí)型(浮點(diǎn)型)常量實(shí)型(浮點(diǎn)型)常量
實(shí)型常量分float和double兩類(lèi),默認(rèn)是雙精度(double)
在C語(yǔ)言中,實(shí)型常量有兩種表示形式。知識(shí)準(zhǔn)備:2.3.3實(shí)型(浮點(diǎn)型)常量(1)十進(jìn)制小數(shù)形式組成:數(shù)字,小數(shù)點(diǎn)和+、-符號(hào),小數(shù)點(diǎn)是必須有的,不能只有一個(gè)小數(shù)點(diǎn)。如果絕對(duì)值小于1,小數(shù)點(diǎn)前的0可以省略如:.123,1.,25.6,-72.8,99.,0.0等。小數(shù)形式:+、—0~9.知識(shí)準(zhǔn)備:2.3.3實(shí)型(浮點(diǎn)型)常量指數(shù)形式(科學(xué)計(jì)數(shù)法):十進(jìn)制數(shù)aEn階碼標(biāo)志階碼(2)指數(shù)形式(科學(xué)記數(shù)法)一般形式:aEn(a表示十進(jìn)制數(shù),n表示指數(shù))→a*10n字母e或E前后必須有數(shù)字,且后面的數(shù)字必須是整數(shù),以及彼此之間不得有空格如:1.34E1.2.E2在非法的浮點(diǎn)數(shù)。知識(shí)準(zhǔn)備:2.3.3實(shí)型(浮點(diǎn)型)常量小數(shù)形式-630.538.20.0314指數(shù)形式-6.305e+23.82e13.14e-2說(shuō)明:(1)3.82e1中階碼的正號(hào)被省略;
(2)小數(shù)形式中,小數(shù)點(diǎn)前部分和后部分,均可省略。
如:2.0可寫(xiě)成2.,0.2可寫(xiě)成.2。知識(shí)準(zhǔn)備:2.3.3實(shí)型(浮點(diǎn)型)常量格式字符含義
%f按小數(shù)形式輸出浮點(diǎn)數(shù)
%e按科學(xué)記數(shù)法形式輸出浮點(diǎn)數(shù)知識(shí)準(zhǔn)備:2.3.3實(shí)型(浮點(diǎn)型)常量123.4=1.234*102科學(xué)記數(shù)法可表示為1.234E2;0.0123=1.23*10-2科學(xué)記數(shù)法表示為1.23E-2;知識(shí)準(zhǔn)備:2.3.3實(shí)型(浮點(diǎn)型)常量字符常量指由一對(duì)單引號(hào)括起來(lái)的一個(gè)字符?!疉’,’a’,’2’,'?','#'....特點(diǎn):1、字符常量只能用單引號(hào)括出來(lái),不能使用雙引號(hào)或其他括號(hào)2、引號(hào)內(nèi)只能是一個(gè)字符,不允許'ab','12'....3、數(shù)字被定義為字符型后,就不能參與數(shù)值運(yùn)算,即'5'與5是不同的 ·轉(zhuǎn)義字符:是一種特殊的字符型常量 -以反斜線“\”開(kāi)頭,后面跟著一個(gè)或多個(gè)字符 -主要用來(lái)表示控制代碼,例如“\r回車(chē)”、“\n換行”等?!颬21常用轉(zhuǎn)義字符多用于輸出語(yǔ)句知識(shí)準(zhǔn)備:2.3.4字符常量標(biāo)準(zhǔn)ASCII碼有128個(gè)字符,其中:(1)碼值0~31為控制字符。例如,回車(chē)換行、文件結(jié)束標(biāo)志、字符串結(jié)束標(biāo)志等。(2)10個(gè)阿拉伯?dāng)?shù)字‘0’~‘9’的碼值是連續(xù)的。(3)26個(gè)大寫(xiě)字母’A’~’Z’是連續(xù)的,26個(gè)小寫(xiě)字母’a’~’z’是連續(xù)的。知識(shí)準(zhǔn)備:2.3.4字符常量字符ASCII碼值二進(jìn)制存儲(chǔ)方式‘A’6501000001‘a(chǎn)’9701100001‘0’4800011000知識(shí)準(zhǔn)備:2.3.4字符常量字符常量可以參與各種運(yùn)算。例如:‘B’-‘A’=1‘a(chǎn)’-32=66‘c’<‘d’為true知識(shí)準(zhǔn)備:2.3.4字符常量C語(yǔ)言閱讀程序#include<stdio.h>intmain(){printf("C\tlanguage\tis\n");printf("ths\be\t\107od\'s\tLang\165age");return0;}請(qǐng)寫(xiě)出運(yùn)行結(jié)果程序解讀:\t表示水平制表,占位8列;\b表示退格,將當(dāng)前位置移到前一列,用后面的字符將前面的字符替換掉。\107表示字符’G’\165表示字符’u’例知識(shí)準(zhǔn)備:2.3.4字符常量C語(yǔ)言常用轉(zhuǎn)義字符表:說(shuō)明:轉(zhuǎn)義字符'\‘'就
代表字符'’'八進(jìn)制102十進(jìn)制66對(duì)應(yīng)字符B轉(zhuǎn)義字符’\102'知識(shí)準(zhǔn)備:2.3.4字符常量轉(zhuǎn)義字符的使用#include<stdio.h>intmain(){ printf("\"china\"\n"); printf("My\tCountry.\n"); printf("Iamhap\160\x79.\n"); printf("Haya\b\b\b\bowareyou\n"); return0;}運(yùn)行程序,輸出結(jié)果為:知識(shí)準(zhǔn)備:2.3.4字符常量知識(shí)準(zhǔn)備:2.3.5字符串常量字符串常量是“”括起來(lái)的字符序列例如:”hello”,”123”等字符串“Hello”的長(zhǎng)度為5(即字符的個(gè)數(shù)),但在內(nèi)存中所占的字節(jié)數(shù)為6,即存放“Hello\0”。其在內(nèi)存中的存儲(chǔ)形式為:Hello\0‘a(chǎn)’“a”aa\0存儲(chǔ)形式存儲(chǔ)形式字符串常量在內(nèi)存中的存儲(chǔ)形式示例示例知識(shí)準(zhǔn)備:2.3.5字符串常量格式字符含義
%c按字符形式輸出
%s按字符串形式輸出
知識(shí)準(zhǔn)備:2.3.5字符串常量字符常量字符串常量使用’’單引號(hào)使用””雙引號(hào)表示單個(gè)字符表示一個(gè)或多個(gè)字符可將其賦予一個(gè)字符串常量不能賦予一個(gè)字符常量占一個(gè)字節(jié)的內(nèi)存空間占內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1輸出格式符為%c輸出格式符為%s字符串常量與字符常量之間的區(qū)別常量知識(shí)準(zhǔn)備:2.3.5字符串常量#include<stdio.h>main(){printf(“ch1=%c,ch2=%c\n”,'a','b');printf(“ch1=%d,ch2=%d\n”,'a','b');printf(“ch1=%d,ch2=%c\n”,'\101','\101');}ch1=a,ch2=bch1=97,ch2=98ch1=65,ch2=AASCII碼表:十進(jìn)制10對(duì)應(yīng)換行→\012等價(jià)于\n知識(shí)準(zhǔn)備:2.3.5字符串常量用char定義字符變量#include<stdio.h>main(){charc=’?’;//系統(tǒng)把“?”的ASCII代碼賦給變量cprintf(”%d%c\n”,c,c);}輸出結(jié)果是:63?知識(shí)準(zhǔn)備:2.3.5字符串常量#include<stdio.h>main(){charc1,c2;c1='a';c2='b';c1=c1-32;c2=c2-32;printf(“c1=%c,c2=%c\n”,c1,c2);}c1=A,c2=B字符型與整數(shù)型相互轉(zhuǎn)換知識(shí)準(zhǔn)備:2.3.5字符串常量
變量:在執(zhí)行過(guò)程中,其值可以改變的量稱(chēng)為變量
C語(yǔ)言中,變量必須先定義后使用知識(shí)準(zhǔn)備:2.4變量變量的聲明格式:
[修飾符]類(lèi)型變量名1,變量名2,….;如:intx,y;//定義x,y兩個(gè)整型變量floata,b,c;//定義a,b,c三個(gè)浮點(diǎn)型變量知識(shí)準(zhǔn)備:2.4變量敲黑板:-一個(gè)類(lèi)型后可以定義多個(gè)變量,之間用逗號(hào)隔開(kāi)。-類(lèi)型和變量名之間至少有一個(gè)空格。-最后一個(gè)變量名后必須有分號(hào)。-同一程序中,變量不允許重復(fù)定義。-變量定義在使用變量之前,一般放在函數(shù)體或語(yǔ)句塊開(kāi)頭部分知識(shí)準(zhǔn)備:2.4變量變量賦初值
定義變量后,在使用之前需要給變量一個(gè)初始值。
在C語(yǔ)言中,用賦值運(yùn)算“=”給變量賦值。如果聲明變量以后沒(méi)有賦初值,則會(huì)產(chǎn)生一個(gè)“變量還未被初始化”的錯(cuò)誤。知識(shí)準(zhǔn)備:2.4變量變量賦值的一般格式:先定義后賦值。intr;r=1;定義變量的同時(shí)為其賦值。intr=1;知識(shí)準(zhǔn)備:2.4變量intt;t=1;t=2;執(zhí)行后變量的值為2,而不是1intx=y=z=10;intx=10.5;執(zhí)行后,變量x的值是整數(shù)10
知識(shí)準(zhǔn)備:2.4變量基本數(shù)據(jù)類(lèi)型整型實(shí)型字符型變量+整型變量實(shí)型變量字符變量變量的分類(lèi)知識(shí)準(zhǔn)備:2.4變量1、定義了3個(gè)int型變量i、j、k和2個(gè)字符型變量c1、c2。inti,j,k;charcl,c2;2、定義兩個(gè)單精度浮點(diǎn)型變量x1,x2;floatx1,x2;3、定義兩個(gè)雙精度變量z1,z2;doublez1,z2;4、觀察以下程序,你能發(fā)現(xiàn)哪些問(wèn)題floatx;doubley;x=123456.789;y=1.23456789E5;知識(shí)準(zhǔn)備:2.4變量任務(wù)三你最喜歡的宇航員
——C語(yǔ)言輸入/輸出函數(shù)任務(wù)描述習(xí)近平總書(shū)記在黨的二十大報(bào)告中強(qiáng)調(diào):“加快建設(shè)國(guó)家戰(zhàn)略人才力量,努力培養(yǎng)造就更多大師、戰(zhàn)略科學(xué)家、一流科技領(lǐng)軍人才和創(chuàng)新團(tuán)隊(duì)、青年科技人才、卓越工程師、大國(guó)工匠、高技能人才?!痹谥袊?guó)航天事業(yè)中,涌現(xiàn)出一批優(yōu)秀的航天人,截至2024年3月,我國(guó)已有18名航天員登上太空,中國(guó)飛天第一人楊利偉、第一位出艙航天員翟志剛、第一位漫步太空的中國(guó)女航天員王亞平,放牛娃聶海勝,11年艱苦訓(xùn)練楊洪波,航天英雄的每一步都見(jiàn)證著中國(guó)載人航天事業(yè)的進(jìn)步。請(qǐng)你編程實(shí)現(xiàn):輸入你最喜歡的航天員的姓名,打印輸出,并選擇喜歡他的原因。任務(wù)描述視頻來(lái)自bilibili網(wǎng)站任務(wù)描述任務(wù)分析本次任務(wù)需要輸入航天員姓名,需要使用格式化輸入字符串,使用scanf語(yǔ)句;打印名稱(chēng),使用格式化輸出printf語(yǔ)句。選擇喜歡的原因,需要提供選項(xiàng),用printf語(yǔ)句提示,再格式化輸入字符。任務(wù)分析單擊此處添加名稱(chēng)CLICKTOADDCAPTIONTEXT任務(wù)準(zhǔn)備:2.5字符輸入輸出函數(shù)任務(wù)準(zhǔn)備:2.5字符輸入輸出函數(shù)常用頭文件:
stdio.h定義標(biāo)準(zhǔn)輸入輸出函數(shù)string.h定義字符串操作函數(shù)math.h定義sin、cos等數(shù)學(xué)函數(shù)#include<stdio.h>也可以寫(xiě)作:#include“stdio.h”也是成立的。任務(wù)準(zhǔn)備:2.5字符輸入輸出函數(shù)標(biāo)準(zhǔn)輸入輸出函數(shù):printf(格式輸出)scanf(格式輸入)putchar(輸出字符)getchar(輸入字符)puts(輸出字符串)gets(輸入字符串)最基本知識(shí)準(zhǔn)備:2.5.1字符型輸出putchar()單字符輸出函數(shù)功能:從計(jì)算機(jī)向顯示器終端輸出一個(gè)字符一般形式為:putchar(c)→輸出字符變量c的值
putchar(‘m’)→輸出單個(gè)字符m知識(shí)準(zhǔn)備:2.5.1字符型輸出putchar()輸出結(jié)果:open知識(shí)準(zhǔn)備:2.5.1字符型輸出putchar()/*例putchar(‘控制字符’)*/#include<stdio.h>main(){chara,b;a=‘O';b=‘k';putchar(a);putchar(‘\n’);putchar(b);}運(yùn)行結(jié)果:Ok
/*例putchar()含有轉(zhuǎn)義符*/#include<stdio.h>main(){chara;a='B';putchar('\101');putchar(a);}運(yùn)行結(jié)果:AB知識(shí)準(zhǔn)備:2.5.1字符型輸入getchar()功能:用getchar函數(shù)向計(jì)算機(jī)輸入一個(gè)字符一般形式:變量=getchar()1.getchar()函數(shù)沒(méi)有參數(shù)2.getchar()只能接收一個(gè)字符chara;a=getchar();printf(”輸入字符=%c”,getchar());tyhdjs輸入字符=t知識(shí)準(zhǔn)備:2.5.1字符型輸入getchar()3.回車(chē)鍵表示結(jié)束輸入。4.getchar()函數(shù)接收的字符可以賦給一個(gè)字符變量或整型變量,也可以只作為表達(dá)式一部分。例: a=getchar();putchar(a);等價(jià)于: putchar(getchar());知識(shí)準(zhǔn)備:2.5.1字符型輸入getchar()知識(shí)準(zhǔn)備:2.6格式化輸出函數(shù)知識(shí)準(zhǔn)備:2.6格式化輸出函數(shù)功能:按照指定的格式輸出數(shù)據(jù)。按照輸出內(nèi)容要求不同,printf()有兩種使用形式輸出內(nèi)容不含變量,也叫原樣輸出格式輸出內(nèi)容含有變量,也叫格式輸出格式知識(shí)準(zhǔn)備:2.6格式化輸出函數(shù)1.原樣輸出格式一般形式: printf(“輸出字符串”);格式輸出格式功能:輸出內(nèi)容含有變量,按照指定格式輸出表列中變量的值。printf(“a=%d\n”,a);printf(“a=%d\nb=%d\n”,a,b);printf(“sum=%d\n”,a+b);printf(“x=%d\n”,5);知識(shí)準(zhǔn)備:2.6格式化輸出函數(shù)知識(shí)準(zhǔn)備:2.6格式化輸出函數(shù)printf("a=
%d
b=
%f",a,b);函數(shù)名輸出表列格式控制字符串格式字符格式字符普通字符普通字符注意:普通字符一定原樣輸出,如有空格或者逗號(hào)等都原樣輸出,格式字符要按照格式要求輸出。知識(shí)準(zhǔn)備:2.6格式化輸出函數(shù)表2-10常見(jiàn)的輸出格式字符格式字符功能說(shuō)明%d按十進(jìn)制整數(shù)形式輸出%c按字符形式輸出%s按字符串形式輸出%o按八進(jìn)制整數(shù)形式輸出%x按十六進(jìn)制整數(shù)形式輸出%f(%e)按浮點(diǎn)形式(或指數(shù)形式)輸出,默認(rèn)為6位小數(shù)%m.nf按浮點(diǎn)形式輸出,顯示寬度不小于m,小數(shù)位數(shù)為n格式說(shuō)明符在輸出時(shí)對(duì)不同類(lèi)型的數(shù)據(jù)要指定不同的格式聲明一般形式:%[格式修飾符]格式說(shuō)明符%d按十進(jìn)制整數(shù)形式輸出%ffloat單精度型形式輸出知識(shí)準(zhǔn)備:2.6.1d格式符d格式符(%d):輸出有符號(hào)的十進(jìn)制整數(shù)按十進(jìn)制整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出,正數(shù)的“+”不輸出。%nd:指定輸出數(shù)據(jù)的域?qū)?所占列數(shù)為n)知識(shí)準(zhǔn)備:2.6.1d格式符
printf(”%5d\n%5d\n”,12,-345);00012(12前面有3個(gè)空格)0-345(-345前面有1個(gè)空格)f格式符(%f):輸出實(shí)數(shù),以小數(shù)形式輸出
%f:不指定數(shù)據(jù)寬度,根據(jù)數(shù)據(jù)實(shí)際情況決定數(shù)據(jù)列數(shù)0.333333floata=1;printf(”%f”,a/3);知識(shí)準(zhǔn)備:2.6.2f格式符
%mf:指定數(shù)據(jù)寬度,即輸出數(shù)據(jù)占m列00000.333333//0前4個(gè)空格
floata=1;printf(”%12f”,a/3);知識(shí)準(zhǔn)備:2.6.2f格式符%-mf:輸出數(shù)據(jù)占m列,并且輸出的數(shù)據(jù)向左靠數(shù)據(jù)長(zhǎng)度不超過(guò)m時(shí),數(shù)據(jù)向左靠,右邊補(bǔ)空格0.3333330000
//向左靠,3后面4個(gè)空格
floata=1;printf(”%-12f”,a/3);知識(shí)準(zhǔn)備:2.6.2f格式符%m.nf:輸出數(shù)據(jù)占m列,其中包括n位小數(shù)5.238005.2400005.2floata=5.238;printf(”%3.4f\n”,a);printf(”%5.2f\n”,a);printf(”%7.1f\n”,a);知識(shí)準(zhǔn)備:2.6.2f格式符%-m.nf:輸出數(shù)據(jù)占m列,其中包括n位小數(shù),輸出數(shù)據(jù)向左靠數(shù)據(jù)長(zhǎng)度不超過(guò)m時(shí),數(shù)據(jù)向左靠,右邊補(bǔ)空格6.34506.3506.3000doublea=6.345;printf(”%-3.4f\n”,a);printf(”%-5.2f\n”,a);printf(”%-6.1f\n”,a);知識(shí)準(zhǔn)備:2.6.2f格式符⑥float型數(shù)據(jù)只能保證6~7位有效數(shù)字double型數(shù)據(jù)能保證15位有效數(shù)字如果一個(gè)數(shù)據(jù)的有效數(shù)字超過(guò)7位,最好選用雙精度型,以免丟失有效數(shù)據(jù)位數(shù)%ffloat單精度型%lfdouble雙精度型知識(shí)準(zhǔn)備:2.6.2f格式符⑦e格式符(%e):指數(shù)形式輸出實(shí)數(shù)1.234560e+002floata=123.456;printf(”%e”,a);小數(shù)6位指數(shù)共5位小數(shù)點(diǎn)前必須有而且只有1位非零數(shù)字知識(shí)準(zhǔn)備:2.6.2f格式符floata=123.456;printf(”%13.2e”,a);00001.23e+002//前面有4個(gè)空格
⑧“%m.ne”形式:指數(shù)形式輸出實(shí)數(shù),輸出數(shù)據(jù)占m列,其中包括n位小數(shù)知識(shí)準(zhǔn)備:2.6.2f格式符c格式符(%c):用來(lái)輸出一個(gè)字符(字節(jié))。值在0~255的整數(shù)。charch=’a’;printf(”%c”,ch);acharch=’a’;printf(”%5c”,ch);0000a//a前面有4個(gè)空格
一個(gè)整數(shù),如果在0~127范圍內(nèi),也可以用“%c”使之以字符的形式輸出,在輸出前,系統(tǒng)會(huì)將該整數(shù)作為ASCII碼轉(zhuǎn)換成相應(yīng)的字符。
inta=121;printf(”%c”,a);y//可看附錄1知識(shí)準(zhǔn)備:2.6.3C格式符知識(shí)準(zhǔn)備:2.6.3C格式符一個(gè)整數(shù),如果在0~127范圍內(nèi),也可以用“%c”使之以字符的形式輸出。
inta=121;printf(”%c”,a);y//可看附錄1如果一個(gè)整數(shù)比較大(比如377),則把它最后一個(gè)字節(jié)的信息以字符形式輸出。y(%c只考慮一個(gè)字節(jié))inta=377;printf(”%c”,a);0000000101111001最后一個(gè)字節(jié),對(duì)應(yīng)十進(jìn)制的121知識(shí)準(zhǔn)備:2.6.3C格式符s格式符(%s):用來(lái)輸出一個(gè)字符串有%s,%ms,%-ms,%m.ns,%-m.ns五種用法
#include<stdio.h>intmain(){printf(“%3s,%7.2s,%.4s,%-5.3s\n”,“CHINA”,“CHINA”,“CHINA”,“CHINA”);return0;}運(yùn)行結(jié)果:
CHINA,_____CH,CHIN,CHI__知識(shí)準(zhǔn)備:2.6.4S格式符敲黑板格式說(shuō)明決定最終輸出的格式格式說(shuō)明應(yīng)與輸出列表項(xiàng)個(gè)數(shù)相同,順序一致除X、E、G可以大寫(xiě)外,其他格式字符都必須小寫(xiě)。如果需要輸出“%”,可連續(xù)使用兩個(gè)%%。格式說(shuō)明與輸出類(lèi)型要匹配,否則輸出結(jié)果可能不是原值floatf2=3.14;printf("%%f:%f\n",f2);%f:3.140000問(wèn):如何輸出\n?printf(“\\n”);輸出:\n知識(shí)準(zhǔn)備:2.6.4S格式符功能:從鍵盤(pán)輸入數(shù)據(jù)。(按格式輸入數(shù)據(jù)賦給各輸入項(xiàng)。)一般形式:scanf(“格式控制字符串”,參數(shù)地址表);例如:inta,b;scanf("%d,%d",&a,&b);知識(shí)準(zhǔn)備:2.7格式化輸入函數(shù)格式字符含義
%c接收一個(gè)字符型數(shù)據(jù)%s 接收一個(gè)字符串型數(shù)據(jù)
%d接收一個(gè)整型數(shù)據(jù),直到遇到空格、Tab鍵或回車(chē)符
%f接收一個(gè)符點(diǎn)型數(shù)據(jù)(float)
%lf接收一個(gè)符點(diǎn)型數(shù)據(jù)(double)知識(shí)準(zhǔn)備:2.7格式化輸入函數(shù)敲黑板:
1.輸入數(shù)據(jù)時(shí),要根據(jù)格式控制字符串形式輸入數(shù)據(jù)格式字符串中有空白符(回車(chē)、Tab、空格)或無(wú)任何間隔,則輸入數(shù)據(jù)時(shí)必須用空格、Tab鍵或回車(chē)來(lái)分隔。例:scanf(“%d%d”,&a,&b); /*空格分隔*/或:scanf(“%d%d”,&a,&b); /*無(wú)任何分隔*/知識(shí)準(zhǔn)備:2.7格式化輸入函數(shù)例:scanf(“%d,%d”,&a,&b); 應(yīng)輸入:100,-50scanf(“x=%d,y=%d”,&a,&b); 應(yīng)輸入:x=100,y=-50scanf(“%d %d”,&a,&b); 應(yīng)輸入:100
-50知識(shí)準(zhǔn)備:2.7格式化輸入函數(shù)知識(shí)準(zhǔn)備:2.7格式化輸入函數(shù)2.格式控制字符串中有*格式(即%*d和%*s),表示跳過(guò)這個(gè)輸入的數(shù),把下個(gè)輸入的數(shù)讀入相應(yīng)位置中。例:scanf(“%d,%*d,%d”,&x,&y);
輸入:100,45,567系統(tǒng)將100賦給x,45被跳過(guò),567賦給y。知識(shí)準(zhǔn)備:2.7格式化輸入函數(shù)3、使用scanf()時(shí),往往先用printf()函數(shù)進(jìn)行必要的提示。知識(shí)準(zhǔn)備:2.7格式化輸入函數(shù)4、輸入實(shí)數(shù)時(shí)不能規(guī)定精度。例:scanf(“%4.1f”,&f);是非法的知識(shí)準(zhǔn)備:2.7格式化輸入函數(shù)5、以%c格式輸入時(shí),所有輸入的字符(包括空白符和轉(zhuǎn)義字符)都作為有效字符。空白符包括空格、回車(chē)和制表符Tab 知識(shí)準(zhǔn)備:2.7格式化輸入函數(shù)任務(wù)實(shí)施#include<stdio.h>main(){ charname[10]; charyy;
printf("請(qǐng)輸入你最喜歡的航天員的名字:\n"); scanf("%s",&name);
printf("我最喜歡的航天員的名字是%s\n",name);
printf("你喜歡他的原因是?請(qǐng)選擇\n");
printf("A、長(zhǎng)得帥,長(zhǎng)得好看\n");
printf("B、他有吃若耐勞的精神\n");
printf("C、他有大公無(wú)私的精神\n");
printf("D、他有精益求精的精神\n"); getchar(); scanf("%c",&yy);
printf("我最喜歡的航天員的原因選擇%c\n",yy); printf("\n");} chara,b; a=getchar(); putchar(a); putchar('\n'); b=getchar(); putchar(b); putchar('\n');三行空格原因:輸入h回車(chē)后,緩沖區(qū)有h和回車(chē)符兩個(gè)字符,讀取a后,執(zhí)行到b=getchar();會(huì)先從緩沖區(qū)讀取,讀取回車(chē)符輸出。那么,怎么清除回車(chē)符?任務(wù)拓展任務(wù)拓展
chara,b; a=getchar(); putchar(a); putchar('\n');
getchar(); b=getchar(); putchar(b); putchar('\n');原因:新加入的getchar()會(huì)先從緩沖區(qū)讀取,讀取回車(chē)符,這時(shí)緩沖區(qū)清空,再輸入j回車(chē),就輸出字母h和j。任務(wù)四計(jì)算宇宙飛船牽引力
——運(yùn)算符和表達(dá)式任務(wù)描述視頻截取自找商生活宇宙飛船以v0=104m/s的速度進(jìn)入分布均勻的宇宙微粒塵區(qū),飛船每前進(jìn)x長(zhǎng)度(這里以m為單位),要與n=104個(gè)微粒相碰,假如每一個(gè)微粒的質(zhì)量m=2×10-6kg,與飛船相碰后附在飛船上,為了使飛船的速度保持不變,飛船的牽引力應(yīng)為多大?
公式
:F=nmv02/x利用C語(yǔ)言編程求出飛船的牽引力是多大。提示:請(qǐng)輸入前進(jìn)距離是多少?任務(wù)描述小數(shù)可以用浮點(diǎn)型數(shù)據(jù)表示用scanf語(yǔ)句提示輸入行駛距離變量進(jìn)行定義后便可使用最后用printf語(yǔ)句輸出標(biāo)識(shí)符命名規(guī)則任務(wù)分析運(yùn)算符用于對(duì)常量和變量進(jìn)行各種連接和運(yùn)算的符號(hào),是對(duì)數(shù)據(jù)的加工。+、-、*、/、>、<任務(wù)準(zhǔn)備:2.8運(yùn)算符和表達(dá)式是由常量、變量、函數(shù)和運(yùn)算符組合起來(lái)的式子,
例如:d/(3*a+b)-6*c表達(dá)式任務(wù)準(zhǔn)備:2.8運(yùn)算符和表達(dá)式序號(hào)類(lèi)別運(yùn)算符1算術(shù)運(yùn)算符*、/、%、+、-自增運(yùn)算符++、自減運(yùn)算符--2關(guān)系運(yùn)算符>、〈、==、>=、〈=、!=3邏輯運(yùn)算符&&、||、!4位運(yùn)算符<<、>>、~、|、^、&5賦值運(yùn)算符=、+=、-=、*=、/=、%=<<=、>>=、&=、^=、|=6條件運(yùn)算符?:7逗號(hào)運(yùn)算符,8指針運(yùn)算符*、&9強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符(類(lèi)型),如(int)、(double)等10分量運(yùn)算符-〉、·、[]11其他運(yùn)算符如函數(shù)調(diào)用運(yùn)算符()等任務(wù)準(zhǔn)備:2.8運(yùn)算符和表達(dá)式優(yōu)先級(jí)共15級(jí)運(yùn)算符‘()’最高,為1級(jí)運(yùn)算符‘,’最低,為15級(jí)結(jié)合性“從左到右”“從右到左”單目運(yùn)算符、賦值運(yùn)算符和條件運(yùn)算符的結(jié)合方向從右到左任務(wù)準(zhǔn)備:2.8運(yùn)算符和表達(dá)式在計(jì)算表達(dá)式的值時(shí),必須按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,優(yōu)先級(jí)高的優(yōu)于優(yōu)先級(jí)低的進(jìn)行計(jì)算。如果一個(gè)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符優(yōu)先級(jí)別相同,則按照結(jié)合方向的原則進(jìn)行處理。左結(jié)合性,“從左向右”:如算術(shù)運(yùn)算符,x-y+z右結(jié)合性,“從右向左”:如賦值運(yùn)算符,x=y=z任務(wù)準(zhǔn)備:2.8運(yùn)算符和表達(dá)式符號(hào)名稱(chēng)示例+加法運(yùn)算符,或正值運(yùn)算符2+3、+5-減法運(yùn)算符,或負(fù)值運(yùn)算符3-2、-5*乘法運(yùn)算符2*3/除法運(yùn)算符4/2%取模運(yùn)算符,或稱(chēng)求余運(yùn)算符5%2任務(wù)準(zhǔn)備:2.8.1算術(shù)運(yùn)算符1、基本運(yùn)算符:+、-、*、/、%(求余)正常情況都為雙目運(yùn)算符,具有左結(jié)合性。除了“-”作為負(fù)值運(yùn)算符時(shí),是單目運(yùn)算符,如-8。任務(wù)準(zhǔn)備:2.8.1算術(shù)運(yùn)算符“/”運(yùn)算如果參與運(yùn)算量均為整型,則結(jié)果也為整型,舍去小數(shù)。
例如:10/7=1,2/5=0;如果運(yùn)算量中有一個(gè)實(shí)數(shù),則結(jié)果為雙精度實(shí)數(shù)
例5/2=2
-5/2.0=-2.5任務(wù)準(zhǔn)備:2.8.1算術(shù)運(yùn)算符“%”運(yùn)算要求參與運(yùn)算的量均為整型,結(jié)果為兩數(shù)相除的余數(shù)例如:5%3=2例5%2=-5%2=1%10=
5%1=5.5%2例5%2=1
-5%2=-11%10=
1
5%1=
05.5%2()任務(wù)準(zhǔn)備:2.8.1算術(shù)運(yùn)算符2、算術(shù)表達(dá)式(1)日常里的數(shù)學(xué)表達(dá)式。單獨(dú)的常量、變量、函數(shù)也是表達(dá)式。(2)書(shū)寫(xiě)時(shí)應(yīng)注意與數(shù)學(xué)表達(dá)式的區(qū)別:a+b(a*2)/c(x+r)*8-(a+b)/7i++sin(x)+sin(y)(++i)-(j++)+(k--)x2+2x+1→x*x+2*x+1→(-b+sqrt(b*b-4*a*c))/2*a任務(wù)準(zhǔn)備:2.8.1算術(shù)運(yùn)算符敲黑板:(1)不能在表達(dá)式中使用C語(yǔ)言不允許的標(biāo)識(shí)符例:將2πr寫(xiě)成2*π*r,C語(yǔ)言中沒(méi)有π這個(gè)符號(hào)(2)凡是相乘的地方必須寫(xiě)*,不能將*省略或用圓點(diǎn)。(3)出現(xiàn)括號(hào)一律使用圓括號(hào)(),不能使用“[”和“]”或者“{”和“}”,注意用圓括號(hào)來(lái)保持運(yùn)算順序任務(wù)準(zhǔn)備:2.8.1算術(shù)運(yùn)算符任務(wù)準(zhǔn)備:2.8.2自增自減運(yùn)算符C語(yǔ)言符號(hào)含義類(lèi)別結(jié)合性?xún)?yōu)先級(jí)表達(dá)式++自增運(yùn)算符單目運(yùn)算符從右到左2i++++i--自減運(yùn)算符單目運(yùn)算符從右到左2i----i自增自減運(yùn)算符的作用是使變量的值自增1或自減1。任務(wù)準(zhǔn)備:2.8.2自增自減運(yùn)算符a=i++;a=i;i=i+1;a=++i;i=i+1;a=i;自增自減運(yùn)算符前置與后置的區(qū)別:前置后置任務(wù)準(zhǔn)備:2.8.2自增自減運(yùn)算符靠加減,先加減再賦值;靠變量,先賦值后加減。任務(wù)準(zhǔn)備:2.8.2自增自減運(yùn)算符j=4,k=4j=4,k=3j=3;k=++j;j=3;k=j++;
a=3;b=5;c=(++a)*b;a=3;b=5;c=(a++)*b;
c=20,a=4c=15,a=4任務(wù)準(zhǔn)備:2.8.2自增自減運(yùn)算符intj=5,k=5,m,n;m=j++;n=++k;printf(“m=%d,j=%d\n”,m,j);printf(“n=%d,k=%d\n”,n,k);m=5,j=6n=6,k=6
//等同于:m=j;j=j+1;//等同于:k=k+1;n=k;任務(wù)準(zhǔn)備:2.8.2自增自減運(yùn)算符敲黑板舉例1、操作數(shù)只能是變量,不能是常量或表達(dá)式6--,++(a+b),++(-i)2、單目運(yùn)算符都是右結(jié)合的m=-n++;相當(dāng)于m=-(n++)3、多個(gè)運(yùn)算符連續(xù)出現(xiàn)時(shí),編譯系統(tǒng)盡可能多的從左到右將字符組合成一個(gè)運(yùn)算符。i+++j等價(jià)于(i++)+j,-i+++-j等價(jià)于-(i++)+(-j)任務(wù)準(zhǔn)備:2.8.2自增自減運(yùn)算符所謂賦值,就是將一個(gè)數(shù)據(jù)存入一個(gè)連續(xù)的具有若干存儲(chǔ)單元的存儲(chǔ)空間中,該存儲(chǔ)空間有一個(gè)名字,就是前面介紹的變量名。
對(duì)一個(gè)變量進(jìn)行定義后,這個(gè)變量如果沒(méi)有進(jìn)行賦值,它的值是不確定的。任務(wù)準(zhǔn)備:2.8.3賦值運(yùn)算符一般形式:
變量=表達(dá)式;功能:
首先計(jì)算賦值號(hào)“=”右邊表達(dá)式的值,然后將結(jié)果值送給賦值號(hào)“=”左邊的變量。
例如:
g=9.8;
g=10+20-9;“=”不是等號(hào),而是賦值號(hào)。任務(wù)準(zhǔn)備:2.8.3賦值運(yùn)算符‘A’=a+1;3=x/2;a+b=12任務(wù)準(zhǔn)備:2.8.3賦值運(yùn)算符賦值運(yùn)算符:“=”復(fù)合賦值運(yùn)算符:a=8;//???a+=8;//???x%=y+4;//???a=a+8;x=x%(y+4);賦值表達(dá)式和賦值語(yǔ)句:a=b=5;b=5;a=b;任務(wù)準(zhǔn)備:2.8.3賦值運(yùn)算符charc1,c2; c1='a'; c2='b';任務(wù)準(zhǔn)備:2.8.3賦值運(yùn)算符任務(wù)準(zhǔn)備:2.8.3賦值運(yùn)算符賦值過(guò)程中的類(lèi)型轉(zhuǎn)換:有兩種類(lèi)型轉(zhuǎn)換自動(dòng)類(lèi)型轉(zhuǎn)換---系統(tǒng)自動(dòng)完成強(qiáng)制類(lèi)型轉(zhuǎn)換---程序員控制完成任務(wù)準(zhǔn)備:2.8.3賦值運(yùn)算符如果賦值運(yùn)算符兩側(cè)的類(lèi)型不一致,但都是算術(shù)類(lèi)型時(shí),在賦值時(shí)要進(jìn)行類(lèi)型轉(zhuǎn)換,它是由系統(tǒng)自動(dòng)進(jìn)行的。s和c的數(shù)據(jù)類(lèi)型先轉(zhuǎn)換為int型,然后再進(jìn)行計(jì)算,結(jié)果為int型任務(wù)準(zhǔn)備:2.8.3賦值運(yùn)算符強(qiáng)制類(lèi)型轉(zhuǎn)換賦值時(shí),“=”右側(cè)表達(dá)式的類(lèi)型轉(zhuǎn)換為左側(cè)變量的類(lèi)型。強(qiáng)制類(lèi)型轉(zhuǎn)換的一般形式為
(類(lèi)型名)(表達(dá)式)例如: (double)a(將a轉(zhuǎn)換成double類(lèi)型) (int)(x+y)(將x+y的值轉(zhuǎn)換成int型) (float)(5%3)(將5%3的值轉(zhuǎn)換成float型)任務(wù)準(zhǔn)備:2.8.3賦值運(yùn)算符shortcharintunsignedlongdoublefloat數(shù)據(jù)類(lèi)型大小大的類(lèi)型轉(zhuǎn)換為小的類(lèi)型時(shí),要加上強(qiáng)制轉(zhuǎn)換符,但可能造成精度降低或溢出,使用時(shí)要注意。任務(wù)準(zhǔn)備:2.8.3賦值運(yùn)算符任務(wù)準(zhǔn)備:2.8.4逗號(hào)運(yùn)算符功能:把兩個(gè)表達(dá)式連接起來(lái),組成一個(gè)表達(dá)式一般形式:表達(dá)式1,表達(dá)式2,表達(dá)式3,……,表達(dá)式n結(jié)合性:從左向右逗號(hào)表達(dá)式的值==表達(dá)式n的值任務(wù)準(zhǔn)備:2.8.4逗號(hào)運(yùn)算符a=3*5,a*4;//a=15,表達(dá)式值60a=3*5,a*4,a+5;//a=15,表達(dá)式值20任務(wù)準(zhǔn)備:2.8.4逗號(hào)運(yùn)算符x=(a=3,6*3)x=a=3,6*a//表達(dá)式值18,x=18//表達(dá)式值18,x=3x=(2,3,4);x=2,3,4;//表達(dá)式值4,x=4//表達(dá)式值4,x=2任務(wù)準(zhǔn)備:2.8.5位運(yùn)算符符號(hào)含義類(lèi)別優(yōu)先級(jí)格式結(jié)合性~取反單目運(yùn)算符2~a右結(jié)合性<<左移雙目運(yùn)算符5a<<n左結(jié)合性>>右移雙目運(yùn)算符5b>>n左結(jié)合性&按位與雙目運(yùn)算符8a&b左結(jié)合性^安位異或雙目運(yùn)算符9a^b左結(jié)合性|按位或雙目運(yùn)算符10a|b左結(jié)合性位運(yùn)算是指對(duì)操作數(shù)以二進(jìn)制位(bit)為單位進(jìn)行的數(shù)據(jù)處理。每一個(gè)二進(jìn)制位只能存放一位二進(jìn)制數(shù)”0”或”1”,因此位運(yùn)算的運(yùn)算對(duì)象是一個(gè)二進(jìn)制數(shù)位的集合。運(yùn)算符的求值規(guī)律ab~a~ba&ba^ba|b1100101100101101100110011000~運(yùn)算,0變1,1變0;&運(yùn)算,當(dāng)兩個(gè)對(duì)應(yīng)位均為1時(shí),結(jié)果為1,否則為0;^運(yùn)算,當(dāng)兩個(gè)對(duì)應(yīng)位相同時(shí),結(jié)果為0,否則為1;|運(yùn)算,當(dāng)兩個(gè)對(duì)應(yīng)位均為0時(shí),結(jié)果為0,否則為1;總結(jié):任務(wù)準(zhǔn)備:2.8.5位運(yùn)算符在計(jì)算機(jī)中,數(shù)據(jù)是以二進(jìn)制補(bǔ)碼的形式進(jìn)行存儲(chǔ),所以位運(yùn)算的對(duì)象也是二進(jìn)制的補(bǔ)碼。正數(shù)的補(bǔ)碼等于其本身。數(shù)值的表示方法位運(yùn)算:正數(shù):負(fù)數(shù):十進(jìn)制→二進(jìn)制→位運(yùn)算→十進(jìn)制十進(jìn)制→二進(jìn)制→求補(bǔ)碼→位運(yùn)算→求原碼→十進(jìn)制任務(wù)準(zhǔn)備:2.8.5位運(yùn)算符原碼:最高位為符號(hào)位,其余各位為數(shù)值本身的絕對(duì)值反碼
正數(shù):反碼與原碼相同負(fù)數(shù):符號(hào)位為1,其余位對(duì)原碼取反補(bǔ)碼正數(shù):原碼、反碼、補(bǔ)碼相同負(fù)數(shù):最高位為1,其余位為原碼取反,再對(duì)整個(gè)數(shù)
加1任務(wù)準(zhǔn)備:2.8.5位運(yùn)算符原碼反碼補(bǔ)碼+7000001110000011100000111-7100001111111100011111001任務(wù)準(zhǔn)備:2.8.5位運(yùn)算符正數(shù):最高位為0原碼=反碼=補(bǔ)碼負(fù)數(shù):最高位為1反碼=原碼的高位不變,其它逐位取反補(bǔ)碼=原碼的反碼+1總結(jié):數(shù)值的表示方法任務(wù)準(zhǔn)備:2.8.5位運(yùn)算符最高位原碼反碼補(bǔ)碼正數(shù)0原碼=反碼=補(bǔ)碼負(fù)數(shù)1原碼的高位不變,其它逐位取反原碼的反碼+1思考:已知一個(gè)負(fù)數(shù)的補(bǔ)碼,怎么求這個(gè)數(shù)的原碼?任務(wù)準(zhǔn)備:2.8.5位運(yùn)算符練習(xí):數(shù)值的表示方法解析:原碼補(bǔ)碼位運(yùn)算inta=11;charb=-11;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 監(jiān)審專(zhuān)家聘用合同協(xié)議
- 理發(fā)店訂貨合同協(xié)議
- 物流采購(gòu)充電樁合同協(xié)議
- 2025至2030年中國(guó)礦泉水瓶坯數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)皮膚病光療機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)環(huán)隙吹脈沖袋式除塵器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)氣墊式松式烘燥機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)文體田徑用品數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)彎式機(jī)燙池?cái)?shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)巧克力精磨機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 6.1歷久彌新的思想理念 課件 - 2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)下冊(cè)
- 第25課它們吃什么(教學(xué)設(shè)計(jì))-教科版科學(xué)一年級(jí)下冊(cè)
- 安寧療護(hù)服務(wù)流程的質(zhì)量評(píng)估指標(biāo)
- 《玉米栽培技術(shù)與病蟲(chóng)害防治》課件
- 衛(wèi)生院、社區(qū)衛(wèi)生服務(wù)中心關(guān)于開(kāi)具死亡醫(yī)學(xué)證明流程中死者死亡信息核實(shí)補(bǔ)充制度
- 2025年主管護(hù)師中級(jí)考試題庫(kù)及答案參考
- 【語(yǔ)文】《短文兩篇:陋室銘》課件 2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 舞蹈療法在兒童精神疾病康復(fù)中的應(yīng)用-洞察分析
- 2025年春新人教版語(yǔ)文一年級(jí)下冊(cè)教學(xué)課件 18 棉花姑娘
- 工貿(mào)企業(yè)負(fù)責(zé)人安全培訓(xùn)
- 《陪診從業(yè)人員能力培訓(xùn)標(biāo)準(zhǔn)》
評(píng)論
0/150
提交評(píng)論