Day 4: Mastering Input/Output in ANSI C
Josue Batey
@AmaliTech Back-end | JS/TS | Python | Low level code enthusiast | Open Source enthusiast
Hello, C enthusiasts! ??Today, let’s dive into Input and Output (I/O) in ANSI C, a core concept that bridges the interaction between your program and the user. Whether you’re capturing input, printing output, or formatting data, mastering I/O is essential for building efficient and user-friendly applications. Let’s break it down!
1. Basic Input and Output in C
In C, the stdio.h library is used for all input and output operations. Two key functions you’ll often work with are:
Example:
int num;
scanf("%d", &num); // Reads an integer value
Example:
int num = 10;
printf("The number is: %d", num); // Prints an integer value
Using these functions, you can handle basic types like integers, floats, and characters. For example:
#include <stdio.h>
int main() {
int num;
float f;
char ch;
printf("Enter an integer: ");
scanf("%d", &num);
printf("Entered integer is: %d\n", num);
printf("Enter a float: ");
scanf("%f", &f);
printf("Entered float is: %.2f\n", f);
printf("Enter a character: ");
scanf(" %c", &ch); // Space before %c to handle newline
printf("Entered character is: %c\n", ch);
return 0;
}
Output Example:
Enter an integer: 10
Entered integer is: 10
Enter a float: 3.14
Entered float is: 3.14
Enter a character: A
Entered character is: A
2. Format Specifiers in C
Format specifiers tell the compiler how to interpret input or output data. Here’s a quick rundown of some common ones:
领英推荐
Example of Use:
#include <stdio.h>
int main() {
int num = 42;
float pi = 3.14;
char letter = 'A';
printf("Integer: %d\n", num);
printf("Float: %.2f\n", pi);
printf("Character: %c\n", letter);
return 0;
}
3. Strings and Scansets in C
Handling strings? C provides special format specifiers for these, which are used %s to read and print strings. For more control, scansets let you read input until a specific condition is met.
Example:
#include <stdio.h>
int main() {
char name[50];
char sentence[100];
printf("Enter your name: ");
scanf("%s", name);
printf("Hello, %s!\n", name);
printf("Enter a sentence: ");
scanf(" %[^\n]s", sentence); // Reads until a newline
printf("You said: %s\n", sentence);
return 0;
}
Output Example:
Enter your name: John
Hello, John!
Enter a sentence: Hello World!
You said: Hello World!
4. Input/Output Formatting in C
You can customize how input and output are displayed by using field width, alignment, and precision.
Example:
#include <stdio.h>
int main() {
char str[] = "CProgramming";
printf("%20s\n", str); // Right-aligned within 20 spaces
printf("%-20s\n", str); // Left-aligned within 20 spaces
printf("%.5s\n", str); // Prints only the first 5 characters
return 0;
}
Output:
CProgramming
CProgramming
CProg
?? Takeaway
Mastering I/O operations in C is crucial for creating interactive programs. With scanf, printf, and format specifiers, you can handle input/output for simple and complex data types.
?? Your turn! What’s your favourite trick or best practice when working with I/O in C? Drop your tips in the comments below!