鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所

Slides:



Advertisements
Similar presentations
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
Advertisements

鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
大 播 海 直.
第二章 基本程式設計.
本章大綱 2-1、程式、程式語言、程式架構 2-2、變數與資料型態 2-3、常數 2-4、 運算式、運算子和運算元
第二章 JAVA语言基础.
Google App Engine Google 應用服務引擎.
C++程序设计 王希 图书馆三楼办公室.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
BLANK overview.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
課程名稱:程式設計 授課老師:________
Visual Basic 6.0 學習範本 第三章 基本資料型態.
.NET 程式設計入門(使用 C#) 講師:鄧智鴻.
第二章 C# 基础知识.
C++程序设计 第二讲 清华大学软件学院.
第3章 變數、資料型別與運算子.
實作輔導 日期: 3/11 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
JAVA程序设计 第5章 深入理解JAVA语言----补充.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第三章 C++中的C 面向对象程序设计(C++).
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
第3章 變數、資料型別與運算子 3-1 變數與資料型別的基礎 3-2 變數的命名與宣告 3-3 資料型別 3-4 運算式與運算子
新觀念的 VB6 教本 第 6 章 資料型別.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
C++语言程序设计 第二章 C++简单程序设计.
第五張 方法.
Java程序设计 第2章 基本数据类型及操作.
明解C++教學手冊 柴田望洋 博士 著 書號:PG20269
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
C#程序设计基础 第二章 数据类型.
第二讲 C#程序设计基础(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
類別與物件 I (Classes and Objects I)
第三章 C# 基础知识.
C++ 程式設計 基礎篇 張啟中 Chang Chi-Chung.
建国以来,大陆对台政策 金亚丽 周莎 黄运娜.
第二章Java基本程序设计.
Java變數 2014/6/24.
Chapter 2 基本語法.
保留字與識別字.
第二章 Java基本语法 讲师:复凡.
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C++程式設計入門 變數與運算子 作者:黃建庭.
第二章 Java语法基础.
VB 2005資料型別與運算子.
第二章 类型、对象、运算符和表达式.
第2章 数据类型与表达式 学习目的与要求: 掌握C 语言的基本数据类型及使用方法 掌握C程序中常用的运算符和表达式 了解数据类型的转换.
第二章 基本数据类型 ——数据的表示.
Review 1~3.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
本节内容 指针类型.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Introduction to the C Programming Language
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
1.4WIN32中的宽字符.
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
變數、資料型態、運算子.
第2章 Java语言基础.
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
變數與資料型態  綠園.
第二章 Java基础语法 北京传智播客教育
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Presentation transcript:

鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所 實值變數與運算式 鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所

綱要 變數宣告與設值 數值型別轉換 基本算術運算式與數學函數 常數宣告 遞增與遞減算子 關連算子, 簡單if敘述, 三元運算子 bool型別及邏輯運算式 運算優先順序

綱要 變數宣告與設值 數值型別轉換 基本算術運算式與數學函數 常數宣告 遞增與遞減算子 關連算子, 簡單if敘述, 三元運算子 bool型別及邏輯運算式 運算優先順序

示範程式UsingVariable重要片段 char aChar = 'a'; Console.WriteLine(aChar); int anInt = 123; Console.WriteLine(anInt); double aDouble; aDouble = 123.456; Console.WriteLine(aDouble); bool aBool = true; Console.WriteLine(aBool);

主記憶系統概念 *J. G. Brookshear, Computer Science – An Overview, 8th edition, Addison-Wesley, 2005

使用變數 變數宣告與地址觀念 變數命名 設值 (Assignment) 與初始化 (Initialization) 型別相容 命名規定與關鍵字 維護考量 軟體紀律 匈牙利命名法 設值 (Assignment) 與初始化 (Initialization) 型別相容

示範程式UsingNumeric重要片段 int x = 256; Console.WriteLine("x : " + x); byte y = 255; Console.WriteLine("y : " + y); double z = 123.45; Console.WriteLine("z : " + z); float f = 123.45f; Console.WriteLine("f : " + f); decimal d = 123.45m; Console.WriteLine("d : " + d);

整數型別 sbyte: -128 ~ 127 byte: 0 ~ 255 short: -32768 ~ 32767 unshort: 0 ~ 65535 int: -2147483648 ~ 2147483647 uint: 0 ~ 4294967295 long: -9223372036854775808 ~ 9223372036854775807 ulong: 0 ~ 18446744073709551615 char: U+0000 ~ U+ffff

浮點數型別 float: 7 位精確度, 正負1.5e-45 ~ 3.4e38, 32 位元 double: 15~16位精確度, 正負5.0e-324 ~ 1.7e308, 64 位元

decimal 型別 28 ~ 29 位小數, 正負1.0e-28 ~ 7.9e28, 128 位元

示範程式UsingChar重要片段 char c1 = 'a'; char c2 = '文'; char c3 = '\x0059'; char c4 = '\u0058'; char c5 = '\n'; char c6 = '\'';

字元表示 ASCII vs. Unicode 十六進位與Unicode表示法 逸散字元( Escaped character ) ‘\a’: 警示(alarm) ‘\b’: 退格(backspace) ‘\’’: 單引號(apostrophe) ‘\\’: 倒斜線(backslash) ‘\t’: 水平定位(tab) ‘\n’: 換行(next line)

字串與字元 string s1 = “abc”; string s2 = “a”; char c = ‘a’;

堆疊(Stack)與堆積(Heap) Heap . Stack

實值型別儲存方式 堆疊(Stack) int x = 100; x 100

參考型別儲存方式 堆積(Heap) 堆疊(Stack) string x = “abc”; x 參考 ‘a’ ‘b’ ‘c’

練習 撰寫一程式,宣告與設定數個變數,並予輸出。

綱要 變數宣告與設值 數值型別轉換 基本算術運算式與數學函數 常數宣告 遞增與遞減算子 關連算子, 簡單if敘述, 三元運算子 bool型別及邏輯運算式 運算優先順序

示範程式Conversion重要片段 int a = 10; double b = 0; b = a; b = 20.5; a = (int)b; float c = 20; c = 20.5f; c = (float)20.5; char d = (char)65;

變數設值與型別轉換 變數設值 (Assignment) 隱含轉換 (Implicit conversion) 強制轉換 (Explicit conversion)

綱要 變數宣告與設值 數值型別轉換 基本算術運算式與數學函數 常數宣告 遞增與遞減算子 關連算子, 簡單if敘述, 三元運算子 bool型別及邏輯運算式 運算優先順序

示範程式UsingMathOperator重要片段 Console.WriteLine("請輸入第一個整數值x :"); int x = int.Parse(Console.ReadLine()); Console.WriteLine("請輸入第二個整數值y :"); int y = int.Parse(Console.ReadLine()); Console.WriteLine(" x + y = {0} ", x + y); Console.WriteLine(" x - y = {0} ", x - y); Console.WriteLine(" x * y = {0} ", x * y); Console.WriteLine(" x / y = {0} ", x / y); Console.WriteLine(" x % y = {0} ", x % y);

設值與算術運算 運算元(Operand)與運算子(Operator) 設值運算子(Assignment) 算術運算子 括弧使用與計算順序 加、減、乘、除 模數 括弧使用與計算順序

型別轉換錯誤三例 例1 例2 例3 byte bValue = 254; bValue = bValue*2; byte bValue; int aa = 0; bValue = aa + 0; 例3 float f = 0; f = 0.1 + 0.1;

示範程式UsingMathFunctions重要片段 Console.WriteLine("Sqrt(2) = " + Math.Sqrt(2.0)); Console.WriteLine("PI = " + Math.PI); Console.WriteLine("Sin(PI/6.0) = " + Math.Sin(Math.PI / 6.0)); Console.WriteLine("Pow(2.0, 0.5) = " + Math.Pow(2.0, 0.5)); Console.WriteLine("Exp(1) = " + Math.Exp(1.0)); Console.WriteLine("ln(e) = " + Math.Log(Math.E)); Console.WriteLine("log10(100) = " + Math.Log10(100.0));

綱要 變數宣告與設值 數值型別轉換 基本算術運算式與數學函數 常數宣告 遞增與遞減算子 關連算子, 簡單if敘述, 三元運算子 bool型別及邏輯運算式 運算優先順序

示範程式UsingConstant重要片段 const double G = 9.8; Console.WriteLine("常數G = {0} ", G); double t = 1.0; double y = -(1.0 / 2.0) * G * t * t; G = 9.8 / 6; // Error!

使用常數 常數設定 常數特性 常數與程式維護

綱要 變數宣告與設值 數值型別轉換 基本算術運算式與數學函數 常數宣告 遞增與遞減算子 關連算子, 簡單if敘述, 三元運算子 bool型別及邏輯運算式 運算優先順序

示範程式UsingInDeOperator重要片段 Console.WriteLine("請輸入整數變數x初值"); int x0 = int.Parse(Console.ReadLine()); Console.WriteLine("請輸入所要加總的整數值add"); int add = int.Parse(Console.ReadLine()); int x = x0; x = x + add; x = x0; x += add; int post; post = x++; int pre; pre = ++x;

遞增遞減運算子 運算子 +=、-=、*=、/-、%= 運算子++、-- 前置運算子(prefix) 後置運算子(postfix) result = ++x; 後置運算子(postfix) result = x++;

綱要 變數宣告與設值 數值型別轉換 基本算術運算式與數學函數 常數宣告 遞增與遞減算子 關連算子, 簡單if敘述, 三元運算子 bool型別及邏輯運算式 運算優先順序

關連(Relation)運算子 運算子 說明 相等 不等於 大於 大於等於 小於 小於等於 == != > >= < <= 小於等於

if 流程 score < 60 false true score = 60

示範程式UsingSimpleIf重要片段 Console.Write( "請輸入一個小於100的整數原始成績: "); int score = int.Parse(Console.ReadLine()); // 調分公式 if (score < 60) { score = 60; } Console.WriteLine("調分後成績: " + score);

if-else 流程 score < 60 true false result = score result = 60

示範程式UsingTerOp重要片段 Console.Write( "請輸入一個小於100的整數原始成績: "); int score = int.Parse(Console.ReadLine()); int result = score < 60 ? 60 : score; // 調分公式 Console.WriteLine("調分後成績: " + result);

綱要 變數宣告與設值 數值型別轉換 基本算術運算式與數學函數 常數宣告 遞增與遞減算子 關連算子, 簡單if敘述, 三元運算子 bool型別及邏輯運算式 運算優先順序

示範程式UsingLB重要片段 bool x = 7 > 3; bool y = 2 < 0; bool xORy = x | y; bool xANDy = x & y; bool xOy = (x & y) | (x | y); bool xNy = (x & y) & (x | y);

布林型別 邏輯敘述, 流程控制, Debug.Assert() x > 1 true/false, 不可寫為數值如1 或 0

一般邏輯運算 x y x & y x | y x ^ y !y false true

Short-Circuit 邏輯運算 && 與 || 範例 x && y x || y (x & y) || (x | y)

字串物件比較 string first = “one”; string second = “One”; string third = “one”; Console.WriteLine( first == second ); Console.WriteLine( first == third ); Console.WriteLine( first != second ); Console.WriteLine( first != third );

綱要 變數宣告與設值 數值型別轉換 基本算術運算式與數學函數 常數宣告 遞增與遞減算子 關連算子, 簡單if敘述, 三元運算子 bool型別及邏輯運算式 運算優先順序

運算子優先順序 算術運算優先順序 關連運算子 邏輯運算子 !, &, ^, |, &&, || 三元運算子 一元遞增遞減運算子 正負號 四則運算與模數計算 關連運算子 邏輯運算子 !, &, ^, |, &&, || 三元運算子 設定 =,*=,/=,%=,+=,-=,&=,^=,|= 使用括弧改變順序

練習 撰寫程式混合運用學過的運算式, 添加註解說明程式目的,作者,時間,及關鍵算式