




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第3章順序結(jié)構(gòu)3.1賦值語句3.2數(shù)據(jù)輸出3.3數(shù)據(jù)輸入3.4復(fù)合語句和空語句3.5程序舉例2023/2/43:153.1賦值語句3.1.1C語句的作用和分類3.1.2最基本的語句----賦值語句2023/2/43:153.1.1 C語句的作用和分類C語句分為以下5類:(1)控制語句:if、switch、for、while、do…while、continue、break、return、goto等(2)函數(shù)調(diào)用語句(3)表達(dá)式語句(4)空語句(5)復(fù)合語句2023/2/43:153.1.2最基本的語句----賦值語句在C程序中,最常用的語句是:賦值語句輸入輸出語句其中最基本的是賦值語句2023/2/43:153.2數(shù)據(jù)輸出2023/2/43:15幾乎每一個(gè)C程序都包含輸入輸出輸入輸出是程序中最基本的操作之一3.2數(shù)據(jù)輸出(1)所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的從計(jì)算機(jī)向輸出設(shè)備(如顯示器、打印機(jī)等)輸出數(shù)據(jù)稱為輸出從輸入設(shè)備(如鍵盤、磁盤、光盤、掃描儀等)向計(jì)算機(jī)輸入數(shù)據(jù)稱為輸入2023/2/43:153.2數(shù)據(jù)輸出(2)C語言本身不提供輸入輸出語句輸入和輸出操作是由C標(biāo)準(zhǔn)函數(shù)庫中的函數(shù)來實(shí)現(xiàn)的printf和scanf不是C語言的關(guān)鍵字,而只是庫函數(shù)的名字putchar、getchar、puts、gets2023/2/43:153.2數(shù)據(jù)輸出(3)在使用輸入輸出函數(shù)時(shí),要在程序文件的開頭用預(yù)編譯指令#include<stdio.h>或#include″stdio.h″2023/2/43:153.2.1printf函數(shù)的一般調(diào)用形式在C程序中用來實(shí)現(xiàn)輸出和輸入的,主要是printf函數(shù)和scanf函數(shù)這兩個(gè)函數(shù)是格式輸入輸出函數(shù)用這兩個(gè)函數(shù)時(shí),必須指定格式2023/2/43:153.2.1printf函數(shù)的一般調(diào)用形式printf函數(shù)的一般格式printf(格式控制,輸出表列)例如:printf(”i=%d,c=%c\n”,i,c);格式聲明2023/2/43:153.2.1printf函數(shù)的一般調(diào)用形式printf函數(shù)的一般格式printf(格式控制,輸出表列)例如:printf(”i=%d,c=%c\n”,i,c);普通字符2023/2/43:153.2.1printf函數(shù)的一般調(diào)用形式printf函數(shù)的一般格式printf(格式控制,輸出表列)例如:printf(”i=%d,c=%c\n”,i,c);可以是常量、變量或表達(dá)式2023/2/43:153.2.2printf函數(shù)中常用的格式說明常用格式字符d格式符。用來輸出一個(gè)有符號的十進(jìn)制整數(shù)可以在格式聲明中指定輸出數(shù)據(jù)的域?qū)抪rintf(”%5d%5d\n”,12,-345);%d輸出int型數(shù)據(jù)%ld輸出long型數(shù)據(jù)2023/2/43:153.2.2printf函數(shù)中常用的格式說明常用格式字符c格式符。用來輸出一個(gè)字符charch=’a’;printf(”%c”,ch);或printf(”%5c”,ch);輸出字符:a2023/2/43:153.2.2printf函數(shù)中常用的格式說明常用格式字符s格式符。用來輸出一個(gè)字符串printf(”%s”,”CHINA”);輸出字符串:CHINA2023/2/43:153.2.2printf函數(shù)中常用的格式說明常用格式字符f格式符。用來輸出實(shí)數(shù),以小數(shù)形式輸出①不指定數(shù)據(jù)寬度和小數(shù)位數(shù),用%f
例如
用%f輸出實(shí)數(shù),只能得到6位小數(shù)。doublea=1.0;printf(”%f\n”,a/3);2023/2/43:153.2.2printf函數(shù)中常用的格式說明常用格式字符f格式符。用來輸出實(shí)數(shù),以小數(shù)形式輸出②指定數(shù)據(jù)寬度和小數(shù)位數(shù)。用%m.nf
printf("%20.15f\n",1/3);
printf("%.0f\n”,10000/3.0);2023/2/43:153.2.2printf函數(shù)中常用的格式說明常用格式字符f格式符。用來輸出實(shí)數(shù),以小數(shù)形式輸出②指定數(shù)據(jù)寬度和小數(shù)位數(shù)。用%m.nffloata;a=10000/3.0;printf("%f\n",a);2023/2/43:153.2.2printf函數(shù)中常用的格式說明常用格式字符f格式符。用來輸出實(shí)數(shù),以小數(shù)形式輸出③輸出的數(shù)據(jù)向左對齊,用%-m.nf2023/2/43:153.2.2printf函數(shù)中常用的格式說明常用格式字符f格式符。用來輸出實(shí)數(shù),以小數(shù)形式輸出float型數(shù)據(jù)只能保證6位有效數(shù)字double型數(shù)據(jù)能保證15位有效數(shù)字計(jì)算機(jī)輸出的數(shù)字不都是絕對精確有效的2023/2/43:15有以下程序#include<stdio.h>main(){intk=-17;printf("%d,%o,%x\n",k,1-k,1-k);}程序的運(yùn)行結(jié)果是A)-17,22,12B)-17,12,22C)-17,-22,-12D)17,22,12
【解析】整型常量有3種表示方法,分別是十進(jìn)制數(shù)表示法、八進(jìn)制數(shù)表示法和十六進(jìn)制數(shù)表示法。十進(jìn)制整常量沒有前綴,輸出格式控制符為%d;八進(jìn)制整常量以0作為前綴,輸出格式控制符為%o;十六進(jìn)制整常量以0X或0x作為前綴,輸出格式控制符為%x。1-k=18,整型常量18用八進(jìn)制表示為22,十六進(jìn)制表示為12,A選項(xiàng)正確。參考答案:A2023/2/43:15設(shè)有定義:doublex=2.12;,以下不能完整輸出變量x值的語句是A)printf("x=%5.0f\n",x);B)printf("x=%f\n",x);C)printf("x=%lf\n",x);D)printf("x=%0.5f\n",x);
參考答案:AA輸出為2B輸出為2.120000C輸出為2.120000D輸出為2.12000【解析】float類型變量有效位數(shù)為6~7位,double類型變量有效位數(shù)為15~16位。printf函數(shù)控制字符%f輸出float類型,%lf輸出double類型。對于float或double型數(shù)據(jù),在指定數(shù)據(jù)輸出寬度的同時(shí),也可以指定小數(shù)位的位數(shù),格式為%m.nf,表示數(shù)據(jù)輸出總的寬度為m位,其中小數(shù)部分占n位。當(dāng)數(shù)據(jù)的小數(shù)位多于指定寬度n時(shí),截去右邊多余的小數(shù),并對截去的第一位小數(shù)做四舍五入處理;而當(dāng)數(shù)據(jù)的小數(shù)位少于指定寬度n時(shí),在小數(shù)的右邊補(bǔ)零;當(dāng)m小于有效位數(shù)時(shí),整數(shù)部分輸出所有有效數(shù)字并且自動對齊,小數(shù)部分按照n指定位數(shù)輸出。2023/2/43:15若有以下程序段doublex=5.16894;printf("%f\n",(int)(x*1000+0.5)/(double)1000);
則程序段的輸出結(jié)果是A)5.170000B)5.175000C)5.169000D)5.168000
參考答案:C【解析】%f的輸出格式是以帶小數(shù)點(diǎn)的數(shù)學(xué)形式輸出浮點(diǎn)數(shù)。首先計(jì)算x*1000,結(jié)果為5168.94然后+0.5,結(jié)果為5169.44,然后進(jìn)行強(qiáng)制類型轉(zhuǎn)換,轉(zhuǎn)換成整型為5169,然后除以雙精度數(shù)據(jù)1000,結(jié)果也為雙精度數(shù)據(jù)5.169,輸出時(shí)按照%f的格式輸出,所以輸出結(jié)果為5.169000?2023/2/43:153.2.2printf函數(shù)中常用的格式說明常用格式字符e格式符。指定以指數(shù)形式輸出實(shí)數(shù)%e,VC++給出小數(shù)位數(shù)為6位
指數(shù)部分占5列
小數(shù)點(diǎn)前必須有而且只有1位非零數(shù)字printf(”%e”,123.456);
輸出:1.234560
e+0022023/2/43:153.2.2printf函數(shù)中常用的格式說明常用格式字符e格式符。指定以指數(shù)形式輸出實(shí)數(shù)%m.neprintf(”%13.2e”,123.456);
輸出:1.23e+002(前面有4個(gè)空格)2023/2/43:15若要輸出%,可以在格式控制中使用%%表示,將輸出一個(gè)%符號。格式控制中必須含有與輸出項(xiàng)一一對應(yīng)的輸出格式說明,類型必須匹配。若不匹配,則不能正確輸出,但編譯時(shí)不會報(bào)錯(cuò)。若格式說明個(gè)數(shù)少于輸出項(xiàng)個(gè)數(shù),則多余的輸出項(xiàng)不予輸出;若格式說明的個(gè)數(shù)多余輸出項(xiàng)個(gè)數(shù),則輸出毫無意義的數(shù)字亂碼。2023/2/43:153.2.3使用printf函數(shù)時(shí)的注意事項(xiàng)3.3數(shù)據(jù)輸入
3.3.1scanf函數(shù)的一般調(diào)用形式scanf函數(shù)的一般形式scanf(格式控制,地址表列)含義同printf函數(shù)2023/2/43:153.3.1scanf函數(shù)的一般調(diào)用形式scanf函數(shù)的一般形式scanf(格式控制,地址表列)可以是變量的地址,或字符串的首地址注意:地址表列的參數(shù)必須是地址,不能直接引用變量名2023/2/43:153.3.2scanf函數(shù)中常用的格式說明scanf函數(shù)中的格式聲明與printf函數(shù)中的格式聲明相似以%開始,以一個(gè)格式字符結(jié)束,中間可以插入附加的字符scanf("a=%f,b=%f,c=%f",&a,&b,&c);2023/2/43:153.3.3通過scanf函數(shù)從鍵盤輸入數(shù)據(jù)使用scanf函數(shù)時(shí)應(yīng)注意的問題scanf(”%f%f%f”,a,b,c);錯(cuò)scanf(”%f%f%f”,&a,&b,&c);對對于scanf("a=%f,b=%f,c=%f",&a,&b,&c);
132↙
錯(cuò)
a=1,b=3,c=2↙
對
a=1b=3c=2↙
錯(cuò)2023/2/43:153.3.3通過scanf函數(shù)從鍵盤輸入數(shù)據(jù)使用scanf函數(shù)時(shí)應(yīng)注意的問題對于scanf(”%c%c%c”,&c1,&c2,&c3);
abc↙
對
abc↙
錯(cuò)對于scanf(”%d%c%f”,&a,&b,&c);若輸入
1234a123o.26↙2023/2/43:153.3.3通過scanf函數(shù)從鍵盤輸入數(shù)據(jù)使用scanf函數(shù)時(shí)應(yīng)注意的問題對于scanf(”%c%c%c”,&c1,&c2,&c3);
abc↙
對
abc↙
錯(cuò)對于scanf(”%d%c%f”,&a,&b,&c);若輸入
1234a123o.26↙2023/2/43:153.3.3通過scanf函數(shù)從鍵盤輸入數(shù)據(jù)使用scanf函數(shù)時(shí)應(yīng)注意的問題對于scanf(”%c%c%c”,&c1,&c2,&c3);
abc↙
對
abc↙
錯(cuò)對于scanf(”%d%c%f”,&a,&b,&c);若輸入
1234a123o.26↙2023/2/43:153.4復(fù)合語句和空語句
3.4.1復(fù)合語句2023/2/43:15
在C語言中,一對花括號“{}”不僅可用作函數(shù)體的開頭和結(jié)尾的標(biāo)志,也可用作復(fù)合語句的開頭和結(jié)尾的標(biāo)志。復(fù)合語句也可稱為“語句塊”,其語句形式如下:{語句1語句2……語句N}3.4.2空語句2023/2/43:15C程序中所有語句都必須由一個(gè)分號“;”作為結(jié)束。如果只有一個(gè)分號,如:main(){ ;}這個(gè)分號也是一條語句,稱為“空語句”3.5程序舉例
例3.1給出三角形的三邊長,求三角形面積。2023/2/43:153.5程序舉例解題思路:假設(shè)給定的三個(gè)邊符合構(gòu)成三角形的條件關(guān)鍵是找到求三角形面積的公式公式為:其中s=(a+b+c)/22023/2/43:15#include<stdio.h>#include<math.h>intmain(){doublea,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f\tb=%f\t%f\n",a,b,c);printf("area=%f\n",area);return0;}對邊長a、b、c賦值計(jì)算s計(jì)算area2023/2/43:15#include<stdio.h>#include<math.h>intmain(){doublea,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f\tb=%f\t%f\n",a,b,c);printf("area=%f\n",area);return0;}數(shù)學(xué)函數(shù),計(jì)算平方根調(diào)用數(shù)學(xué)函數(shù)加此行2023/2/43:15#include<stdio.h>#include<math.h>intmain(){doublea,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f\tb=%f\t%f\n",a,b,c);printf("area=%f\n",area);return0;}轉(zhuǎn)義字符,使輸出位置跳到下一個(gè)tab位置調(diào)用數(shù)學(xué)函數(shù)加此行2023/2/43:15例3.2求
方程的根。a、b、c由鍵盤輸入
設(shè)
>02023/2/43:153.5程序舉例3.5程序舉例解題思路:首先要知道求方程式的根的方法。由數(shù)學(xué)知識已知:如果
≥0,則一元二次方程有兩個(gè)實(shí)根:若記2023/2/43:15#include<stdio.h>#include<math.h>intmain(){doublea,b,c,disc,x1,x2,p,q;
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;}程序中調(diào)用數(shù)學(xué)函數(shù)sqrt輸入a,b,c的值2023/2/43:15#include<stdio.h>#include
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)外包工合同范本
- 出國援建勞務(wù)合同范本
- 動產(chǎn)質(zhì)押合同范本
- 北京員工勞動合同范本
- 付款方式違約規(guī)定合同范本
- 出售庫存車合同范本
- 出售造型工具合同范本
- 2024年鎮(zhèn)遠(yuǎn)縣婦幼保健院人員招聘考試真題
- 代加工砂漿合同范本
- 寫計(jì)件合同范本
- AMDAR資料的分析和應(yīng)用
- 高新技術(shù)企業(yè)認(rèn)定申請書樣例與說明
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter6 Tree
- 高壓氧科工作總結(jié)高壓氧科個(gè)人年終總結(jié).doc
- 《政治學(xué)概論》教學(xué)大綱
- 橋梁缺陷與預(yù)防
- 食品生物化學(xué)習(xí)題謝達(dá)平(動態(tài))
- 新蘇教版小學(xué)科學(xué)三年級下冊全冊教案(2022年春修訂)
- 保安員工入職登記表
- 睿達(dá)RDCAM激光雕刻切割軟件V5.0操作說明書
- 機(jī)械設(shè)計(jì)基礎(chǔ)平面連桿機(jī)構(gòu)課件
評論
0/150
提交評論