Einführung
In diesem Lab lernen Sie, wie man Potenzen und Exponenten in der C-Programmierung berechnet. Das Lab umfasst zwei Hauptschritte: das Einlesen der Basis- und Exponentenwerte vom Benutzer und anschließend die Berechnung der Potenz mithilfe einer manuellen Schleife oder der eingebauten pow()-Funktion. Am Ende dieses Labs verfügen Sie über ein solides Verständnis der Durchführung von Potenzberechnungen in C, einer grundlegenden Operation in vielen mathematischen und wissenschaftlichen Anwendungen.
Basis und Exponent einlesen
In diesem Schritt lernen Sie, wie Sie die Basis- und Exponentenwerte zum Berechnen von Potenzen in einem C-Programm einlesen. Wir erstellen ein einfaches Programm, das den Benutzer auffordert, diese Werte einzugeben.
Erstellen Sie zunächst eine neue C-Datei im Verzeichnis ~/project:
cd ~/project
nano power_calculation.c
Geben Sie nun den folgenden Code ein, um Basis und Exponenten einzulesen:
#include <stdio.h>
int main() {
int base, exponent;
// Benutzer auffordern, die Basis einzugeben
printf("Geben Sie die Basiszahl ein: ");
scanf("%d", &base);
// Benutzer auffordern, den Exponenten einzugeben
printf("Geben Sie den Exponenten ein: ");
scanf("%d", &exponent);
// Eingelesene Werte ausgeben
printf("Basis: %d\n", base);
printf("Exponent: %d\n", exponent);
return 0;
}
Kompilieren und führen Sie das Programm aus:
gcc power_calculation.c -o power_calculation
./power_calculation
Beispielausgabe:
Geben Sie die Basiszahl ein: 5
Geben Sie den Exponenten ein: 3
Basis: 5
Exponent: 3
Codeerklärung:
- Die Funktion
scanf()wird verwendet, um ganzzahlige Eingaben vom Benutzer zu lesen. %dist der Formatbezeichner für ganze Zahlen.&baseund&exponentübergeben die Speicheradressen, in denen die Eingabewerte gespeichert werden.- Das Programm liest und gibt die Basis- und Exponentenwerte einfach aus.
Dieser Schritt legt den Grundstein für die Berechnung von Potenzen, indem zunächst die erforderlichen Eingaben vom Benutzer abgerufen werden.
Verwendung einer Schleife oder der pow()-Funktion
In diesem Schritt lernen Sie zwei Methoden zum Berechnen von Potenzen in C: die Verwendung einer manuellen Schleife und die Verwendung der eingebauten pow()-Funktion aus der Mathematikbibliothek.
Ändern Sie zunächst die vorherige Datei power_calculation.c, um die Potenzberechnung zu implementieren:
cd ~/project
nano power_calculation.c
Methode 1: Verwendung einer Schleife
#include <stdio.h>
int calculate_power_loop(int base, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
result *= base;
}
return result;
}
int main() {
int base, exponent;
printf("Geben Sie die Basiszahl ein: ");
scanf("%d", &base);
printf("Geben Sie den Exponenten ein: ");
scanf("%d", &exponent);
int power_result = calculate_power_loop(base, exponent);
printf("%d hoch %d ist: %d\n", base, exponent, power_result);
return 0;
}
Methode 2: Verwendung der pow()-Funktion
#include <stdio.h>
#include <math.h>
int main() {
int base, exponent;
printf("Geben Sie die Basiszahl ein: ");
scanf("%d", &base);
printf("Geben Sie den Exponenten ein: ");
scanf("%d", &exponent);
// Hinweis: pow() gibt ein double zurück, daher müssen wir auf int casten
int power_result = (int)pow(base, exponent);
printf("%d hoch %d ist: %d\n", base, exponent, power_result);
return 0;
}
Kompilieren Sie das Programm mit der Mathematikbibliothek:
gcc power_calculation.c -o power_calculation -lm
Beispielausgabe:
Geben Sie die Basiszahl ein: 2
Geben Sie den Exponenten ein: 3
2 hoch 3 ist: 8
Codeerklärung:
- Die Schleifenmethode multipliziert die Basis manuell mit sich selbst
exponent-mal. - Die
pow()-Funktion ausmath.hbietet eine integrierte Potenzberechnung. - Der Flag
-lmist erforderlich, um die Mathematikbibliothek beim Kompilieren zu verknüpfen. - Wir casten das Ergebnis von
pow()aufint, um unserer ganzzahligen Berechnung zu entsprechen.
Ausgabe des Ergebnisses
In diesem Schritt erweitern Sie das Potenzberechnungsprogramm, um eine detailliertere und formatierte Ausgabe zu liefern und verschiedene Möglichkeiten zur Darstellung von Ergebnissen in C zu demonstrieren.
Ändern Sie die Datei power_calculation.c:
cd ~/project
nano power_calculation.c
Fügen Sie den folgenden umfassenden Code hinzu:
#include <stdio.h>
#include <math.h>
void print_power_result(int base, int exponent, int result) {
// Grundlegende Ausgabeformatierung
printf("Grundlegendes Ergebnis: %d^%d = %d\n", base, exponent, result);
// Formatierte Ausgabe mit Ausrichtung
printf("Formatiertes Ergebnis: %2d hoch %2d ergibt %5d\n",
base, exponent, result);
// Wissenschaftliche Notation für größere Zahlen
printf("Wissenschaftliche Notation: %d^%d = %.2e\n", base, exponent, pow(base, exponent));
}
int calculate_power_loop(int base, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
result *= base;
}
return result;
}
int main() {
int base, exponent;
printf("Geben Sie die Basiszahl ein: ");
scanf("%d", &base);
printf("Geben Sie den Exponenten ein: ");
scanf("%d", &exponent);
int power_result = calculate_power_loop(base, exponent);
// Funktion zum Drucken der Ergebnisse aufrufen
print_power_result(base, exponent, power_result);
return 0;
}
Kompilieren Sie das Programm:
gcc power_calculation.c -o power_calculation -lm
Führen Sie das Programm aus:
./power_calculation
Beispielausgabe:
Geben Sie die Basiszahl ein: 5
Geben Sie den Exponenten ein: 3
Grundlegendes Ergebnis: 5^3 = 125
Formatiertes Ergebnis: 5 hoch 3 ergibt 125
Wissenschaftliche Notation: 5^3 = 1.25e+02
Codeerklärung:
print_power_result()demonstriert verschiedene Ausgabeformate.- Die grundlegende Ausgabe zeigt die einfache Berechnung.
- Die formatierte Ausgabe verwendet Breitenangaben für die Ausrichtung.
- Die wissenschaftliche Notation ist nützlich für große Zahlen.
%.2egibt die Zahl im wissenschaftlichen Format mit 2 Dezimalstellen an.
Zusammenfassung
In diesem Labor haben Sie gelernt, wie Sie Basis- und Exponentenwerte vom Benutzer lesen und dann die Potenz mit zwei verschiedenen Methoden berechnen: einer manuellen Schleife und der eingebauten pow()-Funktion. Sie haben die schleifenbasierte Potenzberechnungsfunktion und den pow()-Funktionsaufruf implementiert und anschließend die Ergebnisse verglichen. Dies ermöglichte Ihnen das Verständnis der verschiedenen Ansätze zur Berechnung von Potenzen und Exponenten in der C-Programmierung.



