Введение
В этом лабораторном практикуме вы изучите, как выполнять операции округления в программировании на языке C. Вы начнете с объявления переменных с плавающей точкой, затем изучите использование различных функций округления, таких как round(), floor(), и ceil(), для манипулирования значениями. Наконец, вы выведете округленные результаты, чтобы наблюдать за различным поведением округления.
Этот практикум охватывает базовые навыки арифметических операций в C, предоставляя прочную основу для работы с числами с плавающей точкой и их методами округления.
Объявление переменных с плавающей точкой
В этом шаге вы узнаете, как объявлять и инициализировать переменные с плавающей точкой в C, что необходимо для выполнения операций округления.
Сначала создадим новый файл C для работы с переменными с плавающей точкой:
cd ~/project
nano rounding.c
Теперь добавьте следующий код в файл:
#include <stdio.h>
int main() {
// Объявление переменных с плавающей точкой
float num1 = 3.7;
double num2 = 4.2;
// Вывод исходных значений
printf("Исходное значение float: %.1f\n", num1);
printf("Исходное значение double: %.1f\n", num2);
return 0;
}
Компилируем и запускаем программу:
gcc rounding.c -o rounding
./rounding
Пример вывода:
Исходное значение float: 3.7
Исходное значение double: 4.2
Рассмотрим код:
- Мы используем
floatдля чисел с одинарной точностью с плавающей точкой - Мы используем
doubleдля чисел с двойной точностью с плавающей точкой - Спецификатор формата
%.1fотображает число с одним десятичным знаком num1иnum2инициализированы десятичными значениями
Использование функций (например, round, floor, ceil) для округления значений
В этом шаге вы узнаете, как использовать функции округления в C для обработки чисел с плавающей точкой. Мы изменим предыдущий файл rounding.c, чтобы продемонстрировать различные методы округления.
Откройте существующий файл:
cd ~/project
nano rounding.c
Замените предыдущее содержимое следующим кодом:
#include <stdio.h>
#include <math.h>
int main() {
// Объявление переменных с плавающей точкой
float num1 = 3.7;
double num2 = 4.2;
// Округление значений с помощью различных функций
printf("Исходные значения:\n");
printf("num1: %.1f, num2: %.1f\n\n", num1, num2);
// Использование функции round()
printf("Функция round():\n");
printf("round(num1): %.0f\n", round(num1));
printf("round(num2): %.0f\n\n", round(num2));
// Использование функции floor()
printf("Функция floor():\n");
printf("floor(num1): %.0f\n", floor(num1));
printf("floor(num2): %.0f\n\n", floor(num2));
// Использование функции ceil()
printf("Функция ceil():\n");
printf("ceil(num1): %.0f\n", ceil(num1));
printf("ceil(num2): %.0f\n", ceil(num2));
return 0;
}
Компилируйте программу с библиотекой математических функций:
gcc rounding.c -o rounding -lm
./rounding
Пример вывода:
Исходные значения:
num1: 3.7, num2: 4.2
Функция round():
round(num1): 4
round(num2): 4
Функция floor():
floor(num1): 3
floor(num2): 4
Функция ceil():
ceil(num1): 4
ceil(num2): 5
Ключевые моменты о функциях округления:
round(): Округляет до ближайшего целого числаfloor(): Округляет вниз до ближайшего целого числаceil(): Округляет вверх до ближайшего целого числа- Флаг
-lmиспользуется для подключения математической библиотеки при компиляции - Спецификатор формата
%.0fотображает целые числа без десятичных знаков
Вывод округленных результатов
В этом шаге вы узнаете, как форматировать и выводить округленные результаты с различными уровнями точности и опциями форматирования.
Откройте существующий файл:
cd ~/project
nano rounding.c
Обновите код, чтобы продемонстрировать различные методы вывода:
#include <stdio.h>
#include <math.h>
int main() {
// Объявление переменных с плавающей точкой
float num1 = 3.7;
double num2 = 4.2;
// Демонстрация округления с различными форматами вывода
printf("Демонстрация округления:\n");
// Вывод округленных значений с различной точностью
printf("1. Округленные значения:\n");
printf(" round(num1) = %.0f\n", round(num1));
printf(" round(num2) = %.0f\n\n", round(num2));
// Вывод с шириной поля и точностью
printf("2. Форматированные округленные значения:\n");
printf(" Округленное num1 с шириной поля: %5.1f\n", round(num1));
printf(" Округленное num2 с шириной поля: %5.1f\n\n", round(num2));
// Вывод целочисленных и представлений с плавающей точкой
printf("3. Целочисленные и представления с плавающей точкой:\n");
printf(" num1 как целое число: %d\n", (int)round(num1));
printf(" num2 как целое число: %d\n", (int)round(num2));
return 0;
}
Компилируйте и запустите программу:
gcc rounding.c -o rounding -lm
./rounding
Пример вывода:
Демонстрация округления:
1. Округленные значения:
round(num1) = 4
round(num2) = 4
2. Форматированные округленные значения:
Округленное num1 с шириной поля: 4.0
Округленное num2 с шириной поля: 4.0
3. Целочисленные и представления с плавающей точкой:
num1 как целое число: 4
num2 как целое число: 4
Ключевые методы вывода:
%.0fудаляет десятичные знаки%5.1fустанавливает ширину поля и точность- Приведение типа с помощью
(int)преобразует в целое число - Различные спецификаторы формата управляют внешним видом вывода
Резюме
В этом лабораторном практикуме вы изучили объявление переменных с плавающей точкой, включая float и double, а также использование различных функций округления, таких как round(), floor(), и ceil(), для обработки этих значений. Вы вывели исходные значения, а затем использовали функции округления для отображения округленных результатов. Это позволило вам понять разное поведение этих функций и как их можно применять для округления чисел вверх, вниз или до ближайшего целого числа.



