Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Язык Си для начинающих! С нуля! Учим быстро и просто! Язык Си для начинающих!


 
Автор выпуска Олег Маркатов
E-mail: markatof@mail.ru

    
                      Доброе время суток, уважаемые читатели! С новым выпуском рассылки снова к Вам Олег Павлович Маркатов, профессиональный преподаватель ВУЗа, специализирующийся на ведении курсов по языкам программирования и информационным технологиям. В предыдущих выпусках я немного рассказал Вам о базовых конструкциях языка и привел пример простейшей программы, складывающей два числа. Конечно, в качестве простейшей можно было привести и более короткую программу, например, 
#include <stdio.h> 
main ()
{
  printf("hello, world\n");

Программа печатает строку hello, world, а еще не рассмотренный нами управляющий символ  \n используется для перехода к новой строке. Конечно, иной студент может не без основания заметить, что сама простая программа будет иметь вид main(){;}. Действительно – эта сама простая, если рассматривать только синтаксис, программа, так как ее можно успешно скомпилировать,  но и самая бессмысленная, так как она не выполняет никаких действий! Прежде чем перейти к рассмотрению программного кода вспомним свойства алгоритма. Известно, что любой алгоритм должен обладать следующими свойствами: массовостью (алгоритм должен уметь решать не одну конкретную задачу, а целый класс однотипных задач); результативностью (алгоритм должен выдавать результат своей работы); определенностью (на каждом шаге выполнения алгоритма исполнитель должен точно знать, какой шаг будет следующим). Эти же свойства присущи и программам, реализующим алгоритмы, и если же хотя бы одно из них оказывается невыполненным, то программа полностью теряет смысл. 
 Основные арифметические операции: сложения, вычитания, умножения, деления. Операции в языке Си применяются для представления арифметических действий. В Си знак равенства означает операцию присваивания некоторого значения. Символ = операция присваивания. В этой операции действие выполняется справа налево. Операнд - это то, над чем выполняются операции. Перечислим операции в порядке уменьшения уровня старшинства - Операции и Порядок вычисления
( ) слева направо 
- (унарный)  слева направо 
* /  слева направо 
+ - (вычитание)  слева направо 
=  справа налево
         Операция деления: / В Си символ / указывает на операцию деления. Величина, стоящая слева от этого знака, делится на величину, расположенную справа от этого знака. Результат деления целых чисел округляется не до ближайшего целого, а всегда до меньшего целого числа. Когда мы смешиваем целые числа и числа с плавающей точкой, результат будет таким же, как если бы оба операнда были числами с плавающей точкой. В этом случае перед делением целое преобразуется в число с плавающей точкой. 
Операция деления по модулю: % 
Эта операция используется в целочисленной арифметике. Ее результатом является остаток от деления целого числа, стоящего слева от знака операции, на число, расположенное справа от нее.
Операция увеличения: ++
Операция увеличения осуществляет следующее простое действие: она увеличивает значение своего операнда на единицу. Существуют две возможности использования данной операции: первая, когда символы ++ находятся слева от переменной (операнда), - "префиксная" форма, и вторая, когда символы ++ стоят справа от переменной, - "постфиксная" форма. Эти две формы указанной операции различаются между собой только тем, в какой момент осуществляется увеличение операнда. Префиксная форма изменяет значение операнда перед тем, как операнд используется. Постфиксная форма изменяет значение после того как операнд использовался.
В примере,
j=i++;
переменной j сначала присваивается значение i, затем значение переменной i увеличивается на 1.
Операция уменьшения: -- 
Каждой операции увеличения соответствует некоторая операция уменьшения, при этом вместо символов ++ мы используем --. Когда символы -- находятся слева от операнда - "префиксная" форма операции уменьшения. Если символы -- стоят справа от операнда - это "постфиксная" форма операции уменьшения.
      Рассмотрение операций продолжим в следующих выпусках рассылки… 
Пишите, задавайте вопросы!  
Олег Маркатов
E-mail: markatof@mail.ru

 

В избранное