Download presentation
Presentation is loading. Please wait.
Published byBenedict Fox Modified over 9 years ago
1
By Dr. Awad Khalil Computer Science & Engineering Department
Overview of C++ By Dr. Awad Khalil Computer Science & Engineering Department
2
CSCI 106, Overview of C++, by Dr. Awad Khalil
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 CSCI 106, Overview of C++, by Dr. Awad Khalil
3
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
Compiler Directives Stream data type Object that is a stream of characters Defined in iostream Entered on the keyboard (cin) Displayed on monitor (cout) CSCI 106, Overview of C++, by Dr. Awad Khalil
5
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
User-Defined Identifier
Invalid Identifiers 1Letter Float Const Two*Four Joe’s Two-dimensional CSCI 106, Overview of C++, by Dr. Awad Khalil
11
Data Types and Declarations
Predefined data types int (integers) Positive or negative whole numbers INT_MAX - largest int allowed by compiler float (real numbers) Positive or negative decimal numbers bool (boolean) true false char (Characters) Represent characters CSCI 106, Overview of C++, by Dr. Awad Khalil
12
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
Data Type: float Floating-point types represent real numbers Integer part Fractional part The number breaks down into the following parts integer part fractional part C++ provides three floating-point types float double long double CSCI 106, Overview of C++, by Dr. Awad Khalil
14
CSCI 106, Overview of C++, by Dr. Awad Khalil
Data Type: char char (characters) Individual character value (letter or number) Character literal enclosed in single quotes ‘A’ Character type char is related 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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
Declarations 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; 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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
Arithmetic Operators + Addition - Subtraction * Multiplication / Division % Modulus CSCI 106, Overview of C++, by Dr. Awad Khalil
24
Input / Output Operations
#include <iostream> library cin >> sizeInSqmeters; Output cout << squareArea; CSCI 106, Overview of C++, by Dr. Awad Khalil
25
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
// 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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
CSCI 106, Overview of C++, by Dr. Awad Khalil
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.