Computer Science 1620 - PowerPoint PPT Presentation

About This Presentation
Title:

Computer Science 1620

Description:

Title: Computer Science 111 Author: Kev Last modified by: Ro Ben Created Date: 5/15/2006 1:59:37 PM Document presentation format: On-screen Show Company – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 38
Provided by: Kev995
Category:

less

Transcript and Presenter's Notes

Title: Computer Science 1620


1
Computer Science 1620
  • C - Basics

2
include ltiostreamgt using namespace std int
main() return 0
  • A very basic C Program.
  • When writing your first programs, always start
    with this template.
  • The code that you should write should go here.
  • The details of this template (what each
    component means) will become clear as the
    semester progresses.

3
  • cout
  • console output
  • sends data to the current output stream
  • for us, this will typically mean the screen
  • this can be re-routed to other output devices if
    necessary
  • when you wish to display something to the screen,
    use the following syntax

a valid C expression
cout ltlt
4
  • C Expression
  • an expression in C is an entity that represents
    a value
  • this value can take on many types
  • we will look at one type of expressions first
  • string literal

5
  • String Literal
  • a string literal is a sequence of characters
  • enclosed in quotation marks
  • Examples
  • "Hello"
  • "Computer Science 1620"
  • Dolly Parton"

6
  • Back to cout
  • to display a string literal to the screen,
    include it on the right side of the ltlt operator
  • Example
  • write a program that displays the text "Hello
    world!" on the computer screen.

7
include ltiostreamgt using namespace std int
main() cout ltlt "Hello World!" cout ltlt
endl return 0
String literal
8
(No Transcript)
9
  • Notice the semicolon at the end of each line
  • all of your C constructs will end in a
    semicolon (unless otherwise instructed)
  • indicates the end of an instruction

10
  • What about the second cout command?
  • cout ltlt endl
  • endl causes the data to be flushed from the
    buffer (explained in class), and moves the input
    to the next line
  • your output should always include a call to endl
    (at some point)

11
  • cout concatenation
  • instead of having two separate cout statements,
    you can include them on the same line

12
include ltiostreamgt using namespace std int
main() cout ltlt "Hello World!" ltlt endl
return 0
13
include ltiostreamgt using namespace std int
main() cout ltlt "Hello " ltlt "World!" ltlt
endl return 0
14
  • Example Write a program that writes your name
    and address to the screen

include ltiostreamgt using namespace std int
main() cout ltlt "Robert Benkoczi" ltlt endl
cout ltlt "123 Sunset Blvd" ltlt endl cout ltlt
"Hollywood, CA" ltlt endl cout ltlt "90210" ltlt
endl return 0
15
applepie g -o print-adr print-adr.cc
applepie ./print-adr Robert Benkoczi 123
Sunset Blvd Hollywood, CA 90210 applepie
16
Recap structure of a C program
include ltiostreamgt using namespace std int
main( ) statement 1 statement 2 return
0 // end of program
  • the first 2 lines are almost always included in a
    C program.
  • every program begins with main ( ).
  • main begins with and ends with
  • the brackets ( ) after main are required.
  • program starts and ends in main.
  • return 0 is put right before the closing
  • statements always end with a semicolon.
  • Anything preceded with // is a comment and the
    compiler ignores it.

17
Other data types
  • C Data Types
  • simple
  • structured (struct, class)
  • pointers
  • function

we will deal with these later
18
Other data types
  • C Data Types
  • four categories of simple data
  • integer
  • whole numbers, no fractional part
  • floating point
  • real numbers
  • enumeration
  • boolean

19
  • Integer types
  • a number without a decimal part
  • integers
  • 10, -24, 5800, -9600, etc
  • non-integers
  • 14.5, -24.6, 5800.0, -8 x 106
  • How are integers written in C?
  • in the simplest case, exactly as you would expect
  • no spaces or punctuation (commas, dollar signs,
    etc)

20
  • Note that a number in C is an expression
  • hence, the number 34 is an expression
  • typically called an integer literal
  • the value of this expression is 34
  • because it is an expression, it can be used
    wherever an expression is permitted
  • eg. as data to cout

21
Write a program that displays your name on the
first line, and age on the second line. Display
your name as a string, and your age as an integer.
include ltiostreamgt using namespace std int
main() return 0
22
  • Integer types
  • there are actually several flavours of "integer"
    in C
  • by default, all integer literals are ints
  • we will defer discussion about the others until
    we take variables

Type Range Size
char -128 .. 127 1 byte
short -32768 .. 32767 2 bytes
int -2147483648 2147483647 4 bytes
long -2147483648 2147483647 4 bytes
compiler dependent
23
Internal vs source code representations
  • Type
  • used to specify the internal representation of a
    value (or expression). EX how is that value
    stored in the computer memory.
  • Source code representation
  • how do we write a literal in the source code

24
Representation of integers
  • Representing numbers
  • roman I, II, III, IV, V, VI, VII, VIIII, IX, X
  • arabic coins with face value 1, 10, 100, 1000
    etc
  • Base 2 numbering (face value 1, 2, 4, 8...)
  • 13 10 3
  • 13 8 4 1 1101 (meaning 1 x 8, 1 x 4, 0 x
    2, 1 x 1)

25
Representation of integers
  • Representing numbers
  • roman I, II, III, IV, V, VI, VII, VIIII, IX, X
  • arabic coins with face value 1, 10, 100, 1000
    etc
  • Base 2 numbering (face value 1, 2, 4, 8...)
  • 13 10 3
  • 13 8 4 1 1101 (meaning 1 x 8, 1 x 4, 0 x
    2, 1 x 1)
  • Addition is easy with arabic numerals!

bits
26
Representation of integers
  • char (8 bits or 1 byte)
  • 0 1 1 1 1 1 1 1 127
  • int, long - same idea, more bits.

represents the sign (/-)
27
Representation of integers
  • negative integers
  • 1 0 0 0 0 0 0 0 -0 (?)
  • This ones complement representation. Not nice to
    have negative 0!
  • We would like to add and - integers using the
    same procedure as for adding integers.

represents the sign (/-)
28
Representation of integers
  • twos complement representation
  • 1 ? ? ? ? ? ? ? -x
  • Goal x (-x) x - x 0 0 0 0 0 0 0 0 0

represents the sign (/-)
29
Unsigned integers
  • Use when there is no need to represent negative
    integers. We can represent more positive integers.

Type Range Size
unsigned char 0 .. 255 1 byte
unsigned short 0 .. 65536 2 bytes
unsigned int 0 ... 4 294 967 295 4 bytes
unsigned long 0 ... 4 294 967 295 4 bytes
30
  • Floating Point Numbers
  • a number with a decimal part
  • floating point numbers
  • 10.8, -24.8372, 5800.0, etc
  • non-fps
  • 14, 28, 96, -49
  • How are fp numbers written in C? (source code
    representation)
  • in the simplest case, exactly as you would expect
  • no spaces or punctuation (commas, dollar signs,
    etc)
  • scientific notation
  • ltmantissagt E ltexponentgt ltmantissagt
    10ltexponentgt

31
Write a program that displays your name on the
first line, age on the second line, and bank
account balance on the 3rd.
include ltiostreamgt using namespace std int
main() return 0
32
  • Floating Point types
  • there are actually several flavours of fps in C
  • by default, all floating point literals are
    doubles
  • we will defer discussion about the others until
    we take variables

Type Range Size
float 1.17549e-38 ... 3.40282e38 4 bytes
double 2.22507e-308 ... 1.79769e308 8 bytes
long double 3.3621e-4932 ... 1.18973e4932 10 bytes
compiler dependent
33
  • Integers vs. Floating Point
  • why would you use a floating point instead of an
    integer?
  • when you are working with real numbers
  • why would you use an integer instead of a
    floating-point number?
  • 1) Integers use less memory than doubles
  • 2) Integers are more precise than floats
  • more on this when we take variables

34
  • Why would you use either number type instead of a
    string?
  • after all, could we not just say
  • cout ltlt "Car Price" ltlt endl
  • cout ltlt "32999" ltlt endl
  • two reasons
  • 1) Cannot do arithmetic on a string
  • 2) Strings typically require more space than the
    number.

35
  • 1) Cannot do arithmetic on a string
  • next class, we will perform arithmetic on numbers
  • cout ltlt (32999 5000) ltlt endl
  • you cannot perform the same operation on the
    string representation
  • cout ltlt ("32999" "5000") ltlt endl

36
  • 2) Strings typically require more space than a
    number
  • as mentioned, an int requires 4 bytes of memory
  • a string requires x1 bytes, where x is the
    number of characters in the string
  • 32999 requires 4 bytes to store
  • "32999" requires 6 bytes to store

37
  • Exercise Determine an appropriate data type
    (int, fp, string) for each of the following?
  • 1) The average height of the class
  • 2) The number of desks in the class
  • 3) The name of the class
  • 4) The distance from my office to the classroom
Write a Comment
User Comments (0)
About PowerShow.com