![簡單C語言程序設(shè)計指導(dǎo)_第1頁](http://file4.renrendoc.com/view/519ef5a4848aad46687844323af40eb5/519ef5a4848aad46687844323af40eb51.gif)
![簡單C語言程序設(shè)計指導(dǎo)_第2頁](http://file4.renrendoc.com/view/519ef5a4848aad46687844323af40eb5/519ef5a4848aad46687844323af40eb52.gif)
![簡單C語言程序設(shè)計指導(dǎo)_第3頁](http://file4.renrendoc.com/view/519ef5a4848aad46687844323af40eb5/519ef5a4848aad46687844323af40eb53.gif)
![簡單C語言程序設(shè)計指導(dǎo)_第4頁](http://file4.renrendoc.com/view/519ef5a4848aad46687844323af40eb5/519ef5a4848aad46687844323af40eb54.gif)
![簡單C語言程序設(shè)計指導(dǎo)_第5頁](http://file4.renrendoc.com/view/519ef5a4848aad46687844323af40eb5/519ef5a4848aad46687844323af40eb55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
簡單C語言程序設(shè)計指導(dǎo)本章目標(biāo)掌握標(biāo)準(zhǔn)輸入輸出函數(shù)的格式及使用。會編寫簡單C程序會使用常用數(shù)學(xué)函數(shù)3.1語句
語句是程序最基本的執(zhí)行單位,程序的功能就是通過對一系列語句的執(zhí)行來實現(xiàn)的(1)控制語句,實現(xiàn)流程控制,如:
分支語句實現(xiàn)分支控制過程:if(a>b)x=a;elsex=b;(2)變量聲明語句:如
floatx,y,z;(3)表達式語句:表達式加分號“;”(4)復(fù)合語句:用一對“{}”,將若干語句順序組合在一起就形成了一個程序段。(5)空語句。只有一個分號構(gòu)成的語句,表示什么也不做。3.2標(biāo)準(zhǔn)文件輸入輸出函數(shù)一個C語言的源程序要有輸入輸出功能。C語言本身并沒有提供專門的數(shù)據(jù)輸入/輸出語句,而是用C標(biāo)準(zhǔn)函數(shù)庫中的函數(shù)來實現(xiàn)的,如scanf、printf等。在使用標(biāo)準(zhǔn)的輸入/輸出庫函數(shù)時,需要使用預(yù)編譯命令”#include<stdio.h>”
C語言中從標(biāo)準(zhǔn)輸入和輸出設(shè)備中進行讀寫的四個標(biāo)準(zhǔn)函數(shù)是:格式輸出函數(shù)printf、格式輸入函數(shù)scanf、字符輸入函數(shù)getchar和字符輸出函數(shù)putchar3.2.1字符輸入輸出函數(shù)例3.1猜字母:輸入某字母在字母表中的序號(從1開始),輸出該字母(大寫)#include<stdio.h>intmain(){charch;intindex;scanf(“%d”,&index);ch=‘A’+index-1;
//或ch=64+index;printf(“%c”,ch);}putchar(ch);putchar()函數(shù)的其功能是向終端輸出其括號內(nèi)參數(shù)的內(nèi)容,參數(shù)可以是字符變量、字符常量輸出字符’a’:
putchar(‘a(chǎn)’);輸出一個回車符
putchar(‘\n’);輸出字符變量a的值:
putchar(a);猜猜:
putchar(65);輸出什么?到VC中試試3.2.1字符輸入輸出函數(shù)例3.2小寫字母變大寫#include<stdio.h>intmain(){charch1,ch2;ch1=getchar();ch2=ch1-32;//小寫字母比大寫字母的ASCCI碼大32;
putchar(ch2);}getchar()函數(shù)沒有參數(shù),其功能是從終端讀入一個字符,作為函數(shù)值返回小練習(xí)計算字母序號,輸入一個字母(小寫),輸出該字母在字母表中的序號(1)讀入字符ch;(2)計算序號index=ch-’a’+1;(3)輸出整數(shù)indexcharch;intindex;ch=getchar();index=ch-’a’+1;printf(“%d\n”,index);3.2.2格式化輸出函數(shù)printfprintf("%d"
,count);printf將一些信息按照指定的格式送到標(biāo)準(zhǔn)輸出(顯示器)count輸出參數(shù)表:待輸出的數(shù)據(jù),可以是常量、變量或表達式格式:printf(“格式控制串”,輸出參數(shù)表)
"%d"
格式字符串:指定數(shù)據(jù)的輸出格式例3.3求華氏溫度100F對應(yīng)的攝氏溫度#include<stdio.h>intmain(){
intcelsius,fahr;fahr=100;celsius=5*(fahr-32)/9;printf(“fahr=%d,celsius=%d\n",fahr,celsius);return0;}
執(zhí)行程序的輸出結(jié)果為:
fahr=100,celsius=37引號內(nèi)的fahr和引號外的fahr有區(qū)別嗎?輸出格式printf(“fahr=%d,celsius=%d\n",fahr,celsius);普通字符,原樣輸出%開頭的是轉(zhuǎn)換說明,對應(yīng)與后面一個輸出參數(shù),對應(yīng)參數(shù)將被轉(zhuǎn)換成指定格式后在該位置輸出輸出結(jié)果:fahr=100,celsius=37輸出參數(shù)列表‘\n’是轉(zhuǎn)意字符,用來輸出一個回車轉(zhuǎn)換字符串printf("%d"
,count);"%d"
轉(zhuǎn)換字符串說明%d將參數(shù)按整數(shù)形式轉(zhuǎn)換輸出,對應(yīng)參數(shù)應(yīng)是int類型%ld將參數(shù)按長整數(shù)形式轉(zhuǎn)換輸出,對應(yīng)參數(shù)是long型%c輸出一個字符,對應(yīng)參數(shù)應(yīng)該是一個字符%s輸出一個字符串,對應(yīng)參數(shù)應(yīng)該是一個字符串%f將參數(shù)按帶小數(shù)點數(shù)形式輸出,對應(yīng)參數(shù)應(yīng)是double類型,默認情況下精確到
6位小數(shù)轉(zhuǎn)換字符串%dintvisitor_count=150;printf("
%d"
,visitor_count);輸出結(jié)果:150轉(zhuǎn)換字符串%mdintsalary=5500;printf("
%10d"
,salary);輸出結(jié)果:
5500輸出結(jié)果的左邊顯示了6個空格"
%10d"轉(zhuǎn)換字符串%ffloatcircumference=78.53;printf("
%f"
,circumference);輸出結(jié)果:78.530000默認情況下精確到六位小數(shù)9.4786789;9.478679轉(zhuǎn)換字符串%m.nfdoublemercury_level=168.2251074;printf("%7.2f"
,mercury_level);輸出結(jié)果:
168.23寬度,表示所有的數(shù)字和小數(shù)點所占的位數(shù)。不夠7位右對齊。"%7.2f"
精度(精確到小數(shù)點后多少位)scanf("%d",&num);3.2.3scanf函數(shù)轉(zhuǎn)換字符串參數(shù)變量的類型要求的實際輸入%dint十進制數(shù)字序列%ffloat十進制數(shù)實數(shù)%lfdouble十進制數(shù)實數(shù)scanf函數(shù)從標(biāo)準(zhǔn)輸入(鍵盤)讀取信息,按照格式描述把讀入的信息轉(zhuǎn)換為指定數(shù)據(jù)類型的數(shù)據(jù),并把這些數(shù)據(jù)賦給指定的程序變量。
轉(zhuǎn)換字符串&符號(附在讀取的每個變量上)用于指明變量在內(nèi)存中的位置變量的名稱內(nèi)存scanffloattax_rate;scanf("%f"
,&tax_rate);tax_rate在內(nèi)存中分配一塊32位存儲空間存儲空間使用名稱“tax_rate”標(biāo)識提示用戶輸入一個值輸入的值存儲在變量中(因為scanf提供此變量的地址)12.234內(nèi)存scanfdoubletax_rate;scanf("%lf"
,&tax_rate);tax_rate在內(nèi)存中分配一塊64位存儲空間存儲空間使用名稱“tax_rate”標(biāo)識提示用戶輸入一個值輸入的值存儲在變量中(因為scanf提供此變量的地址)12.234約定:以后凡說要定義實型變量,都使用double#include<stdio.h>intmain(){
doubleradius,high,vol;printf("請輸入圓柱體底面積的半徑和圓柱體的高:");scanf("%lf%lf",&radius,&high);vol=3.14*radius*radius*high;printf("radius=%f,high=%f,vol=%f\n",radius,high,vol);}例3.4計算圓柱體積內(nèi)存radiushighvol510785請輸入圓柱體底面積的半徑和圓柱體的高:510小練習(xí)(1)編程,從鍵盤讀入一個數(shù)圓的半徑radius(實數(shù)),輸出圓的面積,保留兩位小數(shù)scanf函數(shù)使用注意scanf(格式字符串,地址列表)在格式字符串中若有普通字符,則輸入時在對應(yīng)位置也必須輸入該普通字符,否則會因讀入格式錯誤而終止程序。如果有scanf(“%d,%d”,&a,&b)輸入的兩個數(shù)直接必須有一個逗號3,5正確35錯誤如果有scanf(“a=%d,b=%d”,&a,&b)輸入應(yīng)該是:a=3,b=5,否則就會失敗scanf的格式字符串中最好不加任何普通字符,只寫%開頭的格式轉(zhuǎn)換符。如scanf(“%d%d”,&a,&b)不要給自己制造太多格式限制!數(shù)學(xué)函數(shù)的使用要包含頭文件<math.h>:#include<math.h>1、求絕對值求整數(shù)的絕對值,用abs:inti=-3,j;j=abs(i);求實數(shù)的絕對值,用fabs:doublea=-12.3,b;b=fabs(a);數(shù)學(xué)函數(shù)的使用2、求開方,用sqrtdoublea=2.3,b;b=sqrt(a);3、求冪xy,用powdoublex=2,y=3,z;z=pow(x,y)
4、求ex,用expdoublex=2.3,b;y=exp(x);數(shù)學(xué)函數(shù)的使用5、求自然對數(shù),用logdoublex=13,y;y=log(x);6、求以10為底的對數(shù),用log10doublex=13,y;y=log10(x);數(shù)學(xué)函數(shù)的使用7、三角函數(shù)doublex=1.5,y;y=sin(x);y=cos(x);y=tan(x);更多數(shù)學(xué)函數(shù)見書本319頁表D2例3.5:計算兩點間距離編程:輸入4個實數(shù)x1,y1,x2,y2,數(shù)據(jù)之間用空格隔開。表示兩點坐標(biāo)(x1,y1),(x2,y2),計算并輸出兩點間的距離。結(jié)果保留兩位小數(shù)。(提示:sqrt(a)可以求a的開方)解題思路(1)用double定義x1,y1,x2,y2,dist(2)讀入四個整數(shù)x1,y1,x2,y2(3)計算dist:dist=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)
)也可以寫成兩個語句:dist=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);dist=sqrt(dist);(4)輸出dist,保留2為小數(shù),用%.2f程序#include<stdio.h>#include<math.h>intmain(){ doublex1,y1,x2,y2,dist; scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2); dist=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); dist=sqrt(dist); printf("%.2f",dist); return0;}例3.6求整數(shù)的位數(shù)輸入一個整數(shù),輸出該整數(shù)的位數(shù)。提示:(1)求n的對數(shù)函數(shù)為:log10(n);(2)考慮一個整數(shù)的對數(shù)和位數(shù)的關(guān)系:對數(shù)取整加1即該數(shù)的位數(shù)(3)可用強制類型轉(zhuǎn)換扔掉小數(shù)部分有以上3點可知,整數(shù)n的位數(shù)是:(int)log10(n)+1;類型轉(zhuǎn)換(P32)1、不同級別的操作數(shù)運算時,精度低的自動想精度高的轉(zhuǎn)換如:doublea=1/2;a的值是0.0doublea=1.0/2;a的值是0.5
2、賦值時類型轉(zhuǎn)換如:
doublea=1;//會把1.0賦給ainti=1.5;//會把1.5轉(zhuǎn)換為整型得1,賦給i類型轉(zhuǎn)換3、強制類型轉(zhuǎn)換
(類型名)操作數(shù)如:doublea=2.5;intn;n=(int)a;
//將a的值轉(zhuǎn)換為整型2,賦給n又如:求兩整數(shù)的商,商為實數(shù)
inta=2,b=3;doublec;c=(double)a/b;
//強制類型轉(zhuǎn)換或c=1.0*a/b;
//不同類型運算時向精度高的轉(zhuǎn)換
先將a轉(zhuǎn)換為實數(shù),再除以b!強制轉(zhuǎn)換優(yōu)先級最高例3.6的程序#include<stdio.h>#include<math.h>intmain(){ intn,len; scanf("%d",&n); len=(int)log10(n)+1;//因為len是整型,寫成len=log10(n)+1;也行
printf("%d是%d位數(shù)\n",n,len); return0;}課下作業(yè)熟練默寫本章6個例子,并上機調(diào)試。上機作業(yè):1、實數(shù)的絕對值:輸入一個實數(shù),輸出它的絕對值,結(jié)果保留兩位小數(shù)。2、兩點間距離:輸入4個實數(shù)x1,y1,x2,y2,數(shù)據(jù)之間用空格隔開。表示兩點坐標(biāo)(x1,y1),(x2,y2),計算并輸出兩點間的距離。結(jié)果保留兩位小數(shù)。3、編程
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件安全人才隊伍建設(shè)研究-詳解洞察
- 梧州2025年廣西梧州市事業(yè)單位招聘1257人筆試歷年參考題庫附帶答案詳解
- 2025年中國塑鋼垂簾軌市場調(diào)查研究報告
- 2025年針織橫機配件項目可行性研究報告
- 廣州廣東廣州市花都區(qū)花山鎮(zhèn)和郁小學(xué)臨聘教師招聘筆試歷年參考題庫附帶答案詳解
- 廣東廣東海洋大學(xué)后勤保障部招聘非編制水電維修工(第二次)筆試歷年參考題庫附帶答案詳解
- 2025年球衣網(wǎng)布項目可行性研究報告
- 2025年水電解器架項目可行性研究報告
- 2025至2031年中國旋風(fēng)式二級回收裝置行業(yè)投資前景及策略咨詢研究報告
- 2025年抗菌防霉乳膠漆項目可行性研究報告
- 健身教練基礎(chǔ)知識匯編
- 大頭兒子和小頭爸爸簡介課件
- 綜合性學(xué)習(xí)“孝親敬老從我做起”歷年中考語文試題匯編
- 高中體育與健康-足球運球教學(xué)課件設(shè)計
- GMS要素-持續(xù)改進(CI)-上汽通用五菱-課件
- 信訪事項復(fù)查復(fù)核申請書
- 神經(jīng)遞質(zhì)和神經(jīng)調(diào)質(zhì)生
- 18CS01 裝配式箱泵一體化消防給水泵站選用及安裝-MX智慧型泵站
- 枇杷常見病蟲害一覽表專家講座
- 《紙杯變變變》教學(xué)設(shè)計
- 九九乘法口訣表(超清晰打印版)
評論
0/150
提交評論