




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第3章順序結(jié)構(gòu)3.1賦值語句3.2數(shù)據(jù)輸出3.3數(shù)據(jù)輸入3.4復(fù)合語句和空語句3.5程序舉例
第3章順序結(jié)構(gòu)順序結(jié)構(gòu):按它們在程序中出現(xiàn)的順序逐條執(zhí)行,由這樣的語句構(gòu)成的程序結(jié)構(gòu)稱為順序結(jié)構(gòu).3.1賦值語句在賦值表達式的尾部加上“;”號就構(gòu)成了賦值語句,也稱表達式語句。例如:a=b+c是賦值表達式,而a=b+c;是賦值語句。i++;--i;a=b=c;a=b,b=c;等都是賦值語句。賦值語句是可執(zhí)行性語句,應(yīng)當(dāng)出在函數(shù)的可執(zhí)行部分。但需要注意,不要把變量定義時賦初值和賦值語句混為一談。3.2數(shù)據(jù)輸出把數(shù)據(jù)從計算機內(nèi)部送到計算機外部設(shè)備上的操作稱為“輸出”。從計算機外部設(shè)備將數(shù)據(jù)送入計算機內(nèi)部的操作稱為“輸入”。C語言本身不提供用于輸入和輸出的語句。但可以通過調(diào)用標(biāo)準(zhǔn)庫函數(shù)提供的輸入和輸出函數(shù)來實現(xiàn)數(shù)據(jù)的輸入和輸出。在調(diào)用輸入和輸出庫函數(shù)之前要求在源程序中出現(xiàn)包含頭文件stdio.h的命令行。#include<stdio.h>或#include“stdio.h”3.2.1printf函數(shù)的一般調(diào)用形式printf函數(shù)是C語言提供的標(biāo)準(zhǔn)輸出函數(shù),它的作用是在終端設(shè)備上按指定格式進行輸出。調(diào)用形式:printf(格式控制,輸出項1,輸出項,…)在函數(shù)調(diào)用之后加上“;”號就構(gòu)成了輸出語句。格式控制是字符串形式。例如:printf(“a=%d,b=%d”,a,b);printf是函數(shù)名,以雙引號括起來的字符串部分是輸出格式控制,決定了輸出數(shù)據(jù)的內(nèi)容和格式。a,b稱為輸出項,是printf函數(shù)的實參。格式控制的作用:1、為各輸出項提供格式轉(zhuǎn)換說明將要輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。格式說明由“%”符號和緊跟其后的是格式描述符組成。當(dāng)輸出項為int類型時,用d作為格式描述字符,其形式為%d;當(dāng)輸出項為float或double類型時,用f或e作為格式描述字符,其形式為%f或%e(對于double類型也可以用%lf或%le)2、提供需要原樣輸出的文字或字符在格式控制內(nèi)除說明以外的其它字符,一律原樣輸出。
輸出項表中的各輸出項要用逗號隔開,輸出項可以是合法的常量、變量或表達式。Printf可以沒有輸出項,函數(shù)的調(diào)用形式將為printf(格式控制),輸出結(jié)果就是格式控制中的固定字符串,比如printf(“OK!”);將輸出字符串OK!格式轉(zhuǎn)換說明的個數(shù)要與輸出項的個數(shù)相同,使用和格式描述符也要與它們一一對應(yīng)且類型匹配。例:3.2.2printf函數(shù)中常用的格式說明每個格式說明都必須用“%”開頭,以一個格式字符作為結(jié)束,在此之間可以根據(jù)需要插入“寬度說明”、左對齊符號“-”,前導(dǎo)零符號“0”等。1、格式字符c:輸出一個字符d或i:輸出帶符號的十進制整數(shù),%ld為長整型,%hd為短整型o:以八進制無符號形式輸出整型數(shù)(不帶前導(dǎo)0),%#o加先導(dǎo)0x或X:以十六進制無符號形式輸出整型數(shù)(不帶前導(dǎo)0x或0X)。%#x或%#X輸出帶先導(dǎo)0x或0X。對于x用abcdef輸出;對于X用ABCDEF輸出。u:按無符號的十進制形式輸出整型數(shù)f:以帶小數(shù)點的形式輸出單精度和雙精度數(shù)(lf)E或e:以指數(shù)形式輸出單精度和雙精度數(shù)。格式[-]m.dddddde±xxx或[-]m.ddddddE±xxxG或g:由系統(tǒng)決定采用%f還是%e格式,以使輸出寬度最小。s:輸出字符串中的字符,直到遇到“\0”。若字符串長度超過指定的精度則自動突破,不會截斷字符串。p:按地址形式輸出變量%:打印一個%2、長度修飾符加在%和格式字符之間,對于長整型數(shù)一定要加“l(fā)”,即%ld;”h”可用短整型,即%hd3、輸出數(shù)據(jù)所占的寬度(1)在%與格式字符之間插入一個整數(shù)來指定輸出寬度n,注意:不能用變量。如果指定的輸出寬度不夠,并不影響數(shù)據(jù)的完整輸出;如果指定的輸出寬度多于數(shù)據(jù)實際所需寬度,數(shù)據(jù)右對齊,左邊補以空格。(2)對于float或double類型的實型數(shù)可以用“n1.n2”的形式在指定寬度的同時來指定小數(shù)位的位數(shù)。其n1用以指定輸出數(shù)據(jù)總的所占寬度(包括小數(shù)點),n2指定小數(shù)后小數(shù)位的倍數(shù),稱為精度。精度對于不同的格式字符有不同的含義(n1,n2分別代表一個整常數(shù))。對于e、E或f,用以指定輸出數(shù)據(jù)小數(shù)位所占位數(shù)。當(dāng)輸出數(shù)據(jù)的小數(shù)位多于n2指定的寬度時,截去右邊多余的小數(shù),并對截去的第一位小數(shù)做四舍五入處理;當(dāng)輸出數(shù)據(jù)的小數(shù)位少于n2指定的寬度時,在小數(shù)的最右邊添0。若給出的總寬度n1小于n2加上整數(shù)位數(shù)和小數(shù)點,則自動突破n1的限制;反之,數(shù)字右對齊,左邊補空格。也可用“.n2”的形式指定小數(shù)位的位數(shù)。這時輸出數(shù)據(jù)的寬度由系統(tǒng)決定。若指定n1.0或.0,則不輸出小數(shù)點和小數(shù)部分。對于g或G,寬度用來指定輸出的有效數(shù)字位數(shù)。若寬度超過數(shù)字的有效數(shù)字位數(shù),則左邊自動補0;若寬度不足,則自動突破。不指定寬度,將自動按照6位有效數(shù)字輸出,截去右邊多余的小數(shù),并對截去部分的第一位小數(shù)做四舍五入處理。(3)對于整數(shù),若輸出格式是“0n1“或“.n2”格式,則如果指定的寬度超過輸出數(shù)據(jù)的實際寬度,輸出時將會右對齊,左邊補0。對于float和double類型的實數(shù),若用“0n1.n2”格式輸出,如果給出的總寬度n1大于n2加上整數(shù)位數(shù)和小數(shù)點,則數(shù)字右對齊,左邊補0。對于字符串,格式“n1”指定字符串的輸出寬度,若n1小于字符串的實際長度,則自動突破,輸出整個字符串;若n1大于字符串的實際長度,則右對齊,左邊補空格。若用“.n2”格式指定字符串的輸出寬度,則若n2小于字符串的實際長度,將只輸出字符串的前n2個字符。注意:輸出數(shù)據(jù)的實際精度并不取決于格式控制中的域?qū)捄托?shù)的位寬,而是取決于數(shù)據(jù)在計算機內(nèi)的存儲精度。通常float類提供7位有效數(shù)字,double提供15或16位有效數(shù)字;4、輸出數(shù)據(jù)左對齊由于輸出數(shù)據(jù)都隱含右對齊,如果想左對齊,可以在格式控制中的%和寬度之間加一個“-”號來實現(xiàn)5、使輸出的數(shù)字總是帶有“+”或“-”號在%和格式字符間加一個“+”來實現(xiàn)。3.2.3調(diào)用printf函數(shù)時的注意事項1、printf的輸出格式為自由格式,是否在兩個數(shù)之間留逗號、空格或回車,完全取決于格式控制。注意printf(“%d%d%f”,k,k,f);和printf(“%d%d%f”,k,k,f);之間的區(qū)別。2、在格式控制串中,格式說明與輸出項從左到右類型上必須一一對應(yīng)匹配。3、在格式控制串中,除了合法的格式說明外,可包含任意的合法字符,這些字符“原樣照印”。此外,還可以利用\n回車、\r回行但不回車、\t制表、\a響鈴等控制輸出格式。4、printf函數(shù)的返回值通常是本次調(diào)用中輸出字符的個數(shù)。5、盡量不要在輸出語句中改變輸出變量的值,因為可能會造成輸出結(jié)果不確定性。例如:intk=8;printf(“%d,%d\n”,k,++k);輸出結(jié)果不是8,9而是9,9。這是因為調(diào)用函數(shù)printf時,其參數(shù)是從右到左進行處理的,將先進行了++k運算。6、輸出數(shù)據(jù)時的域?qū)捒梢愿淖?,若變量m、n、i和f都已正確定義并賦值,則語句printf(“%md”,,i);將按照m指定的域?qū)捿敵鰅的值,并不輸出m的值。而語句printf(%m.nf”,f);將按照m和n指定的域?qū)捿敵龈↑c型變量f的值,并不輸出m、n的值。3.3數(shù)據(jù)輸入3.3.1scanf()函數(shù)的一般格式scanf(格式字控制,輸入項1,輸入項2,…)在scanf函數(shù)調(diào)用之后加的“;”,則構(gòu)成輸入語句。例如,若k為int型變量,a為float型變量,y為double型變量,可以通過以下函數(shù)調(diào)用語句進行輸入:scanf(“%d%f%lf”,&k,&a,&y);其中scanf是函數(shù)名,雙引號括起來的字符串部分為格式控制部分,其后的&k,&a,&y為輸入項。格式控制的主要作用是指定輸入時的數(shù)據(jù)轉(zhuǎn)換格式化,即格式轉(zhuǎn)換說明。scanf的格式轉(zhuǎn)換說明與printf的類似,也是由”%”開始,其后是格式字符。輸入表項中的各輸入項用逗號隔開,對于int、float和double型變量,在變量之前必須加&符號作為輸入項(&是C語言中的求地址運算符,輸入項必須是地址表達式。(某個存儲單元的地址)。3.3.2scanf函數(shù)中常用的格式說明c:輸入一個字符d:輸入帶符號的十進制整數(shù)i:輸入整型數(shù),整型數(shù)據(jù)可以是帶先導(dǎo)0的八進制數(shù),也可以是帶先導(dǎo)0x(或0X)的十六進制數(shù)。o:以八進制形式輸入整型數(shù)(可以帶前導(dǎo)0,也可以不帶前導(dǎo)0)x或X:以十六進制形式輸入整型數(shù)(可以帶前導(dǎo)0x或0X,也可以不帶前導(dǎo)0x或0X)u:無符號的十進制形式f(lf):以帶小數(shù)點的形式輸入單精度和雙精度數(shù)e(le):以指數(shù)形式輸出單精度和雙精度數(shù)。s:輸入字符串說明:1、在格式串中,必須含有與輸入項一一對應(yīng)的格式轉(zhuǎn)換說明符。若格式說明與輸入項類型不一一對應(yīng)匹配,則不能正確輸入,而且編譯時不會報錯。若格式說明個數(shù)少于輸入項數(shù),scanf函數(shù)結(jié)束輸入,則多余的輸入項將無法得到正確的輸入值;若格式轉(zhuǎn)換說明個數(shù)多于輸入項個數(shù),scanf函數(shù)也結(jié)束輸入,多余的數(shù)據(jù)作廢,不會作為下一個輸入語句的數(shù)據(jù)。2、在Vc6.0環(huán)境下,輸入short型整數(shù),格式控制要求用%hd。要輸入double型數(shù)據(jù),格式控制必須用%lf或%le。否則,數(shù)據(jù)不能正確輸入。3、在格式字符前可以用一個整數(shù)指定輸入數(shù)據(jù)所占寬度。但不可以對實型數(shù)據(jù)指定小數(shù)位的寬度。4、由于輸入是一個字符流,scanf從這個流中按照格式控制指定的格式解析出相應(yīng)數(shù)據(jù),送到指定地址的變量中。因此當(dāng)輸入的數(shù)據(jù)少于輸入項時,運行程序?qū)⒌却斎耄钡綕M足要求為止。當(dāng)輸入的數(shù)據(jù)多于輸入項時,多余的數(shù)據(jù)在輸入流中沒有作廢,而是等待下一個輸入操作語句繼續(xù)從此輸入流讀取數(shù)據(jù)。5、scanf函數(shù)有返回值,其值就是本次scanf調(diào)用正確輸入的數(shù)據(jù)項的個數(shù)。3.3.3通過scnaf函數(shù)從鍵盤輸入數(shù)據(jù)當(dāng)用scanf函數(shù)從鍵盤輸入數(shù)據(jù)時,每行數(shù)據(jù)在行未按回車鍵之前,可以任意修改。在按下回車后,scanf函數(shù)接受了這一行數(shù)據(jù),不能再回去修改。1、輸入數(shù)值數(shù)據(jù)在輸入整數(shù)或?qū)崝?shù)這類數(shù)值型數(shù)據(jù)時,輸入的數(shù)據(jù)之間必須用空格、回車符、制表符等間隔開,間隔符個數(shù)不限。即使在格式說明中人為指定了輸入寬度,也可以用此方式輸入。2、指定輸入數(shù)據(jù)所占的寬度可以在格式字符前加入一個正整數(shù)指定輸入數(shù)據(jù)所占的寬度3、跳過某個輸入數(shù)據(jù)可以在%和格式字符之間加入“*”號,作用是跳守對應(yīng)的輸入數(shù)據(jù)。4、在格式控制字符串中插入其他字符scanf函數(shù)中的格式控制字符串是為了輸入數(shù)據(jù)用的,無論其中有什么字符,也不會輸出到屏幕上,因此若想在屏幕上輸出提示信息,應(yīng)該首先使用printf函數(shù)輸出。3.4復(fù)合語句和空語句3.4.1復(fù)合語句在C語言中,一對花括號“{}”不僅可用作函數(shù)體的開頭和結(jié)尾標(biāo)志,也可用作復(fù)合語句的開頭和結(jié)尾標(biāo)志。復(fù)合語句也可稱為“語句塊”,其語句形式如下:{語句1;語句2;…;語句n;}用一對花括號把若干語句括起來構(gòu)成一個語句組。一個復(fù)合語句在語法上視為一條語句,在一對花括號內(nèi)的語句數(shù)量不限。在復(fù)合語句中,不僅可以有執(zhí)行語句,也可以有定義部分,定義本復(fù)合語句中的局部變量。3.4.2空語句C程序中的所有語句必須由一個分號“;”作為結(jié)束。如果只有一個分號,如:main()
{;
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水電的施工方案
- 涵洞管道施工方案
- 板梁預(yù)制施工方案
- 電纜冬季施工方案
- 山路游步道施工方案
- 二零二五年度智能停車解決方案車庫租賃合同
- 二零二五年度崗位股權(quán)激勵與公司財務(wù)審計協(xié)議
- 二零二五年度地下室租賃與智能化升級合同
- 二零二五年度物流運輸合同履約承諾書范本
- 二零二五年度個人房屋抵押貸款與環(huán)保節(jié)能改造協(xié)議
- 湖北省武漢市漢陽區(qū)2023-2024學(xué)年七年級下學(xué)期期末數(shù)學(xué)試題
- 混合痔疾病查房課件
- DL-T5394-2021電力工程地下金屬構(gòu)筑物防腐技術(shù)導(dǎo)則
- 2024年武漢市東西湖自來水公司招聘筆試參考題庫附帶答案詳解
- 2024年南京旅游職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 湖北省武漢市2024年七年級下學(xué)期期末數(shù)學(xué)試題附答案
- 遼寧省撫順市順城區(qū)2023-2024學(xué)年下學(xué)期八年級物理期中考試題
- GJB3206B-2022技術(shù)狀態(tài)管理
- 危重癥護理組組長競聘
- 靜脈藥物調(diào)配中心PIVAS靜脈用藥配置中心靜脈藥物配置中心靜脈中心TPN相關(guān)知識
- 資助政策調(diào)查研究報告
評論
0/150
提交評論