版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章數(shù)據(jù)的輸入和輸出本章要點(diǎn)
C語(yǔ)言語(yǔ)句概述賦值語(yǔ)句基本輸入輸出函數(shù)使用方法C程序?qū)?shù)據(jù)的處理是通過(guò)“語(yǔ)句”的執(zhí)行來(lái)實(shí)現(xiàn)的;一條語(yǔ)句完成一項(xiàng)操作(或功能);一個(gè)為實(shí)現(xiàn)特定目的的程序應(yīng)包含若干條語(yǔ)句。3.1C語(yǔ)言語(yǔ)句概述按照C語(yǔ)言語(yǔ)句的作用分類:說(shuō)明語(yǔ)句注釋語(yǔ)句程序流程控制語(yǔ)句聲明變量名稱、數(shù)據(jù)類型及其存儲(chǔ)屬性的說(shuō)明性語(yǔ)句編程者對(duì)程序本身的解釋是“可執(zhí)行”的語(yǔ)句,構(gòu)成程序的主體C語(yǔ)言數(shù)據(jù)操作語(yǔ)句空語(yǔ)句簡(jiǎn)單語(yǔ)句復(fù)合語(yǔ)句流程控制語(yǔ)句表達(dá)式語(yǔ)句(表達(dá)式;)函數(shù)調(diào)用語(yǔ)句(函數(shù)名(參數(shù));)(;)({一條或多條語(yǔ)句})結(jié)構(gòu)化語(yǔ)句非結(jié)構(gòu)化語(yǔ)句條件語(yǔ)句(if,switch語(yǔ)句)循環(huán)語(yǔ)句whiledo_whilefor限定轉(zhuǎn)向語(yǔ)句非限定轉(zhuǎn)向語(yǔ)句breakcontinuereturngoto復(fù)合語(yǔ)句一對(duì)大括號(hào){}包圍若干條語(yǔ)句組成。格式:
{【數(shù)據(jù)說(shuō)明部分;】
執(zhí)行語(yǔ)句部分;
}注意:復(fù)合語(yǔ)句結(jié)束的”}”之后,不需要分號(hào)。簡(jiǎn)單實(shí)例#include<stdio.h>main()/*簡(jiǎn)單程序?qū)嵗?/{
inta=10,b=20,c;
if(b>a)
{
c=a+b;
printf(”%d\n”,c);
}
else
;
}控制語(yǔ)句表達(dá)式語(yǔ)句復(fù)合語(yǔ)句函數(shù)調(diào)用語(yǔ)句空語(yǔ)句說(shuō)明語(yǔ)句注釋語(yǔ)句C的語(yǔ)句以分號(hào)(;)結(jié)束3.2數(shù)據(jù)的輸入與輸出輸入是指用戶借助計(jì)算機(jī)的輸入設(shè)備將數(shù)據(jù)輸入到計(jì)算機(jī)中。常見(jiàn)的輸入設(shè)備是鍵盤、鼠標(biāo)輸出是指從計(jì)算機(jī)內(nèi)部將數(shù)據(jù)輸送到用戶指定的外部輸出設(shè)備。常見(jiàn)的輸出設(shè)備如顯示器、打印機(jī)、繪圖儀等C語(yǔ)言通過(guò)標(biāo)準(zhǔn)輸入/輸出庫(kù)(I/O庫(kù)stdio.h)提供的函數(shù)完成輸入/輸出功能。標(biāo)準(zhǔn)C語(yǔ)言的系統(tǒng)函數(shù)中包括控制臺(tái)I/O的基本例程在使用控制臺(tái)I/O函數(shù)時(shí),常常涉及到標(biāo)準(zhǔn)輸入輸出頭文件stdio.h在用戶程序中應(yīng)該使用預(yù)編譯命令頭文件包含進(jìn)來(lái),即在程序中加入語(yǔ)句#include“stdio.h”或#include<stdio.h>C語(yǔ)言的輸入/輸出庫(kù)函數(shù)名稱不是關(guān)鍵字。如printf、scanf格式輸出函數(shù)printf調(diào)用形式:printf
(”格式控制字符串”,參數(shù)1,參數(shù)2,…,參數(shù)n)
其中:控制字符串也稱為格式說(shuō)明串,它用于描述變量的輸出方式,格式說(shuō)明的形式是:%附加格式說(shuō)明符格式轉(zhuǎn)換字符 附加格式說(shuō)明符部分可以缺省。功能:按照控制字符串中的格式說(shuō)明依次將后面的各參數(shù)進(jìn)行轉(zhuǎn)換,排放成格式說(shuō)明中規(guī)定的格式,輸出到輸出設(shè)備上。對(duì)非格式說(shuō)明符,則按原樣輸出。printf(”格式控制字符串”,參數(shù)1,參數(shù)2,…,參數(shù)n)必須用英文的雙引號(hào)括起來(lái)作用是控制輸出項(xiàng)的格式和輸出一些提示信息要輸出的表達(dá)式常量、變量、運(yùn)算符表達(dá)式、函數(shù)返回值等,每個(gè)輸出項(xiàng)之間用(,)分隔格式控制字符的組成:普通字符:按原樣輸出,主要用于輸出提示信息。轉(zhuǎn)義字符:指明特定操作。格式說(shuō)明:由”%”和“格式字符串”組成:%格式字符串它表示按規(guī)定的格式輸出數(shù)據(jù)。#include<stdio.h>Main(){inta=97,b=98;printf(“1:%d%d\n”,a,b);printf(“2:%d,%d\n”,a,b);printf(“3:%c,%c\n”,a,b);printf(“4:a=%d,b=%d\n”,a,b);}程序運(yùn)行結(jié)果:1:97982:97,983:a,b4:a=97,b=98格式轉(zhuǎn)換字符說(shuō)明d,i以十進(jìn)制形式輸出帶符號(hào)整數(shù)(正數(shù)不輸出符號(hào))o以八進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前綴符)x,X以十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0x),用x則輸出十六進(jìn)制數(shù)的a~f時(shí)以小寫形式輸出,用X時(shí),則以大寫字母輸出u以無(wú)符號(hào)十進(jìn)制形式輸出整數(shù)c以字符形式輸出,僅輸出一個(gè)字符s輸出字符串f以小數(shù)形式輸出單、雙精度數(shù)。默認(rèn)6位小數(shù)e以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度數(shù)g選用%f或%e格式中輸出寬度較短的一種格式,不輸出無(wú)意義的0%輸出%
附加說(shuō)明符說(shuō)明
l用于輸出長(zhǎng)整型數(shù)據(jù),可加在格式轉(zhuǎn)換符d,o,x,u前面m(正整數(shù))輸出數(shù)據(jù)的寬度指定寬度>實(shí)際寬度,補(bǔ)空格指定寬度<=實(shí)際寬度,按實(shí)際輸出不指定寬度,按實(shí)際輸出.n(正整數(shù))對(duì)實(shí)數(shù),表示輸出n位小數(shù)。不足補(bǔ)0;多出則舍入處理。對(duì)字符串,表示截取的字符個(gè)數(shù)。不足補(bǔ)空格,多出則丟棄。-輸出的數(shù)據(jù)在輸出域內(nèi)向左對(duì)齊
+ 正數(shù)輸出加號(hào)+;負(fù)數(shù)輸出減號(hào)—0不使用位是否用0填充實(shí)例1:
#include<stdio.h>main(){printf("ThisisaCprogram.\n");}實(shí)例2:
#include<stdio.h>intmain(){ inta=1,b=2,c=100;
printf("a=%d,b=%3d,d=%3d%%\n",a,b,a*c/b);
printf("%d,%o,%x\n",-a,-a,-a); }答案:a=1,b=__2,d=50%-1,177777,ffff
實(shí)例3:
#include<stdio.h>main(){charc='a';charch[]="Good-bye.";printf("%c,%3c,%3d\n",c,c,c);printf("%s,%10s,%-8s,%-12s,%6.4s\n",ch,ch,ch,ch,ch);}答案:
a,__a,_97Good-bye.,_Good-bye.,Good-bye.,Good-bye.___,__Good格式輸入函數(shù)scanf調(diào)用形式:
scanf(”控制字符串”,參數(shù)1,參數(shù)2,…,參數(shù)n)
其中:控制字符串也稱為格式說(shuō)明串,它用于描述變量的輸入方式,格式說(shuō)明的形式是:%附加格式說(shuō)明符格式轉(zhuǎn)換字符 附加格式說(shuō)明符部分可以缺省。功能:從標(biāo)準(zhǔn)輸入設(shè)備上讀取輸入數(shù)據(jù),按格式說(shuō)明的描述將讀入的數(shù)據(jù)賦于相應(yīng)的參數(shù)。 參數(shù)部分的每個(gè)參數(shù),若為一般變量,要在變量名前加“&”(取地址運(yùn)算符),表示將輸入的數(shù)據(jù)存入變量對(duì)應(yīng)的內(nèi)存單元(地址)中。scanf(”%d”,&x);scanf(”格式控制字符串”,地址列表)必須用英文的雙引括起來(lái)由普通字符和格式說(shuō)明符組成由若干地址組成的列表變量的地址、字符串的首地址、指針變量等,以逗號(hào)(,)間隔格式控制字符的組成:普通字符:鍵盤輸入時(shí),要按原樣輸入,一般起分隔或提示作用。但分隔或提示作用若由用戶輸入,就失去了本來(lái)的意義,一般采用printf來(lái)實(shí)現(xiàn)。scanf(“Enteranumber?%d”,&n);格式轉(zhuǎn)換字符說(shuō)明 d輸入十進(jìn)制整數(shù)o輸入八進(jìn)制整數(shù)x輸入十六進(jìn)制整數(shù)c輸入單個(gè)字符s輸入字符串f輸入實(shí)數(shù),可為小數(shù)形式或指數(shù)形式%輸入百分號(hào)(%)附加格式說(shuō)明符說(shuō)明 l用于輸入長(zhǎng)整型數(shù)據(jù)及double型數(shù)據(jù)h用于短整型數(shù)據(jù)m(正整數(shù))用于指定輸入數(shù)據(jù)占據(jù)的寬度*輸入賦值抑制符:表示本輸入項(xiàng)在讀入后舍棄1:scanf("%3d%2d",&x,&y); 輸入序列:123456[ENTER] 結(jié)果:x=123,y=452:scanf("%d,%d:%f",&x,&y,&z); 輸入序列:1,2:3.5[ENTER] 結(jié)果:x=1,y=2,z=3.53:scanf("%2d
%*2d,%2d",&x,&y); 輸入序列:12
34,56[ENTER] 結(jié)果:x=12,y=56?!?”使得對(duì)應(yīng)的輸入數(shù)據(jù)不賦給相應(yīng)的變量
4:scanf("%c%c%c",&c1,&c2,&c3);
輸入:a□b□c↙
結(jié)果:a→c1,□→c2,b→c3(其余被丟棄)在用"%c"輸入時(shí),空格和“轉(zhuǎn)義字符”均作為有效字符。5:scanf("%d%d%d",&x,&y,&z); 輸入序列一:123[ENTER] 結(jié)果:x=1,y=2,z=3 輸入序列二:1[TAB]23[ENTER] 輸入序列三:1[ENTER] 23[ENTER] 結(jié)果與輸入序列一的結(jié)果一樣。注意:在scanf中,可以使用[ENTER]、空格或[TAB]作為數(shù)據(jù)之間的分隔符。6:scanf(”x=%d",&x);要使x的值等于12,從鍵盤應(yīng)怎樣輸入?正確的輸入序列:x=12[ENTER]
注意:字符x=被過(guò)濾掉了若輸入序列為:12[ENTER]錯(cuò)誤!實(shí)例:#include<stdio.h>main(){inta;floatb,c;scanf(”%2d%3f%4f”,&a,&b,&c);
printf(”a=%d,b=%f,c=%f\n”,a,b,c);}輸入:12345678987654321輸出:a=12,b=345.000000,c=6789.000000scanf()中參數(shù)的第二部分一定是地址列表。如果在格式控制字符串中除了格式說(shuō)明外還有其它字符,則在輸入數(shù)據(jù)時(shí)應(yīng)輸入與這些字符相同的字符可以指定輸入數(shù)據(jù)所占的列數(shù),系統(tǒng)自動(dòng)截取他所需的數(shù)據(jù)%*3d,不賦值輸入數(shù)據(jù)不能規(guī)定精度scanf函數(shù)在執(zhí)行過(guò)程中應(yīng)注意的問(wèn)題:字符輸入函數(shù)getchar調(diào)用形式:
c=getchar();功能:從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)上讀入一個(gè)字符,返回該字符的ASCII碼值,并且將敲入的字符“回顯”到屏幕上。例:#include"stdio.h"main(){charc;c=getchar();
putchar(c);/*輸出字符變量c的值*/}
#include"stdio.h"main(){charc;c=getchar();
putchar(c);}接受一個(gè)字符=>c輸出該字符c開始結(jié)束運(yùn)行程序,如果從鍵盤輸入: a[ENTER]
則輸出為: a
如果從鍵盤輸入: abc[ENTER]
則輸出也為: a注意:調(diào)用函數(shù)getchar時(shí),程序執(zhí)行被中斷,等待用戶從鍵盤輸入數(shù)據(jù)。當(dāng)用戶鍵入字符并敲回車鍵以后,程序繼續(xù)運(yùn)行。若用戶輸入字符后未按回車,則鍵入的內(nèi)容一直保留在鍵盤緩沖區(qū)中,只有用戶鍵入
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 無(wú)線安裝合同范本
- 內(nèi)蒙古烏蘭察布市(2024年-2025年小學(xué)五年級(jí)語(yǔ)文)統(tǒng)編版課后作業(yè)((上下)學(xué)期)試卷及答案
- 工業(yè)冷卻設(shè)備拆除與安裝方案
- 引水隧洞施工施工組織設(shè)計(jì)方案
- 農(nóng)村地區(qū)太陽(yáng)能路燈應(yīng)用技術(shù)方案
- 高性能計(jì)算機(jī)房打眼施工方案
- 高鈣石市場(chǎng)營(yíng)銷合同框架
- 邢臺(tái)學(xué)院《文學(xué)片段表演》2021-2022學(xué)年第一學(xué)期期末試卷
- 邢臺(tái)學(xué)院《市場(chǎng)調(diào)查實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 初創(chuàng)公司股權(quán)激勵(lì)設(shè)計(jì)方案
- 2024年10月時(shí)政100題(附答案)
- 2023-2024學(xué)年四川省成都市青白江區(qū)九年級(jí)(上)期末物理試卷
- 2024年危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全管理人員證考試題庫(kù)
- JJF(蘇) 275-2024 測(cè)斜儀校驗(yàn)臺(tái)校準(zhǔn)規(guī)范
- 【9道期中】安徽省黃山地區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期中考試道德與法治試題(含詳解)
- 2024年時(shí)事政治試題【帶答案】
- 2024年醫(yī)療污水處理管理制度范本(二篇)
- 意識(shí)形態(tài)分析研判制度
- 臺(tái)州市水務(wù)集團(tuán)股份有限公司招聘筆試題庫(kù)2024
- 2024年武漢鐵路局招聘236人歷年高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- Unit 5 Fun Clubs Section A Pronunciation 1-2e 教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版英語(yǔ)七年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論