C# Basics & Math Thanachat Thanomkulabut Outline 2 Review Data Types Variable and Constant Declaration Arithmetic Expression Statement C# Beginning Lecture 1: Program Structure 3 The starting point of the program is: namespace HelloW { class HelloWClass { static void Main () { System.Console.WriteLine("Hello World!"); System.Console.ReadLine(); } } } This is known as the Main method A method is put inside a class A class can be put inside a namespace C# Beginning Lecture 1: Variable Naming Rules 4 Letters, digits and underscores(_) First character must be a letter or _ Up to 63 characters long Must not be a reserved word Example name Name _data class point9 class_A 9point class_"A" Outline 5 Review Data Types Variable and Constant Declaration Arithmetic Expression Statement C# Beginning What is in a program? 6 Variable declarations Statements static void Main(string[] args) { const double pi = 3.1416; int radius; double area; radius = int.Parse(Console.ReadLine()); area = pi*radius*radius; Console.WriteLine(area); } Variable & Constant What is Variable? 7 A variable is used to store some “data.” “It must be declared before it can be used” Variable & Constant Data Types 8 Type bool char byte short int long double string Size 1 byte 1 byte 1 byte 2 byte 4 byte 8 byte 16 byte N/A Description Store truth value Store one character Store positive integer Store integer Store integer Store integer Store real number Store sequence of characters Range true / false character code 0 – 255 0 – 255 -32,768 -- 32,767 -2.1 x 109 -- 2.1 x 109 -9.2 x 1018 -- 9.2 x 1018 ± 5.0x10-324 -± 1.7x10308 N/A Outline 9 Review Data Types Variable and Constant Declaration Arithmetic Expression Statement Variable & Constant Variable Declaration 10 Syntax: <data type> <name>; Example: int radius; double area; bool isokay; We can also assign its initial value. Example: int k = 200; bool done = false; Variable & Constant Multiple-Variable Declaration 11 Syntax: <data type> <name_1>, <name_2>,..., <name_n>; Example: int width, length, height; double mean, sd, max, min; bool isokay, isright, check; We can also assign their initial value. Example: int width=5, length=2, height=4; Variable & Constant Test : Variable Declaration 12 Declare variable1 Declare variable2 Name : num_Student Type : integer Initial value : nothing Name : gender Type : character Initial value : m int num_Student; char gender = ‘m’; Variable & Constant Test : Multiple-Variable Declaration 13 Declare variables 1,2,3 Name1 :u Name2 : t Name3 : a Type : double Initial value1 : 5.0 Initial value2 : nothing Initial value3 : 9.8 double u=5.0, t, a=9.8; Variable & Constant Constant Declaration 14 Syntax: const <data type> <name> = <value>; Example: const const const const const int radius = 15; double area=1.5; bool is_done=true; string movie=”StarWarIII”; char my_initial=‘m’; Variable & Constant Multiple-Constant Declaration 15 Syntax: const <data type> <name_1> = <value_1>, <name_2> = <value_2>, ... , <name_n> = <value_n>; Example: const int radius = 15, height = 5; const double area=1.5, width=3.2, length = 4.1; Test : Constant Declaration 16 Declare Constant Name :e Type : double Initial value : 2.71828 const double e=2.71828; Outline 17 Review Data Types Variable and Constant Declaration Arithmetic Expression Statement Expression C# Expression 18 Expression Arithmetic Expression Boolean Expression Arithmetic Arithmetic Expression 19 Operators + - * / % (modulo: remainder after division) Integer operates Integer Integer Integer/Real operates Real/Integer Real Example 11 + 5 16 39 / 5 7 39.0/5 7.8 39 % 5 4 5.0 % 2.2 0.6 Arithmetic Example 20 static void Main(){ int a,b,c,d; double e,f,g; a=2; b=7; c=5; d=c/a; e=5/b; f=5.0/2; g=5/2.0; } Answer d=2 e=0 f = 2.5 g = 2.5 In/Decrement Pre/Post Increment & Decrement 21 Pre in/de-crement: Increment/decremente the value first, then use the value Post in/de-crement: Use the value first, then increment/decrement the value 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 decrement int a = 5; int b = a- - ; // a = 4, b = 5 In/Decrement Pre & Post Increment 22 a b Monitor Post: a=6, b=5 5 6 5 int a=5; int b=a++; Console.WriteLine(“a={0}, b={1}”,a,b); a b Monitor Pre: a=6, b=6 5 6 6 int a=5; int b=++a; Console.WriteLine(“a={0}, b={1}”,a,b); Arithmetic Priority of Arithmetic Operators 23 Priority Operator 1 Parentheses () 2 x++, x-- 3 ++x, --x 4 *, / , % 5 +, - 6 If equal priority, work from left to right Arithmetic Example 24 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 Comparison 25 Given x = 3.0, y = 2.0, b =2, what is the output? x/y*++b 3 Answer: x/y*b++ 2 4.5 Answer: 3.0 Modify-And-Assign Modify-and-Assign Operations 26 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) Modify-And-Assign Example 27 double x = 1, sum = 2, prod = 3; int y = 4, a = 5; 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) Console.WriteLine(sum); Monitor Console.WriteLine(prod); 3 7.5 -4 Console.WriteLine(y); Math Class Math Class 28 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 = ln 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 Example 29 What is the output? Console.WriteLine(Math.Round(3.499)); Console.WriteLine(Math.Floor(3.499)); Console.WriteLine(Math.Ceiling(3.499)); Monitor 3 3 4 Example 30 Write arithmetic expressions using Math class cos(π/3) 53 | ln(4) | Math.Cos(Math.PI/3) Math.Pow(3,0.2) Math.Abs(Math.Log(4)) Outline 31 Review Data Types Variable and Constant Declaration Arithmetic Expression Statement Statement Statement 32 A statement is a command to computer Statement#1 class Hello { static void Main () { Console.WriteLine("Hello World!"); Console.ReadLine(); } } Statement#2 Statement C# Statement Types 33 C# Statement Types Assignment Statement Input Statement Output Statement Statement Assignment Statement 34 To assign value to variable Use equal sign (=) Syntax: <variable> = <expression>; int Width,Height; Width=10; Height=20+Width; Statement Output Statement 35 Value Console.WriteLine("Hello"); Console.WriteLine(2012); Math expression Console.WriteLine(a); Console.WriteLine(a+b); Console.WriteLine(Math.Pow(a,b)); More usages of output statement will be shown later in this course Any question?