input & output statement adopted from thanomkulabut’s experiences. brushed up by mikelab.net...

33
Input & Output Input & Output Statement Statement Adopted from Thanomkulabut’s experiences. Brushed up by MikeLab.Net Factory @KU. 01204111 Computer & Programming 01204111 Computer & Programming Group 350-352 Group 350-352 Dept. of Computer Engineering Dept. of Computer Engineering Kasetsart University Kasetsart University Version 2012

Upload: jonah-lambert

Post on 14-Dec-2015

220 views

Category:

Documents


0 download

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

Review

Data Type Arithmetic Operators Math Class

2

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 Statements10

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 Statements15

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 (2)20

20

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 Conversions24

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

Test I

Write a program which Input : Your name Output : Your name is <your name>.

31

Test II

Write a program which Input : 3 numbers Output : average of the 3 input numbers

32

Test III

Write a program which Input : Length of radius of circle Output : Area of the circle

33