1 nd semester 2007 1 module2 c# basic concept thanawin rakthanmanon computer engineering...

43
1 1 nd Semester 2007 Module Module 2 2 C# Basic Concept C# Basic Concept Thanawin Rakthanmanon Email: [email protected] Computer Engineering Department Kasetsart University, Bangkok THAILAND

Upload: sophia-bennett

Post on 19-Jan-2018

222 views

Category:

Documents


0 download

DESCRIPTION

1 nd Semester C# Program  Consider all the programs you wrote in Lab#0  What C#'s programming rules can you derive? namespace HelloW { class HelloWClass { static void Main () { System.Console.WriteLine("Hello World!"); System.Console.ReadLine(); } namespace HelloW { class HelloWClass { static void Main () { System.Console.WriteLine("Hello World!"); System.Console.ReadLine(); }

TRANSCRIPT

Page 1: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

11nd Semester 2007

ModuleModule22 C# Basic ConceptC# Basic Concept

Thanawin RakthanmanonEmail: [email protected]

Computer Engineering DepartmentKasetsart University, Bangkok THAILAND

Page 2: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

21nd Semester 2007

Outline

C# Overview Variable and Constant Expression Statement Modify-And-Assign Math Class

Page 3: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

31nd Semester 2007

C# Program

Consider all the programs you wrote in Lab#0

What C#'s programming rules can you derive?

namespace HelloW { class HelloWClass { static void Main () { System.Console.WriteLine("Hello World!"); System.Console.ReadLine(); } }}

Page 4: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

41nd Semester 2007

C# Program

C# syntax is case-sensitive Every statement ends with a semicolon

; White space means nothing Code block is inside braces { } Anything between /* */ or after // is

considered a comment Comments will not be translated

Page 5: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

51nd Semester 2007

Program Structure

The starting point of the program is:

This is known as the method Main A method is put inside a class A class may be put inside a namespace

static void Main () { ... starting point ... }

Page 6: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

61nd Semester 2007

Program Structure In C#

A program can contain several namespaces A namespace can contain several classes A class can contain several methods

In other words Think of a namespace as a container of classes Think of a class as a container of methods

method1method1method2method2

nnamespaceamespaceClassClass

ClassClass

Page 7: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

71nd Semester 2007

Program Structure (example)

nnamespaceamespace

method1method1method2method2 ClassClass

ClassClass

namespace HelloW { class HelloWClass { static void Main () { System.Console.WriteLine(“Hello"); } }}

methodmethod33

method1method1method2method2 ClassClass

nnamespaceamespace

::

Page 8: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

81nd Semester 2007

Program Structure

For this 204111 course Program with only one class and at most one

namespace For now until sometime before midterm

Program with one method (i.e., Main)

namespace HelloW { class HelloWClass { static void Main () { System.Console.WriteLine("Hello World!"); System.Console.ReadLine(); } }}

Page 9: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

91nd Semester 2007

Naming Rules

Letters, digits and underscores(_) First character letter or _ Up to 63 characters long Must not be a reserved word

* Case Sensitive * Case Sensitive ExampleExample

KU6KU666 ≠ kU6 ≠ kU666 ≠ ≠ ku6ku666

C# OverviewC# Overview

Page 10: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

101nd Semester 2007

C# Reserved WordsC# OverviewC# Overview

Page 11: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

111nd Semester 2007

Short break – 3 Minutes

Page 12: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

121nd Semester 2007

Outline

C# Overview Variable and Constant Expression Statement Modify-And-Assign Math Class

Page 13: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

131nd Semester 2007

What is Variable?

A variable is used to store “data.”

““It must be It must be declareddeclared before used” before used”

Variable & ConstantVariable & Constant

Page 14: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

141nd Semester 2007

C# Variable Declaration

Syntax:<data type> <name>;

Example:

We can also assign its initial value. Example:

int radius;double area;int a,b,c;bool isokay;

int k = 200;bool done = false;

Variable & ConstantVariable & Constant

Page 15: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

151nd Semester 2007

Data Types

Type Size Description Rangebool 1 byte Store truth value true / false char 1 byte Store one

charactercharacter code 0 – 255

byte 1 byte Store positive integer

0 – 255

short 2 byte Store integer -32,768 -- 32,767int 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

Page 16: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

161nd Semester 2007

C# Constant Declaration

Syntax:const <data type> <name> = <value>;

Example:const int radius = 15;const double area=1.5;const bool isokay=true;const string movie=”StarWarIII”;

Variable & ConstantVariable & Constant

Page 17: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

171nd Semester 2007

Outline

C# Overview Variable and Constant Expression Statement Modify-And-Assign Math Class

Page 18: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

181nd Semester 2007

C# Expression

Arithmetic Expression Boolean Expression

ExpressionExpression

Page 19: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

191nd Semester 2007

Arithmetic Expression

Operators+ - * /% (remainder after division)

Example 11 + 5 16 11 / 2 5 11 % 2 1 5.0 % 2.2 0.6

ExpressionExpression

Page 20: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

201nd Semester 2007

Precedence rules for Arithmetic Operators1. ( ) parentheses2. *, / , % 3. + –4. If equal precedence, left to right

int Width,High;int Width,High;WidthWidth == 10*5+(16*12)/5;10*5+(16*12)/5;High= (16+5)+20%2;High= (16+5)+20%2;

Page 21: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

211nd Semester 2007

Calculation Priority

public static void Main(){int a,b,c,d;a=1; b=2; c=3;d = c/b*a;Console.WriteLine("d={0}",d);d = a/b;Console.WriteLine("d={0}",d);

}

Console.WriteLine(3/4*8);= Console.WriteLine((3/4)*8);

= 0 (= )

Calculate from left to right!Calculate from left to right!

3344 xx 88? ???

Page 22: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

221nd Semester 2007

Expression in C#

Arithmetic Expression Boolean Expression

ExpressionExpression

Page 23: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

231nd Semester 2007

Boolean Expression Operators

Comparison Equal == Not equal !=!= Less << Greater >> Less than or equal to <=<= Greater than or equal to >=>=

Boolean And &&&& Or |||| Not ! !

ExpressionExpression

0 and 0 = 00 and 1 = 01 and 0 = 01 and 1 = 1

0 or 0 = 00 or 1 = 11 or 0 = 11 or 1 = 1

not 0 = 1not 1 = 0

Page 24: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

241nd Semester 2007

Example: Boolean Expression

50 > 10 true ’A’ < ’B’ true ’ANT’ < ’B’ true ’5’ > ’1’ true ’5’ > ’10’ true ’5’ > ’100’ true

Page 25: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

251nd Semester 2007

Quiz

((1 and 0) or (1 and 1)) = ? What is I/O device ? What is RAM and ROM ? 1 byte = xxx bits 1 Mbyte = ? C# is xxx language. 10000102 = ?

Page 26: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

261nd Semester 2007

Short break – 5 Minutes

Page 27: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

271nd Semester 2007

Outline

C# Overview Variable and Constant Expression Statement Modify-And-Assign Math Class

Page 28: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

281nd Semester 2007

Statements A statement is a unit of command to

instruct your program

A method consists of one or more statements

class Hello { static void Main () { System.Console.WriteLine("Hello World!"); System.Console.ReadLine(); }}

Statement#1Statement#1

Statement#2Statement#2

Page 29: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

291nd Semester 2007

C# Statement Types Assignment Statement Input Statement Output Statement

StatementStatement

Page 30: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

301nd Semester 2007

Assignment Statement

Assigning value to variable Use the equal sign (=)equal sign (=) when

making assignments. Syntax:

<<variablevariable> = <> = <expressionexpression>;>;

int Width,High;int Width,High;Width=10;Width=10;High=5;High=5;

int Width = 10;int Width = 10;int High = 5;int High = 5;

StatementStatement

Page 31: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

311nd Semester 2007

C# Statement Types Assignment Statement Input Statement Output Statement

StatementStatement

Page 32: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

321nd Semester 2007

Input Statement Console.ReadLine() Return string

Use to get the input from user

Convert string to other data type int.Parse()

Convert string to integer double.Parse()

Convert string to double

ExampleExamplestring st;string st;st = System.Console.ReadLine();st = System.Console.ReadLine();

StatementStatement

Page 33: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

331nd Semester 2007

string st; int i; double d; 1. st = Console.ReadLine();

i = int.Parse(st);

2. st = Console.ReadLine();d = double.Parse(st);

3. i = int.Parse(Console.ReadLine());

4. d = double.Parse(Console.ReadLine());

Example: Input Statement

Page 34: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

341nd Semester 2007

Example: Input Statement

Ex1:Ex1:string myname;myname = System.Console.ReadLine();

Ex2:Ex2:int Width,High;int Width,High;string temp1;string temp1;temp1 = System.Console.ReadLine();temp1 = System.Console.ReadLine();Width = int.Parse(temp1);Width = int.Parse(temp1);temp1 = System.Console.ReadLine();temp1 = System.Console.ReadLine();HighHigh = int.Parse(temp1); = int.Parse(temp1);

StatementStatement

Page 35: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

351nd Semester 2007

Example: Input Statement

StatementStatement

Page 36: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

361nd Semester 2007

C# Statement Types Assignment Statement Input Statement Output Statement

StatementStatement

Page 37: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

371nd Semester 2007

Output Statements Use the method Write or WriteLine in the

Console class (which is in System namespace) Basic usage:

Advanced usage:

Even more advanced usage:

Console.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);

More information about formattingMore information about formattinghttphttp://://msdnmsdn..microsoftmicrosoft..comcom//librarylibrary//enen--usus//csrefcsref//htmlhtml//vclrfFormattingNumericResultsTablevclrfFormattingNumericResultsTable..aspasp

Console.WriteLine("Hello");Console.WriteLine("Hello");Console.WriteLine(area);Console.WriteLine(area);

Page 38: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

381nd Semester 2007

Outline

C# Overview Variable and Constant Expression Statement Modify-And-Assign Math Class

Page 39: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

391nd Semester 2007

Increment & Decrement

Operator Meaning example

+ + x pre increment int a = 5;int b = ++a; // a, b = 6

x + + post increment int a = 5;int b = a++; // a = 6, b = 5

- - x pre decrement int a = 5;int b = --a; // a, b = 4

x - - post increment int a = 5;int b = a- - ; // a = 4, b = 5

Pre in/decrement: Use the value which has already been in-

decrement. Post in-decrement:

Use the value before in-decrement

Page 40: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

401nd Semester 2007

Modify-And-Assign OperationsStatement 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 + xprod *= 2.5; // is equivalent to prod = prod * 2.5y -= 3+a; // is equivalent to y = y – (3+a)

int int yy==88; ; int int aa==22;;

ConsoleConsole..WriteLineWriteLine((y y -= -= 33++aa););

Try this !Try this !

Page 41: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

411nd Semester 2007

Operator Priority

( )

++(x) , --(x), +(x), -(x)

* / %+ -= , += , -=, *=, /=, %=(x)++ , (x)--

Highest Priority (Do First)

Lowest Priority (Do Last)

Page 42: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

421nd Semester 2007

The Math Class

Method/Constant Value returned Example Call Result

PI Value of Math.PI 3.1415927Max(x,y) Larger of the two Math.Max(1,2) 2Abs(x) Absolute value of x Math.Abs(-1.3) 1.3Sqrt(x) Square-root of x Math.Sqrt(4.0) 2.0Round(x) Nearest integer to x Math.Round(0.8) 1Pow(x,y) xy Math.Pow(3,2) 9.0Log(x) Natural log of x Math.Log(10) 2.302585Ceiling(x) Smallest integer greater

than or equal to xMath.Ceiling(4.1) 5

Cos(x) Cosine of x radians Math.Cos(Math.PI) -1

Page 43: 1 nd Semester 2007 1 Module2 C# Basic Concept Thanawin Rakthanmanon   Computer Engineering Department Kasetsart University, Bangkok

431nd Semester 2007

Summary

C# Overview Variable and Constant Expression Statement Modify-And-Assign Math Class

SummarySummary