Operating System - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Operating System

Description:

... float f; i = 40; f = 839.21; printf( – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 25
Provided by: Ritw6
Learn more at: https://www.cise.ufl.edu
Category:

less

Transcript and Presenter's Notes

Title: Operating System


1
Operating System
  • Discussion Section

2
The Basics of C
  • Reference
  • Lecture note 2 and 3 http//www.cise.ufl.edu/cl
    ass/cgs3460fa09/notes.html

3
The General Form of a Simple Program
The simplest C programs have the following
form int main(void) declarations
statements The word int may be omitted
(although its good practice to include it). The
use of void is also optional. Each declaration
and each statement (except for compound
statements) must end with a semicolon.
4
The General Form of a Simple Program
C99 does not require that declarations precede
statements. However, each variable must be
declared before it is used for the first time
5
Comments
  • Begin with / and end with /.
  • / This is a comment /
  • May extend over more than one line.
  • / This comment starts on one line,
  • but ends on another. /
  • Warning Failing to close a comment will cause
    the compiler to ignore part of your program.
  • printf("Hello") / forgot to close this
    comment...
  • printf("Goodbye") / so it ends here /
  • In C99, comments can also be written this way
  • // This is a comment.

6
Example Printing a Message
/ Illustrates comments, strings, and the printf
function / include ltstdio.hgt int
main(void) printf("To C, or not to C ")
printf("that is the question.\n") return 0
7
Example Computing the Volume
/ Illustrates the use of variables, expressions,
and assignment statements / include
ltstdio.hgt int main(void) int height, length,
width, volume height 5 length 20 width
10 volume height length width printf("The
height is d\n", height) printf("The length is
d\n", length) printf("The width is d\n",
width) printf("The volume is d\n",
volume) return 0
8
Defining Constants
A macro definition has the form define
identifier replacement-list Macros often
represent constants values that wont change
during program execution define N 100 Macro
definitions are handled by the C preprocessor.
Wherever the identifier appears later in the
source file, the preprocessor replaces it by
the replacement list.
9
Defining Constants
If the replacement list contains operators, it is
best to enclose it in parentheses. define EOF
(-1) define TWO_PI (23.14159) By convention,
names of C constants contain only upper-case
letters. Advantages of defining constants
Programs are easier to read. Programs are
easier to modify. Helps reduce errors of
inconsistent use, as well as
typographical errors.
10
Example Converting Fahrenheit to Celsius
/ Illustrates macro definition, floating-point
numbers, and scanf / include
ltstdio.hgt define FREEZING_PT 32.0 define
SCALE_FACTOR (5.0 / 9.0) int main(void) float
fahrenheit, celsius printf("Enter Fahrenheit
temperature ") scanf("f", fahrenheit) celsius
SCALE_FACTOR (fahrenheit -
FREEZING_PT) printf("\nCelsius equivalent is
.1f\n", celsius) return 0
11
Input and Output
  • Printf
  • Scanf

12
The printf Function
  • The first argument in a call of printf is a
    string, which may contain both ordinary
    characters and conversion specifications, which
    begin with the symbol.
  • Ordinary characters are printed as they appear in
    the string conversion specifications are matched
    one-by-one with the remaining arguments in the
    call of printf
  • int i, j
  • float x, y
  • printf("i d, j d, x f, y f\n",
  • i, j, x, y)

13
The printf Function
  • Warning C compilers dont check that the number
    of conversion specifications in a format string
    matches the number of output items
  • printf("d d\n", i) / too few items /
  • printf("d\n", i, j) / too many items /
  • Furthermore, theres no check that a conversion
    specification is appropriate for the type of item
    being printed
  • printf("f d\n", i, x)

14
Conversion Specifications
  • A conversion specification has the form -m.pX
  • m (optional) specifies the minimum field width.
  • - (optional) indicates left justification
    within the field the default is right
    justification.
  • .p (optional) specifies
  • Number of digits after the decimal point (for a
    floating point number)
  • Minimum number of digits to print (for an integer)

15
Conversion Specifications
  • X is one of the following letters
  • d - decimal signed integer
  • e - exponential floating point
  • f - fixed decimal floating point
  • g - whichever of e or f produces a shorter
    string
  • This is not a complete description of conversion
    specifications.

16
printf Example
Sample program include ltstdio.hgt int
main(void) int i float f i 40 f
839.21 printf("d5d-5d5.3d\n", i, i,
i, i) printf("10.3f10.3e-10g\n", f, f,
f) return 0 Output 40 4040
040 839.210 8.392e02839.21
17
Escape Sequences
  • String literals sometimes need to contain control
    characters (such as tab and newline) or
    characters that have a special meaning in C (such
    as "). These characters can be represented by
    escape sequences.
  • Character escapes consist of \ followed by one
    character
  • alert (bell) \a backslash \\
  • backspace \b question mark \?
  • form feed \f single quote \'
  • new-line \n double quote \"
  • carriage return \r
  • horizontal tab \t
  • vertical tab \v

18
Escape Sequences
  • Writing the \a escape causes a beep.
  • Writing the \n escape causes the cursor to move
    to the beginning of the next line.
  • Writing the \t escape causes the cursor to move
    to the next tab stop.
  • The \" escape allows us to print the double
    quote character printf("\"Hello!\"")
  • String literals may contain any number of escape
    sequences
  • printf("Item\tUnit\tPurchase\n\tPrice\tDate\n")

19
The scanf Function
  • scanf requires a format string, followed by
    variables into which input is to be stored. In
    most cases, each variable must be preceded by the
    symbol .
  • Warning Forgetting to put the symbol in
    front of a variable will have unpredictable and
    possibly disastrous results.

20
The scanf Function
scanf format strings are similar to printf
format strings, but usually contain only
conversion specifications int i, j float
x, y scanf("ddff", i, j, x, y)
Note When used with scanf, the e, f, and g
conversions are identical each causes scanf to
read a floating-point number. A sign, exponent,
and decimal point may or may not be present.
21
How scanf Works
scanf ignores white-space characters (blanks,
tabs, and new-line characters) when searching for
an input item. If scanf is used in the following
way scanf("ddff", i, j, x, y) the
input could be split over several lines 1 -20
.3 -4.0e3 or put on a single line 1 -20 .3
-4.0e3
22
The scanf Format String
A scanf format string may contain ordinary
characters in addition to conversion
specifications. A non-white-space character in
a format string must match the next input
character or scanf terminates without reading
further. (The non-matching character can be read
by a later call of scanf.) The call scanf("d/d/
d", month, day, year) will read 5/ 28/
2002 but not 5 / 28 / 2002
23
The scanf Format String
A white-space character in a format string
matches zero or more white-space characters in
the input. The call scanf("d /d /d", month,
day, year) will read 5 / 28 / 2002 and all
similar inputs, regardless of the amount of space
before and after each / symbol.
24
The scanf Format String
  • Warning Putting a new-line character at the end
    of a scanf format string is usually a bad idea
  • scanf("d\n", i)
  • After reading an integer, scanf skips
    white-space characters until it finds a
    non-white-space character. An interactive program
    will hang until the user enters a nonblank
    character.
Write a Comment
User Comments (0)
About PowerShow.com