Title: The general characteristics of objects. Specific operation
1- Chapter One
- Introduction to Programming
2Objectives
- You should be able to describe
- Introduction to Programming
- Function and Class Names
- The cout object
- Programming Style
- Common Programming Errors
3History of C
- C began as extension to C, which is procedural
language developed in the 1970s at ATT Bell
Laboratories - In early 1980s, Bjarne Stroustrup (also at ATT)
used his background in simulation languages to
develop C - Object-orientation and other procedural
improvements were combined with existing C
language features to form C
4Introduction to Programming
- Computer program Data and instructions used to
operate a computer - Programming Writing computer program in a
language that the computer can respond to and
that other programmers can understand - Programming language Set of instructions, data,
and rules used to construct a program - High-level languages use human language type
instructions - Low-level languages use instructions tied to a
computer type
5Procedural Programming Languages
- Instructions are used to create self-contained
units (procedures) - Procedures accept data as input and transform
data to produce a specific result as an output - Initially, high-level programming languages were
predominately procedural
6Procedure-Oriented Programs
- Most high-level programs process data to produce
one or more results - Procedural programs are constructed from sets of
instructions, with each set called a procedure - Each procedure moves the data one step closer to
the final desired output
7Procedure-Oriented Programs (continued)
8Object-Oriented Languages
- Allow for procedural instructions and for
definitions of objects to be manipulated - Such definitions include
- The general characteristics of objects
- Specific operations to manipulate objects
- C is an object-oriented language
- Has procedures and objects
- Supports code reuse
9Programming
- Programmingrepresent information process
information
10Information
- Data classified as different types
- Numeric data
- Logic data
- Characters and sentences
11Information representation
- Factorize information
- Some are constants, some are variables.
- Information decomposition
- Information type identification
12Information processing
- Operations
- simple statements using supported operators
- Compound statements by combining supported
operations -
13Algorithms and Procedures
- Before writing a program, a programmer must
clearly understand - What data is to be used
- Desired result
- Procedure needed to produce this result
- The procedure is referred to as an algorithm
- Algorithm Step-by-step sequence of instructions
describing how to perform a computation
14Example of an Algorithm
- Assume that a program must calculate sum of all
whole numbers from 1 through 100 - A computer can not respond to heuristic command
Add the numbers from 1 - 100 - A computer is algorithm-responding machine and
not intuition-responding machine - Several methods or algorithms can be used to find
the required sum
15Example of an Algorithm (continued)
Sum n(a b)/2 Where n number of terms to
be added (100) a first number added (1) b
last number to be added (100) Sum 100(1
100)/2 5050
Figure 1.2 Summing the Numbers from 1 through
100 Method 3. Formula - Use the formula
Sum n(a b)/2 5050
16Flowcharting
17Flowcharting
18Flowchart Example
19Classes and Objects
- Data Object Set of values packaged as single
unit - Class Set of objects with similar attributes
- General concept of object-oriented programming is
difference between an object and the larger set
of which it is a member (class) - A red, Ford Taurus sedan is an instance, or
object, of general class of automobiles
20Program Translation
- C source program Set of instructions written
in C language - Machine language Internal computer language
- Consists of a series of 1s and 0s
- Source program cannot be executed until it is
translated into machine language - Interpreted language translates one statement at
a time - Compiled language translates all statements
together
21Program Translation (continued)
22Function and Class Names
- Modular programs Segments arranged in logical
order to form an integrated unit - Module Segments of modular program
- Function Name of a C procedure
- Composed of sequence of C instructions
- Function interface is its inputs and outputs
- Method of converting input to results is
encapsulated and hidden within function
23Function and Class Names (continued)
24Function and Class Names (continued)
25Function and Class Naming Conventions
- Identifiers Names that convey an idea of the
purpose of function or class - Identifier composition rules (read page 15)
- First character must be a letter or underscore
- Only letter, digit or underscore may follow
- Blank spaces NOT allowed
- Identify component words with initial
capitalization - Cannot be C keyword
- Should be a mnemonic
26- Tokens are basic building blocks of C/C
programming. - In a C/C source program, the basic element
recognized by the compiler is the "token.. - A token is source-program text that the compiler
does not further break down into component
elements.
27tokens
- keyword
- identifier
- Constant number
- string-literal
- operator
- Punctuator (special symbol)
- Punctuation characters such as brackets ( ),
braces ( ), parentheses ( ( ) ), and commas (,)
are also tokens.
28(No Transcript)
29Literals (constants)
- A literal is a notation for representing a value
within source code. - Literal constants (often referred to as literals
or constants as apposed to symbolic constant
identifiers) are invariants whose values are
implied by their representations. - A letter or symbol that stands for itself as
opposed to a feature, function, or entity
associated with it in a programming language - can be a symbol that refers to add operator,
but as a literal, it is a character, as it
is.
30- Literal numbers Literal strings Obama,
Bush, "hello - Literal characters 'b', 'c' (character)
- Literal integers 14
- Literal doubles 3.1 (default double)
- 3.1l(double)
- 3.1f (float)
- 18.46e1 (scientific notation)
- We call the f in 3.1f the suffix modifier. The
type of a literal is thus determined from its
syntactic form.
31operators
- C/C operators can be used to manipulate
Variables and constants using complex
expressions. - In C, operators can be overloaded and their
meanings can be user-defined. However, their
precedence and the number of operands they take
cannot be modified. - At minimum we need to be aware of the syntax and
semantics of operators as they are supplied with
the language, not overloaded.
32Punctuators (special symbols)
- Punctuators in C have syntactic and semantic
meaning to the compiler but do not, of
themselves, specify an operation that yields a
value. - Some punctuators, either alone or in combination,
can also be C operators or be significant to
the preprocessor. - Any of the following characters are considered
punctuators - ! ( ) \ ' " lt gt ? ,
. / - The punctuators , ( ), and must appear in
pairs
33C Keywords
34Fundamental data types
When programming, we store the variables in our
computer's memory, but the computer has to know
what kind of data we want to store in them, since
it is not going to occupy the same amount of
memory to store a simple number than to store a
single letter or a large number, and they are not
going to be interpreted the same way. A data
type or datatype defines kind of data, the size
of memory occupied, a set of possible values, the
range, as well as basic operations on those
values. The memory in our computers is organized
in bytes. A byte is the basic unit, the minimum
amount, that can be manipulated in memory. A byte
can store a relatively small amount of data one
single character or a small integer (generally an
integer between 0 and 255). In addition, the
computer can manipulate more complex data types
that come from grouping several bytes, such as
long numbers or non-integer numbers.
35Built-in data types as well as the range of
values that can be represented
36C Identifiers
- Examples of valid identifiers
- grosspay taxCalc
- addNums degToRad
- multByTwo salesTax
- netPay bessel
- Usually identifiers are used to name variables,
constant symbols, functions, labels etc.
37C Identifiers (continued)
- Examples of invalid identifiers
- 4ab3 (begins with a number)
- e6 (contains a special character)
- while (is a keyword)
38variables
- A variable in computer source code is a data
storage space located somewhere in memory. - It is identified by a name.
- A variables name wont change, so we can program
with respect to the name. - But the content in the space represented by the
name is changeable. - Generally the value change during the course of
program execution.
39variables
- A variable in C must be declared (the type of
variable) and defined (values assigned to a
variable) before it can be used in a program
40Expressions
- Expressions are sequences of operators and
operands that are used for one or more of these
purposes - Computing a value from the operands.
- Designating objects or functions.
- types of expressions
- semantics of expressions
41Soul of your program
- Input and output support allow your program
interactive - Variables make your program reusable without
recompiling your program - Expressions make your program intelligent.
- Variables expressions soul of your program
42Types of expressions
- C expressions are divided into several
categories - Primary expressions. These are the building
blocks from which all other expressions are
formed. - Postfix expressions. These are primary
expressions followed by an operator for
example, the array subscript or postfix increment
operator. - Expressions formed with unary operators. Unary
operators act on only one operand in an
expression. - Expressions formed with binary operators. Binary
operators act on two operands in an expression. - Expressions with the conditional operator. The
conditional operator is a ternary operator the
only such operator in the C language and
takes three operands. - Constant expressions. Constant expressions are
formed entirely of constant data. - Expressions with explicit type conversions.
Explicit type conversions, or "casts," can be
used in expressions. - Expressions with pointer-to-member operators.
- Casting. Type-safe "casts" can be used in
expressions. - Run-Time Type Information. Determine the type of
an object during program execution.
43Semantics of Expressions
- Order of evaluation
- Sequence points
- Ambiguous expressions
- Notation in expressions
- Side effects
44The main Function
- Each C program must have one and only one
function named main - Called a driver function because it drives the
other modules
45The main Function (continued)
46The main Function (continued)
- First line of function is called header line
- What type of data, if any, is returned from
function - The name of function
- What type of data, if any, is sent into function
- Data transmitted into function at run time are
referred to as arguments of function
47main Function Composition
48The cout Object
- The cout object sends data to the standard output
display device - The display device is usually a video screen
- Name derived from Console OUTput and pronounced
see out - Data is passed to cout by the insertion symbol
- cout ltlt Hello there, World!
49C Sample Code using cout
50Newline Escape Sequence
- Instructs the display device to move to a new
line - A newline caused when the characters backslash \
and n are used together - Backslash provides an escape from the normal
interpretation of the character that follows - Newline escape sequences can be placed anywhere
within a message to cout
51Preprocessor Command
- Performs an action before the compiler translates
source code to machine code - An example is include ltiostreamgt
- Causes the iostream file to be inserted wherever
the include command appears - iostream is part of the C standard library
- Included in iostream are two important classes
- istream Declarations and methods for data input
- ostream Declarations and methods for data output
52Namespaces
- Files accessed by compiler when looking for
prewritten classes or functions - Sample namespace statement
- using namespace std
- iostream contained in a namespace called std
- Compiler uses iostreams cout object from std
whenever cout is referenced
53More C Sample Code
54More C Sample Code (continued)
55Syntax
- The set of rules for formulating grammatically
correct C language statements - Compiler accepts statements with correct syntax
without generating error message - A program statement can syntactically correct and
logically incorrect - Compiler will accept statement
- Program will produce incorrect results
56Programming Style
- Every C program must contain one and only one
main() function - Statements included within braces
- C allows flexibility in format for the word
main, the parentheses ( ), and braces - More than one statement can be put on line
- One statement can be written across lines
- Use formatting for clarity and ease of program
reading
57Standard C Program Form
- Function name starts in column 1
- Name and parentheses on their own line
- Opening brace of function body on next line
- Aligned with first letter of function name
- Closing brace is last line of function
- Aligned with opening brace
- Standard form highlights the function as a unit
58Standard C Program Form (continued)
- Within function, indent statements 2-3 spaces
- Creates uniform look for similar statement groups
- Good programming practice
- Final program form should be consistent
- Proper format improves program readability and
understandability
59Poor Program Format
60Proper Program Format
61Statements
- C/C Program is made up of statements.
- A statement consists of zero or more tokens, and
always end with a . - Every statement in your program alone or in
combination specifies an action to performed by
your program. - C/C provides variety of types of statements to
help you attain any function with maximum
flexibility and efficiency. - One of the reason for popularity of C/C is
because of the extreme power provided to
programmer in C due to it rich and diverse set of
statements define in C/C. - declaration statement
- Assignment statement
- if - else Statement
- switch Statement
- For statment
- while Statement
- do Statement
- return Statment
- goto Statement
- break Statement
- Continue statement
- Expressions Statement
- Block Statement
62Comments
- Explanatory remarks written within program
- Clarify purpose of the program
- Describe objective of a group of statements
- Explain function of a single line of code
- Computer ignores all comments
- Comments exist only for convenience of reader
- A well-constructed program should be readable and
understandable - Comments help explain unclear components
63Comment structure
- Line comment Begins with 2 slashes(//) and
continues to the end of the line - Can be written on line by itself or at the end of
line that contains program code - // this is a line comment
- Block comment Multiple line comment begins with
the symbols / and ends with the symbols / - / This is a block comment that
- spans
- across three lines /
64Common Programming Errors
- Omitting parentheses after main
- Omitting or incorrectly typing the opening brace
- Opening brace signifies start of function body
- Omitting or incorrectly typing the closing brace
- Closing brace signifies end of function
- Misspelling the name of an object or function
- Example Typing cot instead of cout
65Common Programming Errors (continued)
- Forgetting to close a string sent to cout with a
double-quote symbol - Omitting the semicolon at the end of each
statement - Forgetting \n to indicate a new line
66Sequential program flow
- Without flow control statements, the program you
wrote executes sequentially, one statement after
another.
67Case sensitive
68Summary
- A C program consists of one or more modules
- One module must be the function main()
- main() is starting point of C program
- The simplest C program has the form
- include ltiostreamgt
- using namespaces std
- int main()
-
- program statements
- return 0
-
69Summary (continued)
- C statements are terminated by a semicolon
- Standard library contains many functions and
classes - Standard Library provided with C compiler
- Includes ltiostreamgt for input and output
- cout object displays text or numeric results
- Stream of characters is sent to cout by
- Enclosing characters in double quotes
- Using the insertion (put to) operator, ltlt