1 / 46

Overview of C++

Overview of C++. By Dr. Awad Khalil Computer Science Department. C++ Language Elements. Comments make a program easier to understand // Used to signify a comment on a single line /* Text text */ use if comments on multi lines Don’t embed comments within /* */ comments.

aimee
Télécharger la présentation

Overview of C++

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview of C++ By Dr. Awad Khalil Computer Science Department

  2. C++ Language Elements • Comments make a program easier to understand • // Used to signify a comment on a single line • /* Text text */use if commentson multilines • Don’t embed comments within /* */ comments CSCI 106, Overview of C++, by Dr. Awad Khalil

  3. Compiler Directives • #include • Compiler directive • Processed at compilation time • Instructs compiler on what you want in the program • #include <iostream> • Adds library files to program • Used with < > • Also “ “ user defined CSCI 106, Overview of C++, by Dr. Awad Khalil

  4. Compiler Directives • Stream data type • Object that is a stream of characters • Defined iniostream • Entered on the keyboard (cin) • Displayed on monitor (cout) CSCI 106, Overview of C++, by Dr. Awad Khalil

  5. Declarations • Direct compiler on requirements • Based on data needs (data identifiers) • Each identifier needed must be declared • Comma used to separate identifiers • cin and cout are undeclared identifiers • Special elements called streams • cin - input stream , cout - output stream • Included with the iostream not declared CSCI 106, Overview of C++, by Dr. Awad Khalil

  6. Executable Statements • cout get output cout << “Enter the fabric size in square meters: ”; • cin get input cin >> sizeInSqmeters; • Assignment sizeInSqyards = metersToYards * izeInSqmeters; CSCI 106, Overview of C++, by Dr. Awad Khalil

  7. Reserved Words and Identifiers • Reserved words have special meanings • Can NOT be used for other purposes (const, float and void are some examples) • Identifiers (variables) • Used to store data by the program (user defined) • Valid identifiers - letter, letter1, _letter • Invalid identifiers - 1letter, const, hell o • Special symbols • C++ has rules for special symbols = * ; { } ( ) // << >> CSCI 106, Overview of C++, by Dr. Awad Khalil

  8. Upper and Lower Case • C++ case sensitive • Compiler differentiates upper & lower case • Identifiers can be either • Be careful though (cost != Cost) • Blank spaces • Use space to make program readable • Use care in placing spaces CSCI 106, Overview of C++, by Dr. Awad Khalil

  9. User-Defined Identifier • An Identifier must always begin with a letter or underscore symbol (not recommended) • An identifier must consist of letters, digits, or underscore only. • You cannot use a C++ reserved word as an identifier. CSCI 106, Overview of C++, by Dr. Awad Khalil

  10. Invalid Identifiers 1Letter Float Const Two*Four Joe’s Two-dimensional User-Defined Identifier CSCI 106, Overview of C++, by Dr. Awad Khalil

  11. Data Types and Declarations • Predefined data types • int (integers) • Positive or negative whole numbers • 1000 12 199 100000 • INT_MAX - largest int allowed by compiler • float (real numbers) • Positive or negative decimal numbers • 10.5 1.2 100.02 99.88 • bool (boolean) • true • false • char (Characters) • Represent characters CSCI 106, Overview of C++, by Dr. Awad Khalil

  12. Data Type: int • The basic integer type is int • The size of an int depends on the machine and the compiler • On pc’s it is normally 16 or 32 bits • Other integers types • short: typically uses less bits • long: typically uses more bits • Different types allow programmers to use resources more efficiently • Standard arithmetic and relational operations are available for these types CSCI 106, Overview of C++, by Dr. Awad Khalil

  13. Data Type: float • Floating-point types represent real numbers • Integer part • Fractional part • The number108.1517 breaks down into the following parts • 108 - integer part • 1517 - fractional part • C++ provides three floating-point types • float • double • long double CSCI 106, Overview of C++, by Dr. Awad Khalil

  14. Data Type: char • char (characters) • Individual character value (letter or number) • Character literal enclosed in single quotes ‘A’ • Character type char isrelated to the integer types • Characters are encoded using a scheme where an integer represents a particular character CSCI 106, Overview of C++, by Dr. Awad Khalil

  15. Character Encoding Schemes • ASCII is the dominant encoding scheme • Examples • ' ' encoded as 32 • '+' encoded as 43 • 'A' encoded as 65 • 'Z' encoded as 90 • ’a' encoded as 97 • ’z' encoded as 122 CSCI 106, Overview of C++, by Dr. Awad Khalil

  16. Character Encoding Schemes • UNICODE CSCI 106, Overview of C++, by Dr. Awad Khalil

  17. string Class • String object data type • A literal string constant is a sequence of zero or more characters enclosed in double quotes • "Are you aware?\n" • Individual characters of string are stored in consecutive memory locations • The null character ('\0') is appended to strings so that the compiler knows where in memory strings ends CSCI 106, Overview of C++, by Dr. Awad Khalil

  18. string Class • String literal • “A” • “1234” • “Enter the distance” • Additional data types included in library #include <string> • Various operations on strings CSCI 106, Overview of C++, by Dr. Awad Khalil

  19. Identifiers should be Short enough to be reasonable to type (single word is norm) Standard abbreviations are fine (but only standard abbreviations) Long enough to be understandable When using multiple word identifiers capitalize the first letter of each word Examples char response; int minelement; float score; float temperature; int i; int n; char c; float x; Declarations CSCI 106, Overview of C++, by Dr. Awad Khalil

  20. Constant Declarations • Types of constants • integer • float • char • bool • string objects • Associate meaningful terms • const float PAYRATE = 10.25; CSCI 106, Overview of C++, by Dr. Awad Khalil

  21. Hello.cpp // FILE: Hello.cpp // DISPLAYS A USER'S NAME #include <iostream> #include <string> using namespace std; int main () { char letter1, letter2; string lastName; // Enter letters and print message. cout << "Enter 2 initials and last name: "; cin >> letter1 >> letter2 >> lastName; cout << "Hello " << letter1 << ". " << letter2 << ". " << lastName << "! "; cout << "We hope you enjoy studying C++." << endl; return 0; } CSCI 106, Overview of C++, by Dr. Awad Khalil

  22. Executable Statements • Memory status • Before and after • Assignments Form: result = expression; sizeInSqyards = metersToYards * sizeInMeters; sum = sum + item; CSCI 106, Overview of C++, by Dr. Awad Khalil

  23. Arithmetic Operators • + Addition • - Subtraction • * Multiplication • / Division • % Modulus CSCI 106, Overview of C++, by Dr. Awad Khalil

  24. Input / Output Operations • Input #include <iostream> library cin >> sizeInSqmeters; • Output #include <iostream> library cout << squareArea; CSCI 106, Overview of C++, by Dr. Awad Khalil

  25. Program Input: cin Form: cin >> dataVariable; cin >> age >> firstInitial; • Extracted from cin (input stream) • >> Directs input to variable • cin associated with keyboard input (stdin) • Used with int, float, char, bool and strings • Leading blanks ignored (floats, int, char,bool and strings) • Char read 1 at a time (1 non blank) • Case issues • int or float will read until space • Stings same as int and float CSCI 106, Overview of C++, by Dr. Awad Khalil

  26. Program Output: cout Form: cout << dataVariable; cout << squareArea; • Output stream cout • << Output operator (insertion operator) cout << “my height in inches is: “ << height; • Blank lines endl; or “\n”; CSCI 106, Overview of C++, by Dr. Awad Khalil

  27. General Form of a C++ Program • General program form • Function basic unit (collection of related statements) • A C++ program must contain a main function void main () • int - function returns integer value • main - lower case with () • { } - Braces define the function body CSCI 106, Overview of C++, by Dr. Awad Khalil

  28. General Form of a C++ Program • General form of function body parts • Declaration statements • Variables and constants • Executable statements • C++ statements CSCI 106, Overview of C++, by Dr. Awad Khalil

  29. General Form of a C++ Program • General form // File: filename // Program description: #include directives int main() { Declarations section Executable statements section } CSCI 106, Overview of C++, by Dr. Awad Khalil

  30. Arithmetic Expressions • int data type • + - * /, Assignment, input and output on int • % Only used with int • Examples of integer division 15 / 3 = 5 15 / 2 = 7 0 / 15 = 0 15 / 0 undefined CSCI 106, Overview of C++, by Dr. Awad Khalil

  31. Modulus and Integer • Used only with integer and yields remainder • Examples of integer modulus 7 % 2 = 1 299 % 100 = 99 49 % 5 = 4 15 % 0 undefined CSCI 106, Overview of C++, by Dr. Awad Khalil

  32. Mixed-type Assignments • Expression evaluated • Result stored in the variable on the left side • C++ can mix types float a, b, x; int m, n; a=10; b=5; x = m / n; CSCI 106, Overview of C++, by Dr. Awad Khalil

  33. Expressions With Multiple Operators • Operator precedence tells how to evaluate expressions • Standard precedence order • () Evaluated first, if nested innermost done first • * / % Evaluated second. If there are several, then evaluate from left-to-right • + - Evaluate third. If there are several, then evaluate from left-to-right CSCI 106, Overview of C++, by Dr. Awad Khalil

  34. Mathematical Formulas in C++ • a = bc not valid C++ syntax • * Operator a = b * c; • m = y - b x - a • ( ) And / m = (y - b) / (x - a); CSCI 106, Overview of C++, by Dr. Awad Khalil

  35. Example 1: Milesbatch.cpp // File: milesBatch.cpp // Converts distance in miles to kilometers. #include <iostream> using namespace std; int main() // start of main function { const float KM_PER_MILE = 1.609; float miles, kms; CSCI 106, Overview of C++, by Dr. Awad Khalil

  36. Milesbatch.cpp // Get the distance in miles. cin >> miles; cout << "The distance in miles is " << miles << endl; // Convert the distance to kilometers. kms = KM_PER_MILE * miles; // Display the distance in kilometers. cout << "The distance in kilometers is " << kms << endl; return 0; } CSCI 106, Overview of C++, by Dr. Awad Khalil

  37. Milesbatch.cpp Program output The distance in miles is 10 The distance in kilometers is 16.09 CSCI 106, Overview of C++, by Dr. Awad Khalil

  38. Example 2: Coin Collection Case Study • Problem statement • Saving nickels and pennies and want to exchange these coins at the bank so need to know the value of coins in dollars and cents. • Analysis • Count of nickels and pennies in total • Determine total value • Use integer division to get dollar value • / 100 CSCI 106, Overview of C++, by Dr. Awad Khalil

  39. Coin Collection Case Study • Analysis (cont) • Use modulus % to get cents value • % 100 • Design • Prompt for name • Get count of nickels and pennies • Compute total value • Calculate dollars and cents • Display results CSCI 106, Overview of C++, by Dr. Awad Khalil

  40. Coin Collection Case Study • Implementation • Write C++ code of design • Verify correct data types needed • Mixed mode types and promotion • Testing • Test results using various input combinations CSCI 106, Overview of C++, by Dr. Awad Khalil

  41. Coins.cpp // File: coins.cpp // Determines the value of a coin collection #include <iostream> #include <string> using namespace std; int main() { // Local data ... string name; int pennies; int nickels; int dollars; int change; int totalCents; // Prompt sister for name. cout << "Enter your first name: "; cin >> name; CSCI 106, Overview of C++, by Dr. Awad Khalil

  42. Coins.cpp // Read in the count of nickels and pennies. cout << "Enter the number of nickels: "; cin >> nickels; cout << "Enter the number of pennies: "; cin >> pennies; // Compute the total value in cents. totalCents = 5 * nickels + pennies; // Find the value in dollars and change. dollars = totalCents / 100; change = totalCents % 100; // Display the value in dollars and change. cout << "Good work " << name << '!' << endl; cout << "Your collection is worth " << dollars << " dollars and " << change << " cents." << endl; return 0; } CSCI 106, Overview of C++, by Dr. Awad Khalil

  43. Coins.cpp Program output Enter your first name and press return: Sally Enter number of nickels and press return: 30 Enter number of pennies and press return: 77 Good work sally! Your collection is worth 2 dollars and 27 cents. CSCI 106, Overview of C++, by Dr. Awad Khalil

  44. Interactive Mode, Batch and Data Files • Two modes interactive or batch • Keyboard input interactive • Batch mode data provided prior to start • File as input • Input / output redirection • Direct input to program use ‘<‘ symbol • Direct output to a file use ‘>‘ symbol CSCI 106, Overview of C++, by Dr. Awad Khalil

  45. Input / Output Redirection • Program name < datafile Metric < mydata • Program name > outFile Metric > outFile • Input and output redirection Metric < inFile > outFile CSCI 106, Overview of C++, by Dr. Awad Khalil

  46. Common Programming Errors • Syntax • Programs rarely compile • Something always goes wrong • Systematic solutions • Compiler not descriptive • Look at line number before and after error • Watch missing ; and } • Run-time errors • Illegal operation (divide by 0) • Logic errors • Program functions differently than you expect CSCI 106, Overview of C++, by Dr. Awad Khalil

More Related