Data Types, Expressions and Functions (part I)

Slides:



Advertisements
Similar presentations
Etter/Ingber Engineering Problem Solving with C Fundamental Concepts Chapter 2 Simple C Programs.
Advertisements

Computer Programming w/ Eng. Applications
Types and Arithmetic Operators
Dale/Weems/Headington
Numeric Types, Expressions, and Output ROBERT REAVES.
1 Lecture 6 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
© 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5/e Starting Out with C++: Early Objects 5 th Edition Chapter 2 Introduction.
1 Chapter 3 Arithmetic Expressions. 2 Chapter 3 Topics l Overview of Java Data Types l Numeric Data Types l Declarations for Numeric Expressions l Simple.
COMPSCI 125 Spring 2005 ©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 3: Numeric Data *Variables *Numeric data.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming Expressions and Operators Program Style.
1 Fundamental Data Types. 2 Outline  Primitive Data Types  Variable declaration  Numbers and Constants  Arithmetic Operators  Arithmetic Operator.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems/Headington.
1 9/08/06CS150 Introduction to Computer Science 1 Arithmetic Operators.
Chapter 3 Numerical Data. Topics Variables Numeric data types Assignment Expressions.
1 Chapter 3 Topics Constants of Type int and float l Evaluating Arithmetic Expressions l Implicit Type Coercion and Explicit Type Conversion l Calling.
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.
Admin Office hours 2:45-3:15 today due to department meeting if you change addresses during the semester, please unsubscribe the old one from the.
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.
What is a variable?  A variable holds data in memory so the program may use that data, or store results.  Variables have a data type. int, boolean, char,
C++ Operators CS242 COMPUTER PROGRAMMING T.Banan Al-Hadlaq.
1 Chapter Two Using Data. 2 Objectives Learn about variable types and how to declare variables Learn how to display variable values Learn about the integral.
 2003 Prentice Hall, Inc. All rights reserved. 1 Introduction to C++ Programming Outline Introduction to C++ Programming A Simple Program: Printing a.
Operaciones y Variables
CSC 125 Introduction to C++ Programming Chapter 2 Introduction to C++
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2: Introduction to C++ Starting Out with C++ Early Objects Seventh.
Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems.
1 Numeric Types, Expressions, and Output. 2 Chapter 3 Topics  Constants of Type int and float  Evaluating Arithmetic Expressions  Declaration for Numeric.
Numeric Types, Expressions, and Output 1. Chapter 3 Topics Constants of Type int and float Evaluating Arithmetic Expressions Implicit Type Coercion and.
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems.
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems.
1 Chapter 3 Numeric Types, Expressions, and Output CS185/09 - Introduction to Programming Caldwell College.
Numeric Types, Expressions, and Output ROBERT REAVES.
Chapter 3 Processing and Interactive Input. 2 Assignment  The general syntax for an assignment statement is variable = operand; The operand to the right.
Chapter 2: Using Data.
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
Lecture no 3 Control statements.
C++ Programming: Basic Elements of C++.
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
1 Computer Programming Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
CHAPTER 2 COMPONENTS OF A PROGRAMMING LANGUAGE I NTRODUCTION T O C OMPUTER P ROGRAMMING (CSC425)
1 Chapter 3 Numeric Types, Expressions, and Output.
Chapter 3 Arithmetic Expressions, Function Calls, and Output
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
1 C++ Data Types structured array struct union class address pointer reference simple integral enum char short int long bool floating float double long.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2: Introduction to C++ Starting Out with C++ Early Objects Sixth.
Chapter 6 Mathematical Operations. 6.1 Mathematical Expressions In mathematics this expression is valid 0 = -4y + 5 It is invalid in programming Left.
CHAPTER 2 C++ SYNTAX & SEMANTICS #include using namespace std; int main() { cout
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
Recap……Last Time [Variables, Data Types and Constants]
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process Programming in C++
2/4/2016Engineering Problem Solving with C++, Second Edition, J. Ingber 1 Engineering Problem Solving with C++, Etter/Ingber Chapter 2 Simple C++ Programs.
Lecture 5: Expressions and Interactivity Professor: Dr. Miguel Alonso Jr. Fall 2008 CGS2423/COP1220.
C++ Data Types Check sample values of? ‘4’
Chapter 3 Numeric Types, Expressions, and Output.
Chapter 3 The New Math. C++ Data Types simple integral charshort intlong bool floating float double Long double enum address pointer reference structured.
CS221 C++ Basics. C++ Data Types structured array struct union class address pointer reference simple integral char short int long bool floating float.
1 A Simple “Hello World” Example #include // input-output library using namespace std; int main() // function main { cout
1 Lecture Three I/O Formatting and Arithmetic Dr. Sherif Mohamed Tawfik.
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
Chapter 3 Numeric Types, Expressions, and Output
Chapter Topics The Basics of a C++ Program Data Types
Chapter 7: Expressions and Assignment Statements
Chapter 2: Introduction to C++
Basic Elements of C++.
Chapter 7: Expressions and Assignment Statements
Basic Elements of C++ Chapter 2.
Lecture 3 Expressions Richard Gesick.
Chapter 3 Operators and Expressions
Presentation transcript:

Data Types, Expressions and Functions (part I)

Topics constants of type int and float evaluating arithmetic expressions implicit type coercion and explicit type conversion calling a value-returning function using function arguments using C++ library functions in expressions

Standard Data Types in C++ Integral Types represent whole numbers and their negatives declared as int, short, or long Floating Types represent real numbers with a decimal point declared as float or double Character Type represents single characters declared as char

Samples of C++ Data Values int sample values 4578 -4578 0 float sample values 95.274 95. .265 9521E-3 -95E-1 95.213E2 char sample values ‘B’ ‘d’ ‘4’ ‘?’ ‘*’

Scientific Notation 2.7E-4 means 2.7 x 10 - 4 = 2.7000 = 27000.0 2.7000 = 27000.0 2.7E-4 means 2.7 x 10 - 4 = 0002.7 = 0.00027

More About Floating Point Values Floating point numbers have an integer part and a fractional part, with a decimal point in between. Either the integer part or the fractional part, but not both, may be missing Examples 18.4 500. .8 -127.358 Alternatively, floating point values can have an exponent, as in scientific notation--the number preceding the letter E doesn’t need to include a decimal point (E can be upper or lower case) Examples 1.84E1 5E2 8E-1 -.127358E3

Division Operator The result of the division operator depends on the type of its operands If one or both operands has a floating point type, the result is a floating point type. Otherwise, the result is an integer type (it truncates!!) Examples 11 / 4 has value 2 11.0 / 4.0 has value 2.75 11 / 4.0 has value 2.75 11.0 / 4 has value 2.75

Find the Middle //*************************************************** // FreezeBoil program // This program computes the midpoint between // the freezing and boiling points of water #include < iostream > using namespace std; const float FREEZE_PT = 32.0; // Freezing point of water const float BOIL_PT = 212.0; // Boiling point of water int main() { float avgTemp; // Holds the result of averaging // FREEZE_PT and BOIL_PT

Find the Middle (continued) cout << “Water freezes at “ << FREEZE_PT << endl; cout << “ and boils at “ << BOIL_PT << “ degrees.” << endl; avgTemp = FREEZE_PT + BOIL_PT; avgTemp = avgTemp / 2.0; cout << “Halfway between is “; cout << avgTemp << “ degrees.” << endl; return 0; }

Modulus Operator The modulus operator % can only be used with integer type operands and always has an integer type result Its result is the integer remainder of an integer division Example 11 % 4 has value 3 because R = ? ) 4 11

More C++ Operators RAM int age; age = 8; age = age + 1; age 8 9

Prefix Form Increment Operator int age; age = 8; ++age; 8 age 9 age

Postfix Form Increment Operator int age; age = 8; age++; 8 age 9 age

Decrement Operator int dogs; dogs = 100; dogs--; 100 dogs 99 dogs

Which Form to Use When the increment(or decrement) operator is used in a “stand alone” statement solely to add one(or subtract one) from a variable’s value, it can be used in either prefix or postfix form USE EITHER dogs--; --dogs;

BUT... You can use increment or decrement operators INSIDE other statements example: y = ++x; example: if ( x ++ > 0) cout << x; You can write very confusing statements! example: x = x ++ + ++ x; // compiles! This is NOT a good idea!!!! Use ++ and -- in standalone statements only! just x++; or --y;

What is an Expression in C++? An expression is a valid arrangement of variables, constants, and operators In C++ each expression is evaluated to a value of a given type The value of the expression 9.3 * 4.5 is 41.85 The type of the expression 9.3 * 4.5 is float

Operators can be binary involving 2 operands 2 + 3 unary involving 1 operand - 3 ternary involving 3 operands don't!

Some of the C++ Operators Precedence Operator Description Higher ( ) Function call + Positive (unary) - Negative (unary) * Multiplication / Division % Modulus(remainder) + Addition (binary) - Subtraction (binary Lower = Assignment

Precedence Precedence determines which operator is applied first in an expression having several operators higher precedence operators are done first

Associativity Left to right associativity means that in an expression having 2 operators with the same priority, the left operator is applied first In C++ the binary operators *, /, %, +, - are all left associative Expression 9 - 5 - 1 means (9 - 5) - 1 4 - 1 3

Evaluate the Expression 7 * 10 - 5 % 3 * 4 + 9 (7 * 10) - 5 % 3 * 4 + 9 70 - 5 % 3 * 4 + 9 70 -(5 % 3) * 4 + 9 70 - 2 * 4 + 9 70 - ( 2 * 4) + 9 70 - 8 + 9 (70 - 8 ) + 9 62 + 9 71

Parentheses Parentheses can be used to change the usual order Parts in() are evaluated first Evaluate (7 *(10 - 5) % 3) * 4 + 9 (7 * 5 % 3 ) * 4 + 9 ( 35 % 3) * 4 + 9 2 * 4 + 9 8 + 9 17

Assignment Operator semantics Variable = Expression First the expression on right is evaluated Then the resulting value is stored in the memory location of variable on left NOTE: An automatic implicit type coercion occurs after evaluation but before the value is stored if the types differ for expression and variable

What value is stored? float a; float b; a = 8.5; b = 9.37; a = b; 8.5

What is stored? float someFloat; ? someFloat = 12; // Causes implicit type conversion = coercion ? 12.0 someFloat

What is stored? int someInt; ? someInt = 4.8; // Causes type coercion and data loss! ? 4 someInt

Type Casting is Explicit Conversion of one Type to another int(4.8) has value 4 float(5) has value 5.0 float(7/4) has value 1.0 float(7) / float(4) has value 1.75

Some Expressions age = 8 8 - age - 8 5 + 8 13 5 / 8 0 6.0 / 5.0 1.2 int age; Example Value age = 8 8 - age - 8 5 + 8 13 5 / 8 0 6.0 / 5.0 1.2 float(4 / 8) 0.0 float(4) / 8 0.5

What values are stored? float loCost; float hiCost; loCost = 12.342; float(int(loCost * 100.0 + 0.5)) / 100.0; hiCost = float(int(hiCost * 100.0 + 0.5)) / 100.0;

Values were rounded to 2 decimal places loCost 12.34 12.35 hiCost

Functions Recall every C++ program must have a function called main Program execution always begins with function main Any other functions must be called by your code to be executed

Two types of functions Value-returning functions Void functions called to produce ONE value which is returned to the caller example: x = sqrt(y); Void functions called to accomplish a job, no value returned to user example: rectangle (x1, y1, x2, y1);

Function Calls One function calls another by using the name of the called function together with() containing an argument list x = sqrt (25.0); circle (x, y, radius); A function call temporarily transfers control from the calling function to the called function (that's why it's a control structure)

Value-Returning Functions HEADER FILE FUNCTION EXAMPLE VALUE OF CALL <cstdlib> abs(i) abs(-6) 6 <cmath> pow(x,y) pow(2.0,3.0) 8.0 fabs(x) fabs(-6.4) 6.4 <cmath> sqrt(x) sqrt(100.0) 10.0 sqrt(x) sqrt(2.0) 1.41421 <cmath> log(x) log(2.0) .693147

Some Mathematical Library Functions (continued)

Write C++ Expressions for The square root of b2 - 4ac sqrt(b * b - 4.0 * a * c) The square root of the average of myAge and yourAge sqrt((myAge + yourAge) / 2)

Example: sqrt Function Function sqrt as a “black box” Square root function X is 16.0 Result is 4.0

Function Call Semantics First the arguments are copied into memory set aside for the corresponding parameters. Then control transfers to the called function’s code When the function’s code has finished executing, the parameters are deallocated (their memory is freed up) and control is transferred back to the calling statement (if is value-returning, brings back the return value to the calling statement)

Value-returning Function Call Syntax FunctionName ( Argument List ) The argument list is a way for functions to communicate with each other by passing information - FROM caller TO called function The argument list can contain zero, one, or more arguments, separated by commas, depending on the function

Value-returning Function Call Syntax (cont'd) The function call is always part of another statement an assignment statement x = sqrt(y); an output statement cout << sqrt(x); (later) an if or a while condition if (sqrt (x) > 50) ...