Chapter 1 Introduction to Computers and C++ Programming

Similar documents
Introduction to Programming

Introduction to C++ Programming. Adhi Harmoko S, M.Komp

Introduction to C++ Programming Pearson Education, Inc. All rights reserved.

IS 0020 Program Design and Software Tools

C: How to Program. Week /Mar/05

CHAPTER 1.2 INTRODUCTION TO C++ PROGRAMMING. Dr. Shady Yehia Elmashad

Chapter 2 - Introduction to C Programming

Chapter 1 & 2 Introduction to C Language

Chapter 1 Introduction to Computers and C++ Programming

Introduction to C Programming. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

CS 241 Computer Programming. Introduction. Teacher Assistant. Hadeel Al-Ateeq

by Pearson Education, Inc. All Rights Reserved. 2

Arithmetic Operators. Binary Arithmetic Operators. Arithmetic Operators. A Closer Look at the / Operator. A Closer Look at the % Operator

c) Comments do not cause any machine language object code to be generated. d) Lengthy comments can cause poor execution-time performance.

Object Oriented Design

Full file at C How to Program, 6/e Multiple Choice Test Bank

Programming - 1. Computer Science Department 011COMP-3 لغة البرمجة 1 لطالب كلية الحاسب اآللي ونظم المعلومات 011 عال- 3

Introduction to Programming

BIL 104E Introduction to Scientific and Engineering Computing. Lecture 1

Chapter 1 INTRODUCTION

Another Simple Program: Adding Two Integers

By the end of this section you should: Understand what the variables are and why they are used. Use C++ built in data types to create program

Programming for Engineers Introduction to C

Features of C. Portable Procedural / Modular Structured Language Statically typed Middle level language

Chapter 2: Overview of C++

CS242 COMPUTER PROGRAMMING

BITG 1233: Introduction to C++

C++ As A "Better C" Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan.

Creating a C++ Program

Introduction to C# Applications

Lecture 3 Tao Wang 1

Fundamentals of Programming. Lecture 3: Introduction to C Programming

Tutorial-2a: First steps with C++ programming

A First Program - Greeting.cpp

Chapter 2: Basic Elements of C++

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Università degli Studi di Bologna Facoltà di Ingegneria. Principles, Models, and Applications for Distributed Systems M

download instant at Introduction to C++

Computer Programming : C++

Chapter 2: Introduction to C++

Chapter 2: Special Characters. Parts of a C++ Program. Introduction to C++ Displays output on the computer screen

2.1. Chapter 2: Parts of a C++ Program. Parts of a C++ Program. Introduction to C++ Parts of a C++ Program

Fundamentals of Programming Session 4

Chapter 2, Part I Introduction to C Programming

Chapter 1. C++ Basics. Copyright 2010 Pearson Addison-Wesley. All rights reserved

Basic Computer Programming for ISNE. Santi Phithakkitnukoon ผศ.ดร.ส นต พ ท กษ ก จน ก ร

6.096 Introduction to C++ January (IAP) 2009

Overview. - General Data Types - Categories of Words. - Define Before Use. - The Three S s. - End of Statement - My First Program

This watermark does not appear in the registered version - Slide 1

Programming with C++ as a Second Language

IT 374 C# and Applications/ IT695 C# Data Structures

C++ Basics. Data Processing Course, I. Hrivnacova, IPN Orsay

2 nd Week Lecture Notes

CHAPTER 3 BASIC INSTRUCTION OF C++

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments.

Structured Programming Using C++ Lecture 2 : Introduction to the C++ Language. Dr. Amal Khalifa. Lecture Contents:

VARIABLES & ASSIGNMENTS

CSCI 1061U Programming Workshop 2. C++ Basics

Intro to Computer Programming (ICP) Rab Nawaz Jadoon

CSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York

Course Outline. Introduction to java

UNIT- 3 Introduction to C++

Objectives. In this chapter, you will:

Chapter 15 - C++ As A "Better C"

Your First C++ Program. September 1, 2010

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

LECTURE 02 INTRODUCTION TO C++

IS 0020 Program Design and Software Tools

Chapter 1 Introduction to Computers and Programming

CSI33 Data Structures

Basics of C++ C++ Overview Elements I / O Assignment and Comments Formatted Output. Dr.Hamed Bdour

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Why Learn to Program?

Lab # 02. Basic Elements of C++ _ Part1

0 Introduction: Computer systems and program development

Chapter 1: An Overview of Computers and Programming Languages. Objectives. Objectives (cont d.) Introduction

Introduction. Arizona State University 1

Engineering Problem Solving with C++, Etter/Ingber

Chapter 2. Outline. Simple C++ Programs

PART I. Part II Answer to all the questions 1. What is meant by a token? Name the token available in C++.

Programming. C++ Basics

The C++ Language. Arizona State University 1

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements

Scientific Computing

C++ Programming Language Lecture 1 Introduction

Introduction to OOP Using Java Pearson Education, Inc. All rights reserved.

Week 0: Intro to Computers and Programming. 1.1 Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components

BITG 1113: Introduction To Computers And Programming Language LECTURE 1 LECTURE 1 1

Introduction to Python Programming

Chapter 3 - Functions

Programming with C++ Language

Chapter 1: Why Program? Computers and Programming. Why Program?

2/29/2016. Definition: Computer Program. A simple model of the computer. Example: Computer Program. Data types, variables, constants

Chapter 2. C++ Basics. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Programming Fundamentals (CS 302 ) Dr. Ihsan Ullah. Lecturer Department of Computer Science & IT University of Balochistan

SEQUENTIAL STRUCTURE. Erkut ERDEM Hacettepe University October 2010

Introduction to C++ Systems Programming

c++ keywords: ( all lowercase ) Note: cin and cout are NOT keywords.

Chapter 2, Part III Arithmetic Operators and Decision Making

C++ Basics. Lecture 2 COP 3014 Spring January 8, 2018

Transcription:

Chapter 1 Introduction to Computers and C++ Programming 1 Outline 1.1 Introduction 1.2 What is a Computer? 1.3 Computer Organization 1.7 History of C and C++ 1.14 Basics of a Typical C++ Environment 1.20 Introduction to C++ Programming 1.21 A Simple Program: Printing a Line of Text 1.22 Another Simple Program: Adding Two Integers 1.23 Memory Concepts 1.24 Arithmetic 1.25 Decision Making: Equality and Relational Operators

2 Software 1.1 Introduction Instructions to command computer to perform actions and make decisions Hardware Structured programming Object-oriented programming

3 Computer 1.2 What is a Computer? Device capable of performing computations and making logical decisions Computer programs Sets of instructions that control computer s processing of data Hardware Various devices comprising computer Software Keyboard, screen, mouse, disks, memory, CD-ROM, processing units, Programs that run on computer

4 1.3 Computer Organization Six logical units of computer 1. Input unit Receiving section Obtains information from input devices Keyboard, mouse, microphone, scanner, networks, 2. Output unit Shipping section Takes information processed by computer Places information on output devices Screen, printer, networks, Information used to control other devices

5 1.3 Computer Organization Six logical units of computer 3. Memory unit Rapid access, relatively low capacity warehouse section Retains information from input unit Immediately available for processing Retains processed information Until placed on output devices Memory, primary memory 4. Arithmetic and logic unit (ALU) Manufacturing section Performs arithmetic calculations and logic decisions

6 1.3 Computer Organization Six logical units of computer 5. Central processing unit (CPU) Administrative section Supervises and coordinates other sections of computer 6. Secondary storage unit Long-term, high-capacity warehouse section Storage Inactive programs or data Secondary storage devices Disks Longer to access than primary memory Less expensive per unit than primary memory

7 1.7 History of C and C++ History of C Evolved from two other programming languages BCPL and B Typeless languages Dennis Ritchie (Bell Laboratories) Added data typing, other features Development language of UNIX Hardware independent Portable programs 1989: ANSI standard 1990: ANSI and ISO standard published ANSI/ISO 9899: 1990

8 1.7 History of C and C++ History of C++ Extension of C Early 1980s: Bjarne Stroustrup (Bell Laboratories) Spruces up C Provides capabilities for object-oriented programming Objects: reusable software components Model items in real world Object-oriented programs Easy to understand, correct and modify Hybrid language C-like style Object-oriented style Both

9 1.14 Basics of a Typical C++ Environment C++ systems Program-development environment Language C++ Standard Library

1.14 Basics of a Typical C++ Environment 10 Phases of C++ Programs: Editor Disk Program is created in the editor and stored on disk. 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load Preprocessor Compiler Linker Loader Disk Disk Disk Disk Primary Memory... Preprocessor program processes the code. Compiler creates object code and stores it on disk. Linker links the object code with the libraries, creates a.out and stores it on disk Loader puts program in memory. 6. Execute CPU Primary Memory... CPU takes each instruction and executes it, possibly storing new data values as the program executes.

11 1.14 Basics of a Typical C++ Environment Input/output cin Standard input stream Normally keyboard cout Standard output stream Normally computer screen cerr Standard error stream Display error messages

12 1.20 Introduction to C++ Programming C++ language Facilitates structured and disciplined approach to computer program design Following several examples Illustrate many important features of C++ Each analyzed one statement at a time Structured programming Object-oriented programming

1 // Fig. 1.2: fig01_02.cpp 2 // A first program in C++. 3 #include <iostream> 4 5 // function main begins program execution 6 int main() 7 { 8 std::cout << "Welcome to C++!\n"; 9 10 return 0; // indicate that program ended successfully 11 12 } // end function main Outline 13 fig01_02.cpp (1 of 1) fig01_02.cpp output (1 of 1) Welcome to C++! 2003 Prentice Hall, Inc. All rights reserved.

1.21 A Simple Program: Printing a Line of Text 14 Comments Document programs Improve program readability Ignored by compiler Single-line comment Begin with // Preprocessor directives Processed by preprocessor before compiling Begin with #

1 // Fig. 1.2: fig01_02.cpp 2 // A first program in C++. 3 #include <iostream> 4 5 // function main begins program execution 6 int main() 7 { 8 std::cout << "Welcome to C++!\n"; 9 10 return 0; // indicate that program ended successfully 11 12 } // end function main Welcome to C++! Outline 15 Single-line comments. Function main returns an integer Left brace value. { begins Preprocessor function directive to include input/output stream fig01_02.cpp body. Function main appears Statements end with a header file <iostream>. (1 of 1) exactly once in every C++ semicolon ;. program.. fig01_02.cpp Corresponding right brace } output (1 of 1) ends function body. Name cout Stream belongs insertion to operator. namespace std. Keyword return is one of several means to exit function; value 0 indicates program terminated successfully. 2003 Prentice Hall, Inc. All rights reserved.

1.21 A Simple Program: Printing a Line of Text Standard output stream object std::cout Connected to screen << Stream insertion operator Value to right (right operand) inserted into output stream Namespace std:: specifies using name that belongs to namespace std std:: removed through use of using statements Escape characters \ Indicates special character output 16

1.21 A Simple Program: Printing a Line of Text 17 Escape Sequence Description \n Newline. Position the screen cursor to the beginning of the next line. \t Horizontal tab. Move the screen cursor to the next tab stop. \r Carriage return. Position the screen cursor to the beginning of the current line; do not advance to the next line. \a Alert. Sound the system bell. \\ Backslash. Used to print a backslash character. \" Double quote. Used to print a double quote character.

1 // Fig. 1.4: fig01_04.cpp 2 // Printing a line with multiple statements. 3 #include <iostream> 4 5 // function main begins program execution 6 int main() 7 { 8 std::cout << "Welcome "; 9 std::cout << "to C++!\n"; 10 11 return 0; // indicate that program ended successfully 12 13 } // end function main Multiple stream insertion statements produce one line of output. Outline 18 fig01_04.cpp (1 of 1) fig01_04.cpp output (1 of 1) Welcome to C++! 2003 Prentice Hall, Inc. All rights reserved.

1 // Fig. 1.5: fig01_05.cpp 2 // Printing multiple lines with a single statement 3 #include <iostream> 4 5 // function main begins program execution 6 int main() 7 { 8 std::cout << "Welcome\nto\n\nC++!\n"; 9 10 return 0; // indicate that program ended successfully 11 12 } // end function main Using newline characters to print on multiple lines. Outline 19 fig01_05.cpp (1 of 1) fig01_05.cpp output (1 of 1) Welcome to C++! 2003 Prentice Hall, Inc. All rights reserved.

1.22 Another Simple Program: Adding Two Integers 20 Variables 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 use int integer1; int integer2; int sum; Can declare several variables of same type in one declaration Comma-separated list int integer1, integer2, sum;

1.22 Another Simple Program: Adding Two Integers 21 Variables Variable names Valid identifier Series of characters (letters, digits, underscores) Cannot begin with digit Case sensitive

1.22 Another Simple Program: Adding Two Integers 22 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;

1 // Fig. 1.6: fig01_06.cpp 2 // Addition program. 3 #include <iostream> 4 5 // function main begins program execution 6 int main() 7 { Declare integer variables. 8 int integer1; // first number to be input by user 9 int integer2; // second number to be input by user 10 int sum; // variable in Use which stream sum extraction will be stored 11 12 std::cout << "Enter first integer\n"; stream to obtain // prompt user input. 13 std::cin >> integer1; // read an integer 14 15 std::cout << "Enter second integer\n"; // prompt 16 std::cin >> integer2; // read an integer 17 18 sum = integer1 + integer2; // assign result to sum Outline 23 fig01_06.cpp (1 of 1) 19 std::cout << "Sum is " << integer1 + integer2 << std::endl; 20 std::cout << "Sum is " << sum << std::endl; // print sumbuffer. 21 22 return 0; // indicate that program ended successfully 23 24 } // end function main operator with standard input Calculations can be performed in Stream output manipulator statements: alternative for lines 18 and 20: std::endl outputs a newline, then flushes output Concatenating, chaining or cascading stream insertion operations. 2003 Prentice Hall, Inc. All rights reserved.

Enter first integer 45 Enter second integer 72 Sum is 117 Outline 24 fig01_06.cpp output (1 of 1) 2003 Prentice Hall, Inc. All rights reserved.

25 Variable names 1.23 Memory Concepts Correspond to actual locations in computer's memory Every variable has name, type, size and value When new value placed into variable, overwrites previous value Reading variables from memory nondestructive

1.23 Memory Concepts 26 std::cin >> integer1; Assume user entered 45 std::cin >> integer2; Assume user entered 72 integer1 45 integer1 45 integer2 72 sum = integer1 + integer2; integer1 45 integer2 72 sum 117

27 Arithmetic calculations * Multiplication / Division 1.24 Arithmetic Integer division truncates remainder 7 / 5 evaluates to 1 % Modulus operator returns remainder 7 % 5 evaluates to 2

28 1.24 Arithmetic Rules of operator precedence Operators in parentheses evaluated first Nested/embedded parentheses Operators in innermost pair first Multiplication, division, modulus applied next Operators applied from left to right Addition, subtraction applied last Operator(s) Operators Operation(s) applied from Order left of to evaluation right (precedence) () Parentheses Evaluated first. If the parentheses are nested, the expression in the innermost pair is evaluated first. If there are several pairs of parentheses on the same level (i.e., not nested), they are evaluated left to right. *, /, or % Multiplication Division Modulus + or - Addition Subtraction Evaluated second. If there are several, they re evaluated left to right. Evaluated last. If there are several, they are evaluated left to right.

1.25 Decision Making: Equality and Relational Operators 29 if structure Make decision based on truth or falsity of condition If condition met, body executed Else, body not executed Equality and relational operators Equality operators Same level of precedence Relational operators Same level of precedence Associate left to right

1.25 Decision Making: Equality and Relational Operators 30 Standard algebraic equality operator or relational operator Relational operators C++ equality or relational operator Example of C++ condition Meaning of C++ condition > > x > y x is greater than y < < x < y x is less than y >= x >= y x is greater than or equal to y <= x <= y x is less than or equal to y Equality operators = == x == y x is equal to y!= x!= y x is not equal to y

1.25 Decision Making: Equality and Relational Operators 31 using statements Eliminate use of std:: prefix Write cout instead of std::cout

1 // Fig. 1.14: fig01_14.cpp 2 // Using if statements, relational 3 // operators, and equality operators. 4 #include <iostream> 5 6 using std::cout; // program uses cout 7 using std::cin; // program uses cin 8 using std::endl; // program uses endl 9 10 // function main begins program Declare execution variables. 11 int main() 12 { 13 int num1; // first number Can write to be cout read and from cin user 14 int num2; // second number without to std:: be read prefix. from user 15 16 cout << "Enter two integers, and I will tell you\n" 17 << "the relationships they satisfy: "; 18 cin >> num1 >> num2; // read two integers 19 20 if ( num1 == num2 ) statement. 21 cout << num1 << " is equal to " << num2 << endl; using statements eliminate need for std:: prefix. if structure compares values of num1 and num2 If condition to test for is true (i.e., equality. values are equal), execute this if structure compares values of num1 and num2 If condition to test for is true (i.e., inequality. values are not equal), execute 22 23 if ( num1!= num2 ) this statement. 24 cout << num1 << " is not equal to " << num2 << endl; 25 Outline 32 fig01_14.cpp (1 of 2) 2003 Prentice Hall, Inc. All rights reserved.

26 if ( num1 < num2 ) 27 cout << num1 << " is less than " << num2 << endl; 28 29 if ( num1 > num2 ) 30 cout << num1 << " is greater than " << num2 << endl; 31 32 if ( num1 <= num2 ) 33 cout << num1 << " is less than or equal to " 34 << num2 << endl; 35 36 if ( num1 >= num2 ) 37 cout << num1 << " is greater than or equal to " 38 << num2 << endl; 39 40 return 0; // indicate that program ended successfully 41 42 } // end function main Outline 33 fig01_14.cpp Statements (2 of may 2) be split over several lines. fig01_14.cpp output (1 of 2) Enter two integers, and I will tell you the relationships they satisfy: 22 12 22 is not equal to 12 22 is greater than 12 22 is greater than or equal to 12 2003 Prentice Hall, Inc. All rights reserved.

Enter two integers, and I will tell you the relationships they satisfy: 7 7 7 is equal to 7 7 is less than or equal to 7 7 is greater than or equal to 7 Outline 34 fig01_14.cpp output (2 of 2) 2003 Prentice Hall, Inc. All rights reserved.