版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第4章鍵盤輸入和屏幕輸出本章學(xué)習(xí)內(nèi)容
字符常量與轉(zhuǎn)義字符字符輸出函數(shù)putchar()字符輸入函數(shù)getchar()
數(shù)據(jù)的格式化輸出函數(shù)printf()數(shù)據(jù)的格式化輸入函數(shù)scanf()第4章鍵盤輸入和屏幕輸出4.1單個字符的輸入/輸出4.2數(shù)據(jù)的格式化屏幕輸出4.3數(shù)據(jù)的格式化鍵盤輸入4.1.1字符常量C中的字符常量是用單引號括起來的一個字符。例如,‘a(chǎn)’是字符常量,而a則是一個標識符。再如,‘3’表示一個字符常量,而3則表示一個整數(shù)。4.1.1字符常量(續(xù))把字符放在一對單引號里的做法,適用于多數(shù)可打印字符,但不適用于某些控制字符(如回車、換行符等)。因此,C語言引入了另外一種特殊形式的字符常量—轉(zhuǎn)義字符。它是以反斜線(\)開頭的字符序列,它有特殊的含義,用于描述特定的控制字符。作為字符使用時,同樣要放到一對單引號內(nèi)。4.1.1字符常量(續(xù))表4-1常用的轉(zhuǎn)義字符4.1.1字符常量(續(xù))字符型變量的取值范圍取決于計算機系統(tǒng)所使用的字符集。目前計算上廣泛使用的字符集是ASCII碼(美國標準信息交換碼)字符集。該字符集規(guī)定了每個字符所對應(yīng)的編碼,即在字符序列中的“序號”。也就是說,每個字符都有一個等價的整型值與其相對應(yīng),這個整型值就是該字符的ASCII碼。例如:字符‘A’的ASCII碼為65。從這個意義上講,可將char型看成是一種特殊的int型。4.1.1字符常量(續(xù))在ASCII碼取值范圍內(nèi),對char型數(shù)據(jù)和int型數(shù)據(jù)進行相互轉(zhuǎn)換不會丟失信息,二者可以進行混合運算。同時,一個char型數(shù)據(jù)既能以字符型格式輸出,也能以整型格式輸出,以整型格式輸出時就是直接輸出其ASCII碼的十進制值。5和‘5’的區(qū)別???4.1.2字符的輸入/輸出getchar()和putchar()是C標準函數(shù)庫中專門用于字符輸入/輸出的函數(shù)。函數(shù)putchar()的作用是把一個字符輸出到屏幕的當前光標位置。函數(shù)getchar()的作用是從系統(tǒng)隱含指定的輸入設(shè)計輸入一個字符,按回車表示輸入結(jié)束,讀入的字符會自動被回顯到屏幕上。例4.1[例4.1]從鍵盤輸入一個大寫英文字母,將其轉(zhuǎn)換為小寫字母后,再顯示到屏幕上。[問題求解方法分析]觀察附錄D中的常用ASCII字符表,可以發(fā)現(xiàn)這樣一個規(guī)律,即小寫英文字母的ASCII碼值比相應(yīng)的大寫英文字母的ASCII碼值大32。根據(jù)這一規(guī)律,可輕松實現(xiàn)大小寫英文字母之間的轉(zhuǎn)換?!纠?.1】大小寫英文字母轉(zhuǎn)換PressakeyandthenpressEnter:B↙b
ch=ch-('a'–'A');
Whatdoesthisstatementmean?/*從鍵盤輸入一個字符,回車結(jié)束輸入*/第4章鍵盤輸入和屏幕輸出4.1單個字符的輸入/輸出4.2數(shù)據(jù)的格式化屏幕輸出4.3數(shù)據(jù)的格式化鍵盤輸入1.函數(shù)printf()的一般格式兩種格式:printf(格式控制字符串);printf(格式控制字符串,輸出值參數(shù)表);其中,格式控制字符串是用雙引號括起來的字符串,一般包括兩部分:格式轉(zhuǎn)換說明和需要原樣輸出的普通字符。格式轉(zhuǎn)換說明由%開始,并以轉(zhuǎn)換字符結(jié)束,用于指定各輸出值參數(shù)的輸出格式。表4-2函數(shù)printf()的格式轉(zhuǎn)換說明1.函數(shù)printf()的一般格式(續(xù))輸出值參數(shù)表是需要輸出的項的列表,輸出數(shù)據(jù)項可以是變量或表達式,輸出值參數(shù)之間用逗號分隔,其類型應(yīng)與格式轉(zhuǎn)換說明符相匹配每個格式轉(zhuǎn)換說明符和輸出值參數(shù)表中的輸出值參數(shù)一一對應(yīng),沒有輸出值參數(shù)時,格式控制字符串中不再需要格式轉(zhuǎn)換說明符。舉例:printf(格式控制字符串,輸出項列表);printf("a=%db=%f",a,b);可以輸出若干任意類型的數(shù)據(jù)
函數(shù)名可選輸出列表普通字符格式說明1.函數(shù)printf()的一般格式(續(xù))2.函數(shù)printf()中的格式修飾符在函數(shù)printf()的格式說明中,可在%和格式符中間插入如表4-3所示的格式修飾符,用于對輸出格式進行微調(diào),如指定輸出數(shù)據(jù)域?qū)?、顯示精度、左對齊等。表4-3函數(shù)printf()的格式修飾符Inputr:5.3↙printfWITHOUTwidthorprecisionspecifications:circumference=33.300854,area=88.247263printfWITHwidthandprecisionspecifications:circumference=33.30,area=88.25【例4.3】計算圓的周長和面積
#include<stdio.h>main(){constdoublepi=3.14159;doubler,circum,area;printf("Inputr:");scanf("%lf",&r);circum=2*pi*r;area=pi*r*r;printf("printfWITHOUTwidthorprecisionspecifications:\n");printf("circumference=%f,area=%f\n",circum,area);printf("printfWITHwidthandprecisionspecifications:\n");printf("circumference=%7.2f,area=%7.2f\n",circum,area);}第4章鍵盤輸入和屏幕輸出4.1單個字符的輸入/輸出4.2數(shù)據(jù)的格式化屏幕輸出4.3數(shù)據(jù)的格式化鍵盤輸入1.函數(shù)scanf()的一般格式一般格式scanf(格式控制字符串,參數(shù)地址表)其中,格式控制字符串是用雙引號括起來的字符串,它包括格式轉(zhuǎn)換說明符和分隔符兩個部分。格式說明符通常由%開始,并以一個格式字符結(jié)束,用于指定各參數(shù)的輸入格式。表4-4函數(shù)scanf()的格式轉(zhuǎn)換說明1.函數(shù)scanf()的一般格式(續(xù))參數(shù)地址表是由若干變量的地址組成的列表,這些參數(shù)之間用逗號分隔。函數(shù)scanf()要求必須指定用來接收數(shù)據(jù)的變量的地址,否則數(shù)據(jù)不能正確讀入指定的內(nèi)存單元。舉例:scanf(格式控制字符串,地址列表);
scanf("%d,%f",&a,&b);格式字符指定輸入數(shù)據(jù)格式輸入數(shù)據(jù)地址列表非格式字符輸入數(shù)據(jù)以,分隔沒有時可以空格、Tab或回車分隔1.函數(shù)scanf()的一般格式(續(xù))2.函數(shù)scanf()中的格式修飾符與printf()類似,在函數(shù)scanf()的%和格式符之間也可以插入如表4-5所示的格式修飾符。表4-5函數(shù)scanf()的格式修飾符2.函數(shù)scanf()中的格式修飾符(續(xù))在用函數(shù)scanf()輸入數(shù)值型數(shù)據(jù)時,遇到以下幾種情況都認為數(shù)據(jù)輸入結(jié)束:(1)遇空格符、回車符、制表符(Tab);(2)達到輸出域?qū)?;?)遇非法字符輸入。注意:如果scanf()的格式字符串中存在除格式說明以外的其他字符,那么這些字符必須在輸入數(shù)據(jù)時由用戶從鍵盤原樣輸入。#include<stdio.h>main(){
inta,b; printf("Pleaseinputaandb:"); scanf("%2d%*2d%2d",&a,&b); printf("a=%d,b=%d,a+b=%d\n",a,b,a+b);}Pleaseinputaandb:a=12,b=56,a+b=68123456↙跳過一個輸入項舉例:利用*跳過一個輸入項#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題1:當要求程序輸出結(jié)果為
a=12,b=34時,用戶應(yīng)該如何輸入數(shù)據(jù)?
1234↙輸入數(shù)據(jù)的格式控制——例4.4#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題2:當限定用戶輸入數(shù)據(jù)以逗號為分隔符,即輸入數(shù)據(jù)格式為:12,34↙時,應(yīng)修改程序中的哪條語句?怎樣修改?,
輸入數(shù)據(jù)的格式控制——例4.4#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題3:語句scanf("%d%d",&a,&b);修改為scanf("a=%d,b=%d",&a,&b);時,用戶應(yīng)該如何輸入數(shù)據(jù)?a=12,b=34↙輸入數(shù)據(jù)的格式控制——例4.4#include<stdio.h>main(){
inta,b;
scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}
問題4:限定用戶輸入數(shù)據(jù)為以下格式
1234↙
同時要求程序輸出結(jié)果為a=12,b=34%2d%2d
輸入數(shù)據(jù)的格式控制——例4.4#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}
問題5:限定用戶輸入數(shù)據(jù)為以下格式12↙34↙
同時要求程序輸出結(jié)果為a="12",b="34"\"%d\",b=
\"%d\"輸入數(shù)據(jù)的格式控制——例4.4#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題6:設(shè)計程序使得用戶可以以任意字符(回車、空格、制表符、逗號、其他字符)作為分隔符進行數(shù)據(jù)的輸入輸入數(shù)據(jù)的格式控制——例4.4%*c#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題7:輸入123456時程序的輸出結(jié)果是什么?輸入數(shù)據(jù)的格式控制——例4.4%*2da=12,b=56#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題8:如果用戶輸入了非法字符,例如輸入了123a,那么程序運行結(jié)果如何?輸入數(shù)據(jù)的格式控制——例4.4123a↙a=12,b=3#include<stdio.h>main(){
inta,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b);}問題9:如果用戶輸入的是123a,那么結(jié)果又會如何呢?輸入數(shù)據(jù)的格式控制——例4.4123a↙a=123,b=-858993460#include<stdio.h>
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 混合動力電動汽車結(jié)構(gòu)原理與檢修 第2版 課件 學(xué)習(xí)情景2 混合動力電動汽車高壓維修操作安全
- 年末晚會活動策劃方案(3篇)
- 牛雜店工人管理制度范本(3篇)
- 甲醇爐燃氣安全管理制度(3篇)
- 獸藥質(zhì)檢培訓(xùn)
- 線上幫辦團隊管理制度內(nèi)容(3篇)
- 蔬菜種植后期管理制度(3篇)
- 通信網(wǎng)管中心管理制度(3篇)
- 飯店協(xié)會檔案管理制度(3篇)
- 《GA 1016-2012槍支(彈藥)庫室風(fēng)險等級劃分與安全防范要求》專題研究報告
- 2025年廣東省中考語文試卷真題(含答案解析)
- 燙熨治療法講課件
- 2025至2030中國模塊化變電站行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 電廠清潔生產(chǎn)管理制度
- 2025年江蘇省事業(yè)單位招聘考試教師招聘體育學(xué)科專業(yè)知識試題
- 機械設(shè)計年終述職報告
- 可信數(shù)據(jù)空間解決方案星環(huán)科技
- 建筑工程監(jiān)理服務(wù)承諾書范文
- 知榮明恥主題班會課件
- 職業(yè)技術(shù)學(xué)院工業(yè)機器人技術(shù)高職技能考核標準1022(簡化版)
- 聲學(xué)基礎(chǔ)課后題答案
評論
0/150
提交評論