1. Trang chủ
  2. » Công Nghệ Thông Tin

C++ lecture 1

20 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • C++ Programming Language Lecture 1 Introduction

  • Outline

  • Introduction

  • What is C++?

  • What is a Computer?

  • Computer Organization

  • Computer Organization Example

  • Hardware Trends

  • Evolution of Operating Systems

  • Slide 10

  • Types of Computing

  • Programming Languages I

  • Programming Languages II

  • Programming Languages III

  • Programming Languages IV

  • Example of High-level Languages

  • History of C and C++

  • C++ Standard Library

  • Basics of a Typical C++ Environment

  • Additional Notes

Nội dung

C++ Programming Language Lecture Introduction The Hashemite University Computer Engineering Department (Adapted from the textbook slides) Outline       Introduction C++ overview Computer organization and hardware trends Evolution of operating systems and types of computing Programming languages Basics of a typical C++ environment The Hashemite University Introduction    In this course you will learn C++ and the legacy C code It is your first step in the software programming world It will provide you with the needed tools and background to learn objectoriented programming The Hashemite University What is C++?   A powerful programming language that enables you to write instructions (i.e software) to drive the hardware of the computer (i.e to perform actions and take decisions) But first, what is computers? What is hardware? And what is software? The Hashemite University What is a Computer?  Computer   Computer programs   A device capable of performing computations and making logical decisions in a very fast manner Sets of instructions that control a computer’s processing of data Hardware  Various devices comprising a computer   Examples: keyboard, screen, mouse, disks, memory, CDROM, and processing units Software  Programs that run a computer The Hashemite University Computer Organization  Six logical units in every computer:  Input unit   Output unit   Performs arithmetic calculations and logical decisions Central processing unit (CPU)   Rapid access, low capacity, stores input information and programs while they are being executed (active programs and data) Arithmetic and logic unit (ALU)   Outputs information (to screen, to printer, to control other devices) Memory unit   Obtains information from input devices (keyboard, mouse) Supervises and coordinates the other sections of the computer (called the heart of the computer) Secondary storage unit  Cheap, long-term, high-capacity storage, stores inactive programs The Hashemite University Computer Organization Example The Hashemite University Hardware Trends  Every year or two computers approximately double the following:  The amount of memory they contain   The amount of secondary storage they contain   Secondary storage (such as disk storage) is used to hold programs and data over time Their processor speeds   Memory used to execute programs The speed at which computers execute their programs This development is accompanied with a decrease in prices and computers cost The Hashemite University Evolution of Operating Systems   Operating system (OS) is the intermediary software that lies between the hardware and the computer applications where it enables the interfacing between the user and the computer hardware Operating systems development:  Batch processing  Do only one job or task or program at a time while processing data in groups or batches  Operating systems  Manage transitions between jobs  Increased throughput : Amount of work computers process  Still batch processing (one task at a time)  Multiprogramming  Many jobs or tasks sharing a computer’s resources in the same time  Timesharing  Special case of multiprogramming  Access computer resources via terminals  Perform a small portion of one user’s job then moves on to service the next user The Hashemite University The Hashemite University 10 Types of Computing  Personal computers   Distributed computing   Economical enough for individual Organizations computing is distributed over networks Client/server computing  Sharing of information across computer networks between servers (such as file servers, email servers, etc.) and clients (personal computers connected to the network) The Hashemite University 11 Programming Languages I  Three types of programming languages  Machine languages    Strings of numbers giving machine specific instructions Computers can only understand this language Example: 10100011001001 11111111111111 00000001110100      Machine dependent: every machine has its own language Hard to be understood by humans Hard to be used in programming Too slow and tedious Error prone The Hashemite University 12 Programming Languages II  Assembly languages      English-like abbreviations representing elementary computer operations so it is easier to be understood by humans Translated or converted into machine language via assemblers Also, it is slow and hard to be used in programming Machine dependent Example: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY The Hashemite University 13 Programming Languages III  High-level languages        Similar to everyday English, use mathematical notations Translated into machine language via compilers (compile the whole program at once) Interpreters are used to execute high level languages without need to compile them into machine language and it execute single line at a time Compiled programs are faster than the interpreted ones Fast and easy for programming Machine independent Example: grossPay = basePay + overTimePay The Hashemite University 14 Programming Languages IV  It is common to classify the computer programming languages into two types:  Low level programming languages which includes both the machine and assembly languages  High level languages as in the previous slide The Hashemite University 15 Example of High-level Languages  Other high-level languages      C and C++ Java Visual basic 6/.Net C#.Net FORTRAN   COBOL   Used in scientific and engineering applications Used to manipulate large amounts of data Pascal  Used to teach structured programming The Hashemite University 16 History of C and C++  C++ developed from C   ANSI C: standard of C and C++    C developed from two other programming languages: BCPL (Basic Compiled programming Language) and B which are used mainly to develop operating systems and compilers ANSI (American National Standard Institution ) has cooperated with ISO (International Organization for Standardization) to established worldwide standards for C and C++ programming to make C++ programs portable C99 is the latest ANSI standard of C/C++ C++ “spruces up” C  Provides capabilities for object-oriented programming   Objects are reusable software components that model things in the real world Object-oriented programs are easy to understand, correct and modify The Hashemite University 17 C++ Standard Library  C++ programs   Built from pieces called classes and functions C++ standard library  Provides rich collections of existing classes and functions for all programmers to use The Hashemite University 18 Basics of a Typical C++ Environment Editor Preprocessor Phases of C++ Programs: Edit (create h and cpp files): create the source code or file Preprocess (text replacement, include other files) Compiler Linker Loader Compile: creates the object code Link: creates the executable file Load Execute Disk Program is created in the editor and stored on disk Disk Preprocessor program processes the code Disk Compiler creates object code and stores it on disk Disk Linker links the object code with the libraries, creates a.exe and stores it on disk Primary Memory Loader puts program in memory Disk Primary Memory CPU   The Hashemite University CPU takes each instruction and executes it, possibly storing new data values as the program executes 19 Additional Notes   Check the Black Board to get your copy of the lecture The lecture covers the following sections from the textbook:  Fourth edition:  Chapter 1: Sections 1.1 – 1.8, 1.14, 1.15 The Hashemite University 20 ... specific instructions Computers can only understand this language Example: 10 100 011 0 010 01 111 111 111 111 11 000000 011 1 010 0      Machine dependent: every machine has its own language Hard to... 19 Additional Notes   Check the Black Board to get your copy of the lecture The lecture covers the following sections from the textbook:  Fourth edition:  Chapter 1: Sections 1. 1 – 1. 8, 1. 14,... Standardization) to established worldwide standards for C and C++ programming to make C++ programs portable C99 is the latest ANSI standard of C /C++ C++ “spruces up” C  Provides capabilities for object-oriented

Ngày đăng: 12/10/2021, 21:08

w