Программирование на языке Си/§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);
                 
}

Проанализируйте работу программы и выдаваемый ей результат.

Домашнее задание[править]

  1. Напишите программу вычисления объёма цилиндра через радиус и высоту. Формула: , значение Пи = 3,1415926