Введение
В этом лабораторном занятии вы научитесь работать с арифметикой с плавающей запятой на языке C. Вы начнете с объявления переменных типа float и double, затем выполните различные арифметические операции над ними и, наконец, выведете результаты с соответствующей точностью. В лабораторном занятии рассматриваются основные навыки работы с десятичными числами и выполнения точных математических вычислений в программировании на языке C.
Первый этап демонстрирует, как объявлять переменные с плавающей запятой с использованием типов данных float и double, а также как выводить значения с требуемой точностью. Второй этап посвящен выполнению арифметических операций, таких как сложение, вычитание, умножение и деление, над числами с плавающей запятой.
Объявление переменных типа float или double
На этом этапе вы научитесь объявлять переменные с плавающей запятой на языке C с использованием типов данных float и double. Переменные с плавающей запятой являются важными для хранения десятичных чисел и выполнения точных математических вычислений.
Сначала создадим новый файл на языке C, чтобы продемонстрировать объявление переменных:
cd ~/project
nano floating_variables.c
Теперь добавьте следующий код в файл:
#include <stdio.h>
int main() {
// Declaring float variables
float temperature = 98.6;
float price = 19.99;
// Declaring double variables
double pi = 3.14159265359;
double large_number = 1234567890.123456789;
// Printing the variables
printf("Temperature (float): %.2f\n", temperature);
printf("Price (float): %.2f\n", price);
printf("Pi (double): %.5f\n", pi);
printf("Large Number (double): %.9f\n", large_number);
return 0;
}
Скомпилируйте и запустите программу:
gcc floating_variables.c -o floating_variables
./floating_variables
Пример вывода:
Temperature (float): 98.60
Price (float): 19.99
Pi (double): 3.14159
Large Number (double): 1234567890.123456789
Разберем код:
floatиспользуется для чисел с плавающей запятой одинарной точности (обычно 4 байта)doubleиспользуется для чисел с плавающей запятой двойной точности (обычно 8 байт)- Спецификаторы формата
%.2fи%.5fконтролируют точность вывода десятичных знаков при печати
Выполнение арифметических операций над значениями с плавающей запятой
На этом этапе вы научитесь выполнять различные арифметические операции над числами с плавающей запятой на языке C, включая сложение, вычитание, умножение и деление.
Давайте изменим предыдущий файл, чтобы продемонстрировать арифметику с плавающей запятой:
cd ~/project
nano floating_arithmetic.c
Добавьте следующий код в файл:
#include <stdio.h>
int main() {
// Declare floating-point variables
float a = 10.5;
float b = 3.2;
// Addition
float sum = a + b;
printf("Addition: %.2f + %.2f = %.2f\n", a, b, sum);
// Subtraction
float difference = a - b;
printf("Subtraction: %.2f - %.2f = %.2f\n", a, b, difference);
// Multiplication
float product = a * b;
printf("Multiplication: %.2f * %.2f = %.2f\n", a, b, product);
// Division
float quotient = a / b;
printf("Division: %.2f / %.2f = %.2f\n", a, b, quotient);
// Mixed arithmetic operations
float mixed_calc = (a + b) * (a - b) / b;
printf("Mixed Calculation: (%.2f + %.2f) * (%.2f - %.2f) / %.2f = %.2f\n",
a, b, a, b, b, mixed_calc);
return 0;
}
Скомпилируйте и запустите программу:
gcc floating_arithmetic.c -o floating_arithmetic
./floating_arithmetic
Пример вывода:
Addition: 10.50 + 3.20 = 13.70
Subtraction: 10.50 - 3.20 = 7.30
Multiplication: 10.50 * 3.20 = 33.60
Division: 10.50 / 3.20 = 3.28
Mixed Calculation: (10.50 + 3.20) * (10.50 - 3.20) / 3.20 = 24.41
Основные моменты арифметики с плавающей запятой:
- Используйте спецификатор формата
%.2fдля контроля десятичной точности - Арифметические операции с плавающей запятой следуют стандартным математическим правилам
- Будьте осторожны с возможными ограничениями точности при вычислениях с плавающей запятой
Вывод результатов с соответствующей точностью
На этом этапе вы научитесь контролировать точность вывода чисел с плавающей запятой с использованием спецификаторов формата в языке C.
Создайте новый файл, чтобы изучить различные форматы точности:
cd ~/project
nano floating_precision.c
Добавьте следующий код в файл:
#include <stdio.h>
int main() {
// Declare floating-point variables
double pi = 3.14159265358979323846;
double large_number = 1234567.89012345;
// Default printing (limited precision)
printf("Default printing:\n");
printf("Pi: %f\n", pi);
printf("Large Number: %f\n\n", large_number);
// Controlling decimal places
printf("Controlled Precision:\n");
printf("Pi with 2 decimal places: %.2f\n", pi);
printf("Pi with 5 decimal places: %.5f\n", pi);
printf("Pi with 10 decimal places: %.10f\n\n", pi);
// Scientific notation
printf("Scientific Notation:\n");
printf("Large Number (default): %e\n", large_number);
printf("Large Number (3 decimal places): %.3e\n\n", large_number);
// Width and precision combined
printf("Width and Precision:\n");
printf("Pi (width 10, 4 decimal places): %10.4f\n", pi);
printf("Large Number (width 15, 2 decimal places): %15.2f\n", large_number);
return 0;
}
Скомпилируйте и запустите программу:
gcc floating_precision.c -o floating_precision
./floating_precision
Пример вывода:
Default printing:
Pi: 3.141593
Large Number: 1234567.890123
Controlled Precision:
Pi with 2 decimal places: 3.14
Pi with 5 decimal places: 3.14159
Pi with 10 decimal places: 3.1415926536
Scientific Notation:
Large Number (default): 1.234568e+06
Large Number (3 decimal places): 1.235e+06
Width and Precision:
Pi (width 10, 4 decimal places): 3.1416
Large Number (width 15, 2 decimal places): 1234567.89
Основные моменты форматирования точности:
%f— это стандартный спецификатор формата для чисел с плавающей запятой.2fозначает 2 десятичных знака,.5fозначает 5 десятичных знаков%eили%Eпоказывают число в научной нотации- Спецификаторы ширины помогают выравнивать и форматировать вывод
Резюме
В этом лабораторном занятии вы научились объявлять переменные с плавающей запятой с использованием типов данных float и double, а также выполнять арифметические операции над этими значениями, включая сложение, вычитание, умножение и деление. Вы также научились контролировать точность десятичных знаков при выводе чисел с плавающей запятой с использованием спецификаторов формата. Эти навыки являются важными для работы с десятичными данными и выполнения точных математических вычислений в программировании на языке C.



