6. Bonus: Some C Library Functions
Throughout this module, we've focused on defining our own functions. However, C also provides a rich set of built-in functions, known as Standard Library Functions. These functions are pre-written and grouped into various libraries (e.g., <stdio.h>
, <stdlib.h>
, <math.h>
) to perform common tasks like input/output, memory management, and mathematical operations. When you use functions like printf()
or scanf()
, you are actually calling functions that have been defined in the standard input/output library (stdio.h
). These functions abstract away complex implementations, allowing you to use them easily by simply including their respective header files.
6.1 Mathematical Functions
Include <math.h>
header for mathematical functions:
#include <stdio.h>
#include <math.h>
int main() {
double angle = 45.0;
double radians = angle * M_PI / 180.0; // Convert to radians
printf("Mathematical Functions:\n");
printf("sqrt(16) = %.2f\n", sqrt(16.0)); // Square root
printf("pow(2, 3) = %.2f\n", pow(2.0, 3.0)); // 2^3
printf("sin(45°) = %.4f\n", sin(radians)); // Sine
printf("cos(45°) = %.4f\n", cos(radians)); // Cosine
printf("log(10) = %.4f\n", log(10.0)); // Natural log
printf("log10(100) = %.2f\n", log10(100.0)); // Base-10 log
printf("ceil(4.3) = %.0f\n", ceil(4.3)); // Ceiling
printf("floor(4.7) = %.0f\n", floor(4.7)); // Floor
printf("fabs(-5.5) = %.1f\n", fabs(-5.5)); // Absolute value
return 0;
}
Note: When compiling programs that use <math.h>
, you might need to link the math library:
gcc -o program program.c -lm
6.2 String Functions
Include <string.h>
header for string manipulation:
#include <stdio.h>
#include <string.h>
int main() {
char str1[50] = "Hello";
char str2[50] = "World";
char str3[100];
// String length
printf("Length of '%s': %lu\n", str1, strlen(str1));
// String copy
strcpy(str3, str1);
printf("After strcpy: str3 = '%s'\n", str3);
// String concatenation
strcat(str3, " ");
strcat(str3, str2);
printf("After strcat: str3 = '%s'\n", str3);
// String comparison
if (strcmp(str1, "Hello") == 0) {
printf("str1 equals 'Hello'\n");
}
return 0;
}
6.3 Character Functions
Include <ctype.h>
for character testing and conversion:
#include <stdio.h>
#include <ctype.h>
int main() {
char ch = 'A';
printf("Character testing for '%c':\n", ch);
printf("isalpha: %d\n", isalpha(ch)); // Is alphabetic?
printf("isdigit: %d\n", isdigit(ch)); // Is digit?
printf("isupper: %d\n", isupper(ch)); // Is uppercase?
printf("islower: %d\n", islower(ch)); // Is lowercase?
printf("isspace: %d\n", isspace(ch)); // Is whitespace?
printf("Lowercase: %c\n", tolower(ch)); // Convert to lowercase
printf("Uppercase: %c\n", toupper('a')); // Convert to uppercase
return 0;
}
No comments to display
No comments to display