Программирование на языке Си/§3
В этой лекции мы напишем несколько программ в которых производятся арифметические вычисления
Программа 2.1
[править]
#include <stdio.h>
int main()
{
int k=5, z=3, l=2, p; // объявляем целочисленные идентификаторы
p=(k+z)/2;// производим первую арифметическую операцию (5+3)/2 = 4
printf ("k=%d z=%d l=%d p=%d\n",k,z,l,p); // распечатываем значения k=5 z=3 l=2 p=4
k=p+z; //производим вторую арифметическую операцию 4+3=7
printf ("k=%d z=%d l=%d p=%d\n",k,z,l,p);// распечатываем значения k=7 z=3 l=2 p=4
l=k-z;//производим третью арифметическую операцию 7-3=4
printf ("k=%d z=%d l=%d p=%d \n",k,z,l,p);// распечатываем значения k=7 z=3 l=4 p=4
}
В языке Си есть все арифметические операции (сложение, вычитание, умножение, деление). Обратите внимание на изменение значения идентификатора после каждого присвоения. После каждого переприсвоения, предыдущее значение теряется.
Программа 2.2
[править]Напишем программу вычисления площади прямоугольника, значения сторон которого мы будим вводить вручную в консольное приложение. Для этого нам необходимо использовать функцию scanf которая также находится в библиотеке stdio.h.
#include <stdio.h>
int main()
{
float s, a, b; // объявляем идентификаторы вещественного типа
printf("\n Введите длины сторон прямоугольника\n");
scanf("%f %f",&a,&b); //вводим данные с клавиатуры
s=a*b; // вычисляем площадь прямоугольника
printf("\n Площадь прямоугольника S=%f", s);
}
Синтаксис функции scanf: scanf("%Ширина_поля модификатор спецификатор", аргументы)
- Ширина поля - целое число, позволяющее определить, какое количество символов из вводимого потока соответствуют вводимому значению.
- Спецификаторы для ввода числовых данных:
* d - десятичный, целочисленный со знаком(int); * u - целочисленный, десятичный без знака(unsigned); * f - вещественный с фиксированной точкой (float, double); * e - вещественный с плавающей точкой (float, double); * s - строка символов
- Модификаторы:
*h - для ввода значений типа short int (hd); *l - для ввода значений типа long int (ld) или double (lf,le); *L - для ввода значений типа Long double (Lf,Le);
Практикум
[править]Напишите на компиляторе Си все приведённые выше примеры. Напишем простейшую программу на языке Cи с вводом данных:
#include <stdio.h>
int main()
{
double k,l,n;
printf("k=");
scanf("%lf",&k);
printf ("l=");
scanf("%lf",&l);
n=k+l;
printf("n=%lf",n);
printf("n=%e",n);
}
Проанализируйте работу программы и выдаваемый ей результат.
Домашнее задание
[править]- Напишите программу вычисления объёма цилиндра через радиус и высоту. Формула: , значение Пи = 3,1415926