Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по С,С++.doc
Скачиваний:
28
Добавлен:
25.04.2019
Размер:
694.78 Кб
Скачать

5.2. Базовые стандартные типы переменных

Если величина является константой, компилятор сам может распознать ее тип по тому виду, в котором она введена. В случае с переменными, обязательно должен быть объявлен ее ТИП. Программа на СИ не будет выполняться, если не описать все используемые переменные. Тип является характеристикой данных. Под типом понимается совокупность информации о данном: сколько ему нужно выделить памяти, какой вид имеет его представление, какие над ним определены операции. Для выполнения вычислений в программе задаются переменные различных типов.

Переменная – это именованный объект, который может принимать различные значения в процессе выполнения программы.

В Си определены следующие стандартные типы данных:

а) для целых чисел

Тип объем диапазон чисел

int 2 байта  32768

signed int  32768 знаковое

unsigned int 0…65535 беззнаковое

chort int короткое целое – тождественно int

long int 4 байта  2147483648 длинное целое

signed long int  2147483648 знаковое

unsigned long int 0…4294967295 беззнаковое

б) с плавающей точкой

float 4 байта 1038

double 8 байт 10308 двойной точности

long double 10 байт 104932 расширенной точности

Существует еще один тип данных - char. Он в основном используется для символов, но может также использоваться для целых чисел

char 1 байт 128

signed char 128

unsigned char 0 ... 255

При описании данных, необходимо ввести тип, за которым должно идти имя переменной (описание). Можно в один оператор объединять несколько имен переменных одного типа, разделенных запятой. Операторы должны заканчиваться точкой с запятой.

Пример:

int num;

int cows, hogs;

Переменным можно присваивать некоторое значение перед началом обработки (инициализировать). В качестве инициализации переменной часто применяются константы.

Пример:

int num;

num=1024;

Можно инициализировать переменную в операторе описания:

int var = 72;

int num=1024, sum=45;

Если присваивается символьное значение переменной типа char , то необходимо не забывать брать символ в апострофы:

char isma=’S’;

т.к. если записать char isma=S, компилятор будет считать, что используется переменная с именем S, которая не описана.

В СИ имеется встроенная операция sizeof, которая позволяет определить размер объектов в байтах.

Пример:

main() {

printf(“данные типа int занимают %d байта.\n”, sizeof(int));

printf(“данные типа char занимают %d байта.\n”, sizeof(char));

printf(“данные типа long занимают %d байта.\n”, sizeof(long));

}

В результате будет выведена информация:

данные типа int занимают 2 байта

данные типа char занимают 1 байта

данные типа long занимают 4 байта

Символ %d указывает куда нужно вставить значение переменной. % - означает, что необходимо напечатать число, а d – что число необходимо печатать в десятичном формате.

6.ОПЕРАЦИИ ЯЗЫКА СИ

Операции в языке Си применяются для представления арифметических выражений. Насчитывается около 40 операций и 16 приоритетов. Величина, над которой выполняется операция, называется операндом. Операции могут быть унарные (один операнд), бинарные (два операнда) и тернарные.

6.1. Арифметические операции

Можно выполнять действия над переменными, переменными и константами, константами.

Самый высокий приоритет у скобок ()

  1. Изменение знака - r = -12; -r (2)

  2. Умножения * сm = 2,54 *in; (3)

  3. Деления / var = 12.0 / 3.0; (3)

У целых чисел при делении дробная часть отбрасывается (происходит усечение)

x = 5 / 3 (х примет значение 1)

  1. % - деление по модулю (3) ( используется только для целых чисел)

х = 5%3 ( в результате получается остаток от деления х примет значение 2)

  1. Сложение + sum = 20+10; sum = 20 + x ; sum = hou + sec; (4)

  2. Вычитание (4)

  3. Операции автоуменьшения -- и автоувеличения ++ на 1 (2)

Различают 2 формы записи операции ++i - префиксная форма (увеличение переменной i происходит до следующей операции) и i++ - постфиксная форма (после)

++size < 18,5 сначала произойдет увеличение переменной, а затем сравнение с числом 18,5

size++ <18,5 сначала сравнение, а затем увеличение на 1.

Пусть переменным присвоены следующие значения: y=2; n=3;

В результате операции y=n++ сначала переменной y присвоится значение переменной n, а затем n увеличится на 1. y станет равным 3, а n - 4

next=(y+n++)*6; в этом случае сначала произойдет сложение, а затем n увеличится на 1 ( на результате это не отразится) (2+3)*6=30; n=4;

next=(y+(++n))*6; в этом случае сначала n увеличится на 1. А затем уже числа будут складываться (2+4)*6=36; n=4;

8) Операция определения размера sizeof (2)

Можно определять размерность (количество байт) типа sizeof (int); а также размер переменных sizeof x;

9) Операция присваивания = (15)

Знак = не означает в этом случае равенство. Это присваивание некоторого значения.

val = 3,75; PI = 3,14;

i = i+1; математически это неверно, но поскольку = это не знак равенства, то эта запись в СИ верна. Она означает – к значению переменной i прибавить 1 и новое значение присвоить переменной с именем i.

Можно одно значение присваивать нескольким переменным (присваивается справа налево)

y = x = z = 1;

Нельзя присваивать значения константам. Поэтому при присваивании слева от знака = не может быть константы:

3,75 = val не верно

10) Операция следования , (запятая)

х=5, у=24; (16)

Выражения, разделенные запятой, будут выполняться слева направо. Символ запятая может также использоваться как разделитель (в операторах).