410 likes | 536 Views
Programming 1. Overview of C++ Language. Objectives. A typical C++ program-development environment. Study variables How to declare How to use Become familiar with the basic components of a C++ program, including identifiers. Typical C++ Development Environment.
E N D
Programming 1 Overview of C++ Language
Objectives • A typical C++ program-development environment. • Study variables • How to declare • How to use • Become familiar with the basic components of a C++ program, including identifiers
Typical C++ Development Environment • C++ systemsgenerally consist of three parts: a program development environment, the language and the C++ Standard Library. • C++ programs typically go through six phases: edit, preprocess, compile, link, load and execute.
Typical C++ Development Environment (Cont.) • Phase 1 consists of editing a file with an editor program, normally known simply as an editor. • Type a C++ program (source code) using the editor. • Make any necessary corrections. • Save the program. • C++ source code filenames often end with the .cpp, .cxx, .cc or .C extensions (note that C is in uppercase) which indicate that a file contains C++ source code.
Typical C++ Development Environment (Cont.) • Linux editors: vi and emacs. • C++ software packages for Microsoft Windows such as Microsoft Visual C++ (microsoft.com/express) have editors integrated into the programming environment. • You can also use a simple text editor, such as Notepad in Windows, to write your C++ code. • integrated development environments (IDEs) • Provide tools that support the software-development process, including editors for writing and editing programs and debuggers for locating logic errors-errors that cause programs to execute incorrectly.
Typical C++ Development Environment (Cont.) • Popular IDEs • Microsoft® Visual Studio 2010 Express Edition • Dev C++ • NetBeans • Eclipse • CodeLite
Typical C++ Development Environment (Cont.) • In phase 2, you give the command to compile the program. • A preprocessor program executes automatically before the compiler’s translation phase begins (so we call preprocessing Phase 2 and compiling Phase 3). • The C++ preprocessor obeys commands called preprocessor directives, which indicate that certain manipulations are to be performed on the program before compilation. • These manipulations usually include other text files to be compiled, and perform various text replacements. • The most common preprocessor directives are discussed in the early chapters; a detailed discussion of preprocessor features appears in Appendix E, Preprocessor.
Typical C++ Development Environment (Cont.) • In Phase 3, the compiler translates the C++ program into machine-language code-also referred to as object code.
Typical C++ Development Environment (Cont.) • Phase 4 is called linking. • The object code produced by the C++ compiler typically contains “holes” due to these missing parts. • A linker links the object code with the code for the missing functions to produce an executable program. • If the program compiles and links correctly, an executable image is produced.
Typical C++ Development Environment (Cont.) • Phase 5 is called loading. • Before a program can be executed, it must first be placed in memory. • This is done by the loader, which takes the executable image from disk and transfers it to memory. • Additional components from shared libraries that support the program are also loaded.
Typical C++ Development Environment (Cont.) • Phase 6: Execution • Finally, the computer, under the control of its CPU, executes the program one instruction at a time. • Some modern computer architectures can execute several instructions in parallel.
Typical C++ Development Environment (Cont.) • Problems That May Occur at Execution Time • Programs might not work on the first try. • Each of the preceding phases can fail because of various errors that we’ll discuss throughout this book. • If this occurred, you’d have to return to the edit phase, make the necessary corrections and proceed through the remaining phases again to determine that the corrections fixed the problem(s). • Most programs in C++ input or output data.
Typical C++ Development Environment (Cont.) • Certain C++ functions take their input from cin (the standard input stream; pronounced “see-in”), which is normally the keyboard, but cin can be redirected to another device. • Data is often output to cout (the standard output stream; pronounced “see-out”), which is normally the computer screen, but cout can be redirected to another device. • When we say that a program prints a result, we normally mean that the result is displayed on a screen.
Typical C++ Development Environment (Cont.) • Data may be output to other devices, such as disks and hardcopy printers. • There is also a standard error stream referred to as cerr. The cerr stream is used for displaying error messages.
C++ Language Elements • Comments • Compiler directives • Function main • Declaration statements • Executable statements
Comments • // symbols indicate a line comment – apply to just the rest of the line • Block comments start with /* and end with */ - apply to as many lines as you like • Used to describe the code in English or provide non-code information • E.g. to include the name of the program or the author’s name
#include <filename> • Compiler directive • Includes previously written code from a library into your program • E.g. #include <iostream> has operators for performing input and output within the program • Libraries allow for code reuse
using namespace std; • Indicates to compiler that this program uses objects defined by a standard namespace called std. • Ends with a semicolon • Follows #include directives in the code • Must appear in all programs
Function main int main ( ) { // function body }
Function main • Exactly one main function per program • A function is a collection of related statements that perform a specific operation • int indicates the return type of the function • ( ) indicates no special information passed to the function by the operating system
Types of Statements • Declaration statements – describe the data the function needs: const float KM_PER_MILE = 1.609; float miles, kms; • Executable statements – specify the actions the program will take: cout << “Enter the distance in miles: ”; cin >> miles;
Variables • Give a name to a memory location • Compiler accesses specific memory location when program uses a given variable • Refer to objects in the program for which the value can change • Declaration type variableName; // or type variableName = initializerExpression;
Variables • Variables Declaration • Can be either initialized or uninitialized… • If variable is uninitialized Contents must be considered as “garbage value” • Examples: int age = 18; double GPA = 3.25, credits; char letterGrade = ‘A’; bool ok, done = false;
Data Types • Defines a set of values and operations that can be performed on those values • integers • positive and negative whole numbers, e.g. 5, -52, 343222 • short, int, long • represented internally in binary • predefined constants in INT_MIN and INT_MAX
Data Types (con’t) • Floating point (real) • number has two parts, integral and fractional • e.g. 2.5, 3.66666666, -0.000034, 5.0 • float, double, long double • stored internally in binary as mantissa and exponent • 10.0 and 10 are stored differently in memory
Data Types (con’t) • Boolean • named for George Boole • represent conditional values • Return: true and false
Data Types (con’t) • Characters • represent individual character values E.g. ’A’ ’a’ ’2’ ’*’ ’”’ ’’ • stored in 1 byte of memory • special characters: escape sequences E.g. ’\n’ ’\b’ ’\r’ ’\t’ ‘\’’
string Class • Strings not built-in, but come from library • Classes extend C++ • string literal enclosed in double quotes E.g.: “Enter speed:“ “ABC” “B” “true” “1234” • #include <string> • for using string identifiers, but not needed for literals
Identifiers • Consist of letters, digits, and the underscore character (_) • Must begin with a letter or underscore • C++ is case sensitive • NUMBER is not the same as number • Two predefined identifiers are cout and cin • Unlike reserved words, predefined identifiers may be redefined, but it is not a good idea
Identifiers (continued) • The following are legal identifiers in C++: • first • conversion • payRate
Summary • Identifier consists of letters, digits and underscores, and begins with letter or underscore
Bibliography • Adams, J. & Nyhoff, L. (2003). C++ An Introduction to Computing, 3rd ed. Pearson Education, New Jersey. • Deitel, H.M & Deitel, A.S (2012). C++ How to Program, 8th ed. Pearson Education, London. • Friedman, F.L & Koffman, E.B (2011). Problem Solving, Abstraction, and Design Using C++, 6th International ed. Pearson Education, Massachusetts. • Malik, D.S. (2009). Introduction to C++ Programming, Brief International ed. Course Technology, Massachusetts.