




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第3章
最簡單的C程序設計關鍵知識點:順序結(jié)構(gòu)程序數(shù)據(jù)及運算符C語言的數(shù)據(jù)輸入輸出C語言基本要素C語言中大小寫字母代表不同含義注釋方式://:注釋一行代碼
//a=b+c;
a=fun(5);
//計算5的階乘/**/:注釋一段代碼,可以是一行或多行,也可以是一行中的一部分。
/*a=b+c;*/a=b+c;/*計算求和*/標識符:利用符號表示數(shù)據(jù)分類:關鍵字:系統(tǒng)中已有明確含義,不允許改變(例如:if、else等)預定義標識符:系統(tǒng)中已有含義,但可以改變(例如:define、scanf等),但一般不去改變?。?!用戶標識符:用戶根據(jù)自己的需要定義的符號(包括符號常量、變量)先定義,然后才能使用C語言基本要素用戶標識符的基本要求:只能由數(shù)字(0~9)、26個大小寫字母、下劃線(_)構(gòu)成數(shù)字不能作為首字符C語言中區(qū)分大小寫字母(即:A與a是兩個不同的符號)例如:areaPI_inia_arrays1234P101p(合法)456Pcade-yw.wa&b(不合法)C語言基本要素3.1順序程序設計舉例
例3.1有人用溫度計測量出用華氏法表示的溫度(如F,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度(如C)。解題思路:找到二者間的轉(zhuǎn)換公式f代表華氏溫度,c代表攝氏溫度算法:輸入f的值輸出c的值
例3.1有人用溫度計測量出用華氏法表示的溫度(如F,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度(如C)。N-S圖3.1順序程序設計舉例#include<stdio.h>intmain(){floatf,c;f=64.0;c=(5.0/9)*(f-32);printf("f=%f\nc=%f\n",f,c);return0;}//定義f和c為單精度浮點型變量//指定f的值//計算c的值//輸出f和c的值3.1順序程序設計舉例
例3.2計算存款利息。有1000元,想存一年。有三種方法可選:(1)活期,年利率為r1(2)一年期定期,年利率為r2(3)存兩次半年定期,年利率為r3
請分別計算出一年后按三種方法所得到的本息和。3.1順序程序設計舉例解題思路:確定計算本息和的公式。從數(shù)學知識可知:若存款額為p0,則:活期存款一年后本息和為:
p1=p0(1+r1)一年期定期存款,一年后本息和為:
p2=p0(1+r2)兩次半年定期存款,一年后本息和為:
3.1順序程序設計舉例算法:輸入p0,r1,r2,r3的值計算p1=p0(1+r1)計算p2=p0(1+r2)計算p3=p0(1+)(1+)輸出p1,p2,p33.1順序程序設計舉例#include<stdio.h>intmain(){floatp0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;p1=p0*(1+r1);p2=p0*(1+r2);p3=p0*(1+r3/2)*(1+r3/2);printf(”%f\n%f\n%f\n”,p1,p2,p3);return0;}定義變量同時賦予初值3.1順序程序設計舉例3.2數(shù)據(jù)的表現(xiàn)形式及其運算3.2.1常量和變量3.2.2數(shù)據(jù)類型3.2.3整型數(shù)據(jù)3.2.4字符型數(shù)據(jù)3.2.5浮點型數(shù)據(jù)3.2.6怎樣確定常量的類型3.2.7運算符和表達式3.2數(shù)據(jù)的表現(xiàn)形式及其運算數(shù)據(jù)常量變量數(shù)據(jù)類型整型實型字符型int,short,longunsignedintunsigndshortunsigedlongfloatdoublechar數(shù)制的概念十進制特點:擁有的數(shù)字:0~9每位數(shù)的權(quán)值是10的整數(shù)倍,如:123=1*100+2*10+3*1(10的0次方)二進制特點:擁有的數(shù)字:0、1每位數(shù)的權(quán)值是2的整數(shù)倍,如:101=1*4+0*2+1*1(2的0次方)計算機中所有數(shù)據(jù)(無論是字符還是數(shù)值)都是用二進制數(shù)表示的!數(shù)制的概念八進制特點:擁有的數(shù)字:0~7以數(shù)值前面有0來表示一個八進制數(shù)每位數(shù)的權(quán)值是8的整數(shù)倍,如:247=2*(8的平方)+4*8+7*1(8的0次方)十六進制特點:擁有的數(shù)字:0~9、A~Fora~f以數(shù)值前面有0x來表示一個十六進制數(shù)每位數(shù)的權(quán)值是16的整數(shù)倍,如:23b=2*(16的2次方)+3*(16的1次方)+11*(16的0次方)數(shù)制的轉(zhuǎn)換十進制=>二進制的轉(zhuǎn)換整數(shù)轉(zhuǎn)換:輾轉(zhuǎn)相除法/除2取余法例如:將十進制數(shù)104=>二進制表示1042十進制數(shù)余數(shù)52020260213262103212110二進制數(shù)D0D1D2D3D4D5D611010001101000B=1*(2^6)+1*(2^5)+1*(2^3)=64+32+8=104數(shù)制的轉(zhuǎn)換十進制=>二進制的轉(zhuǎn)換小數(shù)轉(zhuǎn)換:乘2取整法,結(jié)束標準是小數(shù)部分為0或者已經(jīng)達到數(shù)據(jù)精度要求。例如:0.1254=>二進制二進制數(shù):0.001=1*(2^(-3))=0.1250.1254×2
0.25080×2
0.50160×2
1.00321×2
0.00640數(shù)制的轉(zhuǎn)換二進制<=>十六進制的轉(zhuǎn)換0000->00001->1......1001->91010->10(A).......1111->15(F)注意:1111=1*(2^3)+1*(2^2)+1*(2^1)+1*(2^0)=8+4+2+110010111=1001,0111=0x97數(shù)制的轉(zhuǎn)換二進制<=>八進制的轉(zhuǎn)換000->0001->1......111->7注意:111=1*(2^2)+1*(2^1)+1*(2^0)=4+2+1=710010111=10,010,111=02273.2.1常量和變量1.常量:在程序運行過程中,其值不能被改變的量整型常量:如1000,12345,0,-345實型常量十進制小數(shù)形式:如0.34-56.790.0指數(shù)形式:如12.34e3(代表12.34103)字符常量:如’?’轉(zhuǎn)義字符:如’\n’字符串常量:如”boy”符號常量:#definePI3.1416說明:(1)一般情況下符號常量使用大寫字母表示(2)符號常量在程序運行時,只能讀取,不能修改2.變量:在程序運行期間,變量的值是可以改變的變量必須先定義,并且初始化后,再使用定義變量時必須指定該變量的名字和類型變量名和變量值是兩個不同的概念變量名實際上是以一個名字代表的一個存儲地址從變量中取值,實際上是通過變量名找到相應的內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)3.2.1常量和變量3.常變量:constinta=3;4.標識符:一個對象的名字C語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線合法的標識符:如sum,average,_total,Class,day,BASIC,li_ling不合法的標識符:M.D.John,¥123,#33,3D64,a>b大小寫字母是不同的字符3.2.1常量和變量3.2.2數(shù)據(jù)類型所謂類型,就是對數(shù)據(jù)分配存儲單元的安排,包括存儲單元的長度(占多少字節(jié))以及數(shù)據(jù)的存儲形式不同的類型分配不同的長度和存儲形式3.2.2數(shù)據(jù)類型C語言允許使用的數(shù)據(jù)類型:基本類型整型類型基本整型短整型長整型雙長整型字符型布爾型浮點類型單精度浮點型雙精度浮點型長雙精度浮點型3.2.2數(shù)據(jù)類型C語言允許使用的數(shù)據(jù)類型:基本類型枚舉類型空類型派生類型指針類型數(shù)組類型結(jié)構(gòu)體類型共用體類型函數(shù)類型算術類型3.2.3整型數(shù)據(jù)1.整型數(shù)據(jù)的分類最基本的整型類型基本整型(int型):占2個或4個字節(jié)短整型(shortint):VC++6.0中占2個字節(jié)長整型(longint):VC++6.0中占4個字節(jié)雙長整型(longlongint):C99新增的3.2.3整型數(shù)據(jù)1.整型數(shù)據(jù)的分類2.整型變量的符號屬性整型變量的值的范圍包括負數(shù)到正數(shù)可以將變量定義為“無符號”類型擴充的整形類型:3.2.3整型數(shù)據(jù)擴充的整型類型:有符號基本整型[signed]int;無符號基本整型unsignedint;有符號短整型[signed]short[int];無符號短整型unsignedshort[int];有符號長整型[signed]long[int];無符號長整型unsignedlong[int]有符號雙長整型[signed]longlong[int];無符號雙長整型unsignedlonglong[int]原碼反碼補碼正數(shù)的原碼、反碼和補碼相同1的補碼0000000000000001……32767的補碼0111111111111111(215-1)負數(shù)-1原碼1000000000000001反碼1111111111111110原碼取反補碼1111111111111111反碼+1-32767:1000000000000001-32768:1000000000000000原碼反碼補碼32767補碼0111111111111111-32767原碼1111111111111111反碼1000000000000000原碼取反補碼1000000000000001反碼+1-32768=-32767-1補碼1000000000000000-32768-10132767
原碼反碼補碼327670111111111111111……1000000000000000100000000000000000-11111111111111111-21111111111111110……
-327671000000000000001-32768100000000000000032768=32767+11000000000000000=-32768-32769=-32768-10111111111111111=327673.2.4字符型數(shù)據(jù)字符是按其代碼(整數(shù))形式存儲的C99把字符型數(shù)據(jù)作為整數(shù)類型的一種字符型數(shù)據(jù)在使用上有自己的特點3.2.4字符型數(shù)據(jù)1.字符與字符代碼大多數(shù)系統(tǒng)采用ASCII字符集字母:A~Z,a~z數(shù)字:0~9專門符號:29個:!”#&‘()*等空格符:空格、水平制表符、換行等不能顯示的字符:空(null)字符(以‘\0’表示)、警告(以‘\a’表示)、退格(以‘\b’表示)、回車(以‘\r’表示)等3.2.4字符型數(shù)據(jù)字符’1’和整數(shù)1是不同的概念:字符’1’只是代表一個形狀為’1’的符號,在需要時按原樣輸出,在內(nèi)存中以ASCII碼形式存儲,占1個字節(jié)整數(shù)1是以整數(shù)存儲方式(二進制補碼方式)存儲的,占2個或4個字節(jié)0011000100000000000000013.2.4字符型數(shù)據(jù)2.字符變量用類型符char定義字符變量charc=’?’;
系統(tǒng)把“?”的ASCII代碼63賦給變量cprintf(”%d%c\n”,c,c);輸出結(jié)果是:63?字符變量Charc1,c2;c1='2';c2='A';或c2=65;int
i;i=65;或i='A';整型變量和字符變量的定義和賦值可以互換【ASCII碼范圍】字符的數(shù)值特征字符可以當整數(shù)用,其值就是其ASCII碼'A'+1=?字符運算大小寫英文字母轉(zhuǎn)換'b'-'a'='B'-'A'……'z'-'a'='Z'-'A''m''M'數(shù)字字符和數(shù)字
9-0='9'-'0''9'=9+'0''8'8'a'-'A''A'-'a''0''m'–('a'-'A‘)='M''M'+(‘a(chǎn)'-‘A‘)='m''8'-'0'=88+'0'='8'3.2.5浮點型數(shù)據(jù)浮點型數(shù)據(jù)是用來表示具有小數(shù)點的實數(shù)float型(單精度浮點型)編譯系統(tǒng)為float型變量分配4個字節(jié)數(shù)值以規(guī)范化的二進制數(shù)指數(shù)形式存放3.2.5浮點型數(shù)據(jù)浮點型數(shù)據(jù)是用來表示具有小數(shù)點的實數(shù)float型(單精度浮點型)double型(雙精度浮點型)編譯系統(tǒng)為double型變量分配8個字節(jié)15位有效數(shù)字longdouble(長雙精度)型3.2.6怎樣確定常量的類型字符常量:由單撇號括起來的單個字符或轉(zhuǎn)義字符整型常量:不帶小數(shù)點的數(shù)值系統(tǒng)根據(jù)數(shù)值的大小確定int型還是long型等浮點型常量:凡以小數(shù)形式或指數(shù)形式出現(xiàn)的實數(shù)C編譯系統(tǒng)把浮點型常量都按雙精度處理分配8個字節(jié)3.2.7運算符和表達式1.基本的算術運算符:+:正號運算符(單目運算符)-:負號運算符(單目運算符)*:乘法運算符/:除法運算符%:求余運算符+:加法運算符-:減法運算符3.2.7運算符和表達式兩個整數(shù)相除的結(jié)果為整數(shù)如5/3的結(jié)果值為1,舍去小數(shù)部分如果除數(shù)或被除數(shù)中有一個為負值,舍入方向不固定。例如,-5/3,有的系統(tǒng)中得到的結(jié)果為-1,在有的系統(tǒng)中則得到結(jié)果為-2VC++采取“向零取整”的方法
如5/3=1,-5/3=-1,取整后向零靠攏%運算符要求參加運算的運算對象(即操作數(shù))為整數(shù),結(jié)果也是整數(shù)。如8%3,結(jié)果為23.2.7運算符和表達式2.自增、自減運算符:作用是使變量的值加1或減1++i,--i:在使用i之前,先使i的值加(減)1i++,i--:在使用i之后,使i的值加(減)13.2.7運算符和表達式3.算術表達式和運算符的優(yōu)先級與結(jié)合性:用算術運算符和括號將運算對象(也稱操作數(shù))連接起來的、符合C語法規(guī)則的式子,稱為C算術表達式運算對象包括常量、變量、函數(shù)等C語言規(guī)定了運算符的優(yōu)先級和結(jié)合性3.2.7運算符和表達式4.不同類型數(shù)據(jù)間的混合運算:+、-、*、/運算的兩個數(shù)中有一個數(shù)為float或double型,結(jié)果是double型。系統(tǒng)將float型數(shù)據(jù)都先轉(zhuǎn)換為double型,然后進行運算(2)如果int型與float或double型數(shù)據(jù)進行運算,先把int型和float型數(shù)據(jù)轉(zhuǎn)換為double型,然后進行運算,結(jié)果是double型(3)字符型數(shù)據(jù)與整型數(shù)據(jù)進行運算,就是把字符的ASCII代碼與整型數(shù)據(jù)進行運算3.2.7運算符和表達式
例3.3給定一個大寫字母,要求用小寫字母輸出。解題思路:關鍵是找到大、小寫字母間的內(nèi)在聯(lián)系同一個字母,用小寫表示的字符的ASCII代碼比用大寫表示的字符的ASCII代碼大323.2.7運算符和表達式#include<stdio.h>intmain(){charc1,c2;c1=’A’;c2=c1+32;printf("%c\n",c2);printf(”%d\n”,c2);return0;}將字符‘A’的ASCII代碼65放到c1中將65+32的結(jié)果放到c2中用字符形式輸出用十進制形式輸出3.2.7運算符和表達式5.強制類型轉(zhuǎn)換運算符強制類型轉(zhuǎn)換運算符的一般形式為
(類型名)(表達式)(double)a(將a轉(zhuǎn)換成double類型)(int)(x+y)(將x+y的值轉(zhuǎn)換成int型)(float)(5%3)(將5%3的值轉(zhuǎn)換成float型)有兩種類型轉(zhuǎn)換系統(tǒng)自動進行的類型轉(zhuǎn)換強制類型轉(zhuǎn)換3.2.7運算符和表達式6.C運算符(1)算術運算符
(+-*/%++--)(2)關系運算符
(><==>=<=!=)(3)邏輯運算符
(!&&||)(4)位運算符
(<<>>~|∧&)(5)賦值運算符
(=及其擴展賦值運算符)(6)條件運算符
(?:)3.2.7運算符和表達式6.C運算符(7)逗號運算符
(,)(8)指針運算符
(*和&)(9)求字節(jié)數(shù)運算符
(sizeof)(10)強制類型轉(zhuǎn)換運算符
((類型))(11)成員運算符
(.->)(12)下標運算符
([
])(13)其他
(如函數(shù)調(diào)用運算符())C語句概述C程序源程序文件n源程序文件2數(shù)據(jù)聲明函數(shù)1函數(shù)體執(zhí)行語句數(shù)據(jù)聲明函數(shù)首部函數(shù)n預處理命令源程序文件15類控制語句函數(shù)調(diào)用語句表達式語句空語句復合語句C語句:C語言的所有語句必須以分號;結(jié)束數(shù)據(jù)輸出功能:用于在標準輸出設備上輸出結(jié)果一般格式:printf(“控制參數(shù)”,輸出參數(shù));
輸出參數(shù):以逗號間隔,列出要輸出的常量、變量或表達式控制參數(shù):提示信息串:在屏幕上原樣輸出的提示信息轉(zhuǎn)義字符:輸出一些控制行為的,例如:回車換行等格式轉(zhuǎn)換控制符:%開頭+格式控制信息+格式字符數(shù)據(jù)輸出完整的格式轉(zhuǎn)換控制:完整形式:(選項是可選的)%-0m.n l/h格式字符起始標記左對齊否零填充否域?qū)捑乳L度修正輸出類型d:十進制有符號整型o:八進制整型x:十六進制整型u:無符號整型c:字符型s:字符串f:以小數(shù)形式輸出實型e:以指數(shù)形式輸出實型g:選擇f和e格式中較短的形式輸出
實型數(shù)據(jù)輸出#include<stdio.h>intmain(){inta=12,b=1234567;longx=789456;doublec=23.42135;floatd=(float)23.4;printf("%05d\n",a);printf("%-5d\n",a);printf("%5d\n",b);printf("%10ld\n",x);printf("%010.4f\n",c);printf("%-10.4f\n",c);printf("%8.2f\n",d);printf("%e\n",c);printf("%015.3e\n",c);return0;}數(shù)據(jù)輸入功能:用于在標準輸入設備上接收用戶輸入的信息一般形式:scanf(“格式控制參數(shù)”,地址列表);地址列表:以逗號分隔的若干內(nèi)存地址&:求變量的內(nèi)存地址
例如:intx; &x——表示x分配的內(nèi)存空間的起始地址格式控制參數(shù):格式說明項:說明輸入的內(nèi)容的格式、類型信息分隔符號:說明各輸入信息間以什么符號進行分隔(提示輸入時,應該如何輸入)數(shù)據(jù)輸入scanf使用的注意點輸入中指定的是地址列表,而不是普通變量輸入中不能指定精度、轉(zhuǎn)義字符(不能與輸出混淆)類型必須匹配例如:floatx;doubley;
scanf(“%f,%lf”,&x,&y);指定的分隔符號必須原樣從鍵盤上輸入例如:scanf(“a=%f,b=%d”,&a,&b);輸入必須為:a=6.3,b=34數(shù)據(jù)輸入scanf使用的注意點(續(xù))分隔符號的說明scanf中不指定,則采用默認分隔(Enter、Space和Tab鍵)利用域?qū)掃M行分隔在scanf中指定的分隔符特別注意輸入形式為:數(shù)值+字符;或字符+字符有指定分隔符,輸入必須使用無指定分隔符,輸入不能采用默認分隔符用“%c”輸入字符時,空格字符和“轉(zhuǎn)義字符”都是作為有效字符輸入。例:整型數(shù)的輸入輸出#include<stdio.h>voidmain(){printf("%d,%o,%x\n",10,10,10);printf("%d,%d,%d\n",10,010,0x10);printf("%d,%x\n",012,012);}
運行結(jié)果為:10,12,a10,8,1610,a例:整型數(shù)的輸入輸出#include<stdio.h>voidmain(){inta,b;
scanf("%o
%d",&a,&b);printf("%d%5d\n",a,b);printf("%x,%d\n",a,b);}
輸入:1717運行結(jié)果為:1517f,17例:實型數(shù)的輸入輸出#include<stdio.h>voidmain() {floatf=123.45;doubled=3.1415926;printf("%f,%e\n",f,f);printf("%f,%e\n",d,d);printf("%5.3f,%5.2f,%.2f\n",d,d,d);}
運行結(jié)果為:123.450000,1.23450e+023.141593,3.14159e+003.142,3.14,3.14例:整型數(shù)的輸入輸出假定float的精度為7位,double的精度為16位#include<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年證券從業(yè)資格證考試中的常見經(jīng)濟學理論試題及答案
- 二年級下冊心理健康教育表格式教案-第5課我愛我的家 長春版
- 用戶經(jīng)驗在項目管理考試知識中的重要性試題及答案
- 課題申報書如何裝訂
- 微生物檢驗技師職業(yè)資格考試試題及答案
- 注冊會計師實務要點解析試題及答案
- 微生物檢驗實驗室管理考題試題及答案
- 2025年銀行資格證考試重要日程規(guī)劃試題及答案
- 證券從業(yè)資格證難點試題及答案特集
- 高風險微生物的防范措施試題及答案
- GB/T 233-2000金屬材料頂鍛試驗方法
- 全新版大學進階英語第二冊-Unit-4-Study-Abroad課件
- 機械識圖基礎培訓-課件
- 成人still病參考課件
- 我們畢業(yè)啦畢業(yè)季通用模板課件
- 建設工地治保維穩(wěn)工作專項檢查表
- 高國卿《項脊軒志》說課
- 產(chǎn)品召回控制程序
- 《手機短視頻:策劃拍攝剪輯發(fā)布》第4章 手機短視頻的拍攝方法
- Q∕SY 1134-2014 產(chǎn)品駐廠監(jiān)造規(guī)范
- 堤防工程設計規(guī)范
評論
0/150
提交評論