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