




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C程序設(shè)計(jì)
第三章簡(jiǎn)單的c程序——順序結(jié)構(gòu)主講教師:魯萍西安建筑科技大學(xué)理學(xué)院C程序設(shè)計(jì)
第三章簡(jiǎn)單的c程序——順序結(jié)構(gòu)主講教師:魯1第三章簡(jiǎn)單的C程序設(shè)計(jì)——順序3.1順序程序設(shè)計(jì)舉例3.2數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算
常量、變量
整形、字符型、浮點(diǎn)型
運(yùn)算符及表達(dá)式3.3C語(yǔ)句——賦值語(yǔ)句3.4數(shù)據(jù)的輸入和輸出
scanf和printf
getchar和putchar小結(jié)習(xí)題第三章簡(jiǎn)單的C程序設(shè)計(jì)——順序3.1順序程序設(shè)計(jì)舉例小2順序程序設(shè)計(jì)舉例#include<stdio.h>intmain(){floatf,c;f=68.0;c=(5/9)*(f–32);printf("f=%f\nc=%f\n",f,c);return0;}A0301華氏溫度(如68℉)轉(zhuǎn)為攝氏溫度(如20℃)輸入f的值輸出c的值F=68.000000C=0.0000005.0C=20.000000順序程序設(shè)計(jì)舉例#include<stdio.h>A03013順序程序設(shè)計(jì)舉例#definePI3.1416intmain(){floatr,a,b;r=2;a=2*PI*r;b=PI*r*r;printf(“半徑=%f\n周長(zhǎng)=%f\n面積=%f\n",r,a,b);return0;}A0302例:根據(jù)圓半徑,求圓周長(zhǎng)和圓面積。輸入半徑r的值輸出a、b的值半徑=2.000000周長(zhǎng)=18.849600面積=28.274400周長(zhǎng)a=2*pi*r面積b=pi*r*rscanf("%f",&r);鍵盤輸入順序程序設(shè)計(jì)舉例#definePI3.1416A0304一、數(shù)據(jù)的概念在計(jì)算機(jī)科學(xué)中,數(shù)據(jù)是指能由程序處理的對(duì)象。日常生活中的數(shù)字、字符、圖形圖象及聲音等,在計(jì)算機(jī)中均作為數(shù)據(jù)看待。二、數(shù)據(jù)的類型在高級(jí)語(yǔ)言中,每一個(gè)數(shù)據(jù)都屬于一個(gè)特定的類型。不同類型的數(shù)據(jù)的表示、存儲(chǔ)及操作不相同。3.2數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算姓名Alice性別F年齡20英語(yǔ)80數(shù)學(xué)85平均82.5字符串字符整型實(shí)型實(shí)型實(shí)型一、數(shù)據(jù)的概念二、數(shù)據(jù)的類型3.2數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算姓53.2.1常量與變量3.3.1常量和符號(hào)常量
1、常量:在程序運(yùn)行過(guò)程中,其值不能被改變的量。常量說(shuō)明關(guān)鍵字:const。
2、常量的分類:1)整型常量。如:1234,562)實(shí)型常量。如:123.233)字符常量。如:‘A’,‘a(chǎn)’,‘m'4)字符串常量。如:"A","China"5)轉(zhuǎn)義字符。如:'\n','\t','\123','\xF9'6)符號(hào)常量。如:#definePI3.1415926#defineN303.2.1常量與變量3.3.1常量和符號(hào)常量
16轉(zhuǎn)義字符例:在屏幕上輸出一個(gè)笑臉(ASCII碼值為2)#include<stdio.h>voidmain(){printf("%c\n",2);/*輸出"笑臉"字符*/
}增加一個(gè)轉(zhuǎn)義字符的圖轉(zhuǎn)義字符例:在屏幕上輸出一個(gè)笑臉(ASCII碼值為2)增加一7符號(hào)常量概念:用一個(gè)標(biāo)識(shí)符表示常量#define標(biāo)識(shí)符常量表達(dá)式
例:#definePI3.1415926注意:1)標(biāo)識(shí)符一般用大寫2)不能給符號(hào)常量賦值例:PI=6;錯(cuò)誤常用于:(1)把有意義的常數(shù)定義為符號(hào)常量(2)在程序中多次出現(xiàn)的常數(shù),定義為符號(hào)常量?jī)?yōu)點(diǎn):含義清晰;一改全改#include<stdio.h>#definePI3.1416main(){floatr,area;printf("pleaseenterr:");
scanf("%f",&r);area=PI*r*r;printf("Theareais%f",a);}符號(hào)常量概念:用一個(gè)標(biāo)識(shí)符表示常量#include<stdi8符號(hào)常量的應(yīng)用例2.3錄入50個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)100~90,89~80,79~70,69~60,59~0個(gè)分?jǐn)?shù)段學(xué)生的人數(shù),并顯示統(tǒng)計(jì)結(jié)果(統(tǒng)計(jì)結(jié)果記為count)自頂向下:1:錄入50個(gè)學(xué)生的成績(jī)2:統(tǒng)計(jì)個(gè)分?jǐn)?shù)段學(xué)生的人數(shù)3:顯示統(tǒng)計(jì)結(jié)果S1.1:使i=1S1.2:輸入ni學(xué)生的成績(jī)S1.3:i=i+1S1.4:如果i≦50,執(zhí)行S1.2S2.1:使i=1S2.2:判斷ni學(xué)生的屬于哪個(gè)分?jǐn)?shù)段,該分?jǐn)?shù)段人數(shù)+1S2.3:i=i+1S2.4:如果i≦50,執(zhí)行S2.2S3.1:使i=1S3.2:顯示countiS3.3:i=i+1S3.4:如果i≦5,執(zhí)行S3.2#defineN5030303030NN符號(hào)常量的應(yīng)用例2.3錄入50個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)10093.2.2標(biāo)示符與變量1、變量變量:在程序執(zhí)行過(guò)程中其值可以改變的存儲(chǔ)單元,該存儲(chǔ)單元的名字稱為變量名。變量有不同的類型,存放不同類型的數(shù)據(jù)。注意:變量要先定義再使用
定義變量:類型變量名表;abc變量名變量值inta,b,c;a=3;b=8;c=a+b;a=5;存儲(chǔ)單元381153.2.2標(biāo)示符與變量1、變量a變量名變量值10變量的命名規(guī)則標(biāo)示符
用于命名程序中的實(shí)體對(duì)象(如變量,符號(hào)常量函數(shù),數(shù)組等)(1)標(biāo)示符是以字母或下劃線開(kāi)頭,由字母、數(shù)字及下劃線等組成的字符序列,如:abc,_x1,AB67,NAME2;(2)序列長(zhǎng)度最大值依編譯系統(tǒng)而定;(3)區(qū)分大小寫字母,如abc和Abc是不同的變量(4)不允許使用關(guān)鍵字作變量名。例:123dr+43auto5A*2#88(錯(cuò)誤)_123dr_43Auto(正確)變量的命名規(guī)則標(biāo)示符11C語(yǔ)言的數(shù)據(jù)類型圖構(gòu)造類型數(shù)組結(jié)構(gòu)(struct)共用體(union)其它類型指針(point)空類型(void)基本數(shù)據(jù)類型數(shù)值型整型基本型(int)短整型(short)長(zhǎng)整型(long)無(wú)符號(hào)型(unsigned)浮點(diǎn)型單精度(float)雙精度(double)長(zhǎng)雙精度(longdouble)枚舉型(enum)字符型(char)字符字符串在C語(yǔ)言中,數(shù)據(jù)類型用相應(yīng)的關(guān)鍵字表示C語(yǔ)言的數(shù)據(jù)類型圖構(gòu)造類型數(shù)組結(jié)構(gòu)(struct)共用體(u123.2.3整型類型存儲(chǔ)大小取值范圍int
2字節(jié)-215~215-1-32768~32768short2字節(jié)-215~215-1-32768~32768long4字節(jié)-231~231-1longlong
8字節(jié)-263~263-1身份證號(hào),學(xué)號(hào)?------沒(méi)有負(fù)數(shù)!符號(hào)位數(shù)值位1153.2.3整型類型存儲(chǔ)大小取值范圍身份證號(hào)13C語(yǔ)言的unsigned和signed數(shù)
對(duì)整型和字符型1、signed:有符號(hào)數(shù)可以存放正數(shù)和負(fù)數(shù)2、unsigned:無(wú)符號(hào)數(shù)只能存放正數(shù)(實(shí)數(shù)沒(méi)有unsigned和signed的區(qū)分)如:身份證號(hào),學(xué)號(hào)等。
取消符號(hào)位,與右邊的各位一起用來(lái)表示數(shù)值本身。數(shù)值位16符號(hào)位數(shù)值位115整型默認(rèn)有符號(hào)型C語(yǔ)言的unsigned和signed數(shù)對(duì)整型和字符型數(shù)值143.2.3整型unsignedint0~216-10~65535unsignedshortint0~216-10~65535unsignedlongint0~232-1類型存儲(chǔ)大小取值范圍int
16bit-215~215-1-32768~32768shortint16bit-215~215-1-32768~32768longint32bit-231~231-13.2.3整型unsignedint15intmain(){charc1,c2;c1='a';c2=98;printf("%c%c\n",c1,c2);printf("%d%d\n",c1,c2);return0;}3.2.4字符型數(shù)據(jù)c1c2變量名變量值a98存儲(chǔ)單元97(1)可以是轉(zhuǎn)義字符\n(2)存儲(chǔ):字符的ASCII碼(3)輸出:整數(shù)或字符(4)允許對(duì)字符進(jìn)行算術(shù)運(yùn)算(即對(duì)ASCII碼值進(jìn)行算術(shù)運(yùn)算)字符變量:關(guān)鍵字char,占1字節(jié)字符常量:用單引號(hào)括起來(lái)的單個(gè)字符A0303例:字符數(shù)據(jù)的算術(shù)運(yùn)算。intmain()3.2.4字符型數(shù)據(jù)c1變量名變量值163.2.4字符型數(shù)據(jù)intmain(){charc1,c2;c1='a';c2=98;printf("%c%c\n",c1,c2);printf("%d%d\n",c1,c2);return0;}運(yùn)行結(jié)果:ab9798c1c2變量名變量值a98存儲(chǔ)單元97字符ASCII碼a97b98c99c1+1;'a'+1;以字符方式輸出以整數(shù)方式輸出A0303例:字符數(shù)據(jù)的算術(shù)運(yùn)算。3.2.4字符型數(shù)據(jù)intmain()運(yùn)行結(jié)果:ab17課堂練習(xí):給定一個(gè)小寫字母,輸出大寫字母。
#include<stdio.h>intmain()
{charc1,c2;c1=‘a(chǎn)’;c2=c1-32;printf("%c",c2);return0;} 運(yùn)行結(jié)果:Pleaseinputachar:a(輸入)A(輸出)3.2.4字符型數(shù)據(jù)課堂練習(xí):給定一個(gè)小寫字母,輸出大寫字母。
#include183.2.5浮點(diǎn)型數(shù)據(jù)實(shí)型變量分為三種:1、單精度:float(有效數(shù)字7位)2、雙精度:double(有效數(shù)字16位)3、長(zhǎng)雙精度:longdouble(有效數(shù)字19位)。3.2.5浮點(diǎn)型數(shù)據(jù)實(shí)型變量分為三種:193.4.2舍入誤差intmain(){floata,b;a=12345678900.0;b=a+20;
printf("%f\n",b);return0;}實(shí)際:12345678868.000000期望:12345678920.0000000錯(cuò)誤原因:float有效數(shù)字7位,后面的數(shù)字無(wú)意義。如何得到正確計(jì)算結(jié)果?doubleA0304例:數(shù)據(jù)有效長(zhǎng)度3.4.2舍入誤差intmain()實(shí)際:123456720數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式1.內(nèi)存單元的地址:內(nèi)存單元的編號(hào),與變量名對(duì)應(yīng)。2.內(nèi)存單元的內(nèi)容:變量的值。例:對(duì)如下定義:inta,b;charc;floatx;變量a,b,c,x的內(nèi)存分配情況:abxc數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式1.內(nèi)存單元的地址:內(nèi)存單元的編號(hào),21基本數(shù)據(jù)類型練習(xí)1.以下正確的字符常量是()A)‘A’B)’\398’C)"A"D)’\xgh’2.以下正確的整數(shù)常量是()A)082B)0xhfC)654D)9.03.以下是正確的實(shí)型常量是()A)9.0B)0.5eC)1.2e+2.6D)e-24.設(shè)有chara=‘a(chǎn)’;inti=2;printf("%c",a+i)的結(jié)果為:A)‘c’B)‘d’C)‘r’D)'g‘5、以下轉(zhuǎn)義字符用于換行的是()。A)'\r'B)'\t'C)'\n'D)'\\'基本數(shù)據(jù)類型練習(xí)1.以下正確的字符常量是()223.2.7運(yùn)算符和表達(dá)式運(yùn)算符的優(yōu)先級(jí)為:()*,/高低%+,-1基本算數(shù)運(yùn)算符+(加),-(減法/取負(fù)),*(乘),/(除),%(模運(yùn)算,即求余數(shù))3.2.7運(yùn)算符和表達(dá)式運(yùn)算符的優(yōu)先級(jí)為:()*,/高23關(guān)于除法運(yùn)算"/"的說(shuō)明a/b:
①a,b都是整數(shù),其商取整數(shù),小數(shù)部分舍棄例:5/2=2結(jié)果取整商值‘a(chǎn)’/2=4897/2的整商值
②a,b其一是實(shí)型,另一個(gè)自動(dòng)轉(zhuǎn)換為實(shí)型例如:5./2=2.5;5/2.=2.5例如:1/2=0;1/2.=0.5關(guān)于除法運(yùn)算"/"的說(shuō)明a/b:24關(guān)于求余數(shù)運(yùn)算符"%"的說(shuō)明a%b:
求a除以b的余數(shù)。
①a,b均為整型,或者單字符數(shù)據(jù)②運(yùn)算結(jié)果為整數(shù),結(jié)果為a除以b的余數(shù)。例:5%2=1‘a(chǎn)’%2=197%25.0%2錯(cuò)
關(guān)于求余數(shù)運(yùn)算符"%"的說(shuō)明a%b:25自增(++)、自減(--)運(yùn)算實(shí)例A0305例:自增自減運(yùn)算符intmain(){inta,b,c,d;a=5;b=5;c=++a;d=b++;printf("c=%d\n",c);printf("d=%d\n",d);printf("a=%d,b=%d
\n",a,b);return0;}先將a值自加1,再將增加后的a值賦值給c先將b的值賦給d,然后b再自加1輸出結(jié)果:c=6d=5a=6,b=6++ii=i+1,使i的值增1--ii=i-1,使i的值減1自增(++)、自減(--)運(yùn)算實(shí)例A0305例:自增自減運(yùn)26自增(++)、自減(--)運(yùn)算2、用法與運(yùn)算規(guī)則
(1)前置運(yùn)算:++i、--i;即先增減、后運(yùn)算先使i增(減)1,再以增、減后的值參與其它運(yùn)算
(2)后置運(yùn)算:i++、i--。即先運(yùn)算、后增減變量先參與其它運(yùn)算,然后再使變量的值增、減1自增(++)、自減(--)運(yùn)算2、用法與運(yùn)算規(guī)則
(1)27【自增、自減運(yùn)算的幾點(diǎn)說(shuō)明】1)++、--只能用于變量,不能用于常量和表達(dá)式。例1:5++、--(a+b)錯(cuò)誤2)其結(jié)合方向是從右到左,注意前置、后置問(wèn)題。例2:inta=5,b;b=-a++;運(yùn)算結(jié)果:a=6b=-5(a++:后置運(yùn)算,先引用變量的值,然后變量值加1)3)在表達(dá)式中,避免這種用法x+++x+++x++【自增、自減運(yùn)算的幾點(diǎn)說(shuō)明】1)++、--只能用于變量,28算術(shù)表達(dá)式例:設(shè)有定義:floata=2,b=4,h=3;,以下C語(yǔ)言表達(dá)式與代數(shù)式結(jié)果不同的是()A.(a+b)*h/2B.(1/2)*(a+b)*hC.(a+b)*h*1/2D.h/2*(a+b)例:a/*簡(jiǎn)單表達(dá)式*/2/*簡(jiǎn)單表達(dá)式*/(x+y)/2–1/*復(fù)雜算術(shù)表達(dá)式*/(1)概念:用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(常量、變量和函數(shù)等)連接起來(lái)的、符合語(yǔ)法規(guī)則的式子,稱為表達(dá)式。(2)表達(dá)式求值:按運(yùn)算符的優(yōu)先級(jí)高低次序執(zhí)行算術(shù)表達(dá)式29算術(shù)表達(dá)式常用函數(shù):1)冪次方用函數(shù)pow()3)平方根用函數(shù)sqrt()表示
使用以上數(shù)學(xué)函數(shù)需要#include<math.h>例1:代數(shù)式3x3+x-2算術(shù)表達(dá)式:3*pow(x,3)+x-2例2代數(shù)式
算術(shù)表達(dá)式:a/2-(6*y)/(5*x)算術(shù)表達(dá)式常用函數(shù):30例:inti;floatf;doubled;longe如何計(jì)算:10+’a’+i*f-d/e?3.7不同類型數(shù)據(jù)之間的轉(zhuǎn)化1.自動(dòng)轉(zhuǎn)化
2.類型強(qiáng)制轉(zhuǎn)化例:3.7不同類型數(shù)據(jù)之間的轉(zhuǎn)化1.自動(dòng)轉(zhuǎn)化
2.類型強(qiáng)31混合運(yùn)算的轉(zhuǎn)化規(guī)則轉(zhuǎn)化規(guī)則:運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)"先轉(zhuǎn)換、后運(yùn)算",首先將數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同一類型,然后在同一類型數(shù)據(jù)間進(jìn)行運(yùn)算。double←float↑long↑unsigned↑int←char,short1)←表示必須的轉(zhuǎn)換。char和short型必須轉(zhuǎn)換成int型,float型必須轉(zhuǎn)換成double型。2)↑表示不同類型的轉(zhuǎn)換方向。3.7不同類型數(shù)據(jù)之間的轉(zhuǎn)化混合運(yùn)算的轉(zhuǎn)化規(guī)則轉(zhuǎn)化規(guī)則:運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不32類型強(qiáng)制轉(zhuǎn)化和自動(dòng)轉(zhuǎn)化實(shí)例inti;floatf;doubled;longe10+’a’+i*f-d/e計(jì)算機(jī)從左到右掃描1)10+’a’10+97=107i*fi,f轉(zhuǎn)為double運(yùn)算107轉(zhuǎn)為double+i*fe轉(zhuǎn)為double上述類型轉(zhuǎn)換為系統(tǒng)自動(dòng)進(jìn)行。double←float↑long↑unsigned↑int←char,short類型強(qiáng)制轉(zhuǎn)化和自動(dòng)轉(zhuǎn)化實(shí)例inti;floatf33數(shù)據(jù)類型強(qiáng)制性轉(zhuǎn)化y=3x=3.5A0306例:取整運(yùn)算main(){floatx=3.5;inty;y=(int)x;printf("y=%d",y);printf("x=%f",x);}強(qiáng)制轉(zhuǎn)換:轉(zhuǎn)化為為指定的數(shù)據(jù)類型。格式:
(要轉(zhuǎn)換成的數(shù)據(jù)類型)(被轉(zhuǎn)換的表達(dá)式)強(qiáng)制轉(zhuǎn)換類型得到的是一個(gè)所需類型的中間量,原表達(dá)式類型并不發(fā)生變化。將3.5轉(zhuǎn)化為整型數(shù)賦值給y,但x本身的類型和其值未改變數(shù)據(jù)類型強(qiáng)制性轉(zhuǎn)化y=3A0306例:取整運(yùn)算強(qiáng)制轉(zhuǎn)換:34(1)類型名稱必須用()括號(hào)括起來(lái)(2)強(qiáng)制轉(zhuǎn)換類型得到的是一個(gè)所需類型的中間量,原表達(dá)式類型并不發(fā)生變化。(3)當(dāng)被轉(zhuǎn)換的表達(dá)式是一個(gè)簡(jiǎn)單表達(dá)式(如簡(jiǎn)單變量)時(shí),外面的一對(duì)圓括號(hào)可以缺省。數(shù)據(jù)類型強(qiáng)制性轉(zhuǎn)化說(shuō)明(double)a(float)5/2(float)(5/2)(double)(a)(float)(5)/2
將5轉(zhuǎn)換成實(shí)型再除以2;(=2.5)(float)(5/2)將5整除2的結(jié)果轉(zhuǎn)換成實(shí)型2.0(1)類型名稱必須用()括號(hào)括起來(lái)數(shù)據(jù)類型強(qiáng)制性轉(zhuǎn)化說(shuō)明(d35算數(shù)運(yùn)算符練習(xí)(1)1.設(shè)intx,y=3;執(zhí)行x=y++之后,x,y的值分別為:A)3,5B)4,5C)3,4D)4,42.設(shè)有intm,i=5;執(zhí)行m=++i之后,m,i的值分別為:A)5,5B)5,6C)6,6D)6,53.表達(dá)式7%5的值為:()A)1B)2.5C)2D)04.設(shè)有a=2,b=5,x=3.5;表達(dá)式(float)a+b/2+(int)x%2的結(jié)果值為:()A)3B)5C)5.0D)7算數(shù)運(yùn)算符練習(xí)(1)1.設(shè)intx,y=3;執(zhí)行x=y+365、floatx=3.5,y=3.6,則表達(dá)式(int)(x+y)的結(jié)果值為:()A)6B)4C)3D)76、floatx=3.5,y=3.6,則表達(dá)式(int)x+y的結(jié)果值為:()A)7B)4C)3.6D)6.67、設(shè)有chara='A';inti=a/2;printf("%d",i)的結(jié)果為:()A)65B)66C)32D)67算數(shù)運(yùn)算符練習(xí)(2)5、floatx=3.5,y=3.6,則表達(dá)式(int)(373.3C語(yǔ)言的語(yǔ)句1.控制語(yǔ)句:(1)選擇結(jié)構(gòu)控制語(yǔ)句:if()~else~,switch()~(2)循環(huán)結(jié)構(gòu)控制語(yǔ)句:do~while(),for()~,while()~,break,continue(3)其它控制語(yǔ)句:goto,return2.函數(shù)調(diào)用語(yǔ)句:由一次函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成。例如,printf("ThisisaCfunctionstatement.");3.表達(dá)式語(yǔ)句:表達(dá)式后加一個(gè)分號(hào)構(gòu)成。例如:num=5;是一個(gè)賦值語(yǔ)句。4.空語(yǔ)句:僅由一個(gè)分號(hào)構(gòu)成,不執(zhí)行任何操作。例:;3.3C語(yǔ)言的語(yǔ)句1.控制語(yǔ)句:385.復(fù)合語(yǔ)句:由大括號(hào)括起來(lái)的一組語(yǔ)句構(gòu)成。例如:main(){……{……}/*復(fù)合語(yǔ)句。。*/……}3.2C語(yǔ)言的語(yǔ)句注意:沒(méi)有分號(hào)5.復(fù)合語(yǔ)句:由大括號(hào)括起來(lái)的一組語(yǔ)句構(gòu)成。3.2C語(yǔ)言39賦值語(yǔ)句及賦值運(yùn)算符賦值運(yùn)算符:=
變量=表達(dá)式將表達(dá)式的值賦給變量例1:t=x+5p=q=r=9x=(y=1)-(z=2)P=9x=-1注意:賦值運(yùn)算符按自右而左的結(jié)合順序例:floatf;f=23;/*計(jì)算機(jī)中f=23.00000*/注意:將右邊表達(dá)式類型轉(zhuǎn)化為左邊變量的類型賦值語(yǔ)句及賦值運(yùn)算符賦值運(yùn)算符:=40例:a+=2a=a+2a*=3a=a*3x+=y+7x=x+(y+7)a*=5+6a=a*(5+6)a/=3*5a=a/(3*5)復(fù)合賦值運(yùn)算+=-=*=/=%=<<=>>=&=^=|=運(yùn)算時(shí)要把整個(gè)表達(dá)式當(dāng)做一個(gè)整體例:a+=2a=a+2復(fù)合賦值運(yùn)算+=413.4數(shù)據(jù)輸出/輸入1)C語(yǔ)言中本身不提供輸入/輸出語(yǔ)句,所有的輸入/輸出操作都是由函數(shù)來(lái)實(shí)現(xiàn)的。printf,scanf,putchar,getchar2)使用輸入輸出庫(kù)函數(shù)時(shí),必須
#include<stdio.h>
3.4數(shù)據(jù)輸出/輸入1)C語(yǔ)言中本身不提供輸入/輸出語(yǔ)句,423.4數(shù)據(jù)的輸入輸出#include<math.h>intmain(){floata,b,c,disc,x1,x2,p,q;printf("輸入abc:");scanf(“%lf%lf%lf”,&a,&b,&c);disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);return0;}A0307例:求ax2+bx+c=0方程的根。設(shè)b2-4ac>0
a,b,c由鍵盤輸入計(jì)算disc=b2-4ac計(jì)算根x1和x2輸入abc輸出x1,x2計(jì)算p和q3.4數(shù)據(jù)的輸入輸出#include<math.h>A0343printf函數(shù)輸出數(shù)據(jù)功能:向屏幕輸出一個(gè)或多個(gè)任意類型的數(shù)據(jù)。
語(yǔ)法:printf(格式控制字符串,輸出項(xiàng)表列);例:printf("max=%d",c);原樣輸出的字符串格式字符串輸出列表:變量或表達(dá)式
printf("Theareais%f
",a);printf("%c%c\n",c1,c2);printf("Pleaseinputachar:");整形實(shí)型字符型多用于提示信息
printf("sum=%d",
a+b);printf函數(shù)輸出數(shù)據(jù)功能:向屏幕輸出一個(gè)或多個(gè)任意類44printf函數(shù)輸出數(shù)據(jù)(1)常用格式符之一%d,按整型數(shù)的實(shí)際長(zhǎng)度輸出十進(jìn)制數(shù)%f,輸出實(shí)數(shù)(單、雙精度),以小數(shù)形式輸出%c,輸出一個(gè)字符%s,輸出一個(gè)字符串A0308例:輸出不同類型的數(shù)據(jù)#include<stdio.h>voidmain(){inti=2;charc=′H′;floatx=3.14;printf("i=%d,c=%c,x=%f\n",i,c,x);}輸出結(jié)果i=2,c=H,x=3.140000printf函數(shù)輸出數(shù)據(jù)(1)常用格式符之一A030845printf格式字符說(shuō)明%f,不指定字段寬度,整數(shù)全部輸出,并輸出6位小數(shù)%m.nf,指定輸出共m列,其中小數(shù)n位例:輸出實(shí)數(shù)#include<stdio.h>voidmain(){floatx,y;x=111111.111;y=222222.222;printf("%f\n",x+y);}運(yùn)行結(jié)果333333.328125只有前7位有效%8.1f運(yùn)行結(jié)果333333.3printf格式字符說(shuō)明%f,不指定字段寬度,整數(shù)全部輸出46scanf函數(shù)輸入數(shù)據(jù)功能:從標(biāo)準(zhǔn)輸入設(shè)備中讀字符串
語(yǔ)法:scanf(控制字符串,參數(shù)1,參數(shù)2,…)1)輸入的數(shù)據(jù)存放在參數(shù)列表中,參數(shù)必須是地址(&變量)若控制字符串中包含普通字符,則輸入時(shí)必須與其對(duì)應(yīng)格式說(shuō)明,用"%d%d"格式輸入時(shí),不能用逗號(hào)作為數(shù)據(jù)分割符,可以用回車和tab鍵例:scanf("%d,%d",&a,&b);scanf函數(shù)輸入數(shù)據(jù)功能:從標(biāo)準(zhǔn)輸入設(shè)備中讀字符串語(yǔ)法47例452:inta,b;scanf("%d,%d",&a,&b);printf("a=%d,b=%d",a,b);輸入:100,200輸出:a=100,b=2001.輸入變量前要加符號(hào)&2.輸入函數(shù)格式要求嚴(yán)格3.類型必須匹配4.控制串中的普通字符必須原樣一起輸入floatffff輸入函數(shù)scanf例452:inta,b;scanf("%d%d",&a,&b);printf("a=%d,b=%d",a,b);輸入:100□
200輸出:a=100,b=200用系統(tǒng)默認(rèn)的分隔符:回車、tab鍵、空格
例如:scanf("a=%d,b=%d",&a,&b);輸入a=2,b=3。例452:輸入:100,2001.輸入變量前要加符48A0309例:從鍵盤輸入一個(gè)小寫字母,輸出大寫字母。
#include<stdio.h>
intmain()
{chara,b;
printf("Pleaseinputachar:");
scanf("%c",&a);/*鍵盤輸入一個(gè)字符*/b=a-32;printf("%c\n",b);/*屏幕輸出一個(gè)字符*/return0;} 運(yùn)行結(jié)果:Pleaseinputachar:a(輸入)A(輸出)a=getchar();3.4.5字符數(shù)據(jù)輸出/輸入putchar(b);putchar(‘\n’);A0309例:從鍵盤輸入一個(gè)小寫字母,輸出大寫字母。
#in49字符的輸入輸出getchar和putchar1.單個(gè)字符的輸出──putchar(c)函數(shù)格式:putchar(c);輸出c:字符變量、常量、轉(zhuǎn)義字符例:putchar(c);putchar(‘a(chǎn)’);putchar(‘\n’);2.單個(gè)字符的輸入──getchar()函數(shù)函數(shù)的格式:getchar();該函數(shù)沒(méi)有參數(shù)從鍵盤上輸入一個(gè)字符,通過(guò)返回值帶回程序?!绦驁?zhí)行到該函數(shù)將暫停,等待從鍵盤輸入數(shù)據(jù)例:c=getchar();
字符的輸入輸出getchar和putchar1.單個(gè)字符503.4.5字符數(shù)據(jù)輸出/輸入A0310:從鍵盤輸入三個(gè)字符,原樣輸出#include<stdio.h>intmain(){chara,b,c;printf("請(qǐng)輸入三個(gè)字符:");a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);putchar('\n');return0;}3.4.5字符數(shù)據(jù)輸出/輸入A0310:從鍵盤輸入三個(gè)字符51小結(jié)——數(shù)據(jù)數(shù)據(jù)類型數(shù)據(jù)運(yùn)算數(shù)據(jù)輸入輸出整形:int,longint字符型:char浮點(diǎn)型:float,double+-*/%++--=變量常量123‘a(chǎn)’123.5printfscanf例:printf("max=%d",c);例:scanf("%d,%d",&a,&b);%d,整型%f,浮點(diǎn)型%c,字符型c1c2變量名變量值a98存儲(chǔ)單元97charc1,c2;putchargetchar例:putchar(‘a(chǎn)’);putchar(c1);例:c2=getchar();小結(jié)——數(shù)據(jù)數(shù)據(jù)類型數(shù)據(jù)運(yùn)算數(shù)據(jù)整形:int,lo52習(xí)題B0301習(xí)題3.1假如我國(guó)國(guó)民生產(chǎn)總值的年增長(zhǎng)率為9%,計(jì)算10年后,我國(guó)國(guó)民生產(chǎn)總值與現(xiàn)在相比增長(zhǎng)多少百分比。計(jì)算公式為p=(1+r)n,其中r為年增長(zhǎng)率,n為年數(shù),p為與現(xiàn)在相比的倍數(shù)。B0302習(xí)題3.6編寫程序?qū)ⅰ癈hina”譯成密碼。規(guī)則:用字母后第4個(gè)字母代替原字母。例如“E”代替“A”。B0303鍵盤輸入三角形三邊長(zhǎng),求三角形面積。上機(jī)練習(xí)習(xí)題3.4習(xí)題B0301習(xí)題3.1假如我國(guó)國(guó)民生產(chǎn)總值的年增長(zhǎng)率為53C程序設(shè)計(jì)
第三章簡(jiǎn)單的c程序——順序結(jié)構(gòu)主講教師:魯萍西安建筑科技大學(xué)理學(xué)院C程序設(shè)計(jì)
第三章簡(jiǎn)單的c程序——順序結(jié)構(gòu)主講教師:魯54第三章簡(jiǎn)單的C程序設(shè)計(jì)——順序3.1順序程序設(shè)計(jì)舉例3.2數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算
常量、變量
整形、字符型、浮點(diǎn)型
運(yùn)算符及表達(dá)式3.3C語(yǔ)句——賦值語(yǔ)句3.4數(shù)據(jù)的輸入和輸出
scanf和printf
getchar和putchar小結(jié)習(xí)題第三章簡(jiǎn)單的C程序設(shè)計(jì)——順序3.1順序程序設(shè)計(jì)舉例小55順序程序設(shè)計(jì)舉例#include<stdio.h>intmain(){floatf,c;f=68.0;c=(5/9)*(f–32);printf("f=%f\nc=%f\n",f,c);return0;}A0301華氏溫度(如68℉)轉(zhuǎn)為攝氏溫度(如20℃)輸入f的值輸出c的值F=68.000000C=0.0000005.0C=20.000000順序程序設(shè)計(jì)舉例#include<stdio.h>A030156順序程序設(shè)計(jì)舉例#definePI3.1416intmain(){floatr,a,b;r=2;a=2*PI*r;b=PI*r*r;printf(“半徑=%f\n周長(zhǎng)=%f\n面積=%f\n",r,a,b);return0;}A0302例:根據(jù)圓半徑,求圓周長(zhǎng)和圓面積。輸入半徑r的值輸出a、b的值半徑=2.000000周長(zhǎng)=18.849600面積=28.274400周長(zhǎng)a=2*pi*r面積b=pi*r*rscanf("%f",&r);鍵盤輸入順序程序設(shè)計(jì)舉例#definePI3.1416A03057一、數(shù)據(jù)的概念在計(jì)算機(jī)科學(xué)中,數(shù)據(jù)是指能由程序處理的對(duì)象。日常生活中的數(shù)字、字符、圖形圖象及聲音等,在計(jì)算機(jī)中均作為數(shù)據(jù)看待。二、數(shù)據(jù)的類型在高級(jí)語(yǔ)言中,每一個(gè)數(shù)據(jù)都屬于一個(gè)特定的類型。不同類型的數(shù)據(jù)的表示、存儲(chǔ)及操作不相同。3.2數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算姓名Alice性別F年齡20英語(yǔ)80數(shù)學(xué)85平均82.5字符串字符整型實(shí)型實(shí)型實(shí)型一、數(shù)據(jù)的概念二、數(shù)據(jù)的類型3.2數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算姓583.2.1常量與變量3.3.1常量和符號(hào)常量
1、常量:在程序運(yùn)行過(guò)程中,其值不能被改變的量。常量說(shuō)明關(guān)鍵字:const。
2、常量的分類:1)整型常量。如:1234,562)實(shí)型常量。如:123.233)字符常量。如:‘A’,‘a(chǎn)’,‘m'4)字符串常量。如:"A","China"5)轉(zhuǎn)義字符。如:'\n','\t','\123','\xF9'6)符號(hào)常量。如:#definePI3.1415926#defineN303.2.1常量與變量3.3.1常量和符號(hào)常量
159轉(zhuǎn)義字符例:在屏幕上輸出一個(gè)笑臉(ASCII碼值為2)#include<stdio.h>voidmain(){printf("%c\n",2);/*輸出"笑臉"字符*/
}增加一個(gè)轉(zhuǎn)義字符的圖轉(zhuǎn)義字符例:在屏幕上輸出一個(gè)笑臉(ASCII碼值為2)增加一60符號(hào)常量概念:用一個(gè)標(biāo)識(shí)符表示常量#define標(biāo)識(shí)符常量表達(dá)式
例:#definePI3.1415926注意:1)標(biāo)識(shí)符一般用大寫2)不能給符號(hào)常量賦值例:PI=6;錯(cuò)誤常用于:(1)把有意義的常數(shù)定義為符號(hào)常量(2)在程序中多次出現(xiàn)的常數(shù),定義為符號(hào)常量?jī)?yōu)點(diǎn):含義清晰;一改全改#include<stdio.h>#definePI3.1416main(){floatr,area;printf("pleaseenterr:");
scanf("%f",&r);area=PI*r*r;printf("Theareais%f",a);}符號(hào)常量概念:用一個(gè)標(biāo)識(shí)符表示常量#include<stdi61符號(hào)常量的應(yīng)用例2.3錄入50個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)100~90,89~80,79~70,69~60,59~0個(gè)分?jǐn)?shù)段學(xué)生的人數(shù),并顯示統(tǒng)計(jì)結(jié)果(統(tǒng)計(jì)結(jié)果記為count)自頂向下:1:錄入50個(gè)學(xué)生的成績(jī)2:統(tǒng)計(jì)個(gè)分?jǐn)?shù)段學(xué)生的人數(shù)3:顯示統(tǒng)計(jì)結(jié)果S1.1:使i=1S1.2:輸入ni學(xué)生的成績(jī)S1.3:i=i+1S1.4:如果i≦50,執(zhí)行S1.2S2.1:使i=1S2.2:判斷ni學(xué)生的屬于哪個(gè)分?jǐn)?shù)段,該分?jǐn)?shù)段人數(shù)+1S2.3:i=i+1S2.4:如果i≦50,執(zhí)行S2.2S3.1:使i=1S3.2:顯示countiS3.3:i=i+1S3.4:如果i≦5,執(zhí)行S3.2#defineN5030303030NN符號(hào)常量的應(yīng)用例2.3錄入50個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)100623.2.2標(biāo)示符與變量1、變量變量:在程序執(zhí)行過(guò)程中其值可以改變的存儲(chǔ)單元,該存儲(chǔ)單元的名字稱為變量名。變量有不同的類型,存放不同類型的數(shù)據(jù)。注意:變量要先定義再使用
定義變量:類型變量名表;abc變量名變量值inta,b,c;a=3;b=8;c=a+b;a=5;存儲(chǔ)單元381153.2.2標(biāo)示符與變量1、變量a變量名變量值63變量的命名規(guī)則標(biāo)示符
用于命名程序中的實(shí)體對(duì)象(如變量,符號(hào)常量函數(shù),數(shù)組等)(1)標(biāo)示符是以字母或下劃線開(kāi)頭,由字母、數(shù)字及下劃線等組成的字符序列,如:abc,_x1,AB67,NAME2;(2)序列長(zhǎng)度最大值依編譯系統(tǒng)而定;(3)區(qū)分大小寫字母,如abc和Abc是不同的變量(4)不允許使用關(guān)鍵字作變量名。例:123dr+43auto5A*2#88(錯(cuò)誤)_123dr_43Auto(正確)變量的命名規(guī)則標(biāo)示符64C語(yǔ)言的數(shù)據(jù)類型圖構(gòu)造類型數(shù)組結(jié)構(gòu)(struct)共用體(union)其它類型指針(point)空類型(void)基本數(shù)據(jù)類型數(shù)值型整型基本型(int)短整型(short)長(zhǎng)整型(long)無(wú)符號(hào)型(unsigned)浮點(diǎn)型單精度(float)雙精度(double)長(zhǎng)雙精度(longdouble)枚舉型(enum)字符型(char)字符字符串在C語(yǔ)言中,數(shù)據(jù)類型用相應(yīng)的關(guān)鍵字表示C語(yǔ)言的數(shù)據(jù)類型圖構(gòu)造類型數(shù)組結(jié)構(gòu)(struct)共用體(u653.2.3整型類型存儲(chǔ)大小取值范圍int
2字節(jié)-215~215-1-32768~32768short2字節(jié)-215~215-1-32768~32768long4字節(jié)-231~231-1longlong
8字節(jié)-263~263-1身份證號(hào),學(xué)號(hào)?------沒(méi)有負(fù)數(shù)!符號(hào)位數(shù)值位1153.2.3整型類型存儲(chǔ)大小取值范圍身份證號(hào)66C語(yǔ)言的unsigned和signed數(shù)
對(duì)整型和字符型1、signed:有符號(hào)數(shù)可以存放正數(shù)和負(fù)數(shù)2、unsigned:無(wú)符號(hào)數(shù)只能存放正數(shù)(實(shí)數(shù)沒(méi)有unsigned和signed的區(qū)分)如:身份證號(hào),學(xué)號(hào)等。
取消符號(hào)位,與右邊的各位一起用來(lái)表示數(shù)值本身。數(shù)值位16符號(hào)位數(shù)值位115整型默認(rèn)有符號(hào)型C語(yǔ)言的unsigned和signed數(shù)對(duì)整型和字符型數(shù)值673.2.3整型unsignedint0~216-10~65535unsignedshortint0~216-10~65535unsignedlongint0~232-1類型存儲(chǔ)大小取值范圍int
16bit-215~215-1-32768~32768shortint16bit-215~215-1-32768~32768longint32bit-231~231-13.2.3整型unsignedint68intmain(){charc1,c2;c1='a';c2=98;printf("%c%c\n",c1,c2);printf("%d%d\n",c1,c2);return0;}3.2.4字符型數(shù)據(jù)c1c2變量名變量值a98存儲(chǔ)單元97(1)可以是轉(zhuǎn)義字符\n(2)存儲(chǔ):字符的ASCII碼(3)輸出:整數(shù)或字符(4)允許對(duì)字符進(jìn)行算術(shù)運(yùn)算(即對(duì)ASCII碼值進(jìn)行算術(shù)運(yùn)算)字符變量:關(guān)鍵字char,占1字節(jié)字符常量:用單引號(hào)括起來(lái)的單個(gè)字符A0303例:字符數(shù)據(jù)的算術(shù)運(yùn)算。intmain()3.2.4字符型數(shù)據(jù)c1變量名變量值693.2.4字符型數(shù)據(jù)intmain(){charc1,c2;c1='a';c2=98;printf("%c%c\n",c1,c2);printf("%d%d\n",c1,c2);return0;}運(yùn)行結(jié)果:ab9798c1c2變量名變量值a98存儲(chǔ)單元97字符ASCII碼a97b98c99c1+1;'a'+1;以字符方式輸出以整數(shù)方式輸出A0303例:字符數(shù)據(jù)的算術(shù)運(yùn)算。3.2.4字符型數(shù)據(jù)intmain()運(yùn)行結(jié)果:ab70課堂練習(xí):給定一個(gè)小寫字母,輸出大寫字母。
#include<stdio.h>intmain()
{charc1,c2;c1=‘a(chǎn)’;c2=c1-32;printf("%c",c2);return0;} 運(yùn)行結(jié)果:Pleaseinputachar:a(輸入)A(輸出)3.2.4字符型數(shù)據(jù)課堂練習(xí):給定一個(gè)小寫字母,輸出大寫字母。
#include713.2.5浮點(diǎn)型數(shù)據(jù)實(shí)型變量分為三種:1、單精度:float(有效數(shù)字7位)2、雙精度:double(有效數(shù)字16位)3、長(zhǎng)雙精度:longdouble(有效數(shù)字19位)。3.2.5浮點(diǎn)型數(shù)據(jù)實(shí)型變量分為三種:723.4.2舍入誤差intmain(){floata,b;a=12345678900.0;b=a+20;
printf("%f\n",b);return0;}實(shí)際:12345678868.000000期望:12345678920.0000000錯(cuò)誤原因:float有效數(shù)字7位,后面的數(shù)字無(wú)意義。如何得到正確計(jì)算結(jié)果?doubleA0304例:數(shù)據(jù)有效長(zhǎng)度3.4.2舍入誤差intmain()實(shí)際:123456773數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式1.內(nèi)存單元的地址:內(nèi)存單元的編號(hào),與變量名對(duì)應(yīng)。2.內(nèi)存單元的內(nèi)容:變量的值。例:對(duì)如下定義:inta,b;charc;floatx;變量a,b,c,x的內(nèi)存分配情況:abxc數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式1.內(nèi)存單元的地址:內(nèi)存單元的編號(hào),74基本數(shù)據(jù)類型練習(xí)1.以下正確的字符常量是()A)‘A’B)’\398’C)"A"D)’\xgh’2.以下正確的整數(shù)常量是()A)082B)0xhfC)654D)9.03.以下是正確的實(shí)型常量是()A)9.0B)0.5eC)1.2e+2.6D)e-24.設(shè)有chara=‘a(chǎn)’;inti=2;printf("%c",a+i)的結(jié)果為:A)‘c’B)‘d’C)‘r’D)'g‘5、以下轉(zhuǎn)義字符用于換行的是()。A)'\r'B)'\t'C)'\n'D)'\\'基本數(shù)據(jù)類型練習(xí)1.以下正確的字符常量是()753.2.7運(yùn)算符和表達(dá)式運(yùn)算符的優(yōu)先級(jí)為:()*,/高低%+,-1基本算數(shù)運(yùn)算符+(加),-(減法/取負(fù)),*(乘),/(除),%(模運(yùn)算,即求余數(shù))3.2.7運(yùn)算符和表達(dá)式運(yùn)算符的優(yōu)先級(jí)為:()*,/高76關(guān)于除法運(yùn)算"/"的說(shuō)明a/b:
①a,b都是整數(shù),其商取整數(shù),小數(shù)部分舍棄例:5/2=2結(jié)果取整商值‘a(chǎn)’/2=4897/2的整商值
②a,b其一是實(shí)型,另一個(gè)自動(dòng)轉(zhuǎn)換為實(shí)型例如:5./2=2.5;5/2.=2.5例如:1/2=0;1/2.=0.5關(guān)于除法運(yùn)算"/"的說(shuō)明a/b:77關(guān)于求余數(shù)運(yùn)算符"%"的說(shuō)明a%b:
求a除以b的余數(shù)。
①a,b均為整型,或者單字符數(shù)據(jù)②運(yùn)算結(jié)果為整數(shù),結(jié)果為a除以b的余數(shù)。例:5%2=1‘a(chǎn)’%2=197%25.0%2錯(cuò)
關(guān)于求余數(shù)運(yùn)算符"%"的說(shuō)明a%b:78自增(++)、自減(--)運(yùn)算實(shí)例A0305例:自增自減運(yùn)算符intmain(){inta,b,c,d;a=5;b=5;c=++a;d=b++;printf("c=%d\n",c);printf("d=%d\n",d);printf("a=%d,b=%d
\n",a,b);return0;}先將a值自加1,再將增加后的a值賦值給c先將b的值賦給d,然后b再自加1輸出結(jié)果:c=6d=5a=6,b=6++ii=i+1,使i的值增1--ii=i-1,使i的值減1自增(++)、自減(--)運(yùn)算實(shí)例A0305例:自增自減運(yùn)79自增(++)、自減(--)運(yùn)算2、用法與運(yùn)算規(guī)則
(1)前置運(yùn)算:++i、--i;即先增減、后運(yùn)算先使i增(減)1,再以增、減后的值參與其它運(yùn)算
(2)后置運(yùn)算:i++、i--。即先運(yùn)算、后增減變量先參與其它運(yùn)算,然后再使變量的值增、減1自增(++)、自減(--)運(yùn)算2、用法與運(yùn)算規(guī)則
(1)80【自增、自減運(yùn)算的幾點(diǎn)說(shuō)明】1)++、--只能用于變量,不能用于常量和表達(dá)式。例1:5++、--(a+b)錯(cuò)誤2)其結(jié)合方向是從右到左,注意前置、后置問(wèn)題。例2:inta=5,b;b=-a++;運(yùn)算結(jié)果:a=6b=-5(a++:后置運(yùn)算,先引用變量的值,然后變量值加1)3)在表達(dá)式中,避免這種用法x+++x+++x++【自增、自減運(yùn)算的幾點(diǎn)說(shuō)明】1)++、--只能用于變量,81算術(shù)表達(dá)式例:設(shè)有定義:floata=2,b=4,h=3;,以下C語(yǔ)言表達(dá)式與代數(shù)式結(jié)果不同的是()A.(a+b)*h/2B.(1/2)*(a+b)*hC.(a+b)*h*1/2D.h/2*(a+b)例:a/*簡(jiǎn)單表達(dá)式*/2/*簡(jiǎn)單表達(dá)式*/(x+y)/2–1/*復(fù)雜算術(shù)表達(dá)式*/(1)概念:用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(常量、變量和函數(shù)等)連接起來(lái)的、符合語(yǔ)法規(guī)則的式子,稱為表達(dá)式。(2)表達(dá)式求值:按運(yùn)算符的優(yōu)先級(jí)高低次序執(zhí)行算術(shù)表達(dá)式82算術(shù)表達(dá)式常用函數(shù):1)冪次方用函數(shù)pow()3)平方根用函數(shù)sqrt()表示
使用以上數(shù)學(xué)函數(shù)需要#include<math.h>例1:代數(shù)式3x3+x-2算術(shù)表達(dá)式:3*pow(x,3)+x-2例2代數(shù)式
算術(shù)表達(dá)式:a/2-(6*y)/(5*x)算術(shù)表達(dá)式常用函數(shù):83例:inti;floatf;doubled;longe如何計(jì)算:10+’a’+i*f-d/e?3.7不同類型數(shù)據(jù)之間的轉(zhuǎn)化1.自動(dòng)轉(zhuǎn)化
2.類型強(qiáng)制轉(zhuǎn)化例:3.7不同類型數(shù)據(jù)之間的轉(zhuǎn)化1.自動(dòng)轉(zhuǎn)化
2.類型強(qiáng)84混合運(yùn)算的轉(zhuǎn)化規(guī)則轉(zhuǎn)化規(guī)則:運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)"先轉(zhuǎn)換、后運(yùn)算",首先將數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同一類型,然后在同一類型數(shù)據(jù)間進(jìn)行運(yùn)算。double←float↑long↑unsigned↑int←char,short1)←表示必須的轉(zhuǎn)換。char和short型必須轉(zhuǎn)換成int型,float型必須轉(zhuǎn)換成double型。2)↑表示不同類型的轉(zhuǎn)換方向。3.7不同類型數(shù)據(jù)之間的轉(zhuǎn)化混合運(yùn)算的轉(zhuǎn)化規(guī)則轉(zhuǎn)化規(guī)則:運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不85類型強(qiáng)制轉(zhuǎn)化和自動(dòng)轉(zhuǎn)化實(shí)例inti;floatf;doubled;longe10+’a’+i*f-d/e計(jì)算機(jī)從左到右掃描1)10+’a’10+97=107i*fi,f轉(zhuǎn)為double運(yùn)算107轉(zhuǎn)為double+i*fe轉(zhuǎn)為double上述類型轉(zhuǎn)換為系統(tǒng)自動(dòng)進(jìn)行。double←float↑long↑unsigned↑int←char,short類型強(qiáng)制轉(zhuǎn)化和自動(dòng)轉(zhuǎn)化實(shí)例inti;floatf86數(shù)據(jù)類型強(qiáng)制性轉(zhuǎn)化y=3x=3.5A0306例:取整運(yùn)算main(){floatx=3.5;inty;y=(int)x;printf("y=%d",y);printf("x=%f",x);}強(qiáng)制轉(zhuǎn)換:轉(zhuǎn)化為為指定的數(shù)據(jù)類型。格式:
(要轉(zhuǎn)換成的數(shù)據(jù)類型)(被轉(zhuǎn)換的表達(dá)式)強(qiáng)制轉(zhuǎn)換類型得到的是一個(gè)所需類型的中間量,原表達(dá)式類型并不發(fā)生變化。將3.5轉(zhuǎn)化為整型數(shù)賦值給y,但x本身的類型和其值未改變數(shù)據(jù)類型強(qiáng)制性轉(zhuǎn)化y=3A0306例:取整運(yùn)算強(qiáng)制轉(zhuǎn)換:87(1)類型名稱必須用()括號(hào)括起來(lái)(2)強(qiáng)制轉(zhuǎn)換類型得到的是一個(gè)所需類型的中間量,原表達(dá)式類型并不發(fā)生變化。(3)當(dāng)被轉(zhuǎn)換的表達(dá)式是一個(gè)簡(jiǎn)單表達(dá)式(如簡(jiǎn)單變量)時(shí),外面的一對(duì)圓括號(hào)可以缺省。數(shù)據(jù)類型強(qiáng)制性轉(zhuǎn)化說(shuō)明(double)a(float)5/2(float)(5/2)(double)(a)(float)(5)/2
將5轉(zhuǎn)換成實(shí)型再除以2;(=2.5)(float)(5/2)將5整除2的結(jié)果轉(zhuǎn)換成實(shí)型2.0(1)類型名稱必須用()括號(hào)括起來(lái)數(shù)據(jù)類型強(qiáng)制性轉(zhuǎn)化說(shuō)明(d88算數(shù)運(yùn)算符練習(xí)(1)1.設(shè)intx,y=3;執(zhí)行x=y++之后,x,y的值分別為:A)3,5B)4,5C)3,4D)4,42.設(shè)有intm,i=5;執(zhí)行m=++i之后,m,i的值分別為:A)5,5B)5,6C)6,6D)6,53.表達(dá)式7%5的值為:()A)1B)2.5C)2D)04.設(shè)有a=2,b=5,x=3.5;表達(dá)式(float)a+b/2+(int)x%2的結(jié)果值為:()A)3B)5C)5.0D)7算數(shù)運(yùn)算符練習(xí)(1)1.設(shè)intx,y=3;執(zhí)行x=y+895、floatx=3.5,y=3.6,則表達(dá)式(int)(x+y)的結(jié)果值為:()A)6B)4C)3D)76、floatx=3.5,y=3.6,則表達(dá)式(int)x+y的結(jié)果值為:()A)7B)4C)3.6D)6.67、設(shè)有chara='A';inti=a/2;printf("%d",i)的結(jié)果為:()A)65B)66C)32D)67算數(shù)運(yùn)算符練習(xí)(2)5、floatx=3.5,y=3.6,則表達(dá)式(int)(903.3C語(yǔ)言的語(yǔ)句1.控制語(yǔ)句:(1)選擇結(jié)構(gòu)控制語(yǔ)句:if()~else~,switch()~(2)循環(huán)結(jié)構(gòu)控制語(yǔ)句:do~while(),for()~,while()~,break,continue(3)其它控制語(yǔ)句:goto,return2.函數(shù)調(diào)用語(yǔ)句:由一次函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成。例如,printf("ThisisaCfunctionstatement.");3.表達(dá)式語(yǔ)句:表達(dá)式后加一個(gè)分號(hào)構(gòu)成。例如:num=5;是一個(gè)賦值語(yǔ)句。4.空語(yǔ)句:僅由一個(gè)分號(hào)構(gòu)成,不執(zhí)行任何操作。例:;3.3C語(yǔ)言的語(yǔ)句1.控制語(yǔ)句:915.復(fù)合語(yǔ)句:由大括號(hào)括起來(lái)的一組語(yǔ)句構(gòu)成。例如:main(){……{……}/*復(fù)合語(yǔ)句。。*/……}3.2C語(yǔ)言的語(yǔ)句注意:沒(méi)有分號(hào)5.復(fù)合語(yǔ)句:由大括號(hào)括起來(lái)的一組語(yǔ)句構(gòu)成。3.2C語(yǔ)言92賦值語(yǔ)句及賦值運(yùn)算符賦值運(yùn)算符:=
變量=表達(dá)式將表達(dá)式的值賦給變量例1:t=x+5p=q=r=9x=(y=1)-(z=2)P=9x=-1注意:賦值運(yùn)算符按自右而左的結(jié)合順序例:floatf;f=23;/*計(jì)算機(jī)中f=23.00000*/注意:將右邊表達(dá)式類型轉(zhuǎn)化為左邊變量的類型賦值語(yǔ)句及賦值運(yùn)算符賦值運(yùn)算符:=93例:a+=2a=a+2a*=3a=a*3x+=y+7x=x+(y+7)a*=5+6a=a*(5+6)a/=3*5a=a/(3*5)復(fù)合賦值運(yùn)算+=-=*=/=%=<<=>>=&=^=|=運(yùn)算時(shí)要把整個(gè)表達(dá)式當(dāng)做一個(gè)整體例:a+=2a=a+2復(fù)合賦值運(yùn)算+=943.4數(shù)據(jù)輸出/輸入1)C語(yǔ)言中本身不提供輸入/輸出語(yǔ)句,所有的輸入/輸出操作都是由函數(shù)來(lái)實(shí)現(xiàn)的。printf,scanf,putchar,getchar2)使用輸入輸出庫(kù)函數(shù)時(shí),必須
#include<stdio.h>
3.4數(shù)據(jù)輸出/輸入1)C語(yǔ)言中本身不提供輸入/輸出語(yǔ)句,953.4數(shù)據(jù)的輸入輸出#include<math.h>intmain(){floata,b,c,disc,x1,x2,p,q;printf("輸入abc:");scanf(“%lf%lf%lf”,&a,&b,&c);disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024~2025學(xué)年河南禹州七年級(jí)數(shù)冊(cè)中考試試題
- 工藝集成與模塊化設(shè)計(jì)研究考核試卷
- 低溫倉(cāng)儲(chǔ)設(shè)備維護(hù)保養(yǎng)培訓(xùn)體系構(gòu)建考核試卷
- 江蘇省蘇州市振華中學(xué)校2025年中考二模語(yǔ)文試題(含答案)
- 公路養(yǎng)護(hù)機(jī)械設(shè)備選型與人才培養(yǎng)考核試卷
- 數(shù)據(jù)治理與IT管理協(xié)同考核試卷
- 員工招聘與組織變革適應(yīng)性分析考核試卷
- 穩(wěn)定性試驗(yàn)設(shè)計(jì)與實(shí)施考核試卷
- 2025年中國(guó)PE光纖套管數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)L-精氨酸鹽酸鹽數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 人教版(2024)七年級(jí)下冊(cè)英語(yǔ)全冊(cè)教案(8個(gè)單元整體教學(xué)設(shè)計(jì))
- 2024屆四川涼山州數(shù)學(xué)高二第二學(xué)期期末考試試題含解析
- 鋁壓延加工材項(xiàng)目評(píng)估報(bào)告
- (環(huán)境管理)環(huán)境保護(hù)與水土保持監(jiān)理實(shí)施細(xì)則
- 云南省昆明市官渡區(qū)2022-2023學(xué)年七年級(jí)下學(xué)期期末語(yǔ)文試題(含答案)
- 管道護(hù)理業(yè)務(wù)學(xué)習(xí)課件
- 新求精德語(yǔ)強(qiáng)化教程初級(jí)1(第四版)
- GB/T 18601-2001天然花崗石建筑板材
- 汽封加熱器 說(shuō)明書(shū)
- 07勞動(dòng)力及資源配備計(jì)劃
- 精餾-化工分離工程課件
評(píng)論
0/150
提交評(píng)論