Operators And Expressions

Slides:



Advertisements
Similar presentations
Operators and Arithmetic Operations. Operators An operator is a symbol that instructs the code to perform some operations or actions on one or more operands.
Advertisements

LECTURE 3: BASIC C OPERATORS. Objectives  In this chapter, you will learn about:  Arithmetic operators Unary operators Binary operators  Assignment.
All the Operators. Precedence An operator with higher precedence is done earlier (prededes) one with lower precedence –A higher precedence is indicated.
All the Operators. Precedence An operator with higher precedence is done earlier (prededes) one with lower precedence –A higher precedence is indicated.
1 Operators And Expressions. 2 Operators Arithmetic Operators Relational and Logical Operators Special Operators.
Expressions An expression is a sequence of operands and operators that reduces to a single value expression operator operand An operator is a language-specific.
JavaScript, Third Edition
Performing Computations C provides operators that can be applied to calculate expressions: example: tax is 8.5% of the total sale expression: tax =
C++ Operators CS242 COMPUTER PROGRAMMING T.Banan Al-Hadlaq.
Chapter 4: Basic C Operators
CHAPTER:8 OPERATORS AND EXPRESSION IN C++ Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
2440: 211 Interactive Web Programming Expressions & Operators.
Chapter 3: Data Types and Operators JavaScript - Introductory.
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
C Programming Lecture 6 : Operators Lecture notes : courtesy of Ohio Supercomputing Center, and Prof. Woo and Prof. Chang.
15-Nov-15 All the Operators. operators.ppt 2 Precedence An operator with higher precedence is done earlier (precedes) one with lower precedence A higher.
VARIABLES, CONSTANTS, OPERATORS ANS EXPRESSION
Principles of Programming Chapter 4: Basic C Operators  In this chapter, you will learn about:  Arithmetic operators  Unary operators  Binary operators.
CSEB 114: PRINCIPLE OF PROGRAMMING Chapter 4: Basic C Operators.
Gator Engineering Copyright © 2008 W. W. Norton & Company. All rights reserved. 1 Chapter 3 Formatted Input/Output.
Department of Electronic & Electrical Engineering Expressions operators operands precedence associativity types.
STRUCTURED PROGRAMMING C++ Operators. Content 2  C++ operators  Assignment operators  Arithmetic operators  Increment and decrement operators  Decision.
Operators A binary operator combines two values to get one result: x OP y where OP is any binary operators such as +, -, *, /, ==, !=, >, &&, or even =.
Dr. Sajib Datta Jan 23,  A precedence for each operator ◦ Multiplication and division have a higher precedence than addition and subtraction.
1 Chapter 3 – Operators and Expressions Outline 3.1Introduction 3.2Arithmetic operators 3.3Relational operators 3.4Logical operators 3.5Assignment operators.
Rational Expressions relational operators logical operators order of precedence.
Dr. Sajib Datta Sep 3,  A new operator used in C is modulus operator: %  % only used for integers, not floating-point  Gives the integer.
Principles of Programming - NI July Chapter 4: Basic C Operators In this chapter, you will learn about: Assignment operators Arithmetic operators.
ECE 103 Engineering Programming Chapter 4 Operators Herbert G. Mayer, PSU Status 6/10/2016 Initial content copied verbatim from ECE 103 material developed.
Operators & Expressions
Chapter 4 – C Program Control
University of Central Florida COP 3330 Object Oriented Programming
Rational Expressions. relational operators. logical operators
Computing Fundamentals
University of Central Florida COP 3330 Object Oriented Programming
Data Types, Identifiers, and Expressions
Intro to C Tutorial 4: Arithmetic and Logical expressions
CSE1320 INTERMEDIATE PROGRAMMING Operators+Conditionals+Loop
Operators and Expressions
Arithmetic Operator Operation Example + addition x + y
Arrays, For loop While loop Do while loop
Lecture 3 Expressions Richard Gesick.
Data Types, Identifiers, and Expressions
Character Set The character set of C represents alphabet, digit or any symbol used to represent information. Types Character Set Uppercase Alphabets A,
All the Operators 22-Nov-18.
Introduction to C++ Programming
Relational Operators Operator Meaning < Less than > Greater than
Chapter 4 - Program Control
All the Operators 4-Dec-18.
Introduction to C Programming
C Operators, Operands, Expressions & Statements
Chapter-3 Operators.
Associativity and Prescedence
Introduction to Programming – 4 Operators
Expressions.
Chapter 2: Java Fundamentals
Chapter 3 Operators and Expressions
All the Operators 6-Apr-19.
All the Operators 13-Apr-19.
Chapter 4: Expression and Operator
OPERATORS AND EXPRESSIONS IN C++
Chap 7. Advanced Control Statements in Java
Using C++ Arithmetic Operators and Control Structures
Operator and Expression
OPERATORS in C Programming
DATA TYPES There are four basic data types associated with variables:
CSC215 Lecture Control Flow.
OPERATORS in C Programming
Presentation transcript:

Operators And Expressions

Operators Arithmetic Operators Relational and Logical Operators Special Operators

Arithmetic Operators Operator Action – Subtraction, also unary minus + Addition * Multiplication / Division % Modulus -- Decrement ++ Increment

Precedence and Associativity Arithmetic Operators: High ++ -- - (unary minus) * / % Low + - - a * b – c ((- a) * b) – c

Expressions inside parentheses are evaluated first. 1 * (2 - 3) Operators on the same level of precedence are evaluated from left to right. (Associativity). 1 + 2 + 3 + 4 –5 (((1 + 2) + 3) + 4) –5

Increment & Decrement Operators Provide a concise notation for incrementing or decrementing a variable by 1. Are unary operators. ++x or x++ --x or x-- Can be applied to variables but not to constants or ordinary expressions. ++i; legal cnt--; legal 777++; illegal ++(a * b -1); illegal

May either prefix or postfix the operand. Prefix ++x; or Postfix x++; x = x + 1; ++ & -- both cause a value of a variable to change in memory. ( Have a side effect).

Increment Postfix: i++; Expression value is the current value (Before you increment) then it increments. “use - then increment” Increment Prefix: ++i; Expression value is the value After you increment. “increment - then use” Decrement Postfix: i--; “use - then decrement” Decrement Prefix: --i; “decrement - then use”

Examples x =10; y = ++x; y 11 x =10; y = x++; y 10 int i = 3, j = 2, k; i++; i j = ++i; j i k = i++; k i k = (--j+3) k j 4 5 5 5 6 7 4

After the assignment to x. m l = 4; n = 3; m = 2; x = l * n + m++; x After the assignment to x. m 14 3

int a, b, c=0; a = ++c; b = c++; a = ? b = ? c= ? int b = 2, d = 4; 7--b*++d 7-((-b)*(++d)) ? int j = 2, k = 3, m = 4; j*=k=m+5 j=(j*(k=(m+5))) ?

int a,b; a = 1; b = 12; printf (“a+++b = %d/n”, a+++b); printf (“a++ +b = %d/n”, a++ +b); printf (“a+ ++b =% d/n”, a+ ++b);

Relational and Logical Operators Relational refer to the relationship that value can have with one another. Logical refers to the ways these relationships can be connected. True is any value other than zero. False is zero.

Relational Operators: > Greater than >= Greater than or equal < Less than <= Less than or equal = = Equal != Not equal                     Logical Operators: && AND || OR ! NOT

The truth table for the logical operators. True(1), False(0). p q p&&q p || q !p 0 0 0 0 1 0 1 0 1 1 1 1 1 1 0 1 0 0 1 0

Precedence and Associativity High ! > >= < <= = = != && Low || !0&&0||0 ((!0)&&0)||0 FALSE

Associativity: left to right. int x; x = 100; printf(''%d", x>10); __? Both are lower in precedence than the arithmetic operators. 10 > 1 + 12 10 > (1 + 12) FALSE 0 Associativity: left to right.

Examples !A is false (0) if A’s value is: __. is true (1) if A’s value is: __. !!5 ! (!5) ! (0) 1 5 && 3 ?

int i, j = 1; j = j && (i = 2); 1) (i=2) i 2) && j && 2 true && true 1 ( ) needed 2 1

j i j = j && (i = = 3); 1) (i = = 3) false 0 2) && j && 0 0 3) = j 1 2 ( ) not needed

j i j = j || (i/2); 1) (i/2) (2/2) 1 2) || j || 1 true 1 3) = j 2 2 ( ) not needed 1

j i j = !j && (i = i + 1); 1) i + 1 3 2) = i 3) ! !j !1 0 4) && 0 && 3 4) && 0 && 3 5) = j 1 2 3

Lowest precedence of all the operators. The Comma Operator Lowest precedence of all the operators. Causes a sequence of operations, “do this and this and this…”. Is a binary operator. expression_1, expression_2 Associates left to right. expression_1 is evaluated first expression_2 is evaluated second x = (y=3 , y+1); x 4 ( ) needed

The Comma Expression as a whole has the value and type of expression_2. int i = 2; j = 4; j = i++, i - j; * i * j (3-4) higher precedence than , operator 3 2

It allows multiple initializations and multiple processing of indices. for (sum=0 , i=1; i<=n; ++i) sum += i; Comma Operators can be useful in control statements though many “C” advocates discourage their use.

e.g. int i; i = 0; for ( ; i < 10; putchar (‘a’ + i), i++); will output? 3rd expression in the for statement is a comma expression. putchar is called ,executed.Then i is increased. Most commas in a program DO NOT represent comma operators. see text - pg. 99

The ( ) and [ ] Operators Parentheses are operators that increase the precedence of the operations inside them. Square brackets perform array indexing (See Chapter 9 for a discussion of array.) int main(void) { char s[80];   s[3] = 'X';   printf(''%c", s[3]);  return 0; }

The Conditional Operator ? Ternary operator. A powerful and convenient operator that replaces certain statements of the if-then-else form. Exp1 ? Exp2: Exp3 Stands for: if Exp1 then Exp2 else Exp3

Examples x = 10; x = 10; if(x>9) y = x>9 ? 100 : 200; y = 100; else  y = 200; x = 10; y = x>9 ? 100 : 200;

int i, h, j = 2; i = (j==2) ? 1:3; k = (i>j) ? i:j; i get 1 ( ) not needed i get 1 k get max of I or j

This statement does what? c = (c > =‘a’ && c < = ‘z’) ? c - (‘z’ - ‘Z’):c; IF True - have a Lower case letter in the variable “C”. Exp 2: c - (‘z’ - ‘Z’) will give Capital Letter of whatever is in C. e.g. a - (‘z’ - ‘Z’) 97 - (122 – 90) = 65 which is ‘A’. IF False – Capital Letter and leaves it alone.

Expressions vs. Statements An expression in C is any valid combination of operators, constants, functions and variables. A statement is a valid expression followed by a semicolon. Func1(); A function call as a statement. Y = X + Y; An assignment statement. B + Func1(); Valid?

Null Statement: ; [A semi-colon alone by itself]. Can be useful in loops & conditional statements. The body of a loop could be empty. Scanf(“%d”, &x); While(printf(“%d”,x) , scanf(“%d”,&x)==1) ;

Spacing and Parentheses Redundant or additional parentheses do not cause errors or slow down the execution of an expression. x=10/y-(127/x); x = 10 / y - (127/x); x = y/3-34*temp+127; x = (y/3)  -  (34*temp) + 127;