пятница, 28 апреля 2017 г.

ПРЕДСТАВЛЕНИЕ ДАННЫХ НА ЯЗЫКЕ С



Программы работают с данными. Вы вводите числа , буквы и слова в компьютер для того , чтобы он вы полнил какие-нибудь действия над этой информацией.

/*Программа на С состоит из одной или нескольких функций С. Каждая программа на С должна содержать функцию по имени main(), поскольку именно эта функция вызывается при запуске программы.

Описание функции включает заголовок и тело функции. Заголовок функции содержит имя функции и сведения о типе информации, передаваемой в функцию и возвращаемой из нее.

Используется:
- оператор объявления, определяющий имя и тип переменной
- оператора присваивания устанавливающий значение переменной
- оператор вывода
- оператор вызова функции
- оператор возврата
*/
//БУФЕР - ПРОМЕЖУТОЧНАЯ ОБЛАСТЬ ХРАНЕНИЯ

/*ФУНКЦИЯ в программировании — фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы. Функция может принимать параметры и должна возвращать некоторое значение, возможно пустое. Функции, которые возвращают пустое значение, часто называют ПРОЦЕДУРАМИ.
ПОДПРОГРАММА (ПРОЦЕДУРА) (англ. subroutine) — поименованная или иным образом идентифицированная часть компьютерной программы, содержащая описание определённого набора
действий. ПОДПРОГРАММА может быть многократно вызвана из разных частей программы.
*/
/*ОПЕРАТОР ОБЪЯВЛЕНИЯ - назначает переменной имя и определяет тип данных, которые будут храниться в этой переменной. Имя переменной может служить идентификатором.
ОПЕРАТОР ПРИСВАИВАНИЯ - устанавливает значение переменной или область хранения.
ОПЕРАТОР ВЫЗОВА ФУНКЦИИ - запускает на выполнение функцию с указанным именем.
ПЕРЕМЕННАЯ ЭТО ВСЕГО ЛИШЬ ИМЯ ВЫДЕЛЕННОЙ ЯЧЕЙКИ ПАМЯТИ КОМПЬЮТЕРА, КОТОРОЕ МОЖНО ИЗМЕНИТЬ, ПОЭТОМУ НАЗЫВАЕТСЯ ПЕРЕМЕННОЙ
КОНСТАНТА - ДАННЫЕ КОТОРЫЕ ХРАНЯТЬСЯ В ЯЧЕЙКЕ.*/

Рассмотрим пример.


 #include <stdio.h>       
//КОМАНДА ПРЕПРОЦЕССОРА - подключение файла стандартной  библиотеки С stdio.h содержит библиотеку функций ввода-вывода 
int main(void)               
//ОБЪЯВЛЕНИЕ ФУНКЦИИ с именем main() - главная функция, каркас программы  на С
{
            float weight;                
//ОПЕРАТОР ОБЪЯВЛЕНИЯ. Инициализация переменной с именем weight-вес пользователя. Тип данных вещественные числа.
            float value;             
//ОПЕРАТОР ОБЪЯВЛЕНИЯ. Инициализация переменной с именем value-родиевый эквивалент. Тип данных вещественные числа.
             printf("Хотите узнать свой родиевый эквивалент, \n");     
//оператор вызова функции printf() - функция вывода на экран, аргумент функции printf() ->   "Хотите узнать свой родиевый эквивалент, \n"
            printf("Давайте подсчитаем. \n");          
//ОПЕРАТОР ВЫЗОВА ФУНКЦИИ printf(),  аргумент функции printf() -> ("Давайте  подсчитаем. \n")
          printf ("Введите свой вес в футах: ");          
//ОПЕРАТОР ВЫЗОВА ФУНКЦИИ аргумент функции printf() -> ("Введите свой  вес в футах:")
           
            /*получить входные данные от пользователя*/
            scanf("%f", &weight);                                                           
//ОПЕРАТОР ВЫЗОВА ФУНКЦИИ с именем scanf() - ввода данных с клавиатуры             (интерактивная функция)
           
            /*считаем что цена родия $770 за унцию*/
            /*14.5833 - коэффициент для перевода веса*/
            value = 770.0 * weight * 14.5833;                                            
//ОПЕРАТОР ПРИСВАИВАНИЯ (=) означает получить значение переменной weight,
//умножить его на 770.0 и на 14.5833 и присвоить результат вычисления переменной value
           
     printf("Ваш родиевый эквивалент составляет $%.2f. \n", value);  
//ОПЕРАТОР ВЫЗОВА ФУНКЦИИ с именем printf() - функция вывода на экран. Имеет два аргумента.
      printf("Вы достойны этого! Если цена падает,\n");               
      printf("Ешьте больше для поддержания своей стоимости. \n");   
      return 0;                                                                                            //оператор возврата
}

Пояснения
В предыдущих программах объявлялись только целочисленные переменные (тип int), а здесь добавился тип переменной с плавающей запятой (тип float) , так что теперь вы можете обрабатывать более широкий спектр данных. Переменной типа float могут присваиваться вещественные числа.

//БУФЕР - ПРОМЕЖУТОЧНАЯ ОБЛАСТЬ ХРАНЕНИЯ

/*АРГУМЕНТ - ЭЛЕМЕНТЫ ИНФОРМАЦИИ, ПЕРЕДАВАЕМОЙ ФУНКЦИИ.
ФУНКЦИИ printf() и  scanf() не ограничены конкретным количеством аргументов.  Аргументы отделяются друг от друга запятыми. */

#include <stdio.h>      //КОМАНДА ПРЕПРОЦЕССОРА. Начало программы. Включить другой файл /*Эта строка требует от компилятора включить информацию, хранящуюся в файле stdio.h, который является стандартной частью всех пакетов компилятора языка С. Этот файл обеспечивает поддержку ввода с клавиатуры и отображения вывода. */

float weight;   //ОПЕРАТОР ОБЪЯВЛЕНИЯ. Оператор объявляет переменную с именем weight, и уведомляет, что переменная имеет тип float - ВЕЩЕСТВЕННОЕ ЧИСЛО
//Т.Е. Выделяет ячейку памяти и называет ее weight -> предполагается что в данной ячейке будут храниться вещественные числа.

В роли КОНСТАНТ выступают вещественные числа.

$%.2f - настройка внешнего вида выходных данных - этот символ обозначает - два знака после десятичной точки.

scanf("%f", &weight);                      //ОПЕРАТОР ВЫЗОВА ФУНКЦИИ с именем scanf() - ввода данных с клавиатуры (ИНТЕРАКТИВНАЯ ФУНКЦИЯ)
/*Спецификатор %f -> означает, что с клавиатуры должно считываться  число с плавающей запятой
&weight -> что введенное число будет присвоено переменной по имени weight
(& амперсанд) для указания на то, где можно найти переменную weight
ПЕРЕМЕННАЯ ЭТО ВСЕГО ЛИШЬ ИМЯ ВЫДЕЛЕННОЙ ЯЧЕЙКИ ПАМЯТИ КОМПЬЮТЕРА, КОТОРОЕ МОЖНО ИЗМЕНИТЬ, ПОЭТОМУ НАЗЫВАЕТСЯ ПЕРЕМЕННОЙ
КОНСТАНТА - ДАННЫЕ КОТОРЫЕ ХРАНЯТЬСЯ В ЯЧЕЙКЕ.*/

КОНСТАНТЫ
Константы - данные значения которых устанавливаются до начала выполнения программы и сохраняются неизменными в течение всего времени работы программы.

ПЕРЕМЕННЫЕ
Переменные - данные которые могут изменяться (в частности, путем присваивания новых значений) в ходе выполнения программы.

В данной программе weight - ПЕРЕМЕННАЯ
14.5833 - ЦЕЛОЧИСЛЕННАЯ КОНСТАНТА (ЦЕЛОЧИСЛЕННЫЙ ЛИТЕРАЛ)

Переменной можно присваивать значение или изменять его во время  выполнения программы.

ДАННЫЕ
Основные типы данных:
- числа
- буквы
- символы

int - целые числа
- long, short, unsigned, signed - ключевое слово

char - символьные данные
- буквы алфавита, #, $, %, *
- можно использовать для представления небольших целых чисел

Вещественные числа (числа с плавающей точкой)
- float, double, float double

Тип даннае Логических значений
_Bool -> (true, false)
_Complex -> комплексные числа
_Imaginary -> мнимые числа

Компьютер под управлением программы может делать многое. Он может складывать числа, сортировать имена, воспроизводить аудио· и видеоклипы, вычислять орбиты комет, составлять списки адресатов почтовых отправлений, набирать телефонные номера, рисовать картинки, делать логические выводы и многое другое из того, что придет вам в голову.
Для решения этих задач программа должна работать с данными: числа и символы являются той информацией , которую вы используете . Значения не которых данных устанавливаются до начала выполнения программы и сохраняются неизменными в течение всего времени работы программы . Такие данные называются константами. Значения других данных могут изменяться ( в частности, путем присваивания новых значений) в ходе выполнения программы. Такие данные называются переменными. В приведенной выше учебной программе weight представляет собой переменную
14.5833 - константу.

Биты. байты и слова
Термины бит (bit), байт (byte) и слово (word) могут использоваться для описания элементов компьютерных данных или элементов компьютерной памяти.
Минимальный элемент памяти называется битом. Он может хранить одно из двух значений: 0 или 1 . (Говорят также, что бит "сброшен" или "установлен". ) Конечно, в одном бите много информации не запомнишь, но в компьютере имеется огромное число битов. Бит представляет собой базовый строительный блок, из которых построена память компьютера .
Байт - это наиболее часто используемый элемент памяти компьютера. Почти во всех компьютерах байт образован из восьми битов, и это является стандартным определением байта.
Слово представляет собой естественный элемент памяти для компьютеров конкретного типа . В 8- разрядных компьютерах слово состояло из 8 битов. Ранние модели компьютеров, совместимые с компьютерами IBM , в которых использовался  микропроцессор 80286, были 16- разрядными . Это значит, что размер слова этих машин 00 был равен 16 битам. Машины с микропроцессорами типа Pentium и Роwег Macintosh , работают с 32-битовыми словами . Более мощные компьютеры могут и меть слова длиной 64 и более битов.
1 байт = 8 бит;
2 байт = 16 бит:
4 байт = 32 бит;
8 байт = 64 бит и т.д.
Целое число - это число без дробной части. В языке С целое число никогда не записывается с десятичной точкой. Целыми числами являются, на пример  2, - 23 и  2456 . Такие числа, как 3.14, 0.22 и 2.000, не принадлежат к классу целых чисел.
Целые числа хранятся в двоичной форме. Целое число 7 , на пример , записывается в двоичной системе как 111 .


Число с плавающей запятой называют вещественным числом. К вещественным числам относятся числа, находящиеся между целыми числами. Примерами чисел с плавающей запятой могут служить: 2.75, 3.16Е7, 7.00 и 2 е - 8 .

Число типа int - это целое число со знаком. Это значит, что число должно быть целым, а также что оно может быть положительным, отрицательным или нулем. Диапазон возможных значений зависит от компьютерной системы . Обычно для хранения данных типа int используется одно машинное слово . Поэтому в компьютерах, с  32-битовыми словами, для хранения данных типа int выделяется 32 битов. В этих условиях значения целых чисел находятся в диапазоне от - 32768 до + 32767.


Объявление переменных типа int
Для объявления целочисленных переменных служит ключевое слово int. Сначала идет ключевое слово int, затем выбранное вами имя переменной, после которого ставится точка с запятой. Несколько переменных можно объявлять либо по отдельности, либо в одном операторе, в этом случае после ключевого слова int помещается список имен, причем имена отделяются друг от друга запятыми.
Примеры допустимых объявлений переменных:
int erns;
int hogs, cows, goats;

Инициализация переменных
Инициализировать переменную - это значит присвоить ей начальное значение. В языке С это можно сделать в операторе объявления  Просто после имени переменной поставьте знак операции присваивания ( = ) и значение, которое необходимо присвоить переменной.
Пример:
int hogs = 21;

Тип данных char применяется для хранения символов, таких как буквы и знаки препинания, однако в техническом аспекте он является также целочисленным. Почему? Да потому, что тип char фактически хранит целые числа, а не символы . При работе с символами компьютер использует числовые коды, то есть определенные целые числа представляют определенные символы.

Объявление переменных типа char
Как и следовало ожидать, переменные типа char объявляются так же, как и другие переменные.
Пример.
char response;
char table, latin;

/* char code.c - отображает кодовое значение символа */
#include <stdio.h>
int main (void)
{
char ch; /
printf ("Bведите какой-нибудь символ.\n" ); /
 /*пользователь вводит символ*/
scanf ("%c", &ch );
printf ("Koд символа %с равен %d.\n" , ch, ch); /
return 0;
}

ВЫВОД НА ЭКРАН
Введите какой-нибудь символ.
с
Код символа С равен 67 .


РЕЗЮМЕ
В языке С имеется большое разнообразие типов данных. Основные типы данных подразделяются на две категории: целочисленные типы данных и данные с плавающей запятой. Двумя отличительными особенностями целочисленных типов являются объем памяти, выделяемый для размещения данных того или иного типа, и знак числа, то есть, со знаком данный тип или без знака. Наименьшим целочисленным типом является char, который,  в зависимости от реализации, может быть со знаком или без знака.
Функция printf () позволяет печатать различные типы значений, используя спецификаторы, которые в своей простейшей форме состоят из знака процента и буквы, указывающей тип, например , %d или % f.

/*СПЕЦИФИКАТОР ПРЕОБРАЗОВАНИЯ определяет каким образом данные преобразуются в отображаемую форму*/
%d //СПЕЦИФИКАТОР ПРЕОБРАЗОВАНИЯ десятичное число со знаком
%f       //число с плавающей запятой, десятичное представление
%c       //одиночный символ
%s       //интерпретирует введенные данные как строку
%e       //Экспонициальная форма
%a       //Двоично-экспонициальное представление
&         //спецификатор где можно найти переменную

Комментариев нет:

Отправить комментарий