基本輸入與輸出 王振生.

Slides:



Advertisements
Similar presentations
拼圖遊戲程式解說. Absolute Layout 介面說明 所謂絕對版面配置,是指螢幕中所有控制項的擺 放由開發人員透過控制項的座標來指定,控制項容器 不再負責管理子控制項的位置。由於子控制項的位置 和版面配置都藉由座標來設定,因此 Absolute Layout 元 件並沒有提供特有的屬性和方法。
Advertisements

第一單元 建立java 程式.
計算機程式語言實習課.
輸出與輸入(I/O).
File Access 井民全製作.
C 語言簡介 - 1.
Instructor:Po-Yu Kuo 教師:郭柏佑
第一章 C语言概述.
程式設計 博碩文化出版發行.
第5章 基本輸入與輸出 5-1 程式的輸入與輸出 5-2 字元與字串的輸入 5-3 字元與字串的輸出 5-4 格式化資料的輸入
Visual C++ introduction
Do.For.While.正三角.倒正三角.倒九九乘法表
選擇排序法 通訊一甲 B 楊穎穆.
2-3 基本數位邏輯處理※.
Chen Yi Fen The C Language Chen Yi Fen
2 C++ 程式概論 2.1 C++ 程式結構 程式註解 // 插入標題檔 #include 2-3
列舉(enum).
【變數與記憶體位址】 變數(Variable)提供一個有名稱的記憶體儲存空間。一個變數包含資料型態、變數本身的值及它的位址值。
String C語言-字串.
If … else 選擇結構 P27.
Chap 2 用C语言编写程序 2.1 在屏幕上显示 Hello World! 2.2 求华氏温度 100°F 对应的摄氏温度
Java程式概觀.
STRUCTURE 授課:ANT 日期:2010/5/12.
1. 檔案File  開新New  檔案Empty File (再另存新檔D:\hello.c)
C語言簡介 日期 : 2018/12/2.
第4章 字串及資料的輸入/輸出格式.
SQL Stored Procedure SQL 預存程序.
Chapter 7 指標.
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.
Chap 3 分支结构 3.1 简单的猜数游戏 3.2 四则运算 3.3 查询自动售货机中商品的价格.
第3章 指標與字串 (Pointers and Strings)
FPGA計算浮點數的方法 姓名:蔡秉旂.
程式設計實習課(四) ----C 函數運用----
第4章 顺序程序设计.
第一單元 建立java 程式.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
第三章 資料型態與輸出控制 本章學習目標 認識Matlab的基本資料型態 練習資料型態的轉換 學習如何控制Matlab的輸出格式
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A Lab6.
開始使用Visual C++.
JAVA 程式設計 資訊管理系 - 網路組.
輸入&輸出 函數 P20~P21.
第九章 字串.
Introduction to C Programming
撰寫MATLAB基礎財務程式 柯婷瑱.
第7章 指標 7-1 指標的基礎 7-2 指標變數的使用 7-3 指標運算 7-4 指標與陣列 7-5 指向函數的指標.
基本IO.
|第 2 章 變數與資料型態.
認識常數與變數 學習C++所提供的各種基本資料型態 瞭解溢位的發生 學習認識資料型態之間的轉換
如何使用Gene Ontology 網址:
輸出與輸入(I/O).
C++程式設計入門 變數與運算子 作者:黃建庭.
第二章 类型、对象、运算符和表达式.
挑戰C++程式語言 ──第7章 輸入與輸出.
計算機程式設計 老師:蘇炳煌 助教:楊斯竣.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
簡單Java介紹.
Introduction to the C Programming Language
結構、檔案處理(Structure, File)
程式設計--Quick Sort 通訊一甲 B 楊穎穆.
適用於多選一 可減少if 與 else配對混淆的錯誤.
作業系統實習課(二) -Scheduler-Related System Calls-
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
Programming & Language Telling the computer what to do
C/C++基礎程式設計班 陣列 講師:林業峻 CSIE, NTU 3/14, 2015.
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Array(陣列) Anny
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
Introduction to the C Programming Language
InputStreamReader Console Scanner
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

基本輸入與輸出 王振生

C語言的控制台輸入與輸出 以C語言建立的控制台應用程式(Console Application)來說,最常使用的標準輸入裝置是鍵盤,標準輸出裝置是電腦螢幕,即所謂的控制台輸入與輸出(Console Input and Output,簡稱Console I/O),如下圖所示:

格式化的資料輸入(P 3-7) C語言的格式化資料輸入函數,可以在C程式讓使用者輸入字元、數值或字串值。在C語言標準函式庫<stdio.h>標頭檔提供2個函數執行格式化的資料輸入和輸出,如下表所示:

使用scanf()函數讀取數值資料 scanf("%d", &age); scanf("%f", &score); 在scanf()函數的格式字串是使用格式字元判斷輸入哪一種資料型態,函數的傳回值是整數int,如果資料讀取成功,傳回輸入的資料數,如果失敗傳回0。例如:使用格式字元%d和%f讀取整數和浮點數值,如下所示: scanf("%d", &age); scanf("%f", &score); 第1列程式碼的格式字串內含%d表示輸入整數,第2個參數使用「&」取址運算子取得變數的記憶體位址,第2列的程式碼是使用%f格式字元讀取浮點數。

讀取多種不同型態的資料(P 3-7) 在同一個scanf()函數可以讀取多筆不同資料型態的資料,如下所示: scanf("%f,%d,%f", &x, &y, &z); 上述程式碼的格式字串擁有%f、%d和%f一共3個格式字元,之後也擁有對應的3個變數&x、&y和&z讀取3筆資料,分別是浮點數、整數和浮點數資料,如下圖所示:

讀取多種不同型態的資料-空白字元 在scanf()函數的格式字串可以使用空白字元,空白字元是指Space或Escape逸出字元的'\t'、'\n'等,這些字元並沒有用處,scanf()函數並不會處理這些字元,例如:一些空白字元的範例,如下所示: "%f%d" "%f %d" "%f\t%d" "%f\n%d"

讀取多種不同型態的資料-非空白字元 在格式字串如果擁有非空白字元,使用者在輸入資料時,就需包含這些非空白字元。例如:非空白字元範例,如下所示: "%f,%d,%f" /* 23.5,45,10.2 */ "%f\’%d\’%f" /* 23.5’45’10.2 */ "%f*%d*%f" /* 23.5*45*10.2 */ 格式字串中可以使用「,」、「’」和「*」等字元來分隔,所以輸入3個資料也需要包含此字元,之後的註解文字是輸入範例。

上課練習程式 #include <stdio.h> #include <stdlib.h> #include <limits.h> #include <float.h> int main(void) { int balance; char name; float a; double b; balance = 5000; name = 'c'; printf("請輸入攝氏溫度:"); scanf("%f", &a); b = (9.0 * a) / 5.0 + 32.0; printf("%c(%d)\n", name, sizeof(char)); printf("%d(%d)\n", balance, sizeof(int)); printf("%f(%d)\n", a, sizeof(float)); printf("%f(%d)\n", b, sizeof(double)); system("PAUSE"); return 0; }

printf()函數的最小欄寬及精確度(P 3-24) %[最小欄寬][.精確度]格式字元

printf()函數的最小欄寬(P 3-19) printf()函數格式字元「%」符號後,字元前可以加上最小欄寬的整數值,表示輸出變數值最少會顯示出指定欄寬的字元數,如果輸出的長度小於欄寬,則向右靠齊,然後在左邊填入空白字元,如下所示: printf("i(3d) = [%3d]\n", i); printf("i(7d) = [%7d]\n", i); printf("i(10d) = [%10d]\n", i); 上述程式碼的格式字串分別指定最小欄寬3、7和10顯示整數變數i的值2046。

printf()函數的最小欄寬(P 3-19)

printf()函數的精確度(P 3-21) printf()函數的精確度是使用在浮點數和字串剪裁,例如:%f、%e預設的精確度為小數點下6位數,printf()函數可以調整輸出資料的精確度,如下所示: printf("f(.0f) = [%.0f]\n", f); printf("f(.3f) = [%.3f]\n", f); printf("f(12.3f) = [%12.3f]\n", f); printf("f(12.5f) = [%12.5f]\n", f); 上述程式碼的格式字元中,在「.」小數點前是最小欄寬,之後是精確度,變數f的值為3.1415926535898。

printf()函數的精確度-範例

printf()函數的精確度-動態指定 如果需要動態指定輸出資料的精確度或最小欄寬,可以使用整數常數或變數值指定,在格式字串是使用「*」星號代表精確度和最小欄寬,如下所示: 程式碼的格式字串使用「*」星號指定浮點數的精確度和最小欄寬,在格式字串擁有一個星號,在之後的參數也需要新增對應的變數或常數值,變數f的值為3.1415926535898。

printf()函數的精確度-動態指定範例