input & output statement adopted from thanomkulabut’s experiences. brushed up by mikelab.net...
TRANSCRIPT
Input & OutputInput & OutputStatementStatement
Adopted from Thanomkulabut’s experiences.
Brushed up by MikeLab.Net Factory @KU.
01204111 Computer & Programming01204111 Computer & ProgrammingGroup 350-352Group 350-352Dept. of Computer EngineeringDept. of Computer EngineeringKasetsart UniversityKasetsart University
Version 2012
Data Types
Type Size Description Range
bool 1 byte Store truth value true / false
char 1 byte Store one character
character code 0 – 255
byte 1 byte Store positive integer
0 – 255
short 2 byte Store integer -32,768 -- 32,767
int 4 byte Store integer -2.1 x 109 -- 2.1 x 109
long 8 byte Store integer -9.2 x 1018 -- 9.2 x 1018
double
16 byte
Store real number ± 5.0x10-324 -- ± 1.7x10308
string N/A Store sequence of characters
N/A
3
Priority of Arithmetic Operators
Operators Associativity Type() left to right
left to rightparenthesesunary postfix
++x --x + - (type) left to right unary prefix
* / % left to right multiplicative
+ - left to right additive
= += -= *= /= %=x++, x--
right to left assignment
high
low
4
Arithmetic Operators Example
x/y*b++
int a, b, c;a = 2-10*3/5+(6%4);
b = 5*(15%4+(2-3))/9;c = 5+9%2*4-14/4%3
a = -2b = 1c = 9
Answer
Arithmetic
2
Given x = 3.0, y = 2.0, b =2, what is the output?
x/y*++b
3
Answer: 4.5 Answer: 3.0
5
Arithmetic Operators Example
int a=1, b=2, c=3;Console.WriteLine(a++ + ++b);Console.WriteLine(a++ - ++b);Console.WriteLine(++a + b+
+ + c++);Console.WriteLine(++a + b+
+ - c++);Console.WriteLine(++a - b+
+ - c++);
4-271-3
Answer
Arithmetic
6
4, -2, 11, 6, -5
Arithmetic Operators Example(2)
Statement Description
var += expression Increment var by the value of expression
var -= expression Decrement var by the value of expression
var *= expression Multiply var by the value of expression, then store the result in var
var /= expression Divide var by the value of expression, then store the result in var
sum += x; // is equivalent to sum = sum + x
prod *= 2.5; // is equivalent to prod = prod * 2.5
y -= 3+a; // is equivalent to y = y – (3+a)
7
The Math Class
Method/Constant
Value returned Example Call Result
PI Value of Math.PI 3.1415927
Max(x,y) Larger of the two Math.Max(1,2) 2
Abs(x) Absolute value of x Math.Abs(-1.3) 1.3
Sqrt(x) Square-root of x Math.Sqrt(4.0) 2.0
Round(x) Nearest integer to x Math.Round(0.8) 1
Pow(x,y) xy Math.Pow(3,2) 9.0
Log(x) Natural log of x Math.Log(10) 2.302585
Floor(x) Greatest integer smaller than or equal to x
Math.Floor(4.9) 4
Ceiling(x) Smallest integer greater than or equal to x
Math.Ceiling(4.1) 5
Cos(x) Cosine of x radians Math.Cos(Math.PI) -1
Math Class
8
Today’s Outline
Input Statements Console.ReadLine() / Console.Read() Basic Data Conversions
Output Statements Console.Write() /Console.WriteLine() Output format Escape Sequences Characters
Data Conversions Type of Conversions Convert class, Parse() methods
9
Input Statements
Console.ReadLine(); Read all characters
(in form of string) Use with Convert or
Parse commands frequently
Console.Read(); Read ASCII code of
the first character
11
Console.ReadLine()
Console.ReadLine() Use to get the input (String) from
user
Convert string to other data type int.Parse() Convert string to integer double.Parse() Convert string to
double ….
stringstring st = Console. st = Console.ReadLineReadLine();();
Run-time error may be occurred if user’s input is incorrectRun-time error may be occurred if user’s input is incorrect
12
Ex2:Ex2:int x;
Console.Write(“Input x:”);
string temp = Console.ReadLine();
x= int.Parse(temp);
x = x*x;
Console.WriteLine(“x^2 = {0}”, x);
Console.ReadLine() Example
Ex1:Ex1:string myname;myname = Console.ReadLine();
Console.WriteLine(“Your name is {0}”, myname);
Kun TotoYour name is Kun Toto
Input x:12X^2 = 144
13
Console.Read()
Console.Read returns an ACSII value (Integer) of the code of the first typed character.int i;
Console.Write(“Input char:”);
i = Console.Read();
Console.WriteLine(i);
Input char: A65
14
Output Statements
Console.Write(); Show output
Console.WriteLine(); Show output and
shift to new line
16
Output Statements
Use the method Write or WriteLine in the Console class (which is in System namespace)
Basic usage:
Advanced usage with formattingConsole.WriteLine(”Size {0}x{1}”, width, height);Console.WriteLine(”Size {0}x{1}”, width, height);
double salary=12000;double salary=12000;Console.WriteLine("My salary is {0:f2}.", salary);Console.WriteLine("My salary is {0:f2}.", salary);
Console.WriteLine("Hello");Console.WriteLine("Hello");Console.WriteLine(area);Console.WriteLine(area);
Statement
17
Basic Usage
Console.Write(“Happy”);
Console.Write(2009);
Happy2009
Output :
Console.WriteLine(“Happy”);
Console.WriteLine(2009);
Happy2009
Output :
string
integer
18
Advanced Usage
int a=7, b=2;
Console.WriteLine(“a={0} and b={1}”,a,b);
Console.WriteLine(“{1}+{0}={2}”,b,a,a+b);
a=7 and b=27 + 2 = 9
{0}
{1}
{0}
{1}
{2}
19
Advanced Usage (3)
Symbol Meaning Example OutputD , d Decimal Console.WriteLine(“ {0:D} ",a}; 10
E , e Exponential Console.WriteLine(“ {0:E} ",a}; 1.000000E+001
F , f Fix Point Console.WriteLine(“ {0:F} ",a}; 10.00
P , p Percent Console.WriteLine(“ {0:P} ",a}; 1,000.00 %
int a = 10;
For a complete list of format specifiers, see http://msdn.microsoft.com/library/en-us/csref/html/vclrfFormattingNumericResultsTable.asp
21
Escape Sequences Characters
Symbols Output\’ Single Quote
\” Double Quote
\\ Backslash
\n New line
\t Horizontal tab
\uxxxx Unicode escape sequence for
character with hex value xxxx.
What should you do if you would like to write “C:\mydocument”
Console.WriteLine(““C:\mydocument””);
Console.WriteLine(“\“C:\mydocument\””);
Console.WriteLine(“\“C:\\mydocument\””);
22
Unicode Characters
เกม
0e01 0e210e40
Console.Write(“\u0e40\u0e01\u0e21”);
Reference: http://unicode.org/charts/PDF/U0E00.pdf
เกม
23
Data Conversions
In some situation we have to convert data from one type to another. We may want to convert width and height of rectangle
from Console.ReadLine() to int and calculate the rectangle area from the converted data.
Type of conversions Widening conversions
Convert from a smaller data type to a larger one Ex; int double
Narrowing conversions Convert from a larger data type to smaller one Ex; double int
Losing some information!!! Losing some
information!!!
25
Data Conversions (2)
Assignment conversion Occurs automatically when a value of one
type is assigned to a variable of another. Ex: aFloatVar = anIntVar;
Arithmetic promotion Occurs automatically Ex: aFloatVar/anIntVar
Casting
Value of anIntVar is converted to float data type automatically
Value of anIntVar is converted to float data type automatically
Value of aFloatVar/anIntVar is converted to float (Larger data type)
Value of aFloatVar/anIntVar is converted to float (Larger data type)
26
Casting
Both widening and narrowing conversions can be accomplished by explicitly casting a value.
To cast, the type is put in parentheses in front of the value being converted. Example byte b, int i, long l i = (int)b; l = (long)b + (long)i;
int
long
byte int
long
27
Casting (2)
Example byte b; int i; long
l; double d;
d = (double) i /10;
b = (byte) l +3;
i = (int) d – 10;
intdouble
byte long
doubleint
100%
OK, but may yield unpredictable result in some case
OK, but may yield unpredictable result in some case
28
imob= Convert.ToInt32(alpha);
alpha = Convert.ToChar(boy);
st = Convert.ToString(imob);
Convert.To<type>();
byte boy=100; int imob=100; double dawn=100.0; char alpha=‘d’; string st=“1”;
boy = Convert.ToByte(imob);
dawn = Convert.ToDouble(st);
intbyte
charint
stringdoublecha
rbyte
29
boy = 100 i = 100
dawn = 1alpha = ‘d’
st = 100
<type>.Parse();
Convert string data to others Example
d = double.Parse(st);
byte b=100; int i=100; double d=100.0;
char c=‘d’; string st=“1”;
stringdouble
i = int.Parse (st);
c = char.Parse(st); b = byte.Parse(st);
stringint
30
d = 1 i = 1
c = 1
b = 1