Download presentation
Presentation is loading. Please wait.
Published byGwenda Scott Modified over 8 years ago
2
Introduction to Computing Lecture 03: Basic input / output operations Introduction to Computing Lecture 03: Basic input / output operations Assist.Prof.Dr. Nükhet ÖZBEK Ege University Department of Electrical & Electronics Engineering nukhet.ozbek@ege.edu.tr
3
Topics Streams Streams printf function printf function scanf function scanf function
4
Data storage Data can be stored in two different ways: Data can be stored in two different ways: –by assignment to a variable –copying data from an input device into a variable using a function like scanf
5
Input operation Sometimes, it is need to copy data into a variable for a program to manipulate different data each time it executes Sometimes, it is need to copy data into a variable for a program to manipulate different data each time it executes –This data transfer from the outside world into memory is called an input operation
6
Output operation As the program executes, it performs computations and stores the results in memory As the program executes, it performs computations and stores the results in memory These program results can be displayed to the user by an output operation These program results can be displayed to the user by an output operation
7
Input/Output Program
8
Input/output functions All input/output operations in C are performed by special program units called input/output functions All input/output operations in C are performed by special program units called input/output functions You can gain access to most of the operations through the preprocessor directive You can gain access to most of the operations through the preprocessor directive –#include –#include
9
Input/output functions In C, a function call is used to call or activate a function In C, a function call is used to call or activate a function Calling a function is analogous to asking a friend to perform an urgent task Calling a function is analogous to asking a friend to perform an urgent task
10
Streams Text input or output is dealt with as a sequence of characters Text input or output is dealt with as a sequence of characters A stream serves as a channel to convey characters between I/O and programs A stream serves as a channel to convey characters between I/O and programs
11
Streams: Input -- Example 135 25.5 _ 135 25.5\n int item; float cost; scanf(“%d %f”, &item, &cost); input buffer
12
Streams: Input -- Example (cont) 135 25.5 _ 135 25.5\n int item; float cost; scanf(“%d %f”, &item, &cost); itemcost
13
Streams: Input – Example (cont) 135 25.5 _ 25.5\n int item; float cost; scanf(“%d %f”, &item, &cost); item 135 cost
14
Streams: Input – Example (cont) 135 25.5 _ \n int item; float cost; scanf(“%d %f”, &item, &cost); item 135 cost 25.5
15
Streams: Output -- Example Hello!\n printf(“Hello!\n”); output buffer
16
Hello!\n printf(“Hello!\n”); Streams: Output – Example (cont)
17
ello!\n H printf(“Hello!\n”); Streams: Output – Example (cont)
18
llo!\n He printf(“Hello!\n”); Streams: Output – Example (cont)
19
lo!\n Hel printf(“Hello!\n”); Streams: Output – Example (cont)
20
o!\n Hell printf(“Hello!\n”); Streams: Output – Example (cont)
21
!\n Hello printf(“Hello!\n”); Streams: Output – Example (cont)
22
\n Hello! printf(“Hello!\n”); Streams: Output – Example (cont)
23
Hello! _ printf(“Hello!\n”); Streams: Output – Example (cont)
24
Streams From the program's point of view, the characters are queued in a pipe From the program's point of view, the characters are queued in a pipe The sequence of characters is organized into lines The sequence of characters is organized into lines Each line: Each line: –can have zero or more characters –ends with the "newline" character '\n'
25
"Standard" Streams "Standard" Streams Standard streams : Standard streams : – stdin - standard input usually from keyboard usually from keyboard – stdout - standard output usually to screen usually to screen – stderr - standard error usually to screen usually to screen must have at the top of your program must have at the top of your program #include #include can be redirected can be redirected
26
stdin: Input Data is read in from stdin (into a variable) using the scanf() function Data is read in from stdin (into a variable) using the scanf() function
27
Example: ReadData Input name, age, gender, idNumber
28
#include #include
29
/*************************************\ /*************************************\ Read in important info about a lecturer Read in important info about a lecturer \**************************************/ \**************************************/
30
#include #include /*************************************\ /*************************************\ Read in important info about a lecturer Read in important info about a lecturer \**************************************/ \**************************************/ int main() int main() { return 0; }
31
#include #include /*************************************\ /*************************************\ Read in important info about a lecturer Read in important info about a lecturer \**************************************/ \**************************************/ int main() int main() { char name[100]; char name[100]; float age; float age; char gender; char gender; int idNumber; int idNumber; return 0; }
32
#include #include /*************************************\ /*************************************\ Read in important info about a lecturer Read in important info about a lecturer \**************************************/ \**************************************/ int main() int main() { char name[100]; char name[100]; float age; float age; char gender; char gender; int idNumber; int idNumber; scanf("%s %f %c %d", name, &age, &gender, &idNumber); scanf("%s %f %c %d", name, &age, &gender, &idNumber); return 0; }
33
#include #include /*************************************\ /*************************************\ Read in important info about a lecturer Read in important info about a lecturer \**************************************/ \**************************************/ int main() int main() { char name[100]; char name[100]; float age; float age; char gender; char gender; int idNumber; int idNumber; scanf("%s %f %c %d", name, &age, &gender, &idNumber); scanf("%s %f %c %d", name, &age, &gender, &idNumber); return 0; }
34
#include #include /*************************************\ /*************************************\ Read in important info about a lecturer Read in important info about a lecturer \**************************************/ \**************************************/ int main() int main() { char name[100]; char name[100]; float age; float age; char gender; char gender; int idNumber; int idNumber; scanf("%s %f %c %d", name, &age, &gender, &idNumber); scanf("%s %f %c %d", name, &age, &gender, &idNumber); return 0; } Input: Ali 19.5 M 2085 Input: Ali 19.5 M 2085 Ali 19.5 M 2085
35
stdout: Output Data (e.g., from a variable) is written out to stdout using the printf() function. Data (e.g., from a variable) is written out to stdout using the printf() function.
36
Example: Write Data Example: Write Data Set name to “Ali” Set name to “Ali” Set age to 19.5 Set age to 19.5 Set gender to ‘M’ Set gender to ‘M’ Set idNumber to 2085 Set idNumber to 2085 Output name, age, gender, idNumber Output name, age, gender, idNumber
37
#include #include /*****************************************\ Write out important info about a lecturer Write out important info about a lecturer\*****************************************/ int main() { char *name = ”Ali" ; char *name = ”Ali" ; float age = 19.5; float age = 19.5; char gender = ’M'; char gender = ’M'; int idNumber = 2085 ; int idNumber = 2085 ; printf("%s\n%f\n%c\n%d\n", name, age, gender, idNumber); printf("%s\n%f\n%c\n%d\n", name, age, gender, idNumber); return 0; return 0;} Ali 19.5 M 2085 _
38
Formatted Input and Output General form: General form: printf( format-control-string, other-arguments ); scanf( format-control-string, other-arguments ); Examples: Examples: printf("%s %f %c %d", name, age, gender, idNumber); scanf("%s %f %c %d", name, &age, &gender, &idNumber);
39
Describes the format of the data for output Describes the format of the data for output Contains “conversion specifiers or place holders” and “literal characters” Contains “conversion specifiers or place holders” and “literal characters” Example : printf(“%s is %d years old.\n”, name, age); printf -- Format-Control-String
40
Describes the format of the data for output Describes the format of the data for output Contains “conversion specifiers or place holders” and “literal characters” Contains “conversion specifiers or place holders” and “literal characters” Example: printf(“%s is %d years old.\n”, name, age); conversion specifiers or placeholders printf -- Format-Control-String (cont)
41
printf(“%s is %d years old.\n”, name, age); literal characters Describes the format of the data for output Describes the format of the data for output Contains “conversion specifiers” and “literal characters” Contains “conversion specifiers” and “literal characters” Example : printf -- Format-Control-String (cont)
42
For printf : variables containing data for output For printf : variables containing data for output Example: (“ printf(“%s is %d years old.\n”, name, age); printf -- Other-Arguments In case of multiple placeholders, number of place holders must match number of variables In case of multiple placeholders, number of place holders must match number of variables C matches variables with placeholders in left- to-right order C matches variables with placeholders in left- to-right order
43
Describes the format of the data given as input Describes the format of the data given as input Contains “conversion specifiers or place holders” Contains “conversion specifiers or place holders” scanf -- Format-Control-String Example: scanf("%s %f %c %d", name, &age, &gender,&id); conversion specifiers
44
For scanf: “pointers” to variables in which the input will be stored For scanf: “pointers” to variables in which the input will be stored scanf -- Other-Arguments scanf("%s %f %c %d", name, &age, &gender,&id); Example:
45
‘&’ is for scanf only! ‘&’ is for scanf only! scanf("%s %f %c %d", name, &age, &gender,&id); scanf -- Other-Arguments (cont) For scanf : “pointers” to variables in which the input will be stored For scanf : “pointers” to variables in which the input will be stored Example: Variables of type int, float or char need ‘&’ Do NOT use ‘&’ with strings!
46
Common Conversion Specifiers for Numerical Information decimal integer: %d printf(“What is %d plus %d?\n”, x, y); scanf(“%d”, &sum); decimal integer: %d printf(“What is %d plus %d?\n”, x, y); scanf(“%d”, &sum); float: %f float: %f printf(“%f squared is...? ”, x); scanf(“%f”, &ans); double : double : printf(“%f squared is...? ”, x); scanf(“%lf”, &ans);
47
Conversion Specifiers for Alphanumeric Information char : %c printf(“What letter follows %c?\n”,ch); scanf(“%c”, &nextchar); char : %c printf(“What letter follows %c?\n”,ch); scanf(“%c”, &nextchar); string : %s printf(“Name: %s\n”, name); scanf(“%s”, name); string : %s printf(“Name: %s\n”, name); scanf(“%s”, name);
48
i or d : display a signed decimal integer i or d : display a signed decimal integer f: display a floating point value (default precision is 6) f: display a floating point value (default precision is 6) e or E: display a floating point value in exponential notation e or E: display a floating point value in exponential notation g or G: display a floating point value in either f form or e form; whichever is more compact for the given value and precision g or G: display a floating point value in either f form or e form; whichever is more compact for the given value and precision L: placed before any float conversion specifier to indicate that a long double is displayed L: placed before any float conversion specifier to indicate that a long double is displayed printf : Conversion Specifiers
49
scanf : Conversion Specifiers scanf : Conversion Specifiers d : read an optionally signed decimal integer d : read an optionally signed decimal integer i : read an optionally signed decimal, octal, or hexadecimal integer i : read an optionally signed decimal, octal, or hexadecimal integer i and d : the argument is a “pointer” to an integer int idNumber; scanf("%d", &idNumber);
50
scanf : Conversion Specifiers (cont) scanf : Conversion Specifiers (cont) h or l : placed before any integer conversion specifiers to indicate that a short or long integer is to be input h or l : placed before any integer conversion specifiers to indicate that a short or long integer is to be input long int idNumber; long int idNumber; scanf("%ld", &idNumber); scanf("%ld", &idNumber); l or L : placed before any float conversion specifiers to indicate that a double or long double is to be input l or L : placed before any float conversion specifiers to indicate that a double or long double is to be input
51
Skipping Characters in Input Stream Skipping Characters in Input Stream Skipping blank spaces Skipping blank spaces scanf("%d %d %d", &day, &month, &year); scanf("%d %d %d", &day, &month, &year); An alternative An alternative –Enter data as dd-mm-yyyy: 16-3-1999 –Store each number in date variables scanf("%d-%d-%d", &day, &month, &year); scanf("%d-%d-%d", &day, &month, &year);
52
Displaying Prompts When input data are needed in an interactive program, it is better to use the printf function to display a prompting message or prompt, that tells the user what data to enter and if necessary, the format of the input When input data are needed in an interactive program, it is better to use the printf function to display a prompting message or prompt, that tells the user what data to enter and if necessary, the format of the input
53
Displaying Prompts - Examples printf(“Enter the distance in miles> “); printf(“Enter the distance in miles> “); scanf(“%lf”, &miles); printf(“Enter date as dd-mm-yyyy”); printf(“Enter date as dd-mm-yyyy”); scanf("%d-%d-%d", &day, &month, &year); scanf("%d-%d-%d", &day, &month, &year);
54
Formatting output Using justification for decimal numbers Using justification for decimal numbers –int a=15, b=116; printf(“%d\n”,a);printf(“%d”,b);Output:15116
55
Formatting output Using justification for decimal numbers Using justification for decimal numbers –int a=15, b=116; printf(“%3d\n”,a);printf(“%3d”,b);Output: 15 15116
56
Formatting output Floating point numbers Floating point numbers –double fp = 251.7366; printf( "%f %.3f %.2f %e %E\n", fp, fp, fp, fp,fp ); Output: 251.736600 251.737 251.74 2.517366e+002 2.517366E+002
57
Formatting output with \n \n is an escape sequence in C \n is an escape sequence in C The cursor is a moving place market that indicates the next position on the screen where information will be displayed The cursor is a moving place market that indicates the next position on the screen where information will be displayed When executing a printf function, the cursor is advanced to the start of the next line on the screen if \n is encountered in the format string When executing a printf function, the cursor is advanced to the start of the next line on the screen if \n is encountered in the format string
58
\n Examples printf(“Here is the first line\n“); printf(“Here is the first line\n“); printf(“\nand this is the second.\n“); Here is the first line Here is the first line and this is the second.
59
\n Examples printf(“This sentence appears \non two lines.“); printf(“This sentence appears \non two lines.“); This sentence appears This sentence appears on two lines.
60
Formatting output with \t \t is another escape sequence in C for horizontal tab \t is another escape sequence in C for horizontal tab Example: Example: – printf(“age id\n”); printf(“--- ------\n”); printf(“%d %d\n”,age1,id1); printf(“%d %d\n”,age2,id2); –Output: age id --- ------ 12 1222 3 1423
61
Formatting output with \t Example with (\t and justification): Example with (\t and justification): – printf(“age\tid\n”); printf(“---\t------\n”); printf(“%3d\t%4d\n”,age1,id1); printf(“%3d\t%4d\n”,age2,id2); –Output: ageid --------- 121222 121222 31423 31423
62
Some Other Escape sequences \a: Alert (bell) \a: Alert (bell) \b: Backspace \b: Backspace \’: Single quotation mark \’: Single quotation mark \”: Double quotation mark \”: Double quotation mark \\: Backslash \\: Backslash
63
Summary Input from keyboard is via the stdin stream using the scanf() function Input from keyboard is via the stdin stream using the scanf() function Output to the screen is via the stdout stream using the printf() function Output to the screen is via the stdout stream using the printf() function Streams carry characters Streams carry characters –divided into lines with ‘\n’ character To use the C library functions, you must include the stdio.h header file To use the C library functions, you must include the stdio.h header file Input and output can be formatted Input and output can be formatted
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.