360 likes | 453 Views
Socket Programming Laboratory - 1. Getting Started with C#. Self Introduction. Name: Ahmed Galib Reza Email: galibmmu@gmail.com Lab: Ubiquitous Computing Lab Nationality: Bangladeshi Education: B. IT ( Hons .) Information System Engineering , Multimedia University, Malaysia.
E N D
Socket ProgrammingLaboratory - 1 Getting Started with C#
Self Introduction • Name: Ahmed Galib Reza • Email: galibmmu@gmail.com • Lab: Ubiquitous Computing Lab • Nationality: Bangladeshi • Education: • B. IT (Hons.) Information System Engineering , Multimedia University, Malaysia. • Master of Computer Engineering, Major in Ubiquitous IT, Dongseo University, South Korea.
Objectives • Introduction • Understand the basic structure of a C# program. • Obtain a basic familiarization of what a "Namespace" is. • Obtain a basic understanding of what a Class is. • Learn what a Main method does. • Learn about console input/output (I/O) • Variables and C# Data types • C# Operators
About C# • C# (C Sharp), a successor to C++, has been released in conjunction with the .NET framework. • C# design goals: • Be comfortable for C++ programmer • Fit cleanly into the .NET Common Language Runtime (CLR) • Simplify the C++ model • Provide the right amount of flexibility • Support component-centric development
Hello World in C# • Uses the namespace System • Entry point must be called Main • Output goes to the console • File name and class name need not to be identical • C# is case sensitive, therefore args and Args are different identifiers using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!!"); } } } Namespace Declaration is Optional
Hello World without Namespace namespace ConsoleApplication1 { class Program { static void Main(string[] args) { System.Console.WriteLine("Hello World!!"); } } } must use qualified name
Try yourself • Replace Console.WriteLine() statement of HelloWorld Program by Console.Write() statement. • What is your output?
Write() vs. WriteLine() • Console.Write() • Write the specific string to the standard output stream. • Console.WriteLine() • Write the specific string, follow by current string terminatorto the standard output stream.
Exercise - 01 using System; class Exercise { static void Main() { Console.WriteLine("One!!!"); Console.WriteLine("Two!!!"); Console.WriteLine("Three!!!"); } }
Exercise - 02 using System; class Exercise { static void Main() { Console.Write ("One!!!"); Console.Write ("Two!!!"); Console.Write ("Three!!!"); } } What is your Output? Any changes?
C# Keywords • Often we use special identifiers called keywords that already have a predefined meaning in the language • Example: class • A keyword cannot be used in any other way
C# Keywords All C# keywords are Lowercase
variable name 9200 9204 9208 9212 9216 9220 9224 9228 9232 numberOfStudents: data type total: int numberOfStudents; … average: max: int total; … int average, max; Variables • A variable is a typed name for a location in memory • A variable must be declared, specifying the variable's name and the type of information that will be held in it Which ones are valid variable names? • myBigVar VAR1 _test @test • 99bottles namespace It’s-all-over
Assignment • An assignment statement changes the value of a variable • The assignment operator is the =sign int total; … total = 55; • The value on the right is stored in the variable on the left • The value that was in total is overwritten • You can only assign a value to a variable that is consistent with the variable's declared type (more later) • You can declare and assign initial value to a variable at the same time, e.g.,int total = 55;
Example static void Main(string[] args) { int total; total = 15; System.Console.Write(“total = “); System.Console.WriteLine(total); total = 55 + 5; System.Console.Write(“total = “); System.Console.WriteLine(total); }
Constants • A constant is similar to a variable except that it holds one value for its entire existence • The compiler will issue an error if you try to change a constant • In C#, we use the constant modifier to declare a constant constant intnumberOfStudents = 42; • Why constants? • give names to otherwise unclear literal values • facilitate changes to the code • prevent inadvertent errors
C# Data Types • There are 15 data types in C# • Eight of them represent integers: • byte, sbyte, short, ushort, int, uint, long,ulong • Two of them represent floating point numbers • float, double • One of them represents decimals: • decimal • One of them represents boolean values: • bool • One of them represents characters: • char • One of them represents strings: • string • One of them represents objects: • object
Numeric Data Types • The difference between the various numeric types is their size, and therefore the values they can store: Type byte sbyte short ushort int uint long ulong decimal float double Storage 8 bits 8 bits 16 bits 16 bits 32 bits 32 bits 64 bits 64 bits 128 bits 32 bits 64 bits Range 0 - 255 -128 - 127 -32,768 - 32767 0 - 65537 -2,147,483,648 – 2,147,483,647 0 – 4,294,967,295 -91018 to 91018 0 – 1.81019 1.010-28; 7.91028 with 28-29 significant digits 1.510-45; 3.41038 with 7 significant digits 5.010-324; 1.710308 with 15-16 significant digits
Examples of Numeric Variables int x = 1; short y = 10; float pi = 3.14f; // f denotes float float f3 = 7E-02f; // 0.07 double d1 = 7E-100; // use m to denote a decimal decimal microsoftStockPrice = 28.38m;
Boolean • Aboolvalue represents a true or false condition • A boolean can also be used to represent any two states, such as a light bulb being on or off • The reserved wordstrueandfalseare the only valid values for a boolean type booldoAgain = true;
Characters • Acharis a single character from the a character set • Character literals are represented in a program by delimiting with single quotes, e.g., 'a‘ 'X‘ '7' '$‘ ',‘ char response = ‘Y’;
String • Astringrepresents a sequence of characters, e.g., string message = “Hello World”;
Example (Signed Integers) using System; class Exercise { static void Main() { intCoordX; intCoordY; CoordX = 12; CoordY = -8; Console.Write("Cartesian Coordinate System: "); Console.Write("P("); Console.Write(CoordX); Console.Write(", "); Console.Write(CoordY); Console.WriteLine(")\n"); } }
Example (Unsigned Integers) using System; class Exercise { static void Main() { uintDayOfBirth; uintMonthOfBirth; uintYearOfBirth; DayOfBirth = 8; MonthOfBirth = 11; YearOfBirth = 1996; Console.WriteLine("Red Oak High School"); Console.Write("Student Date of Birth: "); Console.Write(MonthOfBirth); Console.Write("/"); Console.Write(DayOfBirth); Console.Write("/"); Console.Write(YearOfBirth); Console.WriteLine(); } }
Example (Long Integers) using System; class NumericRepresentation { static void Main() { long CountryArea; CountryArea = 5638648L; Console.Write("Country Area: "); Console.Write(CountryArea); Console.Write("km2\n"); } }
Exercise (Float) using System; class NumericRepresentation { static void Main() { float Distance = 248.38F; //Distance = 248.38F; Console.Write("Distance = "); Console.Write(Distance); Console.WriteLine("km\n"); } }
Exercise (String) using System; class Exercise { static void Main() { string Team = "Real Madrid"; string Country = "Spain"; Console.WriteLine("Welcome to the World of C# Programming!"); Console.Write("Team: "); Console.WriteLine(Team); Console.Write("Country: "); Console.WriteLine(Country); Console.WriteLine(); } }
Type conversion • Number Number • Example : • double int • int float • short int • String/Number Number • Example : • string int • double string
Example using System; class Exercise { static void Main() { const double PI = 3.14; int integer = (int)PI; string str = Convert.ToString(PI); double doubleValue = Convert.ToDouble(str); Console.WriteLine("const PI is {0}", PI); Console.WriteLine("integer is {0}", integer); Console.WriteLine("str is {0}", str); Console.WriteLine("doubleValue is {0}", doubleValue); } }
Binary Operator using System;class Binary{ public static void Main() {int x, y, result; float floatresult; x = 7; y = 5; result = x+y;Console.WriteLine("x+y: {0}", result); result = x-y;Console.WriteLine("x-y: {0}", result); result = x*y;Console.WriteLine("x*y: {0}", result); result = x/y;Console.WriteLine("x/y: {0}", result);floatresult = (float)x/(float)y;Console.WriteLine("x/y: {0}", floatresult); result = x%y;Console.WriteLine("x%y: {0}", result); result += x;Console.WriteLine("result+=x: {0}", result); }}
Unary Operators using System;class Unary{ public static void Main() {int unary = 0;intpreIncrement;intpreDecrement;intpostIncrement;intpostDecrement;int positive;int negative;boollogNot;preIncrement = ++unary;Console.WriteLine("pre-Increment: {0}", preIncrement);preDecrement = --unary;Console.WriteLine("pre-Decrement: {0}", preDecrement);postDecrement = unary--;Console.WriteLine("Post-Decrement: {0}", postDecrement);postIncrement = unary++;Console.WriteLine("Post-Increment: {0}", postIncrement);Console.WriteLine("Final Value of Unary: {0}", unary); positive = -postIncrement;Console.WriteLine("Positive: {0}", positive); negative = +postIncrement;Console.WriteLine("Negative: {0}", negative);logNot = false;logNot = !logNot;Console.WriteLine("Logical Not: {0}", logNot); }}
Tracing and Debugging We will discuss in more detail in next class.