Chapter 2 part #4 Operator

Slides:



Advertisements
Similar presentations
Types and Arithmetic Operators
Advertisements

Data Types in Java Data is the information that a program has to work with. Data is of different types. The type of a piece of data tells Java what can.
Copyright 2004 Scott/Jones Publishing Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 3 Expressions.
Chapter 2: Java Fundamentals Operators. Introduction to OOP Dr. S. GANNOUNI & Dr. A. TOUIR Page 2 Content Group of Operators Arithmetic Operators Assignment.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming Expressions and Operators Program Style.
ECE122 L3: Expression Evaluation February 6, 2007 ECE 122 Engineering Problem Solving with Java Lecture 3 Expression Evaluation and Program Interaction.
Data types and variables
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.
More about Numerical Computation CS-2301, B-Term More about Numerical Computation CS-2301, System Programming for Non-Majors (Slides include materials.
Chapter 2 Data Types, Declarations, and Displays
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 =
Basic Elements of C++ Chapter 2.
C++ Operators CS242 COMPUTER PROGRAMMING T.Banan Al-Hadlaq.
Expressions, Data Conversion, and Input
 2003 Prentice Hall, Inc. All rights reserved. 1 Introduction to C++ Programming Outline Introduction to C++ Programming A Simple Program: Printing a.
Copyright © 2003 Pearson Education, Inc. Slide 2-1 Problem Solving with Java™ Second Edition Elliot Koffman and Ursula Wolz Copyright © 2003 Pearson Education,
Exercises A-Declare a variable of double type with initial value=0.0; B- Declare a constant of String type with initial value=“Good” C- Declare a variable.
CHAPTER:8 OPERATORS AND EXPRESSION IN C++ Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
2440: 211 Interactive Web Programming Expressions & Operators.
Object-Oriented Programming Using C++ Third Edition Chapter 2 Evaluating C++ Expressions.
Operators Using Java operators An operator takes one or more arguments and produces a new value. All operators produce a value from their.
LESSON 6 – Arithmetic Operators
CHAPTER 2 PART #4 OPERATOR 2 nd semester King Saud University College of Applied studies and Community Service Csc 1101 By: Asma Alosaimi Edited.
Chapter 2: Using Data.
Assignment Statements Operator Precedence. ICS111-Java Programming Blanca Polo 2 Assignment, not Equals  An assignment statement changes the value of.
OPERATORS.
Java Programming: From Problem Analysis to Program Design, 4e Chapter 2 Basic Elements of Java.
C Programming Lecture 6 : Operators Lecture notes : courtesy of Ohio Supercomputing Center, and Prof. Woo and Prof. Chang.
CPS120: Introduction to Computer Science Operations Lecture 9.
C Operators. CONTENTS C OPERATORS TYPES OF OPERATOR UNARY BINARY TERNARY ARITHMATIC RELATIONAL LOGICAL.
COMPUTER PROGRAMMING. variable What is variable? a portion of memory to store a determined value. Each variable needs an identifier that distinguishes.
Operators Precedence - Operators with the highest precedence will be executed first. Page 54 of the book and Appendix B list C's operator precedence. Parenthesis.
CHAPTER # 2 Part 2 PROGRAMS AND DATA 1 st semster King Saud University College of Applied studies and Community Service CSC1101 By: Asma Alosaimi.
Chapter 6 Mathematical Operations. 6.1 Mathematical Expressions In mathematics this expression is valid 0 = -4y + 5 It is invalid in programming Left.
FUNDAMENTALS 2 CHAPTER 2. OPERATORS  Operators are special symbols used for:  mathematical functions  assignment statements  logical comparisons 
Outline Character Strings Variables and Assignment Primitive Data Types Expressions Data Conversion Interactive Programs Graphics Applets Drawing Shapes.
Programming in Java (COP 2250) Lecture 4 Chengyong Yang Fall, 2005.
OPERATORS Chapter2:part2. Operators Operators are special symbols used for: mathematical functions assignment statements logical comparisons Examples.
ECE 103 Engineering Programming Chapter 4 Operators Herbert G. Mayer, PSU CS Status 6/19/2015 Initial content copied verbatim from ECE 103 material developed.
STRUCTURED PROGRAMMING C++ Operators. Content 2  C++ operators  Assignment operators  Arithmetic operators  Increment and decrement operators  Decision.
LECTURE # 6 : STRUCTURED PROGRAMMING C++ OPERATORS By Mr. Ali Edan.
CSCI 1100/1202 January 18, Arithmetic Expressions An expression is a combination of operators and operands Arithmetic expressions compute numeric.
 Most C programs perform calculations using the C arithmetic operators (Fig. 2.9).  Note the use of various special symbols not used in algebra.  The.
Chapter 4: Variables, Constants, and Arithmetic Operators Introduction to Programming with C++ Fourth Edition.
CHAPTER 2 PART #4 OPERATOR 1 st semester King Saud University College of Applied studies and Community Service Csc
Fundamentals 2 1. Programs and Data Most programs require the temporary storage of data. The data to be processed is stored in a temporary storage in.
ECE 103 Engineering Programming Chapter 4 Operators Herbert G. Mayer, PSU Status 6/10/2016 Initial content copied verbatim from ECE 103 material developed.
Chapter # 2 Part 2 Programs And data
Chapter Topics The Basics of a C++ Program Data Types
Chapter 7: Expressions and Assignment Statements
ARITHMETIC IN C Operators.
Basic Elements of C++.
Relational Operations
Chapter 7: Expressions and Assignment Statements
Expressions An expression is a portion of a C++ statement that performs an evaluation of some kind Generally requires that a computation or data manipulation.
Multiple variables can be created in one declaration
Assignment and Arithmetic expressions
Basic Elements of C++ Chapter 2.
Operators and Expressions
Arithmetic Operator Operation Example + addition x + y
Lecture 3 Expressions Richard Gesick.
Chapter # 2 Part 2 Programs And data
Expressions An expression is a portion of a C++ statement that performs an evaluation of some kind Generally requires that a computation or data manipulation.
Chapter 2: Java Fundamentals
Data Types and Expressions
OPERATORS AND EXPRESSIONS IN C++
Operator King Saud University
Data Types and Expressions
Data Types and Expressions
Presentation transcript:

Chapter 2 part #4 Operator King Saud University College of Applied studies and Community Service Csc 1101 By: Asma Alosaimi Edited By: Ghadah R. Hadba Chapter 2 part #4 Operator 2nd semester 1432 -1433

Outlines C++ Operators Order of Precedence Arithmetic Operators Assignment Operator Increment/Decrement Operators Relational Operators Logical Operators Order of Precedence

Operators Operators are special symbols used for: arithmetic calculations assignment statements logical comparisons Examples of operators: 3 + 5 // uses + operator 14 + 5 – 4 * (5 – 3) // uses +, -, * operators Expressions: can be combinations of variables and operators that result in a value

C++ Operators In C++, there are 5 different groups of operators: Arithmetic Operators Assignment Operator Increment / Decrement Operators Relational Operators Logical Operators

C++ Operators: Arithmetic Operators The C++ arithmetic operators are summarized in Fig. 2.9. The arithmetic operators in Fig. 2.9 are all binary operators, i.e. operators that take two operands Each operand can be either a literal , a variable identifier , or an expression. It is better for the two operands to be of the same data type, otherwise: The compiler will perform implicit casting (with literal values) and/or, Explicit casting need to be specified (with variables) Note the use of various special symbols not used in algebra.( e.g. * and %)

C++ Operators: Arithmetic Operators

Writing Mathematical Formulas in C Always specify multiplication explicitly by using the operator * where needed. Example: b² - 4 a c = b * b - 4 * a * c Use parentheses when required to control the order of operator evaluation. Example: a + b = ( a + b ) / ( c + d ) c + d Two arithmetic operators can be written in succession if the second is a unary operator Example: a x - ( b + c ) = a * - ( b + c ) C Language Elements

Writing Mathematical Formulas in C++ (Examples) a + b - c = a + b - c 1 1 + a² = 1 / ( 1 + a * a) a x (5b + c) = a * ( 5 * b + c ) C Language Elements

C++ Operators: Arithmetic Operators

Operators Precedence - Example

Parentheses The value of the expression x + y * z * z is always the same as the value of x + ((y * z) * z)

Rules for Expression Evaluation (Examples) z - ( a + b / 2 ) + w * - y ( b * b ) - ( 4 * 4 ) * ( a * c ) A * - ( b + c ) C Language Elements

Division Example As we can see, Example of division issues: 10 / 3 gives 3 10.0 / 3 gives 3.33333 As we can see, if we divide two integers we get an integer result. if one or both operands is a floating-point value we get a floating-point result. If the operands are from different data type, especially dividing floating-point number by an integer or vice a versa the result will be a floating-point number

Modulus Example Generates the remainder when you divide two integer values. 5%3 gives 2 5%4 gives 1 5%5 gives 0 5%10 gives 5 Modulus operator is most commonly used with integer operands. If we attempt to use the modulus operator on floating-point values we will garbage! (Why?)

C++ Operators: Arithmetic Operators Implicit casting:  is an automatic type conversion by the compiler. If operands of mixed types are used, the compiler will convert one operand to agree with the other. To do this, it uses a hierarchy of data types: Long double (highest) Double Float Unsigned long int Long int Unsigned int Int (lowest) boolean, character, wide character, enumeration, and short integer data types are promoted to int

C++ Operators: Arithmetic Operators Implicit casting: Example(1): 5+23.67 The compiler will converts 5 to floating point number because it’s higher than int in the data type hierarchy Example(2): short a=2000; int b; b=a; the value of a has been promoted from short to int

C++ Operators: Assignment Operator We assign a value to a variable using the basic assignment operator (=). Assignment operator: Stores a value in a memory. Basically used in C++ to initialize a variable with a value OR to update it’s content with a new value It’s syntax is as following leftSide = rightSide ; It is always a variable identifier. It is either a literal , a variable identifier , or an expression.

C++ Operators: Assignment Operator The assignment operator (=) assigns the value on the right side of the operator to the variable appearing on the left side of the operator. The right side may be either: Literal: e.g. i = 1; Variable identifier: e.g. start = i; Expression: e.g. sum = first + second;

1.Assigning Literals In this case, the literal is stored in the memory space allocated for the variable on the left side. A. Variables are allocated in memory. firstNumber 1 int firstNumber=1, secondNumber; firstNumber = 234; secondNumber = 87; A B secondNumber ??? B. Literals are assigned to variables. firstNumber 234 secondNumber 87 Code State of Memory

2.Assigning Variables In this case, the value of the variable on the right side is stored in the memory space allocated for the variable on the left side. A. Variables are allocated in memory. int firstNumber=1, i; firstNumber = 234; i = firstNumber; A B firstNumber 1 i ??? B. values are assigned to variables. firstNumber 234 i Code State of Memory

3.Assigning Expressions In this case, the result of evaluating the expression (on the right side) is stored in the memory space allocated for the variable (on the left side). A. Variables are allocated in memory. first ??? second sum A int first, second, sum; first = 234; second = 87; Sum = first + second B B. Values are assigned to variables. first second 87 234 Code sum 321 State of Memory

Example of Initializing and Updating Data using assignment operator A. The variable is allocated in memory and initializes with the value 100 number int number=100; number = 237; A 100 B B. The value 237 overwrites the previous value 100 C number = 35; number 237 C. The value 35 overwrites the previous value 237. number 35 State of Memory Code

Code Example: Arithmetic & Assignment operators # include <iostream> Using namespace std; // main method int main ( ) { int num1, num2, sum; cout<<“Enter two numbers : “; cin>> num1 >> num2; sum = num1 + num2; cout << num1 <<” + ” << num2 << ” = ” << sum; return 0; } // end main

Mixed Data Types in an Assignment Statement The variable to the left of the equals sign determines the data types of an expression. If both operands of an expression are integer→ then the data type of such an expression will be integer. If both operands of an expression are double→ then the data type of such an expression will be double. An expression that has operands of both type integer and double is a mixed-type expression. The data type of such a mixed-type expression → will be double. C Language Elements

Mixed Data Types in an Assignment Statement Example: if x is int and y is double then x = 7 * 0.5; 3 y = 7 * 0.5; 3.50 x = 100/5; 20 y = 100/5; 20.00 C Language Elements

C++ Operators: Explicit casting: Performed by placing (data type) prior the intended variable|value|expression Example(1): short a=2000; int b; b = (int) a; Example(2): int nValue1 = 10; int nValue2 = 4; float fValue = (float) (nValue1 / nValue2); OR (float) nValue1/(float) nValue2; are they the same?

C++ Operators: Type Cast Explicit casting: converting an expression to a different type by writing the desired type in parentheses in front of the expression or the variable. Example: Rounding a number double x; int rounded_x /* code to give x a value omitted*/ rounded_x = (int) (x + 0.5); 35.51 is rounded to 36 35.12 is rounded to 35 35.51 +0.50 36.01 35.12 35.62

Compound Assignment Operators When we want to modify the value of a variable by performing an operation on the value currently stored in that variable we can use compound assignment operators C++ allows combining arithmetic and assignment operators into a single operator as following: Addition/assignment += Subtraction/assignment = Multiplication/assignment = Division/assignment /= Remainder/assignment %=

Compound Assignment Operators The syntax is leftSide Op= rightSide ; This is equivalent to: leftSide = leftSide Op rightSide ; Example x%=5;  x = x % 5; x*=y+w*z;  x = x*(y+w*z); It is either a literal , a variable identifier , or an expression. Allways it is a variable identifier. It is an arithmetic operator.

Compound Assignment Operators

C++ Operators: Increment/Decrement Operators ++ and   are a unary operators that can be applied to variables and increments/decrements the value they hold x++/++x; is equivalent to x = x+1; x--/--x; is equivalent to x = x-1;

C++ Operators: Increment/Decrement Operators Placing the increment/ decrement operator before the variable name differ from placing it after as following:

C++ Operators: Increment/Decrement Operators Placing the increment/ decrement operator before the variable name differ from placing it after as following (Example):

C++ Operators: Equality and Relational Operators In order to evaluate a comparison between two expressions we can use the relational and equality operators The relational and equality operators operators in Fig. 2.12 are all binary operators, i.e. operators that take two operands Each operand can be either a literal , a variable identifier , or an expression. The result of a equality and relational operations is a Boolean value that can only be true or false, according to its Boolean result.

C++ Operators: Equality and Relational Operators

Example Of course, instead of using only numeric constants, we can use any valid expression, including variables. Suppose that a=2,b=3 and c=6

Common Programming Errors A syntax error will occur if the operators ==, !=, >= and <= appears with space(s) between its pair of symbols A syntax error will occur when reversing the order of the pair of symbols!=, >= and <= (i.e. by writing them as =!, =>, =< respectively) Confusing the equality operator == with the assignment operator

C++ Operators: Logical Operators Symbol Operator ! NOT && AND || OR && T F ! T F || T F

C++ Operators: Logical Operators The Operator ! is an operator to perform the Boolean operation NOT it has only one operand located at its Basically, it returns the opposite Boolean value of evaluating its operand Example: !(5 == 5) // evaluates to false because the expression at its right (5 == 5) is true. !(6 <= 4) // evaluates to true because (6 <= 4) would be false.

C++ Operators: Logical Operators The logical operators && and || are: binary operators used when evaluating two expressions to obtain a single relational result. The operator && corresponds with Boolean logical operation AND. The operator || corresponds with Boolean logical operation OR. Example:

Convert Text to C++ code English language: x less than or equal to 0 C++ language: (x<=0) English language: grade not equal to 'A' C++ language: (grade != 'A‘) English language: an exam score of 90 and above or quiz score of 95 and above C++ language: (exam>=90) || (quiz>=95) English language: a single man whose 55 years old or older C++ language ((status=='s‘)&&(gender=='m‘) )&&(age>=55))

Operator Precedence Consider the following expression: x=y*5+y*2/4; Which operator the compiler will perform first?! IN C++, order of operations (sometimes called operator precedence) is a rule used to clarify unambiguously which procedures should be performed first in a given Figure A.1 show the decreasing order of precedence from top to bottom Note that parentheses () can be used to enforce a desired order for performing operations x=y*5+y; x=y*(5+y); 1 2 2 1

Associatively Type Operator Precedence Left-to-right Parentheses () 1 Right-to-left Prefix increment and decrement ++, -- 2 Unary minus - Logical NOT ! Type case (type) 3 Multiplication, division, and module * , / , % 4 Addition and subtraction +,- 5 <<, >> 6 Relational operators <, <=,>,>= 7 Equality operators ==, != 8 Logical AND && 9 Logical OR || 10 +=,-=,*=/=,%= 11 Postfix increment and decrement 12