Transcript Slide 1

Input & Output
Statement
01204111 Computer & Programming
Group 350-352
Dept. of Computer Engineering
Kasetsart University
Adopted from Thanomkulabut’s experiences.
Version 2012
Brushed up by MikeLab.Net Factory @KU.
Review
2



Data Type
Arithmetic Operators
Math Class
Data Types
3
Type
bool
Size
1 byte
Description
Store truth value
char
byte
1 byte
1 byte
short
int
long
2 byte
4 byte
8 byte
Store one character character code 0 – 255
Store positive integer 0 – 255
-32,768 -- 32,767
Store integer
Store integer
Store integer
Range
true / false
-2.1 x 109 -- 2.1 x 109
-9.2 x 1018 -- 9.2 x 1018
double 16 byte Store real number
± 5.0x10-324 -- ±
1.7x10308
string
N/A
N/A
Store sequence of
characters
Priority of Arithmetic Operators
4
high
Operators
()
Associativity
left to right
Type
parentheses
x++ x--
left to right
unary postfix
++x --x -x +x
left to right
unary prefix
* / %
left to right
multiplicative
+ -
left to right
additive
= += -= *= /= %=
right to left
assignment
low
อางอิ
ง http://msdn.microsoft.com/en-us/library/
้
6a71f45d.aspx
Arithmetic
Arithmetic Operators Example
5
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
Answer
a = -2
b=1
c=9
Given x = 3.0, y = 2.0, b =2, what is the output?
 x/y*++b
3
 Answer:
4.5
 x/y*b++
2
 Answer:
3.0
Arithmetic
Arithmetic Operators Example
6
Answer
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
-2
11
6
-5
Arithmetic Operators Example(2)
7
Statement
var += expression
Description
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)
Math Class
The Math Class
8
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
Today’s Outline
9

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
10
Input Statements
Input Statements
11

Console.ReadLine();
 Read
all characters (in
form of string)
 Use with Convert or
Parse commands
frequently
Input
statement
Console.
Read()
Console.
ReadLine()

Console.Read();
 Read
ASCII code of
the first character
Console.ReadLine()
12

Console.ReadLine()
 Use
to get the input (String) from user
string st = Console.ReadLine();

Convert string to other data type
Convert string to integer
 double.Parse()  Convert string to double
 ….
 int.Parse()
Run-time error may occur if user’s input is in the wrong format
Console.ReadLine() Example
13
Ex1:
Kun Toto
string myname;
Your name is Kun Toto
myname = Console.ReadLine();
Console.WriteLine(“Your name is {0}”, myname);
Ex2:
int x;
Console.Write(“Input x:”);
string temp = Console.ReadLine();
x= int.Parse(temp);
x = x*x;
Console.WriteLine(“x^2 = {0}”, x);
Input x:12
X^2 = 144
Console.Read()
14

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: A
65
15
Output Statements
Output Statements
16

Console.Write();
 Show
Output
Statement
Console.
Write()
Console.
WriteLine()

output
Console.WriteLine();
 Show
output and shift
to new line
Statement
Output Statements
17


Use the method Write or WriteLine in the Console
class (which is in System namespace)
Basic usage:
Console.WriteLine("Hello");
Console.WriteLine(area);

Advanced usage with formatting
Console.WriteLine(”Size {0}x{1}”, width, height);
double salary=12000;
Console.WriteLine("My salary is {0:f2}.", salary);
Basic Usage
18
Console.Write(“Happy”);
Console.Write(2009);
Output :
Happy2009
string
Console.WriteLine(“Happy”);
Console.WriteLine(2009);
Output :
Happy
2009
integer
Advanced Usage
19
int a=7, b=2;
Console.WriteLine(“a={0} and b={1}”,a,b);
Console.WriteLine(“{1}+{0}={2}”,b,a,a+b);
{1}
a=7{0} and b=2
{1}
7
+ {0}2 = {2}
9
Advanced Usage (2)
20
20
Advanced Usage (3)
21
int a = 10;
Symbol
Meaning
Example
Output
D, 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 %
For a complete list of format specifiers, see
http://msdn.microsoft.com/library/en-us/csref/html/vclrfFormattingNumericResultsTable.asp
Escape Sequences Characters
22

What should you do if you would like to write
“C:\mydocument”
Console.WriteLine(““C:\mydocument””);
Console.WriteLine(“\“C:\mydocument\””);
Console.WriteLine(“\“C:\\mydocument\””);

Symbols
Output
\’
Single Quote
\”
Double Quote
\\
Backslash
\n
New line
\t
Horizontal tab
\uxxxx
Unicode escape
sequence for character
with hex value xxxx.
Unicode Characters
23
เกม
0e40 0e01
0e21
Console.Write(“\u0e40\u0e01\u0e21”);
เกม
Reference: http://unicode.org/charts/PDF/U0E00.pdf
24
Data Conversions
Data Conversions
25

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
May lose some information!!!
Data Conversions (2)
26

Assignment conversion
 Occurs
automatically when a value of one type is
assigned to a variable of another.
 Ex: aFloatVar = anIntVar;
Value of anIntVar is converted to float data type automatically

Arithmetic promotion
 Occurs
 Ex:
automatically
aFloatVar/anIntVar
Value of aFloatVar/anIntVar is converted to float (Larger data type)

Casting
Casting
27



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;
byte
int
long
int
long
Casting (2)
28

Example
 byte
b; int i; long l;
double d;
d
= (double) i /10;
double
b
i
int
= (int) d – 10;
int
100%
= (byte) l +3;
byte
long
OK, but may yield
unpredictable result in
some cases
double
OK, but may
yield
unpredictable
result in some
cases
Convert.To<type>();
29
byte b=100;
int i=100;
char c=‘d’; string st=“1”;

b = Convert.ToByte(i);
byte

b = 100
double d=100.0;

int
d = Convert.ToDouble(st);
i = Convert.ToInt32(c);
int

i = 100
char
c = Convert.ToChar(b);
d=1
double
string
char

c = ‘d’
byte
st = Convert.ToString(i);
st = “100”
<type>.Parse();
30


Convert string data type to other types
Example
byte b=100; int i=100;
char c=‘d’; string st=“1”;
d
= double.Parse(st);
double d=100.0;
i
d=1
double
= int.Parse (st);
i=1
string
int
c
string
= char.Parse(st);
 b = byte.Parse(st);
c = ‘1’
b=1
Test I
31

Write a program which
 Input
: Your name
 Output : Your name is <your name>.
Test II
32

Write a program which
 Input
: 3 numbers
 Output : average of the 3 input numbers
Test III
33

Write a program which
 Input
: Length of radius of circle
 Output : Area of the circle