1 / 36

Socket Programming Laboratory - 1

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.

dieter-webb
Download Presentation

Socket Programming Laboratory - 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Socket ProgrammingLaboratory - 1 Getting Started with C#

  2. 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.

  3. 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

  4. 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

  5. Create Project

  6. 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

  7. Hello World without Namespace namespace ConsoleApplication1 { class Program { static void Main(string[] args) { System.Console.WriteLine("Hello World!!"); } } } must use qualified name

  8. Try yourself • Replace Console.WriteLine() statement of HelloWorld Program by Console.Write() statement. • What is your output?

  9. 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.

  10. Exercise - 01 using System; class Exercise { static void Main() { Console.WriteLine("One!!!"); Console.WriteLine("Two!!!"); Console.WriteLine("Three!!!"); } }

  11. Exercise - 02 using System; class Exercise { static void Main() { Console.Write ("One!!!"); Console.Write ("Two!!!"); Console.Write ("Three!!!"); } } What is your Output? Any changes?

  12. 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

  13. C# Keywords All C# keywords are Lowercase

  14. 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

  15. 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;

  16. 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); }

  17. 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

  18. 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

  19. 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 -91018 to 91018 0 – 1.81019 1.010-28; 7.91028 with 28-29 significant digits 1.510-45; 3.41038 with 7 significant digits 5.010-324; 1.710308 with 15-16 significant digits

  20. 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;

  21. 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;

  22. 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’;

  23. Common Escape Sequences

  24. String • Astringrepresents a sequence of characters, e.g., string message = “Hello World”;

  25. 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"); } }

  26. 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(); } }

  27. 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"); } }

  28. 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"); } }

  29. 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(); } }

  30. Type conversion •  Number Number • Example : • double int • int float • short int • String/Number Number • Example : • string int • double string

  31. 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); } }

  32. C# Operators

  33. 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);    }}

  34. 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);    }}

  35. Tracing and Debugging We will discuss in more detail in next class.

More Related