第2章最簡單的C程序設(shè)計-順序程序設(shè)計.doc
第2章最簡單的C程序設(shè)計_順序程序設(shè)計第2章 最簡單的C程序設(shè)計_順序程序設(shè)計2。1順序程序設(shè)計舉例1。概念:程序從前往后依次執(zhí)行2.舉例例2。1已知三角形三邊長,顯示三角形的面積。程序代碼#include”stdio。h”include”math.hint main()float a,b,c,s,area; scanf(%f ,f ,%f”,a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(sc); printf(”a=%.2fnb=%.2fnc=.2fnarea=。2fn”,a,b,c,area); return 0;例2。2已知2010年中國人口為1370536875人,設(shè)年增長率為0.5%,2050年人口數(shù)為多少?程序代碼#includestdio。h#include”math.h”int main()double p0,p1,r; p0=1370536875; r=0.005; p1=p0pow(1+r,40); printf(%.0fn”,p1); return 0;例2。3計算并顯示方程ax2+bx+c=0的根。設(shè)b24ac0。程序代碼includestdio.hinclude”math。h”int main()double a,b,c,d; scanf(%lf ,%lf ,%lf”,&a,&b,&c); d=bb4*a*c; printf(x1=.2fnx2=%.2fn”,(-b+sqrt(d)/(2a),(b-sqrt(d)/(2a)); return 0;2.2數(shù)據(jù)的類型及存儲形式2。2.1 C的數(shù)據(jù)類型1。概念: 數(shù)據(jù)的存儲單元的長度及存儲形式2。種類數(shù)據(jù)類型基本類型整數(shù)類型基本整型(int , unsigned int)短整型(short , unsigned short)長整型(long , unsigned long)字符型(char , unsigned char)浮點(diǎn)類型單精度(float)雙精度(double)枚舉類型(enum)空類型(void)派生類型指針類型()數(shù)組類型( )結(jié)構(gòu)體類型(struct)共用體類型(union)函數(shù)類型( ))2。2。2 常量和變量1。常量:其值不允許變化的量2.變量: 其值允許變化的量定義變量的格式: 數(shù)據(jù)類型 變量名=初值;3. 標(biāo)識符: 功能: 名字(變量、函數(shù)、類型等)標(biāo)識符構(gòu)成:由字母或下劃線開始,由字母、數(shù)字和下劃線構(gòu)成區(qū)分大小寫不要將關(guān)鍵字(C語言已經(jīng)使用有特殊含義的名字)用作其它用途2.2。3 整型數(shù)據(jù)1。整型常量的三種形式十進(jìn)制八進(jìn)制格式:0八進(jìn)制數(shù)字序列例: 012和-012分別與十進(jìn)制的10和-10相等十六進(jìn)制格式:0x十六進(jìn)制數(shù)字序列 或 0X十六進(jìn)制數(shù)字序列例: 0X12和-0x12分別與十進(jìn)制的18和18相等2.有符號整型數(shù)據(jù)的存儲方式: 定點(diǎn)整數(shù)補(bǔ)碼3。 4。 5。整型變量的分類基本整型(int , unsigned int)短整型(short , unsigned short)長整型(long , unsigned long)例2.4整型數(shù)據(jù)溢出。程序代碼#includestdio.h”int main()short a=32767,b; b=a+1; printf(a=d,a+1=%dn,a,b); return 0;運(yùn)行結(jié)果: a=32767,a+1=32768討論:本題有偷梁換柱之嫌,a+1的值與b的值未必相等6.整型常量的類型默認(rèn):在int范圍內(nèi)的就用int型,否則用long型類型符:在常量后加l或L表示長整型,如12L.在常量后加U或u表示無符號,如12u,12LU2。2。4 字符型數(shù)據(jù)功能:表示一個字符存儲方式:字符編碼(整數(shù))1。字符常量表示形式字符 轉(zhuǎn)義字符表示形式功能:表示通常無法表示的字符格式:見37頁表2。22。字符變量例2。5字符變量保存整數(shù)(字符代碼)示例.程序代碼#include”stdio。h”int main()char c1,c2; c1=97;c2=98; printf(c1=c,c2=%cn,c1,c2); printf(”c1=d,c2=%dn”,c1,c2); return 0;思考:將char c1,c2;中的char改為int,執(zhí)行結(jié)果無變化例2。6小寫字母變對應(yīng)的大寫字母示例.程序代碼include”stdio。hint main()char c1,c2; c1=a;c2=b; c1=c132;c2=c232; printf(”c,cn”,c1,c2); return 0;3。字符串常量表示形式: 字符序列”占用字節(jié)數(shù):長度+1與字符常量的區(qū)別: 表示形式,長度沒有字符串變量2.2.5 浮點(diǎn)型數(shù)據(jù)1.浮點(diǎn)數(shù)概念用科學(xué)計數(shù)法表示的數(shù)(指內(nèi)部)2.分類單精度(float)雙精度(double)3。存儲形式規(guī)格化浮點(diǎn)數(shù)4.常量類型雙精度5。誤差例2。7浮點(diǎn)型數(shù)據(jù)誤差示例。程序代碼include”stdio.h”int main()float a; a=3。141592612; printf(a=fn”,a); return 0;執(zhí)行結(jié)果:a=3.1415932.3運(yùn)算符與表達(dá)式2.3.1 表達(dá)式1。概念:常量、變量和函數(shù)是表達(dá)式;表達(dá)式、運(yùn)算符以及括號組成的有意義的式子也是表達(dá)式。2.常見表達(dá)式:算術(shù)、關(guān)系、邏輯、賦值、逗號2.3.2 算術(shù)運(yùn)算符運(yùn)算符含義舉例表達(dá)式結(jié)果備注優(yōu)先級+正+aa的值2負(fù)-aa的相反數(shù)的值2+自加+aa+a+1之后的值a+1之前的值變量a增1變量a增12-自減-aaa-1之后的值a1之前的值變量a減1變量a減12*乘a*ba和b的乘積3/除a/ba除以b的商3%求余aba整除以b的余數(shù)3+加a+ba和b的和4減aba和b的差42。3.3 運(yùn)算符的優(yōu)先級與結(jié)合性1。優(yōu)先級: 分15級;相鄰的兩個運(yùn)算符,先執(zhí)行高優(yōu)先級的運(yùn)算符。2.結(jié)合性:相鄰的同優(yōu)先級運(yùn)算符的執(zhí)行順序由結(jié)合性確定。結(jié)合性分為左結(jié)合性、右結(jié)合性兩種.詳見270頁附錄C2.3.4 不同數(shù)據(jù)類型間的混合運(yùn)算(數(shù)據(jù)類型自動轉(zhuǎn)換)1。必定的轉(zhuǎn)換:水平向左2?;旌项愋娃D(zhuǎn)換:垂直向上例2。7。1數(shù)據(jù)類型自動轉(zhuǎn)換示例.程序代碼#include stdio。hint main() int i=2; float f=3; double d=4; long n=5; printf(”表達(dá)式的值=f,表達(dá)式的值占據(jù)內(nèi)存字節(jié)數(shù)=dn”,50+b+i*fd/n,sizeof(50+b+ifd/n); return 0;結(jié)果:表達(dá)式的值=153.200000,表達(dá)式的值占據(jù)內(nèi)存字節(jié)數(shù)=8doublefloatunsigned longlongunsignedintunsigned charunsigned shortcharshort優(yōu)先級高低2.3.5 強(qiáng)制類型轉(zhuǎn)換1。格式:(類型名)表達(dá)式2。強(qiáng)制類型轉(zhuǎn)換表達(dá)式的值:等于指定表達(dá)式的值(可能有誤差)3.強(qiáng)制類型轉(zhuǎn)換表達(dá)式的類型:類型名指定的類型例2。7.2強(qiáng)制類型轉(zhuǎn)換示例。程序代碼includestdio.hint main()float x=7.8; printf(”x%4=%dn”,(int)x4); return 0;結(jié)果:x4=32。4賦值語句2.4。1 C語句概述1.C程序:由若干程序文件構(gòu)成2。程序文件:由若干函數(shù)構(gòu)成3。函數(shù):函數(shù)首部+函數(shù)體4.函數(shù)體:聲明部分+執(zhí)行語句構(gòu)成5.語句種類控制語句:控制程序的執(zhí)行方向函數(shù)調(diào)用語句調(diào)用方式之一: 函數(shù)名(實(shí)參列表);表達(dá)式語句: 表達(dá)式;空語句: ;復(fù)合語句(語句塊): 用一對花括號括起來的一組聲明和語句2。4.2 賦值表達(dá)式1.賦值運(yùn)算符: =2。賦值表達(dá)式: 變量 = 表達(dá)式功能: 計算、轉(zhuǎn)換、保存表達(dá)式的值: 等于保存在左端變量中的值例 a=b=c=5 變量a,b,c以及表達(dá)式的值均為5 a=5+(c=6) 變量c等于6,a以及表達(dá)式均為11 a=(b=4)+(c=6) 變量b等于4,c等于6,a以及表達(dá)式均為10 a=(b=10)/(c=2) b等于10,c等于2,a以及表達(dá)式均為53.復(fù)合賦值運(yùn)算符以及表達(dá)式算術(shù)復(fù)合賦值運(yùn)算符: += , = , = , /= , %=表達(dá)式: 變量 復(fù)合賦值運(yùn)算符 表達(dá)式表達(dá)式的值: 等于保存在左端變量中的值例2。7。3復(fù)合賦值表達(dá)式示例。程序代碼#include ”stdio.h”int main()int a=3,b=5; printf(”%dn”,a=a+b); printf(”dn”,a); return 0;結(jié)果:24244.賦值過程中的類型轉(zhuǎn)換浮點(diǎn)數(shù)保存到整型變量中之前,進(jìn)行截斷取整。如: int i ; i=36。99 ; 保存到變量i中的值為36。為簡單起見,只要保證保存在變量中的值不超過變量的范圍即可.2.4。3 賦值語句1。區(qū)分賦值表達(dá)式與賦值語句: 表達(dá)式無分號,語句以分號結(jié)尾2.變量賦初值的方式用賦值語句int i;i=100;定義變量時直接賦初值int i=100;例2.8互換兩個變量的值示例。提示:借助于中間變量互換。程序代碼include stdio.h”int main()int a=3,b=4,t; /借助變量t交換a和b的值 t=a;a=b;b=t; printf(a=%d,b=dn”,a,b); return 0;結(jié)果:a=4,b=32。5 輸入輸出2.5.1 概念1。標(biāo)準(zhǔn)輸入輸出設(shè)備(終端: 顯示器+鍵盤)2.常用標(biāo)準(zhǔn)輸入輸出函數(shù):putchar、getchar、printf、scanf、puts、gets3.程序中用到標(biāo)準(zhǔn)輸入輸出函數(shù)時,在程序的開始添加編譯指令include stdio
編號:24714299
類型:共享資源
大?。?span id="g6muaqe" class="font-tahoma">81.04KB
格式:DOC
上傳時間:2023-01-13
10
積分
積分
- 關(guān) 鍵 詞:
- 簡單 程序設(shè)計 順序
- 資源描述:
-
第2章最簡單的C程序設(shè)計_順序程序設(shè)計 第2章 最簡單的C程序設(shè)計_順序程序設(shè)計 2。1順序程序設(shè)計舉例 1。概念:程序從前往后依次執(zhí)行 2.舉例 例2。1已知三角形三邊長,顯示三角形的面積。 程序代碼 #include”stdio。h” #include”math.h" int main() {float a,b,c,s,area; scanf("%f ,%f ,%f”,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s—c)); printf(”a=%.2f\nb=%.2f\nc=%.2f\narea=%。2f\n”,a,b,c,area); return 0; } 例2。2已知2010年中國人口為1370536875人,設(shè)年增長率為0.5%,2050年人口數(shù)為多少? 程序代碼 #include"stdio。h" #include”math.h” int main() {double p0,p1,r; p0=1370536875; r=0.005; p1=p0*pow(1+r,40); printf("%.0f\n”,p1); return 0; } 例2。3計算并顯示方程ax2+bx+c=0的根。設(shè)b2—4ac≥0。 程序代碼 #include"stdio.h" #include”math。h” int main() {double a,b,c,d; scanf("%lf ,%lf ,%lf”,&a,&b,&c); d=b*b—4*a*c; printf("x1=%.2f\nx2=%.2f\n”,(-b+sqrt(d))/(2*a),(—b-sqrt(d))/(2*a)); return 0; } 2.2數(shù)據(jù)的類型及存儲形式 2。2.1 C的數(shù)據(jù)類型 1。概念: 數(shù)據(jù)的存儲單元的長度及存儲形式 2。種類 數(shù)據(jù)類型 基本類型 整數(shù)類型 基本整型(int , unsigned int) 短整型(short , unsigned short) 長整型(long , unsigned long) 字符型(char , unsigned char) 浮點(diǎn)類型 單精度(float) 雙精度(double) 枚舉類型(enum) 空類型(void) 派生類型 指針類型(*) 數(shù)組類型([ ]) 結(jié)構(gòu)體類型(struct) 共用體類型(union) 函數(shù)類型(( )) 2。2。2 常量和變量 1。常量:其值不允許變化的量 2.變量: 其值允許變化的量 定義變量的格式: 數(shù)據(jù)類型 變量名[=初值]; 3. 標(biāo)識符: ⑴功能: 名字(變量、函數(shù)、類型等) ⑵標(biāo)識符構(gòu)成:由字母或下劃線開始,由字母、數(shù)字和下劃線構(gòu)成 ⑶區(qū)分大小寫 ⑷不要將關(guān)鍵字(C語言已經(jīng)使用有特殊含義的名字)用作其它用途 2.2。3 整型數(shù)據(jù) 1。整型常量的三種形式 ⑴十進(jìn)制 ⑵八進(jìn)制 ①格式:0八進(jìn)制數(shù)字序列 ②例: 012和-012分別與十進(jìn)制的10和-10相等 ⑶十六進(jìn)制 ①格式:0x十六進(jìn)制數(shù)字序列 或 0X十六進(jìn)制數(shù)字序列 ②例: 0X12和-0x12分別與十進(jìn)制的18和—18相等 2.有符號整型數(shù)據(jù)的存儲方式: 定點(diǎn)整數(shù)補(bǔ)碼 3。 4。 5。整型變量的分類 基本整型(int , unsigned [int]) 短整型(short , unsigned short) 長整型(long , unsigned long) 例2.4整型數(shù)據(jù)溢出。 程序代碼 #include"stdio.h” int main() {short a=32767,b; b=a+1; printf("a=%d,a+1=%d\n",a,b); return 0; } 運(yùn)行結(jié)果: a=32767,a+1=—32768 討論:本題有偷梁換柱之嫌,a+1的值與b的值未必相等 6.整型常量的類型 默認(rèn):在int范圍內(nèi)的就用int型,否則用long型 類型符:在常量后加l或L表示長整型,如12L.在常量后加U或u表示無符號,如12u,12LU 2。2。4 字符型數(shù)據(jù) 功能:表示一個字符 存儲方式:字符編碼(整數(shù)) 1。字符常量 ⑴表示形式 '字符' ⑵轉(zhuǎn)義字符表示形式 ①功能:表示通常無法表示的字符 ②格式:見37頁表2。2 2。字符變量 例2。5字符變量保存整數(shù)(字符代碼)示例. 程序代碼 #include”stdio。h” int main() {char c1,c2; c1=97;c2=98; printf("c1=%c,c2=%c\n",c1,c2); printf(”c1=%d,c2=%d\n”,c1,c2); return 0; } 思考:將char c1,c2;中的char改為int,執(zhí)行結(jié)果無變化 例2。6小寫字母變對應(yīng)的大寫字母示例. 程序代碼 #include”stdio。h" int main() {char c1,c2; c1='a';c2=’b'; c1=c1—32;c2=c2—32; printf(”%c,%c\n”,c1,c2); return 0; } 3。字符串常量 ⑴表示形式: "字符序列” ⑵占用字節(jié)數(shù):長度+1 ⑶與字符常量的區(qū)別: 表示形式,長度 ⑷沒有字符串變量 2.2.5 浮點(diǎn)型數(shù)據(jù) 1.浮點(diǎn)數(shù)概念 用科學(xué)計數(shù)法表示的數(shù)(指內(nèi)部) 2.分類 ⑴單精度(float) ⑵雙精度(double) 3。存儲形式 規(guī)格化浮點(diǎn)數(shù) 4.常量類型 雙精度 5。誤差 例2。7浮點(diǎn)型數(shù)據(jù)誤差示例。 程序代碼 #include”stdio.h” int main() {float a; a=3。141592612; printf("a=%f\n”,a); return 0; } 執(zhí)行結(jié)果: a=3.141593 2.3運(yùn)算符與表達(dá)式 2.3.1 表達(dá)式 1。概念:常量、變量和函數(shù)是表達(dá)式;表達(dá)式、運(yùn)算符以及括號組成的有意義的式子也是表達(dá)式。 2.常見表達(dá)式:算術(shù)、關(guān)系、邏輯、賦值、逗號 2.3.2 算術(shù)運(yùn)算符 運(yùn)算符 含義 舉例 表達(dá)式結(jié)果 備注 優(yōu)先級 + 正 +a a的值 2 — 負(fù) -a a的相反數(shù)的值 2 ++ 自加 ++a a++ a+1之后的值 a+1之前的值 變量a增1 變量a增1 2 —- 自減 —-a a—— a-1之后的值 a—1之前的值 變量a減1 變量a減1 2 * 乘 a*b a和b的乘積 3 / 除 a/b a除以b的商 3 % 求余 a%b a整除以b的余數(shù) 3 + 加 a+b a和b的和 4 — 減 a—b a和b的差 4 2。3.3 運(yùn)算符的優(yōu)先級與結(jié)合性 1。優(yōu)先級: 分15級;相鄰的兩個運(yùn)算符,先執(zhí)行高優(yōu)先級的運(yùn)算符。 2.結(jié)合性:相鄰的同優(yōu)先級運(yùn)算符的執(zhí)行順序由結(jié)合性確定。結(jié)合性分為左結(jié)合性、右結(jié)合性兩種. 詳見270頁附錄C 2.3.4 不同數(shù)據(jù)類型間的混合運(yùn)算(數(shù)據(jù)類型自動轉(zhuǎn)換) 1。必定的轉(zhuǎn)換:水平向左 2。混合類型轉(zhuǎn)換:垂直向上 例2。7。1數(shù)據(jù)類型自動轉(zhuǎn)換示例. 程序代碼 #include "stdio。h" int main() { int i=2; float f=3; double d=4; long n=5; printf(”表達(dá)式的值=%f,表達(dá)式的值占據(jù)內(nèi)存字節(jié)數(shù)=%d\n”,50+’b’+i*f—d/n,sizeof(50+’b'+i*f—d/n)); return 0; } 結(jié)果: 表達(dá)式的值=153.200000,表達(dá)式的值占據(jù)內(nèi)存字節(jié)數(shù)=8 double float unsigned long long unsigned int unsigned char unsigned short char short 優(yōu)先級 高 低 2.3.5 強(qiáng)制類型轉(zhuǎn)換 1。格式:(類型名)表達(dá)式 2。強(qiáng)制類型轉(zhuǎn)換表達(dá)式的值:等于指定表達(dá)式的值(可能有誤差) 3.強(qiáng)制類型轉(zhuǎn)換表達(dá)式的類型:類型名指定的類型 例2。7.2強(qiáng)制類型轉(zhuǎn)換示例。 程序代碼 #include"stdio.h" int main() {float x=7.8; printf(”x%%4=%d\n”,(int)x%4); return 0; } 結(jié)果: x%4=3 2。4賦值語句 2.4。1 C語句概述 1.C程序:由若干程序文件構(gòu)成 2。程序文件:由若干函數(shù)構(gòu)成 3。函數(shù):函數(shù)首部+函數(shù)體 4.函數(shù)體:聲明部分+執(zhí)行語句構(gòu)成 5.語句種類 ⑴控制語句:控制程序的執(zhí)行方向 ⑵函數(shù)調(diào)用語句 調(diào)用方式之一: 函數(shù)名(實(shí)參列表); ⑶表達(dá)式語句: 表達(dá)式; ⑷空語句: ; ⑸復(fù)合語句(語句塊): 用一對花括號括起來的一組聲明和語句 2。4.2 賦值表達(dá)式 1.賦值運(yùn)算符: = 2。賦值表達(dá)式: 變量 = 表達(dá)式 ⑴功能: 計算、轉(zhuǎn)換、保存 ⑵表達(dá)式的值: 等于保存在左端變量中的值 例 a=b=c=5 變量a,b,c以及表達(dá)式的值均為5 a=5+(c=6) 變量c等于6,a以及表達(dá)式均為11 a=(b=4)+(c=6) 變量b等于4,c等于6,a以及表達(dá)式均為10 a=(b=10)/(c=2) b等于10,c等于2,a以及表達(dá)式均為5 3.復(fù)合賦值運(yùn)算符以及表達(dá)式 ⑴算術(shù)復(fù)合賦值運(yùn)算符: += , —= , *= , /= , %= ⑵表達(dá)式: 變量 復(fù)合賦值運(yùn)算符 表達(dá)式 ⑶表達(dá)式的值: 等于保存在左端變量中的值 例2。7。3復(fù)合賦值表達(dá)式示例。 程序代碼 #include ”stdio.h” int main() {int a=3,b=5; printf(”%d\n”,a*=a+b); printf(”%d\n”,a); return 0; } 結(jié)果: 24 24 4.賦值過程中的類型轉(zhuǎn)換 ⑴浮點(diǎn)數(shù)保存到整型變量中之前,進(jìn)行截斷取整。 如: int i ; i=36。99 ; 保存到變量i中的值為36。 ⑵為簡單起見,只要保證保存在變量中的值不超過變量的范圍即可. 2.4。3 賦值語句 1。區(qū)分賦值表達(dá)式與賦值語句: 表達(dá)式無分號,語句以分號結(jié)尾 2.變量賦初值的方式 ⑴用賦值語句 int i; i=100; ⑵定義變量時直接賦初值 int i=100; 例2.8互換兩個變量的值示例。 提示:借助于中間變量互換。 程序代碼 #include "stdio.h” int main() {int a=3,b=4,t; //借助變量t交換a和b的值 t=a;a=b;b=t; printf("a=%d,b=%d\n”,a,b); return 0; } 結(jié)果: a=4,b=3 2。5 輸入輸出 2.5.1 概念 1。標(biāo)準(zhǔn)輸入輸出設(shè)備(終端: 顯示器+鍵盤) 2.常用標(biāo)準(zhǔn)輸入輸出函數(shù):putchar、getchar、printf、scanf、puts、gets 3.程序中用到標(biāo)準(zhǔn)輸入輸出函數(shù)時,在程序的開始添加編譯指令#include "stdio展開閱讀全文
匯文網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
關(guān)于本文