chapter 1: introduction
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 PresentationTRANSCRIPT
![Page 1: Chapter 1: Introduction](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/1.jpg)
CHAPTER 1: INTRODUCTIONC++ Programming
![Page 2: Chapter 1: Introduction](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/6.jpg)
Programming Languages
Computer languages may be divided into three general types:
1. Machine languages2. Assembly languages3. High-level languages
![Page 7: Chapter 1: Introduction](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/9.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/10.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/11.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/12.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/13.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/15.jpg)
First Program in C++: Printing a Line of
Text
![Page 16: Chapter 1: Introduction](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/16.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/17.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/18.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/19.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/20.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/21.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/22.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/23.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/24.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/25.jpg)
![Page 26: Chapter 1: Introduction](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/26.jpg)
Modifying Our First C++ Program
![Page 27: Chapter 1: Introduction](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/27.jpg)
Modifying Our First C++ Program
![Page 28: Chapter 1: Introduction](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/28.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/29.jpg)
Variables
Variable names• Valid identifier
• Series of characters (letters, digits, underscores)• Cannot begin with digit• Case sensitive
![Page 30: Chapter 1: Introduction](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/30.jpg)
Another Simple Program:Adding Two Integers
![Page 31: Chapter 1: Introduction](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/31.jpg)
Adding Two Integers
![Page 32: Chapter 1: Introduction](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/32.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/33.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/34.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051821/56814f52550346895dbcf82c/html5/thumbnails/35.jpg)
Memory Concepts
std::cin >> integer1;•Assume user entered 45
std::cin >> integer2;•Assume user entered 72
sum = integer1 + integer2;