Showing posts with label Assignment Operator. Show all posts
Showing posts with label Assignment Operator. Show all posts

Conditional Statements

Tuesday, June 12, 2012
In every day life, we are often making decisions. We perform different tasks while taking decisions. For example, the statement ‘Bring one litre of milk while returning home from college, if the milk shop is open’ involves this phenomenon.
In this statement, there is an element of decision making. We bring one litre of milk if the shop is open. And if the shop is closed, we come back to home without milk.
Thus we are making a decision on the condition that the shop is open. The decision-making process is everywhere in our daily life. We see that the college gives admission to a student if he has the required percentage in his previous examination and/or in the entry test. Similarly administration of a basketball team of the college decides that the students having height more than six feet can be members of the team.
For writing interesting and useful programs, we have to develop the decision making power in them.
Now we will see what kind of decisions are in programming and how these can be used.

Every programming language provides a structure for decision making.
'C' also provides this structure. The statement used for decisions in 'C' language is known as the 'if statement'. The if statement has a simple structure. That is



We explain it as if condition is true, then execute the statement or a group of statements. Here the condition is a statement which explains the condition on which a decision will be made. We can understand it from the example that Ali can become the member of the basket ball team if he has a height more than six feet .In this case, the condition will be



We have written the condition in English language. Now let's see how we can implement this in terms of variables, operators and C statements. In the program, we will write the condition in parentheses, followed by a statement or group of statements to be executed.
Now here is the concept of block of statements. We use braces { } to make a group (block) of a number of statements. We put ‘{’ before first statement and ‘}’ after the last statement. Thus if we have to do many things after the if statement. The structure of if statement becomes as under



Note the indentation of the lines and semi-colon after each statement. Semi-colons are necessary after every C statement. The indentation is only a matter of style. It makes the code easy to read and understand from where a block starts, ends and what kind of block it is. It does not affect the logic of the program. But the braces can affect the logic. We can also write a comment line to state the purpose of code block.
Let's consider a simple example to explain the if statement. Suppose, we have ages of two students (say for the time being we have got these ages in variables). These variables are- age1 and age2. Now we say that if the age1 is greater than age2, then display the statement ‘Student 1 is older than student 2’.
The coding for this program will be as below



Here, in our code we see a new operator i.e. ‘ > ‘ (greater than) in the if statement. We need such operators (like greater than, less than, equal to etc) while making decisions. These operators are called 'relational operators'. These are almost the same relational operators we use in algebra.
Following table summarizes the relational operators.








AlgebraicIn C languageExampleMeaning
Greater than > > x > yx is greater than y
Equal to = == x == yX is equal to y
Less than < < x < yX is less than y
Greater than or equal to>=x >= yx is greater than or equal to y
Less than or equal to<=x <= yx is less than or equal to y
Not equal to!=x != yx is not equal to y

Note that there is no space between ==, >=, <= and !=. These are considered as single operators. The operator == (equal to) is different from the operator =. We know that operator = is the assignment operator which is used in assignment statement to assign a value to a variable. Don't confuse the assignment operator (=) with equal to operator (==). If we write single = in condition of if statement. For example, if we write if ( x = 2 ), the compiler will not give error. This means that it is not a syntax error. The conditional expression in if statement returns a value. In this case, x = 2 will also have some value but it will not in the form of true or false. So it will create a logical error. So be careful while using equal to condition in if statement. For previous lesson click here: Use of Operators
For next lesson click here: Flow Charting


the easiest way to learn programming
introduction to programming
Conditional Statements

Precedence of Operators

Monday, May 28, 2012
The arithmetic operators in an expression are evaluated according to their precedence. The precedence means which operator will be evaluated first and which will be evaluated after that and so on. In an expression, the parentheses ( ) are used to force the evaluation order. The operators in the parentheses( ) are evaluated first. If there are nested parentheses then the inner most is evaluated first.

The expressions are always evaluated from left to right. The operators *, / and % have the highest precedence after parentheses. These operators are evaluated before + and – operators. Thus + and – operators has the lowest precedence. It means that if there are * and + operators in an expression then first the * will be evaluated and then its result will be added to other operand. If there are * and / operators in an expression (both have the same precedence) then the operator which occurs first from left will be evaluated first and then the next, except you force any operator to evaluate by putting parentheses around it.

The following table explains the precedence of the arithmetic operators:

Operators Operations Precedence (Order of evaluation)
( ) Parentheses Evaluated first
*, /, or % Multiplication, Division, Modulus Evaluated second. If there are several, they are evaluated from left to right
+ or - Addition, Subtraction Evaluated last. If there are several, they are evaluated from left to right

Lets look some examples.

What is the result of 10 + 10 * 5 ?

The answer is 60 not 100. As * has higher precedence than + so 10 * 5 is evaluated first and then the answer 50 is added to 10 and we get the result 60. The answer will be 100 if we force the addition operation to be done first by putting 10 + 10 in parentheses. Thus the same expression rewritten as (10 + 10) * 5 will give the result 100. Note that how the parentheses affect the evaluation of an expression.

Similarly the expression 5 * 3 + 6 / 3 gives the answer 17, and not 7. The evaluation of this expression can be clarified by writing it with the use of parentheses as (5 * 3) + (6 / 3) which gives 15 + 2 = 17. Thus you should be careful while writing arithmetic expressions.

Tips
  • Use spaces in the coding to make it easy to read and understand
  • Reserved words can not be used as variable names
  • There is always a main( ) in a C program that is the starting point of execution
  • Write one statement per line
  • Type parentheses ’( )’ and braces ‘{ }’ in pairs
  • Use parentheses for clarification in arithmetic expressions
  • Don’t forget semicolon at the end of each statement
  • C Language is case sensitive so variable names x and X are two different variables

For previous lesson click here: Arithmetic Operators
For next lesson click here: Sample Program


the easiest way to learn programming
introduction to programming
Precedence of Operators

Assignment Operator

The equal-to-sign (=) is used as assignment operator in C language. Do not confuse the algebraic equal-to with the assignment operator. In Algebra X = 2 means the value of X is 2, whereas in C language X = 2 (where X is a variable name) means take the value 2 and put it in the memory location labeled as X, afterwards you can assign some other value to X, for example you can write X = 10, that means now the memory location X contains the value 10 and the previous value 2 is no more there.

Assignment operator is a binary operator (a binary operator has two operands). It must have variable on left hand side and expression (that evaluates to a single value) on right hand side. This operator takes the value on right hand side and stores it to the location labeled as the variable on left hand side, e.g. X = 5, X = 10 + 5, and X = X +1. In C language the statement X = X + 1 means that add 1 to the value of X and then store the result in X variable. If the value of X is 10 then after the execution of this statement the value of X becomes 11. This is a common practice for incrementing the value of the variable by one in C language. Similarly you can use the statement X = X - 1 for decrementing the value of the variable by one. The statement X = X + 1 in algebra is not valid except when X is infinity. So do not confuse assignment operator (=) with equal sign (=) in algebra. Remember that assignment operator must have a variable name on left hand side unlike algebra in which you can use expression on both sides of equal sign (=). For example, in algebra, X +5 = Y + 7 is correct but incorrect in C language. The compiler will not understand it and will give error.

For previous lesson click here: Variables
For next lesson click here: Data Types


the easiest way to learn programming
introduction to programming
Assignment Operator

 

introduction to programming Copyright © 2011-2012 | Powered by Blogger