Программирование на Cи |
Содержание:
Функция ввода данных |
Для записи математических выражений в языке Си зарезервированы следующие символы: + сложение; - вычитание; * умножение; / деление; ++ инкремент (увеличение числа на единицу); -- декремент (уменьшение числа на единицу); = равно (присвоить); Для расстановки приоритетов операций используются круглые скобки (). Рассмотрим небольшую программу с применением перечисленных операторов: #include <stdio.h> void main() { float x,y,z; clrscr(); x = 5; y = 2; z = x + y; printf("Summa %f\n",z); z = x - y; printf("Raznost %f\n",z); z = x / y; printf("Delenie %f\n",z); z = x * y; printf("Umnojenie %f\n",z); z = (y + y) * y; printf("Skobki %f\n",z); } В этой программе мы объявляем три переменные x,y и z типа float. Переменной x присваиваем значение 5 и переменной y значение 2. Затем последовательно выполняем операции над операндами x и y, присваивая результаты переменной z. Полученные значения z выводим на экран: |
Математические функции
|
||||||||||||||||||||||||||||
Для полноценного использования математических возможностей языка Си, в языке имеется ряд математических функций, которые содержатся в модуле math.h. При использовании в программе математических функций следует подключить этот модуль директивой препроцессора #include <math.h>. Ниже приведён список математических функций содержащихся в модуле math.h:
Числовые значения тригонометрических функций должны быть выражены в радианах. Для преобразования радиан в градусы можно воспользоваться следующей формулой: 3.14*x/180. Для примера вычисления синуса в градусах напишем такую программу: #include <stdio.h> #include <math.h> void main() { float x,z; clrscr(); x = 90; z = sin(3.14*x/180); printf("Sinus(90)= %f\n",z); } Результат работы программы: |
Функция ввода данных
|
Для ввода данных с клавиатуры в Си имеется функция scanf("управляющая строка", аргумент1, аргумент2,...); Управляющая строка, заключённая в кавычки, содержит символы указания типов вводимых значений. Символы такие же, как и в функции printf. Далее, за кавычками, идёт перечисление вводимых переменных через запятую. Перед каждой переменной следует вводить символ &. Для примера, напишем программу решения квадратного уравнения ax2 + bx + c = 0. Аргументы a, b и c будем вводить с клавиатуры. Для добавления комментариев в текст программы на Си служит такая конструкция: /* Комментарий */. Комментарий никак не влияет на работу программы. #include <stdio.h> #include <math.h> void main() { float a,b,c,x1,x2,d; clrscr(); /* Вводим с клавиатуры аргументы уравнения */ printf("Vvedi a:"); scanf("%f",&a); printf("\nVvedi b:"); scanf("%f",&b); printf("\nVvedi c:"); scanf("%f",&c); /* Вычисляем дискриминант */ d = b*b-4*a*c; printf("\nDiscriminant= %f",d); /* Вычисляем корни уравнения */ x1 = (-b+sqrt(d))/(2*a); printf("\nX1= %f",x1); x2 = (-b-sqrt(d))/(2*a); printf("\nX2= %f",x2); } Вводя с клавиатуры значения a, b и c, получим значение двух корней уравнения x1и x2. Для того, что бы дискриминант уравнения d был положительной величиной, желательно вводить значение c со знаком минус. При отрицательном дискриминанте вычисление квадратного корня из d будет невозможно, и программа завершится с ошибкой: Для обработки ошибок такого рода следует воспользоваться логическими операциями, о чём и пойдёт речь в следующем уроке. |
©Гуков Константин Михайлович 2006 - 2013 Почта: [email protected] |