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

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

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

Programming with C++ as a Second Language

Ch 1. Algorithms and Basic C++ Programming

Fundamentals of Structured Programming

CS110: PROGRAMMING LANGUAGE I

CSCI 1061U Programming Workshop 2. C++ Basics

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

CS313D: ADVANCED PROGRAMMING LANGUAGE

Reserved Words and Identifiers

Introduction to Programming

! A program is a set of instructions that the. ! It must be translated. ! Variable: portion of memory that stores a value. char

2 nd Week Lecture Notes

Chapter 2. C++ Basics

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++

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

CSI33 Data Structures

o Counter and sentinel controlled loops o Formatting output o Type casting o Top-down, stepwise refinement

Week 2: Console I/O and Operators Arithmetic Operators. Integer Division. Arithmetic Operators. Gaddis: Chapter 3 (2.14,3.1-6,3.9-10,5.

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

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

Chapter 1 Introduction to Computers and C++ Programming

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

Fundamentals of Programming CS-110. Lecture 2

C++ Programming: From Problem Analysis to Program Design, Third Edition

Introduction to Programming EC-105. Lecture 2

Chapter Overview. C++ Basics. Variables and Assignments. Variables and Assignments. Keywords. Identifiers. 2.1 Variables and Assignments

Module 2 - Part 2 DATA TYPES AND EXPRESSIONS 1/15/19 CSE 1321 MODULE 2 1

Computer Programming : C++

A First Program - Greeting.cpp

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

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

Your First C++ Program. September 1, 2010

CSCI 123 Introduction to Programming Concepts in C++

Programming. C++ Basics

C++ PROGRAMMING. For Industrial And Electrical Engineering Instructor: Ruba A. Salamh

C++ Basic Elements of COMPUTER PROGRAMMING. Special symbols include: Word symbols. Objectives. Programming. Symbols. Symbols.

Add Subtract Multiply Divide

The C++ Language. Arizona State University 1

Lecture 3. Input and Output. Review from last week. Variable - place to store data in memory. identified by a name should be meaningful Has a type-

Objectives. In this chapter, you will:

Full file at

Chapter 2 Basic Elements of C++

Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. Overview. Objectives. Teaching Tips. Quick Quizzes. Class Discussion Topics

Engineering Problem Solving with C++, Etter/Ingber

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

PIC 10A. Lecture 3: More About Variables, Arithmetic, Casting, Assignment

UNIT- 3 Introduction to C++

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

Programming Fundamentals. With C++ Variable Declaration, Evaluation and Assignment 1

Visual C# Instructor s Manual Table of Contents

Problem Solving With C++ Ninth Edition

CS 151 Review #3. // More than one variable can be defined // in a statement. Multiple variables are // separated by a comma.

Chapter 2. Outline. Simple C++ Programs

Introduction to C++ (Extensions to C)

BITG 1233: Introduction to C++

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

Operators. Lecture 3 COP 3014 Spring January 16, 2018

Operations. Making Things Happen

C++ Programming Basics

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

Introduction to Programming using C++

Basics of Java Programming

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

CS242 COMPUTER PROGRAMMING

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

Programming with C++ Language

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

These are notes for the third lecture; if statements and loops.

Full file at

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

Week 1: Hello World! Muhao Chen

C Programming

Expressions, Input, Output and Data Type Conversions

C++ Programming Lecture 1 Software Engineering Group

Chapter 2: Overview of C++

H.O.#2 Fall 2015 Gary Chan. Overview of C++ Programming

Chapter 2: Using Data

PIC 10A Pointers, Arrays, and Dynamic Memory Allocation. Ernest Ryu UCLA Mathematics

Basic program The following is a basic program in C++; Basic C++ Source Code Compiler Object Code Linker (with libraries) Executable

CMPS 221 Sample Final

Information Science 1

Understanding main() function Input/Output Streams

Getting started with C++ (Part 2)

Homework #3 CS2255 Fall 2012

Computer Science II Lecture 1 Introduction and Background

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

LECTURE 02 INTRODUCTION TO C++

Section we will not cover section 2.11 feel free to read it on your own

! A literal represents a constant value used in a. ! Numbers: 0, 34, , -1.8e12, etc. ! Characters: 'A', 'z', '!', '5', etc.

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

CSCI 2010 Principles of Computer Science. Data and Expressions 08/09/2013 CSCI

Chapter 2: Using Data

CSCE 110 PROGRAMMING FUNDAMENTALS

UEE1302 (1102) F10: Introduction to Computers and Programming

Your first C++ program

Computing and Statistical Data Analysis Lecture 3

From Pseudcode Algorithms directly to C++ programs

Chapter 2: Introduction to C++

Transcription:

Structured Programming Using C++ Lecture 2 : Introduction to the C++ Language Dr. Amal Khalifa Lecture Contents: Introduction to C++ Origins Object-Oriented Programming, Terms Libraries and Namespaces Console Input/Output Variables, Expressions, and Assignment Statements Program Style 2 Dr. Amal Khalifa - Spring 2012 1

Introduction to C++ C++ Origins Low-level languages Machine, assembly High-level languages C, C++, ADA, COBOL, FORTRAN Object-Oriented-Programming in C++ C++ Terminology Programs and functions Basic Input/Output (I/O) with cin and cout 1-3 C++ Program 1-4 Dr. Amal Khalifa - Spring 2012 2

Program output. 1-5 Libraries C++ Standard Libraries #include <Library_Name> Directive to "add" contents of library file to your program Called "preprocessor directive" Executes before compiler, and simply "copies" library file into your program file C++ has many libraries Input/output, math, strings, etc. 1-6 Dr. Amal Khalifa - Spring 2012 3

Namespaces Namespaces defined: Collection of name definitions For now: interested in namespace "std" Has all standard library definitions we need Examples: #include <iostream> using namespace std; Includes entire standard library of name definitions #include <iostream>using std::cin; using std::cout; Can specify just the objects we want 1-7 Console Input/Output I/O objects cin, cout, cerr Defined in the C++ library called <iostream> Must have these lines (called pre-processor directives) near start of file: #include <iostream> using namespace std; Tells C++ to use appropriate library so we can use the I/O objects cin, cout, cerr 1-8 Dr. Amal Khalifa - Spring 2012 4

Console Output What can be outputted? Any data can be outputted to display screen literal string " games played. Variables Constants Expressions (which can include all of above) Cascading: multiple values in one cout 1-9 Separating Lines of Output New lines in output Recall: "\n" is escape sequence for the char "newline" A second method: object endl Examples: cout << "Hello World\n"; Sends string "Hello World" to display, & escape sequence "\n", skipping to next line cout << "Hello World" << endl; Same result as above 1-10 Dr. Amal Khalifa - Spring 2012 5

Escape Sequences "Extend" character set Backslash, \ preceding a character Instructs compiler: a special "escape character" is coming Following character treated as "escape sequence char" Display 1.3 next slide 1-11 Some Escape Sequences (1 of 2) 1-12 Dr. Amal Khalifa - Spring 2012 6

Some Escape Sequences (2 of 2) 1-13 C++ Variables C++ Identifiers Keywords/reserved words vs. Identifiers Case-sensitivity and validity of identifiers Meaningful names! Variables A memory location to store data for a program Must declare all data before use in program 1-14 Dr. Amal Khalifa - Spring 2012 7

Data Types 1-15 Data Types: 1-16 Dr. Amal Khalifa - Spring 2012 8

Declaring Variables Rule: <datatype> identifier Examples: int myvalue; char response; float price; double ycoord; 17 Input Using cin cin for input, cout for output Differences: ">>" (extraction operator) points opposite Think of it as "pointing toward where the data goes" Object name "cin" used instead of "cout" No literals allowed for cin Must input "to a variable" cin >> num; Waits on-screen for keyboard entry Value entered at keyboard is "assigned" to num 1-18 Dr. Amal Khalifa - Spring 2012 9

Prompting for Input: cin and cout Every cin should have cout prompt Maximizes user-friendly input/output Example: cout << "Enter number of dragons: "; cin >> numofdragons; Note: no "\n" in cout. Prompt "waits" on same line for keyboard input as follows: Enter number of dragons: 1-19 Formatting Output Formatting numeric values for output Values may not display as you d expect! "Magic Formula" to force decimal sizes: cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2); To have exactly two digits after the decimal place Example: cout << "The price is $" << price << endl; Now results in the following: The price is $78.50 1-20 Dr. Amal Khalifa - Spring 2012 10

Assigning Data Initializing data in declaration statement Results "undefined" if you don t! int myvalue = 0; Assigning data during execution Lvalues (left-side) & Rvalues (right-side) Lvalues must be variables Rvalues can be any expression Example: distance = rate * time; Lvalue: "distance" Rvalue: "rate * time" 1-21 Data Assignment Rules Compatibility of Data Assignments intvar = 2.99; // 2 is assigned to intvar! Only integer part "fits", so that s all that goes Called "implicit" or "automatic type conversion" Literals 2, 5.75, "Z", "Hello World" Considered "constants": can t change in program Type mismatches General Rule: Cannot place value of one type into variable of another type 1-22 Dr. Amal Khalifa - Spring 2012 11

Expressions & Arithmetic Operators Addition + Subtraction - Multiplication * Division / Mod % How to write mathematical formulas in C++?? 23 Arithmetic Precision Precision of Calculations "Highest-order operand" determines type of arithmetic "precision" performed Examples: 17 / 5 evaluates to?? Both operands are integers Integer division is performed! 17.0 / 5 equals?? Highest-order operand is "double type" Double "precision" division is performed! int intvar1 =1, intvar2=2; intvar1 / intvar2; Result:?? 1-24 Dr. Amal Khalifa - Spring 2012 12

Individual Arithmetic Precision Calculations done "one-by-one" 1 / 2 / 3.0 / 4 performs 3 separate divisions. First 1 / 2 equals 0 Then 0 / 3.0 equals 0.0 Then 0.0 / 4 equals 0.0! So not necessarily sufficient to change just "one operand" in a large expression Must keep in mind all individual calculations that will be performed during evaluation! 1-25 Type Casting Casting for Variables Can add ".0" to literals to force precision arithmetic, but what about variables? We can t use "myint.0"! Two types Implicit also called "Automatic" Done FOR you, automatically 17 / 5.5 Explicit type conversion Programmer specifies conversion with cast operator (double)17 / 5.5 (double)myint / mydouble Explicitly "casts" or "converts" intvar to double type Result of conversion is then used 1-26 Dr. Amal Khalifa - Spring 2012 13

Shorthand Operators Increment & Decrement Operators Increment operator, ++ intvar++; intvar = intvar + 1; Decrement operator, -- intvar--; intvar = intvar 1; Post-Increment : intvar++ Uses current value of variable, THEN increments it Pre-Increment : ++intvar Increments variable first, THEN uses new value No difference if "alone" in statement: intvar++; and ++intvar; identical result 1-27 Example Post-Increment int n = 2, valueproduced; valueproduced = 2 * (n++); cout << valueproduced << endl; cout << n << endl; Pre-Increment int n = 2, valueproduced; valueproduced = 2 * (++n); cout << valueproduced << endl; cout << n << endl; 28 Dr. Amal Khalifa - Spring 2012 14

Arithmetic Assignment Operators 1-29 Constants Cannot change values during execution Use Meaningful name to represent data const int NUMBER_OF_STUDENTS = 24; Called a "declared constant" or "named constant" Now use it s name wherever needed in program Added benefit: changes to value result in one fix 1-30 Dr. Amal Khalifa - Spring 2012 15

1-31 Program Style Always use comments Make programs easy to read and modify // Two slashes indicate entire line is to be ignored /*Delimiters indicates everything between is ignored*/ Identifier naming ALL_CAPS for constants lowertoupper for variables Most important: MEANINGFUL NAMES! 1-32 Dr. Amal Khalifa - Spring 2012 16

That s all for today!! Thanks.. 33 Dr. Amal Khalifa - Spring 2012 17