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