| CSC 161 | Grinnell College | Spring, 2010 |
| Imperative Problem Solving and Data Structures | ||
Please read the following materials carefully:
Walker, An Introduction to C Through Annotated Examples, Program 1 (quarts-1.c), pages 1-3.
King, Chapter 3, pages 37-49.
When a user enters information into a program, the user types a sequence of characters. Sometimes this information is intended to be a string of characters, such as a name or an address. In other applications, a sequence of characters, such as 123.45, should be interpreted as a number.
When characters are to be considered as numbers, input can follow either of two basic forms:
The program can proceed in two steps:
the program can rely upon a library function to perform both steps as one logical operation.
The library function scanf is commonly used for the latter approach. Using scanf involves several elements. The basics of this work are illustrated in the following code segment:
double a, b;
scanf ("%lf", &a);
scanf ("%lf", &b);
As illustrated in this segment,
scanf allows the two reading operations above to be combined within a single statement as follows:
double a, b;
scanf ("%lf%lf", &a, &b);
Beyond the identification of variables and formats for reading, the scanf can specify other characters that must be part of the input. For example, suppose a program is supposed to read hours and minutes in the format hour:minutes:seconds, such as 12:34:56 or 5:8:27. In this setting, the user is supposed to enter the colon character between integer numbers. The following code segment would perform such a read operation:
int hr, min, sec;
scanf ("%d:%d:%d", &hr, &min, &sec);
This document is available on the World Wide Web as
http://www.cs.grinnell.edu/~walker/courses/161.sp10/readings/reading-i-o.shtml
|
created 13 May 2008 last revised 9 January 2010 |
|
| For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |