chapter 1: introduction

35
CHAPTER 1: INTRODUCTION C++ Programming

Upload: harvey

Post on 19-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

Chapter 1: Introduction. C++ Programming. CS 241. Course URL: http://cs241.yolasite.com / Text Book: C++ How to Program, DETITEL & DEITEL, eighth Edition or seventh Edition C++ Without Fear A Biggener's Guide That Makes You Feel Smart, Brian Overland. GRADES. Grading - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 1: Introduction

CHAPTER 1: INTRODUCTIONC++ Programming

Page 2: Chapter 1: Introduction

CS 241

Course URL: • http://cs241.yolasite.com/

Text Book: • C++ How to Program, DETITEL & DEITEL, eighth Edition

or seventh Edition• C++ Without Fear A Biggener's Guide That Makes You

Feel Smart, Brian Overland

Page 3: Chapter 1: Introduction

GRADES

Grading• First Midterm: 10• Second Midterm:15• Lab quize:5• Homework:5• Participation and Evaluations:5• Final: 40• Final Lab: 20

Page 4: Chapter 1: Introduction

Course SyllabusTOPICS

Introduction

Programming basics(data types, variables, assignment, operators)

Program flow (control statements and looping)

Functions

Arrays

Pointers

Recursive functions

Introduction to mathematical software packages

Simple mathematical problem solving using the chosen software package

Page 5: Chapter 1: Introduction

What is a Computer?Computer• is a device that can perform computations and make logical decisions

billions of times faster than human beings can.

Computer programs• Sets of instructions that control computer’s processing of data

Hardware• Various devices comprising computer

• Keyboard, screen, mouse, disks, memory, CD-ROM, processing units,

Software• Programs that run on computer

*Computers (often referred to as hardware) are controlled by software

Page 6: Chapter 1: Introduction

Programming Languages

Computer languages may be divided into three general types:

1. Machine languages2. Assembly languages3. High-level languages

Page 7: Chapter 1: Introduction

Programming Languages

1- Machine language:

• Only language computer directly understands

• The “natural language” of a computer and as such is defined by its hard-ware de-sign

• Too slow (for development), consist of strings of numbers 1s and 0s.

• Machine language is often referred to as object code.

Page 8: Chapter 1: Introduction

Programming Languages

2- Assembly language

• English-like abbreviations that represent elementary operations

• Clearer to humans

• Translator programs called assemblers convert assembly-language programs to machine language.

• Programmers still had to use many instructions to accomplish even the simplest tasks.

Page 9: Chapter 1: Introduction

Programming Languages

3- High-level languages

• Similar to everyday English

• Single statements accomplish substantial tasks

• Translator programs called compilers convert high-level language programs into machine language

Page 10: Chapter 1: Introduction

Terms

Source code• is a program in a form suitable for reading and writing by a human

being

Executable program (executable)• is a program in a form suitable for running on a computer

Compilation• is the process of translating source code into object code

Compiler• is a program that performs compilation as defined above

The object code file• contains a sequence of instructions that the processor can

understand but that is difficult for a human to read or modify.

Page 11: Chapter 1: Introduction

Typical C++ Development Environment

C++ systems generally consist of three parts:• a program development environment, the language and the C++

Standard Library.

C++ programs typically go through six phases:

1. edit2. preprocess3. compile4. link 5. load 6. execute

Page 12: Chapter 1: Introduction

Loader

PrimaryMemory

Program is created inthe editor and stored

on disk.

Preprocessor programprocesses the code.

Loader puts programin memory.

CPU takes eachinstruction and

executes it, possiblystoring new data

values as the programexecutes.

CompilerCompiler creates

object code and storesit on disk.

Linker links the objectcode with the libraries,

creates a.out andstores it on disk

Editor

Preprocessor

Linker

 CPU

PrimaryMemory

.

.

.

.

.

.

.

.

.

.

.

.

Disk

Disk

Disk

Disk

Disk

Page 13: Chapter 1: Introduction

More details…

Edit

• Programmer writes program (and stores source code on disk)

Pre-process

• Perform certain manipulations before compilation

Compile

• the compiler translates the C++ program into machine-language

code (also referred to as object code).

Page 14: Chapter 1: Introduction

More details…

Link• The object code produced by the C++ compiler typically

contains “holes” due to missing parts, such as references to functions from standard libraries.

• A linker links the object code with the code for the missing functions to produce an executable program

Load• 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

Execute• the computer, under the control of its CPU, executes the program one

instruction at a time

Page 15: Chapter 1: Introduction

First Program in C++: Printing a Line of

Text

Page 16: Chapter 1: Introduction

First Program in C++: Printing a Line of Text (cont.)

Comments• Document programs• Improve program readability• Ignored by compiler• Single-line comment

Begin with //• Multiple-line comment

• Begin with /* end with */

Page 17: Chapter 1: Introduction

First Program in C++: Printing a Line of Text (cont.)

preprocessor directive• Lines that begin with # are processed by the preprocessor

before the program is compiled.

• #include <iostream> notifies the preprocessor to include in the program the contents of the input/output stream• Must be included for any program that outputs data to the

screen or inputs data from the keyboard

Page 18: Chapter 1: Introduction

Standard Library

Rich collections of existing code that can be reused in your applications

1. Common math calculations e.g. sqrt

2. String manipulations

3. Character manipulations

4. Input/output

5. Error checking

• *Provided as part of the C++ development environment

Page 19: Chapter 1: Introduction

iostream library

• part of the C++ Standard Library

• provides a uniform way of handling input from (and output to)predefined sources

• based on the concept of a "stream “ which is an object where a program can either insert or extract characters to or from it.

• Streams are generally associated to a physical source or destination of characters

• a disk file, the keyboard, or the screen

Page 20: Chapter 1: Introduction

iostream library

• Standard Input Stream (cin) - Normally keyboard

• Standard Output Stream (cout)- Normally computer screen

• Standard Error Stream (cerr) - Display error messages

Page 21: Chapter 1: Introduction

First Program in C++: Printing a Line of Text (cont.)• main is a part of every C++ program.• The parentheses after main indicate that main is a program

building block called a function.• C++ programs typically consist of one or more functions and

classes.• Exactly one function in every program must be named main.• C++ programs begin executing at function main, even if main is

not the first function in the program.• The keyword int to the left of main indicates that main “returns”

an integer value.• A keyword is a word in code that is reserved by C++ for a

specific use.• For now, simply include the keyword int to the left of main in

each of your programs.

Page 22: Chapter 1: Introduction

First Program in C++: Printing a Line of Text (cont.)• A left brace, {, must begin the body of every function.• A corresponding right brace, }, must end each function’s body.• A statement normally ends with a semicolon (;), also known as

the statement terminator.• Preprocessor directives (like #include) do not end with a

semicolon.

Page 23: Chapter 1: Introduction

First Program in C++: Printing a Line of Text (cont.)• When a cout statement executes, it sends a stream of characters

to the standard output stream object—std::cout—which is normally “connected” to the screen.

• The std:: before cout is required when we use names that we’ve brought into the program by the preprocessor directive #include <iostream>.

• The notation std::cout specifies that we are using a name, in this case cout, that belongs to “namespace” std.

• The names cin (the standard input stream) and cerr (the standard error stream) also belong to namespace std.

• The << operator is referred to as the stream insertion operator

Page 24: Chapter 1: Introduction

First Program in C++: Printing a Line of Text (cont.)

• The characters \n are not printed on the screen.

• The escape sequence \n means newline.• Causes the cursor to move to the beginning of the next line

on the screen.

• When the return statement is used at the end of main the value 0 indicates that the program has terminated successfully.

• According to the C++ standard, if program execution reaches the end of main without encountering a return statement, it’s assumed that the program terminated successfully—exactly as when the last statement in main is a return statement with the value 0.

Page 25: Chapter 1: Introduction
Page 26: Chapter 1: Introduction

Modifying Our First C++ Program

Page 27: Chapter 1: Introduction

Modifying Our First C++ Program

Page 28: Chapter 1: Introduction

Location in memory where value can be stored

Common data types• int - integer numbers• char - characters• double - floating point numbers

Declare variables with name and data type before useint integer1;int integer2;int sum;

Can declare several variables of same type in one declaration• Comma-separated list

int integer1, integer2, sum;

Variables

Page 29: Chapter 1: Introduction

Variables

Variable names• Valid identifier

• Series of characters (letters, digits, underscores)• Cannot begin with digit• Case sensitive

Page 30: Chapter 1: Introduction

Another Simple Program:Adding Two Integers

Page 31: Chapter 1: Introduction

Adding Two Integers

Page 32: Chapter 1: Introduction

Adding Two IntegersDeclarations of variables can be placed almost anywhere in a program, but they must appear before their corresponding variables are used in the program

• Input stream object• >> (stream extraction operator)

• Used with std::cin• Waits for user to input value, then press Enter (Return) key• Stores value in variable to right of operator

• Converts value to variable data type

• = (assignment operator)• Assigns value to variable• Binary operator (two operands)• Example:

sum = variable1 + variable2;

Page 33: Chapter 1: Introduction

Adding Two Integers• std::endl is a so-called stream manipulator.

• The name endl is an abbreviation for “end line” and belongs to namespace std.

• The std::endl stream manipulator outputs a newline.

• Using multiple stream insertion operators (<<) in a single statement is referred to as concatenating, chaining or cascading stream insertion operations.

Page 34: Chapter 1: Introduction

Memory Concepts• Variable names such as number1, number2 and sum actually

correspond to locations in the computer’s memory.

• Every variable has name, type, size and value

• When new value placed into variable, overwrites previous value

• The process of reading variables from memory is called

nondestructive

• Placing new value into variable (memory location), overwrites old

value- called destructive.

Page 35: Chapter 1: Introduction

Memory Concepts

std::cin >> integer1;•Assume user entered 45

std::cin >> integer2;•Assume user entered 72

sum = integer1 + integer2;