Input and Output
This document covers Input and Output in C.
Input and output (I/O) operations are essential for interacting with users and handling data in C programs. The C standard library provides functions like printf() for output and scanf() for input. Additionally, escape sequences help in formatting output effectively.
Output using printf()​
The printf() function displays formatted output on the screen. It supports various format specifiers to print different types of data.
Syntax​
printf("Some text is: %fs \n", var_name);
fs is the format specifier depending of the type of the variable.
Example​
#include <stdio.h>
int main() {
int age = 25;
printf("Your age is: %d\n", age);
return 0;
}
Here, %d is a format specifier that tells printf() to print an integer value.
Input using scanf()​
The scanf() function is used to take user input. The & (address-of) operator is required when storing input in variables.
Syntax​
scanf("%fs", var_name); //where fs is the format specifier
Example:​
#include <stdio.h>
int main() {
int age;
printf("Enter your age: ");
scanf("%d", &age);
printf("You entered: %d\n", age);
return 0;
}
Here, %d is used for reading an integer input from the user.
Common Format Specifiers​
| Specifier | Data Type | Example |
|---|---|---|
%d | Integer (int) | printf("%d", 10); |
%f | Floating-point (float) | printf("%.2f", 3.14); |
%c | Character (char) | printf("%c", 'A'); |
%s | String (char[]) | printf("%s", "Hello"); |
%lf | Double (double) | printf("%lf", 3.14159); |
Example:​
float pi = 3.14159;
printf("Value of Pi: %.2f\n", pi);
Here, %.2f ensures that only two decimal places of pi are printed.
Escape Sequences​
Escape sequences allow special characters to be included in strings while maintaining readability and proper formatting.
| Escape Sequence | Meaning | Example Output |
|---|---|---|
\n | Newline (moves to the next line) | Hello,\nWorld! → Hello, <br> World! |
\t | Tab space (adds horizontal spacing) | Tab\tSpace → Tab Space |
\" | Double quote (use inside a string) | \"Hello\" → "Hello" |
\\ | Backslash (prints \ character) | \\path\\to\\file → \path\to\file |
Example:​
printf("Hello,\nWorld!\n"); // Prints on two lines
printf("Tab\tSpace\n"); // Adds a tab space
-
The
\nescape sequence moves the cursor to a new line. -
The
\tescape sequence inserts a tab space for indentation.
Character Inptu & Output using getchar() & putchar()​
getchar()is used to read a single character from standard input (keyboard).putchar()is used to display a single character on the screen.
Example:​
#include <stdio.h>
int main() {
char ch;
printf("Enter a character: ");
ch = getchar(); // Reads a single character
printf("You entered: ");
putchar(ch); // Prints the character
printf("\n");
return 0;
}
-
getchar()waits for the user to input a character and stores it in ch. -
putchar()prints the character stored in ch.
String Input and Output using fgets() and puts()​
fgets()is used to read a line of text (string) from standard input.puts()is used to print a string with an automatic newline at the end.
Example:​
#include <stdio.h>
int main() {
char name[50];
printf("Enter your name: ");
fgets(name, sizeof(name), stdin); // Reads a line of text
printf("Hello, ");
puts(name); // Prints the string with a newline
return 0;
}
-
fgets()reads a full line of input and prevents buffer overflow. -
puts()prints a string and automatically adds a newline.