This presentation includes custom animations.
Download
1 / 21

This presentation includes custom animations. - PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on

This presentation includes custom animations. To view the animations, you must view the presentation in Slide Show mode and activeX controls must be allowed. If you have opened this lesson in PowerPoint, use the PowerPoint menus to view it in slide show mode.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'This presentation includes custom animations.' - shiri


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
This presentation includes custom animations

This presentation includes custom animations.

To view the animations, you must view the presentation in Slide Show mode

and activeX controls must be allowed.

If you have opened this lesson in PowerPoint, use the PowerPoint menus to view it in slide show mode.

If you have opened this lesson in a browser and see a bar similar to that below, click on the Slide Show icon

A notice similar to the one below may appear warning that ActiveX or other scripts are disabled. Enable the controls for this website in order to see the animations.


Printf
printf

This lesson describes the syntax and use of the printf library functions:

printf()

fprintf()

sprintf()

Vocabulary:

ASCII

conversion specifier

file name extension

FILE pointer

flag

fprintf()

placeholder

precision

printf()

result

sprintf()

stdout

text file

unicode

width

Click

Tip

To use printf, fprintf, or sprintf, you must #include <stdio.h>

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

The printf functions are used to produce formatted output.

printf sends the output to stdout.

stdout is a predefined macro that represents the standard output and is typically the computer monitor although this can be changed by the end user.

Click

Tip

fprintf sends the output to a text file.

A text file is one in which every byte is a character from the ASCII, Unicode, or other character set. The extension can be anything the programmer chooses.

Click

Tip

sprintf sends the output to a string variable.

The target string must be long enough to hold the entire output + 1 byte for the null.

Click

Tip

/* VARIABLE DECLARATIONS */

char Message[81];

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

syntax diagrams for the printf cousins from Appendix B of the text

  • int printf (const char *format [, argument, …]);

  • int fprintf (FILE *stream, const char *format[, argument, …]);

  • int sprintf (char *buffer, const char *format [, argument, …]);

All 3 return the number of bytes (characters) written to output.

All 3 include an output string that specifies what to output expressed as:

literals + escape sequences + placeholders.

All 3 include, for each placeholder, an argument that specifies the value to be used in place of the placeholder.

Although the square brackets indicate that the arguments at the end are optional, that is a bit misleading. They are required if there are any placeholders in the output string. There must be one argument (value) provided for each placeholder.

Click

Tip

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

The syntax of the cousins varies only in the required arguments.

  • int printf (const char *format [, argument, …]);

  • int fprintf (FILE *stream, const char *format[, argument, …]);

  • int sprintf (char *buffer, const char *format [, argument, …]);

printf has 1 required argument. That required argument is the output string.

fprintf has 2 required arguments. The first argument in fprintf identifies the file pointer for the destination file and the 2nd argument is the output string.

sprintfhas 2 required arguments. The first argument in sprintfidentifies the destination string variable and the 2nd argument is the output string.

Click

Tip

stdout is treated like a file pointer in C so the following 2 constructions produce the same result:

printf("Hello");

fprintf(stdout, "Hello");

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

  • int printf (const char *format arguments. [, argument, …]);

  • All 3 of the printf functions return a result with a data type of int.

  • The result is a count of the number of characters in the output.

  • Example:

  • NumLetters = printf(“Hello”);

NumLetters == 5

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

  • It arguments. is not necessary to assign the result to a value – but if the result is assigned, then the variable on the left of the assignment operator MUST be an int.

  • Example:

  • int NumLetters;

  • printf(“Goodbye”);

  • NumLetters = printf(“Hello”);

It is OK to call a function without assigning its value to a variable.

If assigned, the result must be stored in an int

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

  • int printf (const char *format arguments. [, argument, …]);

  • const char *format means that you must include an output string that is a set of characters that are to be displayed on the screen along with escape sequences and conversion specifiers (placeholders).

What is the result of each of the following statements? (Click each button to check your answer.)

Please enter a number

printf("Please enter a number");

printf("Thank you. Please visit again.");

Thank you. Please visit again.

printf("First name: ");

First name:

printf("Report Menu");

Report Menu

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

int printf (const char *format arguments. [, argument, …]);

Escape sequences are used to express output that cannot be represented on the keyboard or to express output that might be mistaken for C code.

  • Examples of output that cannot be represented on the keyboard:

  • \r Carriage Return (move cursor to beginning of current line)

  • \f Form Feed (new page)

  • \a Audible Alert (bell)

  • Examples of output that might be mistaken for C code.

  • \n Newline

  • \t Horizontal Tab

  • \v Vertical Tab

  • \b Backspace

  • \\ Backslash

  • \? Question mark

  • \' Single quote

  • \" Double quote

  • %% Percent sign (honorary escape sequence)

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

What is the result of each of the following statements? (Click each button to check your answer.)

abc

printf("abc");

a b c

printf("a\tb\tc");

a

b

c

printf("a\nb\nc");

a

b c

printf("a\nb\tc");

syntax error!!!

printf("a"b");

a"b

printf("a\"b");

\c and \d are not defined escape sequences so the \ is ignored.

printf("a\c\d");

acd

printf("a\\c\\d");

a\c\d

printf("a%%c\\d");

a%c\d

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

  • int printf (const char *format (Click each button to check your answer.) [, argument, …]);

  • Conversion specifiers are placeholders for values are not known at the time the code is written.

%

type

Some common conversion specifiers:

for data type use placeholder

int %d

float %f

char %c

string %s

int (base 10) %i

See the full list of conversion specifiers at:

http://www.cplusplus.com/reference/clibrary/cstdio/printf.html

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

For each placeholder, there must be a value in the argument list.

The data type of the value must match or be cast as the value indicated by the format specifier.

The order in which the placeholders appear in the output string must exactly match the order of the values in the argument list.

  • printf(“The answer is %d”, 3);

  • printf(“She is %d years old.”, age);

  • printf(“%d + %d = %d”, numA, numB, numA + numB);

1 placeholder 1 value

1 placeholder 1 value

3 placeholder 3 values

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

What is the result of each of the following statements? (Click each button to check your answer.)

Assume the following code appears before the statements below:

int answer;

int age;

int numA;

int numB;

answer = 3;

age = 22;

numA = 14;

numB = 12;

The answer is 3

printf(“The answer is %d”, 3);

She is 22 years old.

printf("She is %d years old.", age);

14 + 12 = 26

printf("%d + %d = %d", numA, numB, numA + numB);

14 + 12 = 28

printf("%d + %d = %d", numA, numB, numA + numA);

Understand why the computer displays a falsehood.

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

What is the result of each of the following statements? (Click each button to check your answer.)

Assume the following code appears before the statements below:

double classAvg = 78.5;

char AvgLetter = 'B';

printf(“The class average was %f”, classAvg);

The class average was 78.500000

printf(“The average letter grade was %c”, AvgLetter);

The average letter grade was B

printf(“pi can be expressed as %c, %d, or %f”, PI, 3, 22/7.0);

pi can be expressed as π, 3, or 3.142857

Click

Tip

PI is a predefined keyword in C.

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

  • Notice (Click each button to check your answer.)that the arguments can be literals, variables, or any expression that returns a value with the appropriate data type.

  • printf(“%d %d %d”, 5, NumClients, 6 + 3);

literal

variable

expression

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


As in all c code you must sweat the details
As in all C code – (Click each button to check your answer.)you must sweat the details!

  • Sweat it that there is a comma between every pair of arguments - including the output string if it is followed by another argument.

printf(“pi can be expressed as %c, %d, or %f” , PI, 3, 22/7.0);

printf("Hello World");

printf(“The average letter grade was %c”, AvgLetter);

Sweat it that the closing double quote is after the output string - NOT after the last argument!

Sweat it that there is a semicolon at the end of the statement.

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

  • Sweat it (Click each button to check your answer.)that printf does not automatically add spaces around the inserted arguments. The programmer must include the spaces in the output string.

printf("She is%dyears old.", 23);

She is23years old.

printf("She is %d years old.", 23);

She is 23 years old.

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

  • Sweat it (Click each button to check your answer.)that the programmer must code every character that should appear on the screen,

  • … to get commas in a list of values, include the commas at the appropriate place inside the format string

printf(“%d %d %d”, 5, NumClients, 6 + 3);

5 123 9

printf(“%d, %d, %d”, 5, NumClients, 6 + 3);

5, 123, 9

The DOS window uses a non-proportional font. Each character uses the exact same amount of horizontal space. Courier New is an example of a non-proportional font.

Click

Tip

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

  • The printf (Click each button to check your answer.)placeholders may include formatting options.

Required

[flags] [width] [.prec] [hlL]

%

%

type

type

Optional

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01


This presentation includes custom animations

% (Click each button to check your answer.)

[flags]

[width]

[.prec]

[hlL]

type

[flags]

The most common flag is the minus sign, -. It reverses the normal left/right alignment. Normal for text is left aligned, normal for numeric data is right aligned.

The width specifies the MINIMUM number of characters to be displayed. If the value requires fewer characters, the width is padded with blank spaces. If the value requires more characters, all the characters are output using a greater width. The specified width is a MINIMUM.

For numeric types, the width specifer includes space for the digits (both right and left of the decimal point) and the decimal point itself.

[width]

[.prec]

The precision option specifies the exact number of digits to display to the right of the decimal point. These digits count as part of the width.

Also referred to as the length option, this indicates a modification of the data type as short or long.

[hlL]

In your textbook, see Table 12.2 "Placeholders for printf format strings"

The following link is also very helpful.

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01

http://www.cplusplus.com/reference/clibrary/cstdio/printf.html


This presentation includes custom animations

What is the result of each of the following statements? (Click each button to check your answer.)

*** 12.3***

printf(“ ***%10.1f***”, 12.333);

***12.3330 ***

printf(“ ***%-10.4f***”, 12.333);

Average cost: 3.400 !

printf(“Average cost: %-8.3f !” , 3.4);

ID Amount

1 12.15

2 1.60

3 4500.50

41234567890.01

5 16.37

printf(“%5s%10s\n”, "ID","Amount");

printf(“\n%5d%10.2f”, 1,12.15);

printf(“\n%5d%10.2f”, 2,1.6);

printf(“\n%5d%10.2f”, 3,4500.5);

printf(“\n%5d%10.2f”, 4,1234567890.0123);

printf(“\n%5d%10.2f”, 5,16.367);

Make sure you understand why the row for ID 4 is out of line with the others.

Send me an email telling me how you would correct the problem.

Christine S. Wolfe

Ohio University Lancaster

2008-Aug-01