0% found this document useful (0 votes)
3K views99 pages

Introduction To C++: Computer Science I

This document provides an introduction to C++. It begins by defining C++ as a compiled, object-oriented language that is the successor to the procedural language C. It then discusses the people involved in C++'s development. The rest of the document explains the basic components of a C++ program, including declarations, statements, identifiers, functions, and simple sample programs. It also covers basic C++ concepts like data types, variables, input/output, arithmetic and logical operations, and decision statements using Boolean logic and relational operators.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3K views99 pages

Introduction To C++: Computer Science I

This document provides an introduction to C++. It begins by defining C++ as a compiled, object-oriented language that is the successor to the procedural language C. It then discusses the people involved in C++'s development. The rest of the document explains the basic components of a C++ program, including declarations, statements, identifiers, functions, and simple sample programs. It also covers basic C++ concepts like data types, variables, input/output, arithmetic and logical operations, and decision statements using Boolean logic and relational operators.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 99

Introduction to C++

Computer Science I

Quote...

Language is the only instrument of science.

Samuel Johnson

Q: What is C++

C++ is a compiled, object-oriented language It is the successor to C, a procedural language

(the ++ is called the successor operator in C++)

C was derived from a language called B which was in turn derived from BCPL C was developed in the 1970s by Dennis Ritchie of AT&T Bell Labs C++ was developed in the early 1980s by Bjarne Stroustrup of AT&T Bell Labs. Most of C is a subset of C++

People & Programs

User: an individual who runs, or

executes, a program Programmer: an individual who creates, or writes, a program

C++ Program
Consists of

Declarations

Define the use of various identifiers, thus creating the elements used by the program (computer) Or executable statements, representing actions the computer will take on the users behalf

Statements

Identifiers

Names for various entities used in a program; used for... Variables: values that can change frequently Constants: values that never changes Functions: programming units that represents complex operations Parameters: values that change infrequently

Simple C++ Program


#include <iostream.h> int main() { // Declarations // Statements return 0; }

Compiler directive:

Tells the compiler what to do before compiling This one includes source code from another file

Simple C++ Program


#include <iostream.h> int main() { // Declarations // Statements return 0; }

Main function

Simple C++ Program


#include <iostream.h> int main() { // Declarations // Statements return 0; }

Header for main function States

data type for the return value identifier for function list of arguments between parenthesis (none for this function)

Simple C++ Program


#include <iostream.h> int main() { // Declarations // Statements return 0; }

Braces enclose the body of the function They represent the start and end of the function

Simple C++ Program


#include <iostream.h> int main() { // Declarations // Statements return 0; }

Declarations and statements Main body of function (or main part) // represents the start of a comment

Simple C++ Program


#include <iostream.h> int main() { // Declarations // Statements return 0; }

Return statement specifies the value the function returns All (almost) declarations and statements end with a semi-colon ;

Simple C++ Program


#include <iostream.h> int main() { // Declarations // Statements return 0; }

This program doesnt do anything !

Sample C++ Program


#include <iostream.h> void main() { int number; cout << Enter a number << endl; cin >> number; cout << You entered: << number << endl; }

Variable declaration The identifier number is declared as being of data type int, or integer

Sample C++ Program


#include <iostream.h> void main() { int number; cout << Enter a number << endl; cin >> number; cout << You entered: << number << endl; }

cout the output statement for C++ Note the direction of << endl represents an end-of-line

Sample C++ Program


#include <iostream.h> void main() { int number; cout << Enter a number << endl; cin >> number; cout << You entered: << number << endl; }

cin the input statement for C++ Note the direction of >>

Sample C++ Program


#include <iostream.h> void main() { int number; cout << Enter a number << endl; cin >> number; cout << You entered: << number << endl; }

Did you copy this down? You had better, since this will be the first program youll try!

Sample C++ Program


#include <iostream.h> void main() { int number; cout << Enter a number << endl; cin >> number; cout << You entered: << number << endl; }

That mea ns right now!

Assignment

Assignment is an operation that assigns the value of an expression to a variable Ex.


Total = 2 + 3 + 5

First, the expresssion 2 + 3 + 5 is evaluated Then, this value is assigned to the variable Total

Assignment

When a variable is declared, space is allocated in the computers memory for the variable Each data type requires a different number of bytes in memory for storing a variable
int - 2 float - 4 double - 8 char, bool - 1

Assignment

When a variable is assigned a value, the value is placed into the variables memory location
Total

Total = 2 + 3 + 5;

10

Arithmetic Operations

Addition: Subtraction: Multiplication: Division:

2 + 3 5 - 2 10 * 4 12 / 3

Order of Operations

Arithmetic expressions are evaluated according to the following order of operations At each level, operations are evaluated left to right (1) Parenthesis, Functions (2) Multiplication, Division (3) Addition, Subtraction

Parenthesis

Parenthesis are used to alter the order with which operations are evaluated Ex.
4 + 5 * 2 equals 14 (4 + 5) * 2 equals 18

Here we go!

Problem: To determine the average of three numbers Task: Request, from the user, three numbers, compute the average and the three numbers, and print out the original values and the computed average

Do it!
You have 20 minutes!

Computer Science I

Functions

Q: What is a function?

A programming unit Similar to mathematical functions Example:

f(x) = x2 + 5x + 7 For x = 2, f(2) = (2)2 =5(2) + 7 = 21

Q: What is a function?

It has... ... arguments ... a name (identifier) ... a value it returns ... a body int

foo(int x)

{ int result; result = x*x + 5*x + 7; return result; }

Procedural Abstraction

Think Black Box ! When using a function, you only need to be concerned with what it does, not how it does it When writing a function, you need to be concerned with the how

Example: Cube it!


int cubeIt(int x) { int result; result = x*x*x; return result; } int cubeIt(int x) { int result; result = x; result = x*result; result = x*result; return result; }

Pseudocode

Looks like a programming language Has all the structure of a programming language Has a verrrrrry loose syntax

Pseudocode

Example:
function foo (x) result x2 + 5x + 7 return result

Thats it! Sloppy, aint it?

Computer Science I

Decision Statements

Q: What is a decision?

Something that represents a branching point in a solution Outcomes are often dependent on initial conditions

Decisions in Programs

Without decision statements (or other dynamic control structures), programs are static Static programs do exactly the same things each time they are executed Dynamic programs do not

Boolean Algebra

Based on values that are either True or

False

True and False values are often represented by 1s and 0s, respectively

Logical Operations: And


AB
Expression is True iff A and B are both true

T F

T T F

F F F

Logical Operations: Or

AB
Expression is True if either A or B are True Note: Also True when A and B are both True

T F

T T T

F T F

Logical Operations: Exercises


A = True, B = True, C = False 1. A B 2. A C 3. A B C 4. (A B) (A C)

Relational Operations

A A A A

<B >B =B B

AB

AB

A A A A A A A A A

less than B greater than B equal to B less than or equal to B not greater than B greater than or equal to B not less than B not equal to B less than or greater than B

Relational Operations:

Exercises

A = 5, B = 3, C = -7 1. A < B 2. A C 3. (A < C) (B < C)

Boolean Operations: C++


AB AB A<B A>B A=B AB AB AB

A A A A A A A A

&& B ||B <B >B ==B >=B <=B <>B

Try this!
Problem: Youd like to go see a movie. The movie costs $8.00, a soda costs $2.50 and a large popcorn costs $4.50. Based on the amount of money in your pocket, determine whether you could... (a) See the movie and buy a soda, (b) See the movie, and buy soda and popcorn, or (c) Stay home

Know?

Movie costs $8.00 Soda costs $2.50 Popcorn costs $4.50 How much money I have in my pocket

Need?

Cost of movie and soda Cost of movie, soda and popcorn Way to select one of the three options (that is, make a decision!)

Do?

Option (a) costs $10.50 Option (b) costs $15.00 Option (c) costs nothing What next?

How about a diagram?

This is called a

Money < $10.50

flowchart
Stay home Money < $15.00

Movie & soda

Movie, soda & popcorn

How about a diagram?

Boxes represent actions


Stay home

Money < $10.50

Money < $15.00

Movie & soda

Movie, soda & popcorn

How about a diagram?

Diamonds represent decision points


Stay home

Money < $10.50

Money < $15.00

Movie & soda

Movie, soda & popcorn

How about a diagram?

Arrows show flow

Money < $10.50

Stay home

Money < $15.00

Movie & soda

Movie, soda & popcorn

How about a diagram?

The arrow at the top tells us there were previous steps The arrow at the bottom tells us there are subsequen t steps

Money < $10.50

Stay home

Money < $15.00

Movie & soda

Movie, soda & popcorn

How would I write this?


Using Pseudocode Wait! What the CENSORED is Pseudocode?

Pseudocode

Looks like a programming language Has all the structure of a programming language Has a verrrrrry loose syntax

Pseudocode

Example:
get x result <- x2 + 5x + 7 print result

Thats it! Sloppy, aint it?

One more time!

Pseudocode...

If (Money < $10.50) then Stay home else If (Money < $15.00) then Movie, soda else Movie, soda, popcorn

How would I write this?

First, we need to decide how to organize our solution Should we hard code the costs of the movie, soda and popcorn into the algorithm? Should we input these values? Lets take another look at that problem!

How would I write this?

The problem statement tells us the individual costs So, lets assume theyre fixed or

constant

No need to ask the user for them

Problem: Youd like to go see a movie. The movie costs $8.00, a soda costs $2.50 and a large popcorn costs $4.50. Based on the amount of money in your pocket, determine whether you could... (a) See the movie and buy a soda, (b) See the movie, and buy soda and popcorn, or (c) Stay home

How would I write this?


Another question: Should we pre-compute the cost of each option? Or, should we let the program do this? Since weve already stated that the item costs are fixed, it would seem logical to precompute the cost of each option

Movie: $8.00 Movie & soda: $10.50 All three: $15.00

How would I write this?

Next, we need to make sure we have a complete algorithm


Input Money If (Money < $10.50) then Display Stay home. else If (Money < $15.00) then Display Go to a movie;buy a soda. else Display Go to a movie; buy a soda and popcorn.

Almost done!

How would I write this?

Determine how we wish to organize our program Do we want one function? Or, should we create a few functions? Lets two functions: One to input Money from the user And a second to determine the outcome

How would I write this?

Heres the prototypes for the functions int getMoney() void showResults(int myMoney)

Program

Okay, now we get to use our algorithm and program design to create a program

Well, what are you waiting for?

Do It!!!

Multiway Branching

If statements can be used for multiway branching That is, choosing one of n mutually exclusive outcomes

But what about n outcomes that are not totally unique?

Multiway Branching

Consider the following problem:

Each year, a local middle school requires students to purchase supplies based on their grade level. 6th graders need pencils and five notebooks. 7th graders also need a calculator. 8th graders add to this a 3-ring binder with loose leaf paper.

Multiway Branching

We could use a nested If statement to handle this, but there is an alternative Whenever we need to represent a decision step, with n possible outcomes, where the outcomes form subsets of each other,

and/or

the outcomes are chosen based upon unique scalar values for a control expression, we can use a Case (switch) structure

Multiway Branching

Case When Grade = 8th 3-ring binder loose leaf paper When Grade = 7th calculator When Grade = 6th pencils 5 notebooks

Multiway Branching
In C++ ... switch (grade){ case 8: cout << 3-ring binder, loose leaf, ; case 7: cout << calculator, ; case 6: cout << 5 notebooks, & pencils. << endl; } When the switch is encountered, control jumps to the matching case statement and continues until either a break is found or the end of the switch

Multiway Branching

Heres an example with a few breaks

cout << Your lunch period comes ; switch (grade) { case 8: cout << first. << endl; break; case 7: cout << second. << endl; break; case 6: cout << third. << endl; } No final break

Exercise:

Create a program that will inform the user which advisor they should go to based on their major code number

Well? Get started!

Computer Science I

Loops

Q: What is a Loop?

A control structure that allows for a sequence of steps to be repeated a certain number of times This sequence of steps is called the body of the loop

Q: What is a Loop?

There are three basic loop structures in programming:


For While Repeat

While loop
Look familiar?
Condition T F

What if you added a change step to the end of the body?

Body

For loop
F

Condition T

Body

While loop
F

Condition T

Body

A while loop is a control structure where the body is repeated as long as the condition is true

While loop
F

Condition T

Body

When the condition is false, the body is bypassed, and flow continues with the next part of the algorithm

Example: Sequential search


F
k 0 found False while (k<size) (found) do if A[k] = target then found True else k = k + 1

(k<size) (found)

if A[k] = target then found True else k = k + 1

Example: Sequential search


F
k = 0; found = False; while ((k<size) && (!found)) if (A[k] == target) found = True; else k = k + 1;

(k<size) (found)

if A[k] = target then found True else k = k + 1

Exercise

Strings are arrays of characters

How would you determine if a string fragment is part of a larger string? (needle in a haystack?)

Computer Science I

Arrays

Q: What is an array?

An array is a data structure consisting of one or more indexed members An array is like a row of mailboxes at the post office Each box is numbered in sequence (indices), and Each box contains the same type of stuff (datatype)

An array could be drawn like

5 6

An array could be drawn like

g 0

d 1

a 2

f 3

c 4

5 6

Each box is numbered in sequence

An array could be drawn like


Each box has the same datatype

g 0

d 1

a 2

f 3

c 4

5 6

In pseudocode we use

X[j] Where X is the name of the array (identifier), and j is an index indicating which position in the array we wish to address

An array is declared by
int X[10]; Where int is the common datatype for all elements in the array, X is the name of the array (identifier), and 10 is the size of the array, or how many elements are in the array Indices for a C++ array always begin with 0

Example: Student Grades


// Declare array double stGrades[7]; : // Assign value to array element stGrades[5] = 87; : // Display array element cout << stGrades[3] << endl;

Problem:

Create a program that will ask the user for three (3) numbers, determine the average, and then display the original numbers and the average Hint: You might wish to use a loop as well as an array!

Computer Science I

Strings

What is a string?

A string is a sequence of characters Example: nc9*hNB98B&^v*&G Blank spaces are characters Each character requires one byte of storage in memory Each character is represented by a one byte character code, usually an ASCII code

Strings

A literal is a string bounded by quotation marks

Example:

nc9*hNB 98B&^v*&G Notice the blanks spaces in the sequence - they are characters!

Strings

In C++, we declare string variables as follows

char string_identifier[length];

string_identifier is the name of the

string variable length represents the length of the string, or how many characters are in the sequence

Strings

Example:
void main() { char name[24]; cout << Enter your name: ; cin >> name; cout << Your name is << name << endl; }

Streams
A stream
Is a flow of characters Is an object that represents either on input or an output to a program Can be associated with the keyboard, monitor, or files cout is an output stream

cin is an input stream

How about file I/O?


#include <fstream.h> : ifstream in_stream; ofstream out_stream; :

Where definitions for datatypes ifstream and ofstream are located

Input stream declaration

Output stream declaration

How about file I/O?


#include <fstream.h> Associates files : ifstream in_stream; with streams & ofstream out_stream; opens files for : use in_stream.open(infile.txt); out_stream.open(outfile.txt); instream >> number; Stream use outstream << number << endl; instream.close(); outstream.close(); Closes files :

What if a file doesnt exist?


In_stream.open(notthere.txt); If (in_stream.fail()) { cout << Input file opening failed << endl; exit(1); }

How about formatting?


out_stream.setf(ios::fixed); out_stream.setf(ios::showpoint); out_stream.precision(2); Set flag: out_stream.width(10); fixed/scientific : showpoint showpos right/left Number of digits

Number of decimal places

More member functions


get() put() eof()

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy