Wollo University College of Informatics Department of computer science C# Language Fundamentals I

Introduction to C# Prepared by: kibrom Haftu Kombolcha 2017

Table of Contents Variables and Data Types 

How Computing Works?



What Is a Data Type?



Implicit and Explicit Type

Conversions 

What Is a Variable?

Loops

Control Statements 

Comparison and Logical

Operators 

The if Statement



The if-else Statement



Nested if Statements



The switch-case Statement

How Computing Works? 

Computers are machines that process data  Data

is stored in the computer memory in variables  Variables have name, data type and value 

Example of variable definition and assignment in C# Variable name

Data type

int count = 5;

Variable value

What Is a Data Type? 

A data type:  Is

a domain of values of similar characteristics

 Defines

the type of information stored in the computer memory (in a variable)



Examples:  Positive

integers: 1, 2, 3, …

 Alphabetical  Days

characters: a, b, c, …

of week: Monday, Tuesday, …

Data Type Characteristics 

A data type has:  Name

(C# keyword or .NET type)  Size (how much memory is used)  Default value 

Example:  Integer

numbers in C#  Name: int  Size: 32 bits (4 bytes)  Default value: 0

What are Integer Types? 

Integer types:  Represent

whole numbers  May be signed or unsigned  Have range of values, depending on the size of memory used 

The default value of integer types is: – for integer types (short mean 32 bit), except  0L – for the long type(64 bit representation) 0

What are Floating-Point Types 



Floating-point types: 

Represent real numbers



May be signed or unsigned



Have range of values and different precision depending on the used memory



Can behave abnormally in the calculations

Floating-point types are: float: 32-bits, precision of 7 digits  double: 64-bits, precision of 15-16 digits 



The default value of floating-point types: Is 0.0F for the float type  Is 0.0D for the double type 

The Boolean Data Type 

 

The Boolean data type:  Is declared by the bool keyword  Has two possible values: true and false  Is useful in logical expressions The default value is false Example of boolean variables taking values of true or false:

int a = 1; int b = 2; bool greaterAB = (a > b);

Console.WriteLine(greaterAB); // False bool equalA1 = (a == 1); Console.WriteLine(equalA1);

// True

The Character Data Type 

The character data type:  Represents

symbolic information  Is declared by the char keyword  Gives each symbol a corresponding integer code  Has a '\0' default value  Takes 16 bits of memory (from U+0000 to U+FFFF)

The String Data Type 

The string data type:  Represents

a sequence of characters  Is declared by the string keyword  Has a default value null (no value) 

Strings are enclosed in quotes: string s = "Microsoft .NET Framework";



Strings can be concatenated  Using

the + operator

Saying Hello – Example 

Concatenating the two names of a person to obtain his full name: string firstName = "Ivan"; string lastName = "Ivanov"; Console.WriteLine("Hello, {0}!\n", firstName); string fullName = firstName + " " + lastName; Console.WriteLine("Your full name is {0}.", fullName); 

NOTE: a space is missing between the two names! We have to add it manually

The Object Type 

The object type:  Is

declared by the object keyword  Is the base type of all other types  Can hold values of any type 

Example of an object variable taking different types of data:

object dataContainer = 5; Console.Write("The value of dataContainer is: "); Console.WriteLine(dataContainer); dataContainer = "Five"; Console.Write("The value of dataContainer is: "); Console.WriteLine(dataContainer);

Implicit and Explicit Type Conversions 

Implicit Type Conversion  Automatic

conversion of value of one data type to value of another data type  Allowed when no loss of data is possible  "Larger"

types can implicitly take values of smaller "types"

 Example:

int i = 5; long l = i;



Explicit type conversion  Manual

conversion of a value of one data type to a value of another data type  Allowed only explicitly by (type) operator  Required when there is a possibility of loss of data or precision  Example: long l = 5; int i = (int) l;

Type Conversions – Example 

Example of implicit and explicit conversions:

float heightInMeters = 1.74f; // Explicit conversion double maxHeight = heightInMeters; // Implicit

double minHeight = (double) heightInMeters; // Explicit float actualHeight = (float) maxHeight; // Explicit float maxHeightFloat = maxHeight; // Compilation error! 

Note: Explicit conversion may be used even if not required by the compiler

What Is a Variable? 

A variable is a:  Placeholder

of information that can usually be changed

at run-time 

Variables allow you to:  Store

information  Retrieve the stored information  Manipulate the stored information

Variable Characteristics 

A variable has:  Name  Type

(of stored data)  Value 

Example: int counter = 5;  Name:

counter  Type: int  Value: 5

Declaring Variables 

When declaring a variable we:  Specify

its type

 Specify

its name (called identifier)

 May 

give it an initial value

The syntax is the following:

[= ]; 

Example: int height = 200;

Identifiers 

Identifiers may consist of:   



Identifiers  



Can begin only with a letter or an underscore Cannot be a C# keyword

Identifiers   



Letters (Unicode) Digits [0-9] Underscore "_"

Should have a descriptive name It is recommended to use only Latin letters Should be neither too long nor too short

Note: 

In C# small letters are considered different than the capital letters (case sensitivity)

Identifiers – Examples 

Examples of correct identifiers:

int New = 2; // Here N is capital int _2Pac; // This identifiers begins with _ string поздрав = "Hello"; // Unicode symbols used // The following is more appropriate: string greeting = "Hello"; int n = 100; // Undescriptive int numberOfClients = 100; // Descriptive

// Overdescriptive identifier: int numberOfPrivateClientOfTheFirm = 100; 

Examples of incorrect identifiers:

int new; int 2Pac;

// new is a keyword // Cannot begin with a digit

Assigning Values 

Assigning of values to variables  Is



achieved by the = operator

The = operator has  Variable

identifier on the left  Value of the corresponding data type on the right  Could be used in a cascade calling, where assigning is done from right to left

Assigning Values – Examples 

Assigning Values – Examples

int firstValue = 5; int secondValue; int thirdValue; // Using an already declared variable: secondValue = firstValue; // // // //

The following cascade calling assigns 3 to firstValue and then firstValue to thirdValue, so both variables have the value 3 as a result:

thirdValue = firstValue = 3; // Avoid this!

Initializing Variables 

Initializing  Is

assigning of initial value

 Must 

be done before the variable is used!

Several ways of initializing:  By

using the new keyword

 By

using a literal expression

 By

referring to an already initialized variable

Initialization – Examples 

Example of some initializations: // The following would assign the default // value of the int type to num: int num = new int(); // num = 0 // This is how we use a literal expression: float heightInMeters = 1.74f;

// Here we use an already initialized variable: string greeting = "Hello World!"; string message = greeting;

Control statements

Conditional Statements



Comparison Operators

Example: bool result = 5 <= 6; Console.WriteLine(result); // True

Logical Operators



De Morgan laws  !!A

 A

 !A && !B  !(A && B)  !A || !B  !(A

|| B)

if and if-else Implementing Conditional Logic

The if Statement   



The most simple conditional statement Enables you to test for a condition Branch to different parts of the code depending on the result The simplest form of an if statement: if (condition) { statements; }

Condition and Statement 

The condition can be:  Boolean

variable  Boolean logical expression  Comparison expression 



The condition cannot be integer variable (like in C / C++) The statement can be:  Single

statement ending with a semicolon  Block enclosed in braces

How It Works? 

The condition is evaluated  If

it is true, the statement is executed  If it is false, the statement is skipped

The if Statement – Example static void Main() { Console.WriteLine("Enter two numbers."); int biggerNumber = int.Parse(Console.ReadLine());

int smallerNumber = int.Parse(Console.ReadLine()); if (smallerNumber > biggerNumber) { biggerNumber = smallerNumber; } Console.WriteLine("The greater number is: {0}", biggerNumber); }

The if-else Statement  



More complex and useful conditional statement Executes one branch if the condition is true, and another if it is false The simplest form of an if-else statement: if (expression) { statement1; } else { statement2; }

How It Works ?



The condition is evaluated  If

it is true, the first statement is executed  If it is false, the second statement is executed

if-else Statement – Example 

Checking a number if it is odd or even string s = Console.ReadLine(); int number = int.Parse(s); if (number % 2 == 0) { Console.WriteLine("This number is even."); } else { Console.WriteLine("This number is odd."); }

Nested if Statements if and if-else statements can be nested, i.e. used inside another if or else statement  Every else corresponds to its closest preceding if 

Nested if Statements – Example if (first == second) { Console.WriteLine( "These two numbers are equal."); } else { if (first > second) {

Console.WriteLine("The first number is bigger."); } else {

Console.WriteLine("The second is bigger."); } }

The switch-case  

Making Several Comparisons at Once Selects for execution a statement from a list depending on the value of the switch expression

switch (day) { case 1: Console.WriteLine("Monday"); break; case 2: Console.WriteLine("Tuesday"); break; case 3: Console.WriteLine("Wednesday"); break; case 4: Console.WriteLine("Thursday"); break; case 5: Console.WriteLine("Friday"); break; case 6: Console.WriteLine("Saturday"); break; case 7: Console.WriteLine("Sunday"); break; default: Console.WriteLine("Error!"); break; }

How switch-case Works? 1. 2.

The expression is evaluated When one of the constants specified in a case label is equal to the expression 

3.

The statement that corresponds to that case is executed

If no case is equal to the expression  

If there is default case, it is executed Otherwise the control is transferred to the end point of the switch statement

Loops Execute Blocks of Code Multiple Times  What is a Loop?  Loops in C# • while loops • do … while loops • for loops • foreach loops  Nested loops 

What Is Loop? 

A loop is a control statement that allows repeating execution of a block of statements  May

execute a code block fixed number of times  May execute a code block while given condition holds  May execute a code block for each member of a collection 

Loops that never end are called an infinite loops

Using while(…) Loop 



Repeating a Statement While Given Condition Holds The simplest and most frequently used loop while (condition) { statements; }



The repeat condition Returns a boolean result of true or false  Also called loop condition 

while(…) examples int counter = 0; while (counter < 10) { Console.WriteLine("Number : {0}", counter);

counter++; }

while(…) examples 

Calculate and print the sum of the first N natural numbers( Sum 1..N)

Console.Write("n = "); int n = int.Parse(Console.ReadLine()); int number = 1; int sum = 1; Console.Write("The sum 1"); while (number < n) { number++; sum += number ; Console.Write("+{0}", number); } Console.WriteLine(" = {0}", sum);

Prime Number – Example 

Checking whether a number is prime or not

Console.Write("Enter a positive integer number: "); uint number = uint.Parse(Console.ReadLine()); uint divider = 2; uint maxDivider = (uint) Math.Sqrt(number); bool prime = true; while (prime && (divider <= maxDivider)) { if (number % divider == 0) { prime = false; } divider++; } Console.WriteLine("Prime? {0}", prime);

Using break Operator to Calculating Factorial 

break operator exits the inner-most loop

static void Main() { int n = Convert.ToInt32(Console.ReadLine()); // Calculate n! = 1 * 2 * ... * n int result = 1; while (true) { if(n == 1) break; result *= n; n--; } Console.WriteLine("n! = " + result); }

do { … } 

while (…) Loop

Another loop structure is:

do { statements; } while (condition); 

The block of statements is repeated  While



the boolean loop condition holds

The loop is executed at least once

Factorial – Example 

Calculating N factorial

static void Main() { int n = Convert.ToInt32(Console.ReadLine()); int factorial = 1; do { factorial *= n; n--; } while (n > 0); Console.WriteLine("n! = " + factorial);

}

Product[N..M] – Example 

Calculating the product of all numbers in the interval [n..m]:

int n = int.Parse(Console.ReadLine()); int m = int.Parse(Console.ReadLine()); int number = n; decimal product = 1; do { product *= number; number++; } while (number <= m); Console.WriteLine("product[n..m] = " + product);

For Loops 

The typical for loop syntax is: for (initialization; test; update) { statements; }



Consists of  Initialization

statement  Boolean test expression  Update statement  Loop body block

The Initialization Expression for (int number = 0; ...; ...) { // Can use number here } // Cannot use number here 

Executed once, just before the loop is entered  Like



it is out of the loop, before it

Usually used to declare a counter variable

The Test Expression for (int number = 0; number < 10; ...) { // Can use number here } // Cannot use number here 

Evaluated before each iteration of the loop  If

true, the loop body is executed  If false, the loop body is skipped 

Used as a loop condition

The Update Expression for (int number = 0; number < 10; number++) { // Can use number here } // Cannot use number here 



Executed at each iteration after the body of the loop is finished Usually used to update the counter

Simple for Loop – Example 

A simple for-loop to print the numbers 0…9:

for (int number = 0; number < 10; number++) { Console.Write(number + " "); } 

A simple for-loop to calculate n!: decimal factorial = 1; for (int i = 1; i <= n; i++) { factorial *= i; }

Complex for Loop – Example 

Complex for-loops could have several counter variables: for (int i=1, sum=1; i<=128; i=i*2, sum+=i) { Console.WriteLine("i={0}, sum={1}", i, sum); }



Result:

i=1, i=2, i=4, i=8, ...

sum=1 sum=3 sum=7 sum=15

N^M – Example 

Calculating n to power m (denoted as n^m): static void Main() { int n = int.Parse(Console.ReadLine()); int m = int.Parse(Console.ReadLine()); decimal result = 1; for (int i=0; i
 The

above loop iterates of the array of days

 The

variable day takes all its values

Nested Loops 

Using Loops Inside a Loop



A composition of loops is called a nested loop A



loop inside another loop

Example:

for (initialization; test; update) { for (initialization; test; update) { statements; } … }

Triangle – Example 

Print the following triangle: 1 1 2 … 1 2 3 ... n

int n = int.Parse(Console.ReadLine()); for(int row = 1; row <= n; row++) { for(int column = 1; column <= row; column++) { Console.Write("{0} ", column); } Console.WriteLine(); }

Primes[N, M] – Example int n = int.Parse(Console.ReadLine()); int m = int.Parse(Console.ReadLine()); for (int number = n; number <= m; number++) { bool prime = true; int divider = 2; int maxDivider = Math.Sqrt(num); while (divider <= maxDivider) { if (number % divider == 0) { prime = false; break; } divider++; } if (prime) { Console.Write("{0} ", number); } }

Questions?

C# Language Fundamentals I.pdf

The if Statement. The if-else Statement. Nested if Statements. The switch-case Statement. Variables and Data Types Control Statements. Loops. Page 2 of ...

4MB Sizes 0 Downloads 134 Views

Recommend Documents

The C++ Language Tutorial
Let us add an additional instruction to our first program: ...... The standard input device is usually the keyboard. Handling the ...... apple, banana and melon.

The C programming Language
A preprocessing step performs macro substitution on program text, inclusion of other .... Chapter 1 is a tutorial on the central part of C. The purpose is to get the ...... As an illustration of some of the bit operators, consider the function getbit

C Language Mapping
defines the mapping of OMG IDL constructs to the C programming language. .... The ORB models attributes as a pair of operations, one to set and one to get the.

The C programming Language
3. The for statement. 4. Symbolic Constants. 5. Character Input and Output. 1. .... assignment or a function call, can be a statement. Pointers provide for .... The only way to learn a new programming language is by writing programs in it. The first 

C Language Mapping
defines the mapping of OMG IDL constructs to the C programming language. ...... To permit application portability, the following minimal set of functions and ...

The C++ Language Tutorial
The ANSI-C++ standard acceptation as an international standard is relatively recent. It was first ... free. Compilers. The examples included in this tutorial are all console programs. That means .... several error messages when you compile it. ... Ho

The C++ Language Tutorial
personal copy of the entire document or download it to a local hard disk, without ...... In addition, the computer can manipulate more complex data types that.

The C programming Language
developed, since both the system and most of the programs that run on it are written in C. The language, however, is not tied .... Most can be written in C, and except for the operating system details they conceal, are ... Chapter 7 describes the sta

Fundamentals of C Programming
A programming language provides a set of rules to develop a program. A person who .... Windows and Apple Mac. ..... the application as well as the machine.

C/D Prentice- Hall Language! - Grant Elementary
Aug 18, 2015 - MAP. Exit: Completion of 6th grade. Duration: One or more years ... E/F will do Prentice-Hall; the others will continue with C/D as 7th graders.

The C programming Language
A preprocessing step performs macro substitution on program text, inclusion of ...... if (disaster) ..... The operation of pushing and popping a stack are trivial, but by the time error detection and recovery are added, they are long enough that it i

The C programming Language
1. Variable Names. 2. Data Types and Sizes. 3. Constants. 4. Declarations http://freebooks.by.ru/view/CProgrammingLanguage/kandr.html (1 of 5) [5/15/2002 ...

objective c programming language pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. objective c programming language pdf. objective c programming language pdf. Open. Extract. Open with. Sign I

eBook C Programming Language, 2nd Edition Download online
eBook C Programming Language, 2nd Edition Download online ... course will teach you how to program in C the programming language from the ground ... Download Free Legal eBooks Download Free Computer Books Programming eBooks ...

c programming language pdf in hindi download
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. c programming ...