Chapter 3 Arithmetic Expressions, Function Calls, and Output

Slides:



Advertisements
Similar presentations
CPS120: Introduction to Computer Science INPUT/OUTPUT.
Advertisements

Dale/Weems/Headington
More Review, with Some New Chapter 3. Review C++ simple data types – Integral and float – Arithmetic operators Expressions and expression evaluation –
Numeric Types, Expressions, and Output ROBERT REAVES.
1 Lecture 6 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
1 Lecture-4 Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems/Headington.
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.
Input/Output Main Memory istream ostream Disk Drive Keyboard Scanner Disk Drive Monitor Printer stream = sequence of bytes.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems/Headington.
1 Chapter 3 Topics Constants of Type int and float l Evaluating Arithmetic Expressions l Implicit Type Coercion and Explicit Type Conversion l Calling.
How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 3: Input/Output.
1 Lecture 7 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
Chapter 3: Input/Output
Data Types, Expressions and Functions (part I)
Input and Output in Console Mode UNIVERSITY OF THE PUNJAB (GUJRANWALA CAMPUS) ADNAN BABAR MT14028 CR
Expressions and Interactivity Chapter 3. 2 The cin Object Standard input object Like cout, requires iostream file Used to read input from keyboard Often.
Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems.
Due Dates Quiz 1, 2 : Friday September 11 th Quiz 3 : Friday September 18 th Quiz 4 : Monday September 28 th Lab 1, 2 and 3 : Friday Sep 11 th Project.
Chapter 3 COMPLETING THE BASICS Programming Fundamentals with C++1.
CHAPTER 3 INPUT/OUTPUT. In this chapter, you will:  Learn what a stream is and examine input and output streams  Explore how to read data from the standard.
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.
C++ Programming: Program Design Including Data Structures, Fifth Edition Chapter 3: Input/Output.
1 Programs Composed of Several Functions Syntax Templates Legal C++ Identifiers Assigning Values to Variables Declaring Named Constants String Concatenation.
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
Lecture no 3 Control statements.
1 C++ Syntax and Semantics, and the Program Development Process.
Chapter 3 Assignment, Formatting, and Interactive Input C++ for Engineers and Scientists Third Edition.
C++ Programming: Basic Elements of C++.
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
Functions Modules in C++ are called functions and classes Functions are block of code separated from main() which do a certain task every C++ program must.
Introduction to C++ Version 1.1. Topics C++ Structure Primitive Data Types I/O Casting Strings Control Flow.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 3: Input/Output.
1 Chapter 3 Numeric Types, Expressions, and Output.
I/O and Data Formatting Introduction to Class Concepts INFSY 307 Spring 2003 Lecture 3.
Input/Output Sujana Jyothi C++ Workshop Day 2. C++ I/O Basics 2 I/O - Input/Output is one of the first aspects of programming that needs to be mastered:
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
Chapter 3: Assignment, Formatting, and Interactive Input.
C++ for Engineers and Scientists Second Edition Chapter 3 Assignment, Formatting, and Interactive Input.
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.
Chapter 3: Input/Output
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
Programming Fundamentals with C++1 Chapter 3 COMPLETING THE BASICS.
Chapter 3 Assignment, Formatting, and Interactive Input C++ for Engineers and Scientists Third Edition.
Chapter 3: Input/Output. Objectives In this chapter, you will: – Learn what a stream is and examine input and output streams – Explore how to read data.
1 Manipulators manipulators are used only in input and output statements endl, fixed, showpoint, setw, and setprecision are manipulators that can be used.
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.
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: Input/Output. Objectives In this chapter, you will: – Learn what a stream is and examine input and output streams – Explore how to read data.
Chapter 3 Numeric Types, Expressions, and Output
C++ Basic Input and Output (I/O)
Arithmetic Expressions Function Calls Output
CPS120: Introduction to Computer Science
CPS120: Introduction to Computer Science
Input/Output Handouts: Quiz 2, Unit 3 practice sheets.
Chapter 3: Input/Output
C++ for Engineers and Scientists Second Edition
Chapter 3 The New Math.
Programming Fundamental-1
Presentation transcript:

Chapter 3 Arithmetic Expressions, Function Calls, and Output Programming in C++ Chapter 3 Arithmetic Expressions, Function Calls, and Output

What is an Expression in C++? An expression is any valid combination of operators and operands. In C++ each expression has a value.

Operators can be binary involving 2 operands 2 + 3 unary involving 1 operand - 3 ternary involving 3 operands later

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

Precedence Higher Precedence determines which operator is applied first in an expression having several operators.

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 means (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 Syntax VariableName = Expression First, Expression on right is evaluated. Then the resulting value is stored in the memory location of VariableName on left. NOTE: An automatic type coercion occurs after evaluation but before the value is stored if the types differ for Expression and VariableName

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 ? 12.0 SomeFloat

What is stored? int SomeInt; ? SomeInt = 4.8; // causes implicit type conversion ? 4 SomeInt

Type Casting is Explicit Conversion of Type 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

<iostream.h> is header file for a library that defines 3 objects an istream object named cin (keyboard) an ostream object named cout (screen) an ostream object named cerr (screen)

No I/O is built into C++ Instead, a library provides input stream and output stream Keyboard Screen executing program istream ostream

>> is a binary operator >> is called the input or extraction operator >> is left associative EXPRESSION HAS VALUE cin >> Age cin STATEMENT cin >> Age >> Weight ;

<< is a binary operator << is called the output or insertion operator << is left associative EXPRESSION HAS VALUE cout << Age cout STATEMENT cout << “You are “ << Age << “ years old\n” ;

Some Expressions int Age; EXAMPLE VALUE Age = 8 8 - Age - 8 5 + 8 13 5 + 8 13 5 / 8 0 6.0 / 5.0 1.2 float ( 4 / 8 ) 0.0 float ( 4 ) / 8 0. 5 cout << “How old are you?” cout cin >> Age cin cout << Age cout

What values are stored? float LoCost; float HiCost; LoCost = 12.342; LoCost = 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 Every C program must have a function called main ( ) Program execution always begins with function main ( ) Any other functions are subprograms and must be called.

What is in a block? { 0 or more statements here }

Function Calls One function calls another by using the name of the called function together with ( ) containing a parameter list A function call temporarily transfers control from the calling function to the called function

Parts of a Function Every function has 2 parts int main (void) heading { body block return 0; }

What is in a heading? int main (void) type of returned value name of function says no parameters int main (void)

More about functions It is not considered good practice for the body block of main ( ) to be long. Function calls are used to do tasks Every C++ function has a return type If the return type is not void, the function returns a value to the calling block.

Where are functions? located in libraries OR written by programmers

HEADER FILE FUNCTION EXAMPLE VALUE OF CALL <stdlib.h> abs(i) abs(-6) 6 fabs(x) fabs(-6.4) 6.4 <math.h> pow(x,y) pow(2.0,3.0) 8.0 <math.h> sqrt(x) sqrt(100.0) 10.0 sqrt(x) sqrt(2.0) 1.41421 <math.h> log(x) log(2.0) .693147 <iomanip.h> setprecision(n) setprecision(3)

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 )

Manipulators Manipulators are used only in input and output statements. endl, setw, and setprecision are manipulators that can be used to control output format. endl is use to terminate the current output line, and create blank lines in output.

Insertion Operator ( << ) The insertion operator << takes 2 operands. The left operand is a stream expression, such as cout. The right operand is an expression of simple type, or a string, or a manipulator.

Output Statements SYNTAX (revised) cout << ExprOrStringOrManipulator << ExprOrStringOrManipulator . . . ;

setprecision(n) requires #include <iomanip.h> and appears in an expression using insertion operator (<<) specifies n as the number of places displayed after the decimal point for floating point values remains in effect until explicitly changed by another call to setprecision

What is exact output? #include <iomanip.h> #include <iostream.h> int main ( void) { float myNumber = 123.4587 ; cout.setf ( ios::fixed , ios::floatfield ) ; // use decimal format cout.setf ( ios::showpoint ) ; // print decimal point cout << “Number is ” << setprecision ( 3 ) << myNumber << endl ; return 0 ; }

OUTPUT Number is 123.459 value is rounded if necessary to be displayed with exactly 3 places after the decimal point

To Remember To cause your program to output numbers that have a decimal point to a certain number of decimal places cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2); Any output after these statements will have the precision as indicated

setw(n) requires #include <iomanip.h> and appears in an expression using insertion operator (<<) affects only the very next item displayed “set width” specifies n as the number of total columns in which to display a number or string (not char data). Parameter n is called the fieldwidth specification. The number of columns used is expanded if n is too narrow. is useful to align columns of output

What is exact output? #include <iomanip.h> #include <iostream.h> int main ( void) { float myNumber = 123.4 ; float yourNumber = 3.14159 ; cout.setf ( ios::fixed , ios::floatfield ) ; // use decimal format cout.setf ( ios::showpoint ) ; // print decimal point cout << “Numbers are: ” << setprecision ( 4 ) << endl << setw ( 10 ) << myNumber << endl << setw ( 10 ) << yourNumber << endl ; return 0 ; }

OUTPUT Numbers are: 123.4000 3.1416 each is displayed right-justified and rounded if necessary and each is located in a total of 10 columns with 4 places after the decimal point

Using setf( ) setf( ) is a function associated with output streams. To call this function use this syntax DesiredOutputStream.setf( ParameterList ) ; setf( ) can be used to print the decimal point (even if there are trailing zeros) for floating values that are output, and to specify that the value be printed with a fixed position decimal point (rather than in scientific notation).

cout.setf( ) statements Use the following statements to specify that (for output sent to the cout stream) decimal format (not scientific notation) be used, and that a decimal point be included (even for floating values with 0 as fractional part). cout.setf( ios :: fixed, ios :: floatfield ) ; cout.setf( ios :: showpoint ) ;

More examples 312.0 4.827 x y float x = 312.0 ; float y = 4.827 ; cout.setf ( ios::fixed , ios::floatfield ) ; cout.setf ( ios::showpoint ) ; OUTPUT cout << setprecision ( 2 ) << setw ( 10 ) << x << endl ’’’’ 3 1 2.00 << setw ( 10 ) << y << endl ; ’’’’’’ 4.83 cout << setprecision ( 1 ) << setw ( 10 ) << x << endl ’’’’’ 3 1 2.0 << setw ( 10 ) << y << endl ; ’’’’’’’ 4.8 cout << setprecision ( 5 ) << setw ( 7 ) << x << endl 3 1 2.00000 << setw ( 7 ) << y << endl ; 4.82700

Program with several functions main( ) function Square( ) function Cube( ) function

Value-returning functions #include <iostream.h> int Square ( int ) ; // declares these 2 functions int Cube ( int ) ; int main ( void ) { cout << “The square of 27 is “ << Square (27) << endl ; // function call cout << “The cube of 27 is “ << Cube (27) << endl ; // function call return 0 ; }

Rest of Program int Square ( int n ) // header and body here { return n * n ; } int Cube ( int n ) // header and body here return n * n * n ;

A void function call stands alone #include <iostream.h> void DisplayMessage ( int n ) ; // declares function int main(void) { DisplayMessage( 15 ) ; //function call cout << “Good Bye“ << endl ; return 0 ; }

A void function does NOT return a value void DisplayMessage ( int n ) // header and body here { cout << “I have liked math for “ << n << “ years” << endl ; }