A First Book of C++ Chapter 1 Getting Started Objectives • In this chapter, you will learn about: – Introduction to Programming – Function and Class Names – The cout Object – Programming Style – Common Programming Errors – Software Development A First Book of C++ 4th Edition 2 Introduction to Programming • Computer program – Data and instructions used to operate a computer • Programming – Writing computer program in a language that the computer can respond to and that other programmers can understand • Programming language – Set of instructions, data, and rules used to construct a program • High-level languages • Low-level languages A First Book of C++ 4th Edition 3 Introduction to Programming (cont’d.) • Procedural language – Instructions are used to create self-contained units (procedures) – Procedures accept data as input and transform data to produce a specific result as an output – Initially, high-level programming languages were predominately procedural A First Book of C++ 4th Edition 4 Introduction to Programming (cont’d.) A First Book of C++ 4th Edition 5 Introduction to Programming (cont’d.) • Object-oriented languages – Program must define objects that it is manipulating – Such definitions include: • The general characteristics of objects • Specific operations to manipulate objects • C++ is an object-oriented language – Has procedures and objects – Supports code reuse A First Book of C++ 4th Edition 6 Introduction to Programming (cont’d.) • C++ began as extension to C – C is a procedural language developed in the 1970s at AT&T Bell Laboratories • In early 1980s, Bjarne Stroustrup (also at AT&T) used his background in simulation languages to develop C++ • Object-orientation and other procedural improvements were combined with existing C language features to form C++ A First Book of C++ 4th Edition 7 Algorithms and Procedures • Before writing a program, a programmer must clearly understand: – What data is to be used – The desired result – The procedure needed to produce this result • The procedure is referred to as an algorithm – Step-by-step sequence of instructions describing how to perform a computation A First Book of C++ 4th Edition 8 Algorithms and Procedures (cont’d.) • Assume that a program must calculate the sum of all whole numbers from 1 through 100 • A computer: – Cannot respond to heuristic command: “Add the numbers from 1 - 100” – Is an algorithm-responding machine and not a heuristic-responding machine • Several methods or algorithms can be used to find the required sum A First Book of C++ 4th Edition 9 A First Book of C++ 4th Edition 10 A First Book of C++ 4th Edition 11 A First Book of C++ 4th Edition 12 A First Book of C++ 4th Edition 13 Classes and Objects • Data object – Set of values packaged as single unit • Class – Set of objects with similar attributes • General concept of object-oriented programming is difference between an object and the larger set of which it is a member (class) • A red, Ford Taurus sedan is an instance, or object, of a general class of automobiles A First Book of C++ 4th Edition 14 Program Translation • C++ source program – Set of instructions written in C++ language • Machine language – Internal computer language – Consists of a series of 1s and 0s • Source program cannot be executed until it is translated into machine language – Interpreted language translates one statement at a time (BASIC – Perl) – Compiled language translates all statements together A First Book of C++ 4th Edition 15 Program Translation (cont'd.) A First Book of C++ 4th Edition 16 Program Translation (cont'd.) A First Book of C++ 4th Edition 17 Function and Class Names • Modular programs – Segments arranged in logical order to form an integrated unit • Module – Segments of modular program • Function: Name of a C++ procedure – Composed of sequence of C++ instructions – Function interface is its inputs and results – Method of converting input to results is encapsulated and hidden within function A First Book of C++ 4th Edition 18 Function and Class Names (cont'd.) A First Book of C++ 4th Edition 19 Function and Class Names (cont'd.) A First Book of C++ 4th Edition 20 Function and Class Names (cont'd.) • An important requirement for designing a good function or class is giving it a name that conveys some idea of what the function or class does. • The names allowed for functions and classes are also used to name other elements of the C++ language and are collectively referred to as identifiers. • Identifiers can be made up of any combination of letters, digits, and underscores ( _ ) selected according to the following rules: A First Book of C++ 4th Edition 21 Function and Class Names (cont'd.) • Identifiers – Names that convey an idea of the purpose of function or class • Identifier composition rules – First character must be a letter or underscore – Only letter, digit, or underscore may follow – Blank spaces aren’t allowed – Separate words in a multiple-word identifier are indicated by capitalizing the first letter of one or more of the words – Should be a mnemonic – Maximum of 1024 characters – Cannot be one of the keywords listed in Table 1.1 A First Book of C++ 4th Edition 22 Function and Class Names (cont'd.) A First Book of C++ 4th Edition 23 Function and Class Names (cont'd.) • Examples of valid identifiers: grosspay taxCalc addNums degToRad multByTwo salesTax netPay bessel A First Book of C++ 4th Edition 24 Function and Class Names (cont'd.) • Examples of invalid identifiers: 4ab3 (begins with a number) e*6 (contains a special character) while (is a keyword) A First Book of C++ 4th Edition 25 Function and Class Names (cont'd.) • In addition to conforming to C++’s identifier rules, a C++ function name must always be followed by parentheses. • Function names can also consist of mixed uppercase and lowercase letters, as in locateMaximum(). • C++ is a case-sensitive language, meaning the compiler distinguishes between uppercase and lowercase letters. • Therefore, in C++, the names TOTAL, total, and TotaL are three different identifiers. A First Book of C++ 4th Edition 26 The main() Function • Each C+ program must have one and only one function named main • Called a driver function because it drives the other modules A First Book of C++ 4th Edition 27 The main() Function (cont'd.) A First Book of C++ 4th Edition 28 The main() Function (cont'd.) • First line of function is called header line – What type of data, if any, is returned from function – The name of function – What type of data, if any, is sent into function • Data transmitted into function at runtime are referred to as arguments of function A First Book of C++ 4th Edition 29 The main() Function (cont'd.) A First Book of C++ 4th Edition 30 The cout Object • The cout object sends data to the standard output display device – The display device is usually a video screen – Name derived from Console OUTput and pronounced “see out” • Data is passed to cout by the insertion symbol – cout << “Hello there, World!”; A First Book of C++ 4th Edition 31 The cout Object (cont’d.) A First Book of C++ 4th Edition 32 The cout Object (cont’d.) • Preprocessor command – Performs an action before the compiler translates source code to machine code – Example: #include <iostream> – Causes the iostream file to be inserted wherever the #include command appears • iostream is part of the C++ standard library – Included in iostream are two important classes: • istream: Declarations and methods for data input • ostream: Declarations and methods for data output A First Book of C++ 4th Edition 33 The cout Object (cont’d.) • Namespace – File accessed by compiler when looking for prewritten classes or functions • Sample namespace statement: – using namespace std; – iostream contained in a namespace called std – Compiler uses iostream’s cout object from std whenever cout is referenced A First Book of C++ 4th Edition 34 The cout Object (cont’d.) A First Book of C++ 4th Edition 35 The cout Object (cont’d.) • Newline escape sequence – Instructs the display device to move to a new line – Caused when the characters backslash \ and n are used together – Backslash provides an “escape” from the normal interpretation of the character that follows • Newline escape sequences can be placed anywhere within a message to cout A First Book of C++ 4th Edition 36 The cout Object (cont’d.) A First Book of C++ 4th Edition 37 Programming Style • Every C++ program must contain one and only one main() function – Statements included within braces { } • C++ allows flexibility in format for the word main, the parentheses ( ), and braces { } – More than one statement can be put on line – One statement can be written across lines • Use formatting for clarity and ease of program reading A First Book of C++ 4th Edition 38 Programming Style (cont’d.) • Function name starts in column 1 – Name and parentheses on their own line • Opening brace of function body on next line – Aligned with first letter of function name • Closing brace is last line of function – Aligned with opening brace • Standard form highlights the function as a unit A First Book of C++ 4th Edition 39 Programming Style (cont’d.) • Within function, indent statements 2-3 spaces – Creates uniform look for similar statement groups – Good programming practice • Final program form should be consistent – Proper format improves program readability and understandability A First Book of C++ 4th Edition 40 Comments • Explanatory remarks written within program – Clarify purpose of the program – Describe objective of a group of statements – Explain function of a single line of code • Computer ignores all comments – Comments exist only for convenience of reader • A well-constructed program should be readable and understandable – Comments help explain unclear components A First Book of C++ 4th Edition 41 Comments (cont’d.) • Line comment – Begins with two slashes(//) and continues to the end of the line – Can be written on line by itself or at the end of line that contains program code // this is a line comment • Block comment – Multiple-line comment begins with the symbols /* and ends with the symbols */ /* This is a block comment that spans three lines */ A First Book of C++ 4th Edition 42 Common Programming Errors • Omitting parentheses after main() • Omitting or incorrectly typing the opening brace { – Opening brace signifies start of function body • Omitting or incorrectly typing the closing brace } – Closing brace signifies end of function • Omitting the semicolon at the end of each statement • Adding a semicolon after the #include <iostream> preprocessor command A First Book of C++ 4th Edition 43 Common Programming Errors (cont'd.) • Misspelling the name of an object or function – Example: Typing cot instead of cout • Forgetting to close a string sent to cout with a double-quote symbol • Forgetting \n to indicate a new line A First Book of C++ 4th Edition 44 Summary • A C++ program consists of one or more modules – One module must be the function main() – main() is starting point of C++ program • The simplest C++ program has the form: #include <iostream> using namespaces std; int main() { program statements; return 0; } A First Book of C++ 4th Edition 45 Summary (cont'd.) • C++ statements are terminated by a semicolon • Standard library contains many functions and classes – Standard Library provided with C++ compiler – Includes <iostream> for input and output • cout object displays text or numeric results – Stream of characters is sent to cout by: • Enclosing characters in double quotes • Using the insertion (“put to”) operator, << A First Book of C++ 4th Edition 46 Chapter Supplement: Software Development • Professional software developers use the software development procedure – For understanding the problem to be solved and for creating an effective, suitable software solution • Consists of three overlapping phases: – Development and design – Documentation – Maintenance A First Book of C++ 4th Edition 47 Phase I: Development and Design A First Book of C++ 4th Edition 48 Phase II: Documentation • Every problem solution has five main documents: – Program description – Algorithm development and changes – Well-commented program listing – Sample test runs – Users’ manual A First Book of C++ 4th Edition 49 Phase III: Maintenance • Phase is concerned with: – Ongoing correction of problems – Revisions to meet changing needs – Addition of new features A First Book of C++ 4th Edition 50 Chapter Supplement: Backup • Not part of the formal design process • Keeping backup copies of the program at each step of the programming and debugging process is critical • With backup copies, you can recover the last stage of work with little effort A First Book of C++ 4th Edition 51