《C語言程序設計》課件第3講 C語言初步-2_第1頁
《C語言程序設計》課件第3講 C語言初步-2_第2頁
《C語言程序設計》課件第3講 C語言初步-2_第3頁
《C語言程序設計》課件第3講 C語言初步-2_第4頁
《C語言程序設計》課件第3講 C語言初步-2_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

知識回顧1.變量(1)變量的定義(2)變量的初始化(3)注意事項2.常量(1)常量的表示:整數常量,浮點型常量,字符常量和字符串(2)常量的用法:直接寫,定義宏,定義內存常量問題引出1.數據是程序處理的對象2.很多情況都需要把要處理的數據輸入到內存3.往往需要把處理的結果輸出到屏幕程序鍵盤屏幕格式化輸出函數:printf格式化輸入函數:scanf字符輸入函數:getchar字符輸出函數:putchar4.C中沒有專門的輸入輸出語句,輸入輸出由庫函數實現主要內容輸入/輸出1.7目的要求復習思考題上機與編程實踐獨立作業小結1.7.1格式化輸出1.概述(1)由標準庫函數printf完成(2)包含在頭文件stdio.h中(3)功能是把數據按照指定格式輸出到屏幕上(4)調用格式:printf(格式串,輸出項列表);①格式串:

指定輸出格式②輸出項列表:

用逗號隔開的多個項,指定輸出的數據項舉例若有定義:inta=22;intb=-14;要把a和b中的數據分兩行輸出到屏幕上2.格式串(重點掌握)(1)格式轉換說明域:

指定輸出數據的格式(2)普通文本:

顯示的一般信息一個格式轉換說明域負責一個輸出項的類型轉換和格式的精確控制[寬度][精度][標志位](1)格式轉換說明域格式轉換碼是一個小寫字母,用來指定要輸出數據的類型

①格式轉換碼一般形式的實數(7位輸出精度)f字符串s單個字符c有符號十進制整數d作用轉換碼%格式轉換碼舉例若有定義:intx=10;floatf=-134.56;

charc=‘A’;printf(“%d,%f,%c”,x,f,c);輸出結果是:10,-134.560000,Aprintf(“%s”,“Todayisfine.”);輸出結果是:Todayisfine.下列語句執行的結果是:寬度修飾符是用一個整數m來指定輸出數據占的列寬②寬度修飾符若數字的位數大于指定列寬,按原樣輸出數字若數字的位數小于指定列寬,左補空格

舉例若有定義:intx=123;語句輸出結果printf(“%2d”,x);123printf(“%6d”,x);□□□123□代表空格精度修飾符是以用一個小數.n來指定輸出數據的精度③精度修飾符可以用于浮點型數據和字符串浮點型:指定輸出的小數位數字符串:指定要輸出串的字符個數

舉例若有定義:

floatx=3.1415926;語句輸出結果printf(“%.2f”,x);3.14printf(“%.2s”,“MyBirthday”);Myprintf(“%6.1f”,x);□□□3.1□代表空格標志位修飾符有兩個:④標志位修飾符負號(-)用來指定數據的對齊方式是左對齊數字0

用來對整數左補0輸出舉例若有定義:

floatx=3.1415926;

intn=1234;語句輸出結果printf(“%5.2f”,x);□3.14printf(“%-5.2f”,x);3.14□printf(“%6d”,n);□□1234printf(“%06d”,n);001234printf(“%-6d”,n);1234□□文本字符串是格式轉換域以外的內容文本字符按原樣輸出一般用來顯示數據外的其他信息(2)文本字符串舉例若有定義:

floatx=3.1415926;

intn=1234;語句printf(“x=%.2f,n=%d\n”,x,n);輸出結果x=3.14,n=1234(1)輸出項列表是要輸出的0個或多個數據項(2)多個時要用逗號隔開(3)可以是常量、變量或表達式

3.輸出項列表舉例若有定義:

floatx=3.1415926;

intn=1234;printf(“Happynewyear!”);/*沒有輸出項*/printf(“%f,%d”,1.55,100);/*兩個輸出項,它們是常量*/printf(“%f,%d”,x,n);/*兩個輸出項,它們是變量*/printf(“%f,%d”,x+2,n*3);/*兩個輸出項,它們是算式*/(1)格式轉換說明符與輸出項在順序和數據類型上必須一一對應和匹配,否則輸出錯誤的值4.注意事項舉例若有定義:floatx=3.1415926;

intn=1234;printf(“%d,%f\n”,x,y);

/*輸出錯誤,類型不一致*/(2)格式轉換說明域的個數少于輸出項時,多余的項不輸出,反之多余的格式轉換說明域輸出不確定的值

舉例若有定義:floatx=3.1415926;

intn=1234;printf(“%.1f,%d”,x,n,1000);/*輸出3.1,1234

*/printf(“%.1f,%d,%d”,x,n);

/*輸出3.1,1234,不確定的值*/1.7.2格式化輸入1.格式化輸入概述(1)由標準庫函數scanf完成(2)包含在頭文件stdio.h中(3)功能是把從鍵盤上輸入的數據按照指定格式存儲到內存(4)的調用格式是:scanf(格式串,輸入項列表);(5)兩個參數①格式串:

指定輸入格式②輸入項列表:

用逗號隔開的多個變量的地址舉例若有定義:inta;intb;若要把從鍵盤輸入的1223分別存儲到a和b中(2)格式轉換說明符與輸入項在順序和類型上必須對應一致2.注意事項(重點掌握)舉例若有定義:intx;floaty;scanf(“%d%d”,&x,&y);

/*錯誤,%d與y的類型不一致*/(1)輸入項必須是變量地址舉例若有定義:intx;floaty;scanf(“%d”,x);

/*錯誤,輸入項x不是地址*/(3)當有幾個輸入項或連續使用幾個scanf函數輸入多個數值型數據時,在輸入數據時可以用空白字符做數據間的分隔

舉例若有定義:intx;inty;要是想給x錄入12,給y錄入15scanf(“%d%d”,&x,&y);

/*轉換符連著寫*/

scanf(“%d%d”,&x,&y);

/*轉換符間用空白字符分隔*/scanf(“%d”,&x);

scanf(“%d”,&y);

/*連續用兩條獨立的語句輸入*/輸入數據的正確格式是:

12空白字符15回車

強調:空白字符包括空格字符,回車字符和Tab字符(4)輸入int型數據時必須輸入整數,輸入float型的數據可以輸入整數,也可以輸入小數舉例若有語句:

intx;floaty;scanf(“%d%f”,&x,&y);要給x錄入12,給y錄入-15.012□-15

/*正確的輸入,x存12,y存-15.0*/12-15.0

/*正確的輸入,x存12,y存-15.0*/12.5-15.0

/*錯誤的輸入,x存12,y存0.5*/(5)輸入字符型數據時,不需要加單引號,也不能使用分隔符舉例若有語句:

charc1,c2;scanf(“%c%c”,&c1,&c2);假若要分別給c1、c2錄入字符a、b,則:‘a’‘b’/*錯誤的輸入,c1存了‘,c2存了a*/

a□b/*錯誤的輸入,c1存了a,c2存了空格*/?思考?若有語句:intx;floaty;

charc;scanf(“%d%c%f”,&x,&c,&y);若要給x、c、y錄入100、a、-1.22,正確的輸入方式有哪些?(6)若格式控制串中使用了一般字符,輸入時必須照原樣輸入舉例若有語句:

intx,y;scanf(“%d,%d”,&x,&y);要是想給x錄入12,給y錄入15正確的輸入格式是:12,15(7)使用“%*字母”可以抑制輸入對應類型的數據項舉例若有語句:

intx,y;scanf(“%d%*c%d”,&x,&y);要是想給x錄入12,給y錄入15正確的輸入格式是:12任意一個非數字字符15(8)使用%md或%mf控制讀入數據的位數,m是大于0的整數舉例若有語句:intx;

floaty;

charc;scanf(“%2d%c%4f”,&x,&c,&y);執行時若輸入12345.67回車,則x存了12,c存了3,y存了45.6

(9)輸入double型的數據必須使用%lf

(10)為了提示用戶輸入,往往和printf配合使用

1.7.3字符輸入/輸出1.概述除了printf和scanf外還有兩個函數實現字符輸入/輸出getchar函數:用于單個字符輸入putchar函數:用于單個字符輸出兩個函數的原型包含在stdio.h中(2)調用格式2.putchar函數舉例若有定義:intx=100;charc=‘\x61’;則下列語句:putchar(‘A’);/*參數為字符型常量,輸出字符A*/putchar(65);/*參數為整型常量,輸出字符A*/putchar(c);/*參數為字符型變量,輸出字符a*/putchar(x);/*參數為整型變量,輸出字符d*/(1)函數功能向屏幕輸出一個字符putchar(c);(3)說明參數c是一個字符型或范圍不超過127的整型量(2)調用格式3.getchar函數舉例若有語句:charc;…c=getchar();

/*把輸入字符的ASCII碼值存到了c*/(1)函數功能從鍵盤讀入一個字符,成功時返回字符的ASCII值getchar();(3)說明①經常把函數的返回值存儲到變量②該函數回車才執行,連續使用時要注意回車字符的影響舉例若有語句:

charc1,c2;…c1=getchar();c2=getchar();假如要給c1、c2分別錄入字符a、b,則:abc

/*正確的輸入*/ab

/*正確的輸入*/ab

/*錯誤的輸入,做不到,因為敲回車程序即結束*/

目的要求1.掌握格式化輸入函數scanf的使用方法2.掌握格式化輸出函數printf的使用方法3.掌握字符輸入函數getchar的使用方法4.掌握字符輸出函數putchar的使用方法復習思考題**6.使用scanf應該注意什么

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論