Chapter 2 - Basic Elements of C++.ppt
Document Details
Uploaded by PatriDragon
West Visayas State University
Full Transcript
Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: – Become familiar with functions, special symbols, and identifiers in C++ – Explore simple data types – Discover how a program evaluates arithmetic expressions...
Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: – Become familiar with functions, special symbols, and identifiers in C++ – Explore simple data types – Discover how a program evaluates arithmetic expressions – Learn about assignment statements – Become familiar with the string data type C++ Programming: Program Design Including Data Structures, Sixth Edition 2 Objectives (cont’d.) – Learn about assignment statements – Become familiar with the string data type – Learn about input and output statements – Become familiar increment and decrement operators – Learn how to use preprocessor directives – Learn how to debug syntax errors – Explore how to properly structure a program, including using comments to document a program C++ Programming: Program Design Including Data Structures, Sixth Edition 3 Introduction Computer program – Sequence of statements whose objective is to accomplish a task Programming – Process of planning and creating a program Real-world analogy: a recipe for cooking C++ Programming: Program Design Including Data Structures, Sixth Edition 4 A C++ Program C++ Programming: Program Design Including Data Structures, Sixth Edition 5 A C++ Program (cont’d.) Sample run: C++ Programming: Program Design Including Data Structures, Sixth Edition 6 A C++ Program (cont’d.) C++ Programming: Program Design Including Data Structures, Sixth Edition 7 A C++ Program (cont’d.) C++ Programming: Program Design Including Data Structures, Sixth Edition 8 A C++ Program (cont’d.) Variable: a memory location whose contents can be changed Figure 2-2 Memory allocation Figure 2-3 Memory spaces after the statement length = 6.0; executes C++ Programming: Program Design Including Data Structures, Sixth Edition 9 The Basics of a C++ Program Function (or subprogram): collection of statements; when executed, accomplishes something – May be predefined or standard Syntax rules: rules that specify which statements (instructions) are legal or valid Semantic rules: determine the meaning of the instructions Programming language: a set of rules, symbols, and special words C++ Programming: Program Design Including Data Structures, Sixth Edition 10 Comments Comments are for the reader, not the compiler Two types: – Single line: begin with // // This is a C++ program. // Welcome to C++ Programming. – Multiple line: enclosed between C++ Programming: Program Design Including Data Structures, Sixth Edition 11 Special Symbols Token: the smallest individual unit of a program written in any language C++ tokens include special symbols, word symbols, and identifiers Special symbols in C++ include: C++ Programming: Program Design Including Data Structures, Sixth Edition 12 Reserved Words (Keywords) Reserved word symbols (or keywords): – Cannot be redefined within program – Cannot be used for anything other than their intended use Examples: – int – float – double – char – const – void – return C++ Programming: Program Design Including Data Structures, Sixth Edition 13 Identifiers Identifier: the name of something that appears in a program – Consists 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 C++ Programming: Program Design Including Data Structures, Sixth Edition 14 Identifiers (cont'd.) Legal identifiers in C++: – first – conversion – payRate C++ Programming: Program Design Including Data Structures, Sixth Edition 15 Whitespaces Every C++ program contains whitespaces – Include blanks, tabs, and newline characters Used to separate special symbols, reserved words, and identifiers Proper utilization of whitespaces is important – Can be used to make the program more readable C++ Programming: Program Design Including Data Structures, Sixth Edition 16 Data Types Data type: set of values together with a set of operations C++ data types fall into three categories: – Simple data type – Structured data type – Pointers C++ Programming: Program Design Including Data Structures, Sixth Edition 17 Simple Data Types Three categories of simple data – Integral: integers (numbers without a decimal) Can be further categorized: – char, short, int, long, bool, unsigned char, unsigned short, unsigned int, unsigned long – Floating-point: decimal numbers – Enumeration type: user-defined data type C++ Programming: Program Design Including Data Structures, Sixth Edition 18 Simple Data Types (cont’d.) Different compilers may allow different ranges of values C++ Programming: Program Design Including Data Structures, Sixth Edition 19 int Data Type Examples: -6728 0 78 +763 Cannot use a comma within an integer – Commas are only used for separating items in a list C++ Programming: Program Design Including Data Structures, Sixth Edition 20 bool Data Type bool type – Two values: true and false – Manipulate logical (Boolean) expressions true and false – Logical values bool, true, and false – Reserved words C++ Programming: Program Design Including Data Structures, Sixth Edition 21 char Data Type The smallest integral data type Used for single characters: letters, digits, and special symbols Each character is enclosed in single quotes – 'A', 'a', '0', '*', '+', '$', '&' A blank space is a character – Written ' ', with a space left between the single quotes C++ Programming: Program Design Including Data Structures, Sixth Edition 22 char Data Type (cont’d.) Different character data sets exist ASCII: American Standard Code for Information Interchange – Each of 128 values in ASCII code set represents a different character – Characters have a predefined ordering based on the ASCII numeric value Collating sequence: ordering of characters based on the character set code C++ Programming: Program Design Including Data Structures, Sixth Edition 23 Floating-Point Data Types C++ uses scientific notation to represent real numbers (floating-point notation) C++ Programming: Program Design Including Data Structures, Sixth Edition 24 Floating-Point Data Types (cont’d.) float: represents any real number – Range: -3.4E+38 to 3.4E+38 (four bytes) double: represents any real number – Range: -1.7E+308 to 1.7E+308 (eight bytes) Minimum and maximum values of data types are system dependent C++ Programming: Program Design Including Data Structures, Sixth Edition 25 Floating-Point Data Types (cont’d.) Maximum number of significant digits (decimal places) for float values: 6 or 7 Maximum number of significant digits for double: 15 Precision: maximum number of significant digits – Float values are called single precision – Double values are called double precision C++ Programming: Program Design Including Data Structures, Sixth Edition 26 Data Types and Variables To declare a variable, must specify the data type it will store Syntax: dataType identifier; Examples: int counter; double interestRate; char grade; C++ Programming: Program Design Including Data Structures, Sixth Edition 27 Arithmetic Operators, Operator Precedence, and Expressions C++ arithmetic operators: – + addition – - subtraction – * multiplication – / division – % modulus (or remainder) operator +, -, *, and / can be used with integral and floating-point data types Use % only with integral data types C++ Programming: Program Design Including Data Structures, Sixth Edition 28 Arithmetic Operators, Operator Precedence, and Expressions (cont’d.) When you use / with integral data types, the integral result is truncated (no rounding) Arithmetic expressions: contain values and arithmetic operators Operands: the number of values on which the operators will work Operators can be unary (one operand) or binary (two operands) C++ Programming: Program Design Including Data Structures, Sixth Edition 29 Order of Precedence All operations inside of () are evaluated first *, /, and % are at the same level of precedence and are evaluated next + and – have the same level of precedence and are evaluated last When operators are on the same level – Performed from left to right (associativity) 3 * 7 - 6 + 2 * 5 / 4 + 6 means (((3 * 7) – 6) + ((2 * 5) / 4 )) + 6 C++ Programming: Program Design Including Data Structures, Sixth Edition 30 Order of Precedence The following code example shows how arithmetic operators work. Example: Arithmetic.cpp C++ Programming: Program Design Including Data Structures, Sixth Edition 31 Order of Precedence You should be careful when evaluating the mod operator with negative integer operands. You might not get the answer you expect. For example, -34 % 5 = -4, because in the division -34 / 5, the quotient is -6 and the remainder is -4. Similarly, 34 % -5 = 4, because in the division 34 / -5, the quotient is -6 and the remainder is 4. Also -34 % -5 = -4, because in the division -34 / -5, the quotient is 6 and the remainder is -4. C++ Programming: Program Design Including Data Structures, Sixth Edition 32 Expressions Integral expression: all operands are integers – Yields an integral result – Example: 2 + 3 * 5 Floating-point expression: all operands are floating-point – Yields a floating-point result – Example: 12.8 * 17.5 - 34.50 C++ Programming: Program Design Including Data Structures, Sixth Edition 33 Expressions Consider the following C++ integral expressions: 2 + 3 * 5 3 + x - y / 7 x + 2 * (y - z) + 18 In these expressions, x, y, and z are variables of type int. C++ Programming: Program Design Including Data Structures, Sixth Edition 34 Expressions Consider the following C++ floating-point expressions: 12.8 * 17.5 - 34.50 x * 10.5 + y - 16.2 Here, x and y are variables of type double. C++ Programming: Program Design Including Data Structures, Sixth Edition 35 Mixed Expressions Mixed expression: – Has operands of different data types – Contains integers and floating-point Examples of mixed expressions: 2 + 3.5 6 / 4 + 3.9 5.4 * 2 – 13.6 + 18 / 2 C++ Programming: Program Design Including Data Structures, Sixth Edition 36 Mixed Expressions (cont’d.) Evaluation rules: – If operator has same types of operands Evaluated according to the type of the operands – If operator has both types of operands Integer is changed to floating-point Operator is evaluated Result is floating-point – Entire expression is evaluated according to precedence rules C++ Programming: Program Design Including Data Structures, Sixth Edition 37 Mixed Expressions (cont’d.) C++ Programming: Program Design Including Data Structures, Sixth Edition 38 Mixed Expressions (cont’d.) The following C++ program evaluates the preceding expressions: Example: preceding_expressions.cpp C++ Programming: Program Design Including Data Structures, Sixth Edition 39 Type Conversion (Casting) Implicit type coercion: The compiler automatically converts one data type to another. This usually happens when different data types are used in an expression, and the compiler converts all operands to the same type before performing the operation. C++ Programming: Program Design Including Data Structures, Sixth Edition 40 Type Conversion (Casting) For example: int a = 5; double b = 6.8; double result = a + b; // 'a' is implicitly converted to a double before the addition. C++ Programming: Program Design Including Data Structures, Sixth Edition 41 Type Conversion (Casting) Explicit type coercion (Casting): The programmer explicitly converts a value from one type to another using casting. Cast operator: provides explicit type conversion static_cast(expression) C++ Programming: Program Design Including Data Structures, Sixth Edition 42 Type Conversion (cont’d.) C++ Programming: Program Design Including Data Structures, Sixth Edition 43 Type Conversion (cont’d.) The following C++ program illustrates how explicit type conversion works: Example: conversion.cpp C++ Programming: Program Design Including Data Structures, Sixth Edition 44 string Type Programmer-defined type supplied in ANSI/ISO Standard C++ library Sequence of zero or more characters enclosed in double quotation marks Null (or empty): a string with no characters Each character has a relative position in the string – Position of first character is 0 Length of a string is number of characters in it – Example: length of "William Jacob" is 13 C++ Programming: Program Design Including Data Structures, Sixth Edition 45 string Type C++ Programming: Program Design Including Data Structures, Sixth Edition 46 Variables, Assignment Statements, and Input Statements Data must be loaded into main memory before it can be manipulated Storing data in memory is a two-step process: – Instruct computer to allocate memory – Include statements to put data into memory C++ Programming: Program Design Including Data Structures, Sixth Edition 47 Allocating Memory with Constants and Variables Named constant: memory location whose content can’t change during execution Syntax to declare a named constant: In C++, const is a reserved word C++ Programming: Program Design Including Data Structures, Sixth Edition 48 Allocating Memory with Constants and Variables (cont’d.) Variable: memory location whose content may change during execution Syntax to declare a named constant: C++ Programming: Program Design Including Data Structures, Sixth Edition 49 Putting Data into Variables Ways to place data into a variable: – Use C++’s assignment statement – Use input (read) statements C++ Programming: Program Design Including Data Structures, Sixth Edition 50 Assignment Statement The assignment statement takes the form: Expression is evaluated and its value is assigned to the variable on the left side A variable is said to be initialized the first time a value is placed into it In C++, = is called the assignment operator C++ Programming: Program Design Including Data Structures, Sixth Edition 51 Assignment Statement (cont’d.) C++ Programming: Program Design Including Data Structures, Sixth Edition 52 Assignment Statement (cont’d.) The following C++ program illustrates how data in the variables are manipulated: Example: variable.cpp C++ Programming: Program Design Including Data Structures, Sixth Edition 53 Saving and Using the Value of an Expression To save the value of an expression: – Declare a variable of the appropriate data type – Assign the value of the expression to the variable that was declared Use the assignment statement Wherever the value of the expression is needed, use the variable holding the value C++ Programming: Program Design Including Data Structures, Sixth Edition 54 Declaring & Initializing Variables Not all types of variables are initialized automatically Variables can be initialized when declared: int first=13, second=10; char ch=' '; double x=12.6; All variables must be initialized before they are used – But not necessarily during declaration C++ Programming: Program Design Including Data Structures, Sixth Edition 55 Input (Read) Statement cin is used with >> to gather input This is called an input (read) statement The stream extraction operator is >> For example, if miles is a double variable cin >> miles; – Causes computer to get a value of type double and places it in the variable miles C++ Programming: Program Design Including Data Structures, Sixth Edition 56 Input (Read) Statement (cont’d.) Using more than one variable in cin allows more than one value to be read at a time Example: if feet and inches are variables of type int, this statement: cin >> feet >> inches; – Inputs two integers from the keyboard – Places them in variables feet and inches respectively C++ Programming: Program Design Including Data Structures, Sixth Edition 57 Input (Read) Statement (cont’d.) C++ Programming: Program Design Including Data Structures, Sixth Edition 58 put (Read) Statement (cont’d C++ Programming: Program Design Including Data Structures, Sixth Edition 59 Type Conversion (cont’d.) The following C++ program illustrates how to read strings and numeric data: Example: strings_numeric.cpp C++ Programming: Program Design Including Data Structures, Sixth Edition 60 Increment and Decrement Operators Increment operator: increase variable by 1 – Pre-increment: ++variable – Post-increment: variable++ Decrement operator: decrease variable by 1 – Pre-decrement: --variable – Post-decrement: variable— What is the x =difference 5; x between = 5; the following?y = ++x; y = x++; C++ Programming: Program Design Including Data Structures, Sixth Edition 61 Increment and Decrement Operators C++ Programming: Program Design Including Data Structures, Sixth Edition 62 Increment and Decrement Operators C++ Programming: Program Design Including Data Structures, Sixth Edition 63 Output The syntax of cout and