Title: Announcements
1Announcements
- Starting next week class 6-8 on Thursday
- Homework 1 on the web
- Due January 29 next class meeting
- Homework policy
- No late assignments
- Graded out of 10 points
- Receive 5 points for turning it in
2Lecture 2
3Topics of this lecture
- Introduce first program
- Explore inputs and outputs of a program
- Arithmetic using C
- Introduce the conditional statement
4General Notes About Cand This Book
- Book geared toward novice programmers
- Stress programming clarity
- C and C are portable languages
- Portability
- C and C programs can run on many different
computers - Compatibility
- Many features of current versions of C not
compatible with older implementations
5Introduction 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
6A Simple ProgramPrinting a Line of Text
- Comments
- Document programs
- Improve program readability
- Ignored by compiler
- Single-line comment
- Begin with //
- Preprocessor directives
- Processed by preprocessor before compiling
- Begin with
7Basics 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
8fig01_02.cpp(1 of 1)fig01_02.cppoutput (1 of
1)
- 1 // Fig. 1.2 fig01_02.cpp
- 2 // A first program in C.
- 3 include ltiostreamgt
- 4
- 5 // function main begins program execution
- 6 int main()
- 7
- 8 stdcout ltlt "Welcome to C!\n"
- 9
- 10 return 0 // indicate that program
ended successfully - 11
- 12 // end function main
Welcome to C!
9A Simple ProgramPrinting a Line of Text
- Standard output stream object
- stdcout
- Connected to screen
- ltlt
- 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
10A Simple ProgramPrinting a Line of Text
Make some modifications to First Program
11Another Simple ProgramAdding Two Integers
- 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
12Another Simple ProgramAdding Two Integers
- Variables
- Variable names
- Valid identifier
- Series of characters (letters, digits,
underscores) - Cannot begin with digit
- Case sensitive
13Another Simple ProgramAdding Two Integers
- Input stream object
- gtgt (stream extraction operator)
- Used with stdcin
- 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
14fig01_06.cpp(1 of 1)
- 1 // Fig. 1.6 fig01_06.cpp
- 2 // Addition program.
- 3 include ltiostreamgt
- 4 // function main begins program execution
- 5 int main()
- 6 int integer1 // first number to be
input by user - 7 int integer2 // second number to be
input by user - 8 int sum // variable in which sum
will be stored - 9
- 10 stdcout ltlt "Enter first integer\n"
// prompt - 11 stdcin gtgt integer1
// read an integer - 12
- 13 stdcout ltlt "Enter second integer\n"
// prompt - 14 stdcin gtgt integer2
// read an integer - 15
- 16 sum integer1 integer2 // assign
result to sum - 17 stdcout ltlt "Sum is " ltlt sum ltlt
stdendl // print sum - 18
- 19 return 0 // indicate that program
ended successfully
15Microsoft Visual C numeric data types
16Microsoft Visual C numeric data types
17Memory Concepts
- Variable names
- 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
18Memory Concepts
- stdcin gtgt integer1
- Assume user entered 45
- stdcin gtgt integer2
- Assume user entered 72
- sum integer1 integer2
19Effect of Several Assignments
- What are the values of a and b after all
statements are executed? - int a 1
- int b
- b a
- a 2
- a 2, b 1
20Arithmetic
- Arithmetic calculations
-
- Multiplication
- /
- Division
- Integer division truncates remainder
- 7 / 5 evaluates to 1
-
- Modulus operator returns remainder
- 7 5 evaluates to 2
21Arithmetic
- 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
- Operators applied from left to right
X 7 4 / 2 (3 ( 4 3) 5) 2 3
22Decision Making Equality and Relational Operators
- if structure
- Make decision based on truth or falsity of
condition - If condition met, body executed
- Else, body not executed
- Equality and relational operators
- Lower precedence than arithmetic operators
- Equality operators
- Same level of precedence
- Relational operators
- Same level of precedence
- Associate left to right
23Decision Making Equality and Relational Operators
Notice (not )
24Decision Making Equality and Relational Operators
- using statements
- Eliminate the need to use the std prefix
- Allow us to write cout instead of stdcout
- To use the following functions without the std
prefix, write the following at the top of the
program - using stdcout
- using stdcin
- using stdendl
Look at example program
25Thinking About Objects Introduction to Object
Technology and the Unified Modeling Language
- Object orientation
- Natural way to think about the world and to write
computer programs - Attributes - properties of objects
- Size, shape, color, weight, etc.
- Behaviors - actions
- A ball rolls, bounces, inflates and deflates
- Objects can perform actions as well
- Inheritance
- New classes of objects absorb characteristics
from existing classes - Information hiding
- Objects usually do not know how other objects are
implemented
26Thinking About Objects Introduction to Object
Technology and the Unified Modeling Language
- Abstraction - view the big picture
- See a photograph rather than a group of colored
dots - Think in terms of houses, not bricks
- Class - unit of programming
- Classes serve as a Blueprint" of objects
- Objects are created from a class
- Classes contain functions
- Used to implement behaviors
- Classes contain data
- Used to implement attributes
- Classes are reusable
27Thinking About Objects Introduction to Object
Technology and the Unified Modeling Language
- Unified Modeling Language (UML)
- Used to model object-oriented systems and aid
with their design - Complex, feature-rich graphical language