Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems.

Slides:



Advertisements
Similar presentations
Dale/Weems/Headington
Advertisements

Dale/Weems/Headington
C++ Data Type String A string is a sequence of characters enclosed in double quotes. Examples of strings: “Hello” “CIS 260” “Students” The empty string.
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.
Chapter 2: Basic Elements of C++
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.
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.
Chapter 2: Basic Elements of C++
Chapter 2: Introduction to C++.
Chapter 2: Basic Elements of C++
Data Types, Expressions and Functions (part I)
Basic Elements of C++ Chapter 2.
CSC 125 Introduction to C++ Programming Chapter 2 Introduction to C++
Elements of a C++ program 1. Review Algorithms describe how to solve a problem Structured English (pseudo-code) Programs form that can be translated into.
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.
IXA 1234: C++ PROGRAMMING CHAPTER 2: PROGRAM STRUCTURE.
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.
Chapter 2 Overview of C++. A Sample Program // This is my first program. It calculates and outputs // how many fingers I have. #include using namespace.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 2: Basic Elements of C++
1 C++ Syntax and Semantics, and the Program Development Process.
Chapter 2. C++ Program Structure C++ program is a collection of subprograms Subprograms in C++ are called FUNCTIONS Each function performs a specific.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems/Headington.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems.
C++ Programming: Basic Elements of C++.
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
Copyright © 2012 Pearson Education, Inc. Chapter 2: Introduction to C++
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems.
Chapter 2 C++ Syntax and Semantics, and the Program Development Process.
Introduction to C++ Basic Elements of C++. C++ Programming: From Problem Analysis to Program Design, Fourth Edition2 The Basics of a C++ Program Function:
1 Chapter 3 Numeric Types, Expressions, and Output.
THE BASICS OF A C++ PROGRAM EDP 4 / MATH 23 TTH 5:45 – 7:15.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 2: Introduction to C++
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.
CHAPTER 2 C++ SYNTAX & SEMANTICS #include using namespace std; int main() { cout
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
Chapter 2: Introduction to C++. Outline Basic “Hello World!!” Variables Data Types Illustration.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 2: Basic Elements of C++
1 What is a Named Constant? A named constant is a location in memory that we can refer to by an identifier, and in which a data value that cannot be changed.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process Programming in C++
C++ Data Types Check sample values of? ‘4’
Chapter 3 Numeric Types, Expressions, and Output.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Introduction to C++
Chapter 2 C++ Syntax and Semantics, and the Program Development Process Topics – Programs Composed of Several Functions – Syntax Templates – Legal C++
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 C Syntax and Semantics Dr. Sherif Mohamed Tawfik Lecture Two.
1 Chapter 3 Numeric Types, Expressions, and Output Dale/Weems/Headington.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 2: Basic Elements of C++
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 2-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
2.1 The Part of a C++ Program. The Parts of a C++ Program // sample C++ program #include using namespace std; int main() { cout
Chapter 3 Numeric Types, Expressions, and Output
Chapter Topics The Basics of a C++ Program Data Types
Chapter 2: Introduction to C++
Chapter 2 Topics Programs Composed of Several Functions
Basic Elements of C++.
Basic Elements of C++ Chapter 2.
2.1 Parts of a C++ Program.
Chapter 2: Introduction to C++.
Subject:Object oriented programming
Presentation transcript:

Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems

C++ Date Types Legal C++ Identifiers Assigning Values to Variables Declaring Named Constants Strings Output Statements Creating a Chessboard Example

A C++ program is a collection of one or more functions There must be a function called main() Execution always begins with the first statement in function main() Any other functions in your program are subprograms and are not executed until they are called

Program With Several Functions main function square function cube function

Program With Three Functions #include <iostream> int Square(int); // Declares these two int Cube(int); // value-returning functions using namespace std; int main() { 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) int Cube(int n) { return n * n; } return n * n * n;

Output of program The square of 27 is 729 The cube of 27 is 19683

Shortest C++ Program int main() { return 0; } type of returned value name of function

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

Block(Compound Statement) A block is a sequence of zero or more statements enclosed by a pair of curly braces { } SYNTAX { Statement (optional) . }

Every C++ function has 2 parts int main() heading { body block return 0; } 11

C++ Data Types simple structured address integral enum floating float double long double array struct union class char short int long bool address pointer reference

C++ Simple Data Types simple types integral floating char short int long bool enum float double long double unsigned

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 Types represent single characters declared as char

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

What is an Identifier? An identifier is the name used for a data object(a variable or a constant), or for a function, in a C++ program Beware: C++ is a case-sensitive language Using meaningful identifiers is a good programming practice

Identifiers age_of_dog taxRateY2K An identifier must start with a letter or underscore, and be followed by zero or more letters (A-Z, a-z), digits(0-9), or underscores VALID age_of_dog taxRateY2K PrintHeading ageOfHorse NOT VALID (Why?) age# 2000TaxRate Age-Of-Cat

More About Identifiers Some C++ compilers recognize only the first 32 characters of an identifier as significant Then these identifiers are considered the same: age_Of_This_Old_Rhinoceros_At_My_Zoo age_Of_This_Old_Rhinoceros_At_My_Safari Consider these: Age_Of_This_Old_Rhinoceros_At_My_Zoo

What is a Variable? A variable is a location in memory that can be referred to by an identifier and in which a data value that can be changed is stored Declaring a variable means specifying both its name and its data type

What Does a Variable Declaration Do? int ageOfDog; float taxRate; char middleInitial; A declaration tells the compiler to allocate enough memory to hold a value of this data type and to associate the identifier with this location 4 bytes for taxRateY2K 1 byte for middleInitial

Giving a Value to a Variable Assign(give)a value to a variable by using the assignment operator = Variable declarations string firstName; char middleInitial; char letter; int ageOfDog; Valid assignment statements firstName = “Fido”; middleInitial = ‘X’; letter = middleInitial; ageOfDog = 12;

Assignment Operator Syntax Variable = Expression Done first Done second Expression is evaluated Result is stored in variable 22

Assignment Operator Challenge Suppose you have two ints and you want to swap their values. How do you do it? How do you do it without using temporary storage (think about it)? 23

What is a Named Constant? A named constant is a location in memory that can be referred to by an identifier and in which a data value that cannot be changed is stored Valid constant declarations const string STARS = “****”; const float NORMAL_TEMP = 98.6; const char BLANK = ‘ ’; const int VOTING_AGE = 18; const float MAX_HOURS = 40.0;

C++ Data Type String Sample string values “Hello” “Year 2000” “1234” A string is a sequence of characters enclosed in double quotes Sample string values “Hello” “Year 2000” “1234” The empty string(null string)contains no characters and is written as “”

More About Type String A string is not a built-in(standard)type It is a programmer-defined data type It is provided in the C++ standard library String operations include Comparing 2 string values Searching a string for a particular character Joining one string to another

length Function Function length returns an unsigned integer value that equals the number of characters currently in the string You must use dot notation in the call to function length

find Function Function find returns an unsigned integer value that is the beginning position for the first occurrence of a particular substring within the string The substring argument can be a string constant, a string expression, or a char value If the substring was not found, function find returns the special value string::npos, or -1.

substr Function Function substr returns a particular substring of a string The first argument is an unsigned integer that specifies a starting position within the string The second argument is an unsigned integer that specifies the length of the desired substring Positions of characters within a string are numbered starting from 0, not from 1

String Concatenation(+) Concatenation is a binary operation that uses the + operator At least one of the operands must be a string variable or named string constant--the other operand can be a string literal or a char variable, literal, or constant

Concatenation Example const string WHEN = “Tomorrow”; const char EXCLAMATION = ‘!’; string message1; string message2; message1 = “Yesterday “; message2 = “and “; message1 = message1 + message2 + WHEN + EXCLAMATION;

What is an Expression in C++? An expression is a valid arrangement of variables, constants, and operators In C++ each expression can be evaluated to compute a value of a given type The value of the expression 9 + 5 is 14

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 (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

Recall Assignment Operator Syntax Variable = Expression First, Expression on right is evaluated Then the resulting value is stored in the memory location of Variable on left NOTE: An automatic 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 ? 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

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 Some Expressions

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

Insertion Operator(<<) Variable cout is predefined to denote an output stream that goes to the standard output device(display screen) The insertion operator << called “put to” takes 2 operands The left operand is a stream expression, such as cout The right operand is an expression of a simple type or a string constant

Output Statements SYNTAX These examples yield the same output: cout << “The answer is “; cout << 3 * 4; cout << “The answer is “ << 3 * 4; cout << Expression << Expression . . .;

Output Statements Read section 3.6 in the textbook for more about formatting output.

Is compilation the first step? No; before your source program is compiled, it is first examined by the preprocessor that removes all comments from source code handles all preprocessor directives--they begin with the # character such as #include <iostream> This include tells the preprocessor to look in the standard include directory for the header file called iostream and insert its contents into your source code

No I/O is built into C++ Instead, a library provides an output stream Screen executing program ostream 51

Using Libraries A library has 2 parts #include <iostream> Interface(stored in a header file)tells what items are in the library and how to use them Implementation(stored in another file)contains the definitions of the items in the library #include <iostream> Refers to the header file for the iostream library needed for use of cout and endl.

Function Concept in Math Name of function Parameter of function Function definition f(x) = 5 x - 3 When x = 1, f(x)= 2 is the returned value When x = 4, f(x)= 17 is the returned value Returned value is determined by the function definition and by the values of any parameters

C++ Program // ****************************************************** // PrintName program // This program prints a name in two different formats #include <iostream> // for cout and endl #include <string> // for data type string using namespace std; const string FIRST = “Herman”; // Person’s first name const string LAST = “Smith”; // Person’s last name const char MIDDLE = ‘G’; // Person’s middle initial

C++ Code Continued int main() { string firstLast; // Name in first-last format string lastFirst; // Name in last-first format firstLast = FIRST + “ “ + LAST; cout << “Name in first-last format is “ << endl << firstLast << endl; lastFirst = LAST + “, “ + FIRST + ’ ’; << lastFirst << MIDDLE << ’.’ << endl; return 0; }

Output of Program Name in first-last format is Herman Smith Name in last-first-initial format is Smith, Herman G.

Creating a Chessboard Problem Your college is hosting a chess tournament, and the people running the tournament want to record the final positions of the pieces in each game on a sheet of paper with a chessboard preprinted on it. Your job is to write a program to preprint these pieces of paper. The chessboard is an eight-by-eight pattern of squares that alternate between black and white, with the upper left square being white. You need to print out squares of light characters(spaces)and dark characters(such as *)in this pattern to form the chessboard.

Chessboard Constants Variables Name Value Function BLACK ‘********’ Characters forming one line of a black square WHITE ‘ ’ Characters forming one line of a white square Variables Name Data Type Description whiteRow string A row beginning with a white square blackRow string A row beginning with a black square

Algorithm Repeat four times Output five whiteRows Output five blackRows

C++ Program //***************************************************** // Chessboard program // This program prints a chessboard pattern that is // built up from basic strings of white and black // characters. #include <iostream> #include <string> using namespace std; const string BLACK = "********"; // Define black square line const string WHITE = " "; // Define white square line

C++ Program int main() { string whiteRow; // White square beginning row string blackRow; // Black square beginning row // Create a white-black row whiteRow = WHITE + BLACK + WHITE + BLACK + WHITE + BLACK + WHITE + BLACK; // Create a black-white row blackRow = BLACK + WHITE + BLACK + WHITE + BLACK + WHITE + BLACK + WHITE;

C++ Program // Print five white-black rows cout << whiteRow << endl; // Print five black-white rows cout << blackRow << endl; // Print rest of the rows ... return 0; }