Zurück zu: C Tutorial
Praxisbeispiele
Diese Seite enthält eine Liste praktischer Beispiele, die in realen Projekten verwendet wurden.
Variables and Data Types
Beispiel
Verwenden Sie Variablen, um verschiedene Daten eines College-Studenten zu speichern:
// Student data
int studentID = 15;
int studentAge = 23;
float studentFee = 75.25;
char studentGrade = 'B';
// Print variables
printf("Student id: %d\n", studentID);
printf("Student age: %d\n", studentAge);
printf("Student fee: %f\n", studentFee);
printf("Student grade: %c", studentGrade);
Beispiel
Berechnen Sie die Fläche eines Rechtecks (durch Multiplikation von Länge und Breite):
// Create integer variables
int length = 4;
int width = 6;
int area;
// Calculate the area of a rectangle
area = length * width;
// Print the variables
printf("Length is: %d\n", length);
printf("Width is: %d\n", width);
printf("Area of the rectangle is: %d", area);
Beispiel
Verwenden Sie unterschiedliche Datentypen, um die Gesamtkosten einer Reihe von Artikeln zu berechnen und auszugeben:
// Create variables of different data types
int items = 50;
float cost_per_item = 9.99;
float total_cost = items * cost_per_item;
char currency = '$';
// Print variables
printf("Number of items: %d\n", items);
printf("Cost per item: %.2f %c\n", cost_per_item, currency);
printf("Total cost = %.2f %c\n", total_cost, currency);
Beispiel
Berechnen Sie den Prozentsatz der Punktzahl eines Benutzers im Verhältnis zur Höchstpunktzahl in einem Spiel:
// Maximal mögliche Punktzahl im Spiel auf 500 setzen
int maxScore = 500;
// Tatsächliche Punktzahl des Benutzers
int userScore = 423;
// Prozentuale Punktzahl des Benutzers im Verhältnis zur maximal verfügbaren Punktzahl berechnen
float percentage = (float) userScore / maxScore * 100.0;
// Prozentualen Wert ausgeben
printf("Prozentualer Wert des Benutzers ist %.2f", percentage);
Ein Tutorial zu Variablen und Datentypen in C finden Sie in unseren Kapiteln zu Variablen und Datentypen.
Boolesche Werte
Beispiel
Finden Sie heraus, ob eine Person alt genug ist, um zu wählen:
int myAge = 25;
int votingAge = 18;
printf("%d", myAge >= votingAge); // Returns 1 (true), meaning 25 year olds are allowed to vote!
Sie können den obigen Code auch in ein if…else
Abschnitt einschließen, um je nach Ergebnis unterschiedliche Aktionen auszuführen:
Beispiel
Gibt „Alt genug zum Wählen!“ aus, wenn myAge
größer oder gleich 18
ist. Andernfalls gibt „Nicht alt genug zum Wählen.“ aus:
int myAge = 25;
int votingAge = 18;
if (myAge >= votingAge) {
printf("Old enough to vote!");
} else {
printf("Not old enough to vote.");
}
Ein Tutorial zu Booleschen Werten in C finden Sie in unserem Kapitel zu Booleschen Werten.
Bedingungen (Wenn…Sonst)
Beispiel
Verwenden Sie if..else-Anweisungen, um je nach Uhrzeit einen Text auszugeben:
int time = 20;
if (time < 18) {
printf("Good day.");
} else {
printf("Good evening.");
}
Beispiel
Prüfen Sie, ob der Benutzer den richtigen Code eingibt:
int doorCode = 1337;
if (doorCode == 1337) {
printf("Correct code.\nThe door is now open.");
} else {
printf("Wrong code.\nThe door remains closed.");
}
Beispiel
Finden Sie heraus, ob eine Zahl positiv oder negativ ist:
int myNum = 10;
if (myNum > 0) {
printf("The value is a positive number.");
} else if (myNum < 0) {
printf("The value is a negative number.");
} else {
printf("The value is 0.");
}
Beispiel
Finden Sie heraus, ob eine Person alt genug ist, um zu wählen:
int myAge = 25;
int votingAge = 18;
if (myAge >= votingAge) {
printf("Old enough to vote!");
} else {
printf("Not old enough to vote.");
}
Beispiel
Finden Sie heraus, ob eine Zahl gerade oder ungerade ist:
int myNum = 5;
if (myNum % 2 == 0) {
printf("%d is even.\n", myNum);
} else {
printf("%d is odd.\n", myNum);
}
Ein Tutorial zu Bedingungen in C finden Sie in unserem Kapitel „If..Else“.
Schalten
Beispiel
Aus der Wochentagsnummer lässt sich der Wochentagsname berechnen und ausgeben:
int day = 4;
switch (day) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
case 7:
printf("Sunday");
break;
}
Ein Tutorial zu Switch in C finden Sie in unserem Kapitel „Switch“.
While Schleifen
Beispiel
Verwenden Sie eine While Schleife, um ein einfaches „Countdown“-Programm zu erstellen:
int countdown = 3;
while (countdown > 0) {
printf("%d\n", countdown);
countdown--;
}
printf("Happy New Year!!\n");
Beispiel
Verwenden Sie eine While Schleife, um eine Partie Yatzy zu spielen:
int dice = 1;
while (dice <= 6) {
if (dice < 6) {
printf("No Yatzy\n");
} else {
printf("Yatzy!\n");
}
dice = dice + 1;
}
Beispiel
Verwenden Sie eine While-Schleife, um einige Zahlen umzukehren:
// A variable with some specific numbers
int numbers = 12345;
// A variable to store the reversed number
int revNumbers = 0;
// Reverse and reorder the numbers
while (numbers) {
// Get the last number of 'numbers' and add it to 'revNumber'
revNumbers = revNumbers * 10 + numbers % 10;
// Remove the last number of 'numbers'
numbers /= 10;
}
Ein Tutorial zu While Schleifen in C finden Sie in unserem Kapitel zu While Schleifen.
For Schleifen
Beispiel
Verwenden Sie eine For Schleife, um ein Programm zu erstellen, das nur gerade Werte zwischen 0 und 10 ausgibt:
int i;
for (i = 0; i <= 10; i = i + 2) {
printf("%d\n", i);
}
Beispiel
Verwenden Sie eine For Schleife, um ein Programm zu erstellen, das in Zehnerschritten bis 100 zählt:
for (i = 0; i <= 100; i += 10) {
printf("%d\n", i);
}
Beispiel
Verwenden Sie eine For Schleife, um die Potenzen von 2 bis 512 auszudrucken:
for (i = 2; i <= 512; i *= 2) {
printf("%d\n", i);
}
Beispiel
Verwenden Sie eine For Schleife, um ein Programm zu erstellen, das die Multiplikationstabelle einer bestimmten Zahl (in diesem Beispiel 2) druckt:
int number = 2;
int i;
// Print the multiplication table for the number 2
for (i = 1; i <= 10; i++) {
printf("%d x %d = %d\n", number, i, number * i);
}
return 0;
Ein Tutorial zu For Schleifen in C finden Sie in unserem Kapitel zu For Schleifen.
Arrays
Beispiel
Erstellen Sie ein Programm, das den Durchschnitt verschiedener Altersgruppen berechnet:
// An array storing different ages
int ages[] = {20, 22, 18, 35, 48, 26, 87, 70};
float avg, sum = 0;
int i;
// Get the length of the array
int length = sizeof(ages) / sizeof(ages[0]);
// Loop through the elements of the array
for (int i = 0; i < length; i++) {
sum += ages[i];
}
// Calculate the average by dividing the sum by the length
avg = sum / length;
// Print the average
printf("The average age is: %.2f", avg);
Beispiel
Erstellen Sie ein Programm, das das niedrigste Alter unter verschiedenen Altersgruppen ermittelt:
// An array storing different ages
int ages[] = {20, 22, 18, 35, 48, 26, 87, 70};
// Get the length of the array
int length = sizeof(ages) / sizeof(ages[0]);
// Create a variable and assign the first array element of ages to it
int lowestAge = ages[0];
// Loop through the elements of the ages array to find the lowest age
for (int i = 0; i < length; i++) {
if (lowestAge > ages[i]) {
lowestAge = ages[i];
}
}
Ein Tutorial zu Arrays in C finden Sie in unserem Kapitel „Arrays“.
Saiten
Beispiel
Verwenden Sie Zeichenfolgen, um eine einfache Willkommensnachricht zu erstellen:
char message[] = "Good to see you,";
char fname[] = "John";
printf("%s %s!", message, fname);
Beispiel
Erstellen Sie ein Programm, das die Anzahl der in einem bestimmten Wort gefundenen Zeichen zählt:
char word[] = "Computer";
printf("The word '%s' has %d characters in it.", word, strlen(word));
Ein Tutorial zu Zeichenfolgen in C finden Sie in unserem Kapitel „Zeichenfolgen“.
Benutzereingabe
Beispiel
Den Namen eines Benutzers abrufen und ausdrucken:
char fullName[30];
printf("Type your full name: \n");
fgets(fullName, sizeof(fullName), stdin);
printf("Hello %s", fullName);
Ein Tutorial zur Benutzereingabe in C finden Sie in unserem Kapitel „Benutzereingabe“.
Funktionen
Beispiel
Verwenden Sie eine Funktion, um ein Programm zu erstellen, das einen Wert von Fahrenheit in Celsius umrechnet:
// Function to convert Fahrenheit to Celsius
float toCelsius(float fahrenheit) {
return (5.0 / 9.0) * (fahrenheit - 32.0);
}
int main() {
// Set a fahrenheit value
float f_value = 98.8;
// Call the function with the fahrenheit value
float result = toCelsius(f_value);
// Print the fahrenheit value
printf("Fahrenheit: %.2f\n", f_value);
// Print the result
printf("Convert Fahrenheit to Celsius: %.2f\n", result);
return 0;
}
Ein Tutorial zu Funktionen in C finden Sie in unserem Kapitel „Funktionen“.
Bauwerke
Beispiel
Verwenden Sie eine Struktur zum Speichern und Ausgeben verschiedener Informationen zu Autos:
struct Car {
char brand[50];
char model[50];
int year;
};
int main() {
struct Car car1 = {"BMW", "X5", 1999};
struct Car car2 = {"Ford", "Mustang", 1969};
struct Car car3 = {"Toyota", "Corolla", 2011};
printf("%s %s %d\n", car1.brand, car1.model, car1.year);
printf("%s %s %d\n", car2.brand, car2.model, car2.year);
printf("%s %s %d\n", car3.brand, car3.model, car3.year);
return 0;
}
Ein Tutorial zu Strukturen in C finden Sie in unserem Kapitel „Strukturen“.
Speicherverwaltung
Beispiel
struct list {
int *data; // Points to the memory where the list items are stored
int numItems; // Indicates how many items are currently in the list
int size; // Indicates how many items fit in the allocated memory
};
void addToList(struct list *myList, int item);
int main() {
struct list myList;
int amount;
// Create a list and start with enough space for 10 items
myList.numItems = 0;
myList.size = 10;
myList.data = malloc(myList.size * sizeof(int));
// Find out if memory allocation was successful
if (myList.data == NULL) {
printf("Memory allocation failed");
return 1; // Exit the program with an error code
}
// Add any number of items to the list specified by the amount variable
amount = 44;
for (int i = 0; i < amount; i++) {
addToList(&myList, i + 1);
}
// Display the contents of the list
for (int j = 0; j < myList.numItems; j++) {
printf("%d ", myList.data[j]);
}
// Free the memory when it is no longer needed
free(myList.data);
myList.data = NULL;
return 0;
}
// This function adds an item to a list
void addToList(struct list *myList, int item) {
// If the list is full then resize the memory to fit 10 more items
if (myList->numItems == myList->size) {
myList->size += 10;
myList->data = realloc( myList->data, myList->size * sizeof(int) );
}
// Add the item to the end of the list
myList->data[myList->numItems] = item;
myList->numItems++;
}
Ein Tutorial zur Speicherverwaltung in C finden Sie in unserem Kapitel zur Speicherverwaltung.