Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Простые типы данных в языке Си. Переменные и константы. Описание. Примеры.




Ответ:

· Целочисленные:

o char:

§ Содержимое: целочисленное значение ASCII кода

§ Размер (ANSIC): 1

§ Размер (MSVisualC/C++): 1

§ Диапазон значений: -128…127 или 0…255

o Int:

§ Содержимое: целое число

§ Размер (ANSIC): 2/4

§ Размер (MSVisualC/C++): 4

§ Диапазон значений: -2147483648…2147483647

· Вещественные:

o float.

§ Содержимое: ПЗ-число одинарной точности

§ Размер (ANSIC): 4

§ Размер (MSVisualC/C++): 4

§ Диапазон значений: 3,4е-38 или 3,4е+38

o double.

§ Содержимое: ПЗ-число двойной точности

§ Размер (ANSIC): 8

§ Размер (MSVisualC/C++): 8

§ Диапазон значений: 1,7е-308 или 1,7е+308

Переменная (объект) – именованная область памяти, к которой имеется доступ из программы.

Каждая переменная должна иметь определенный тип, который характеризует:

· Размер занимаемой памяти.

· Диапазон значений, которые она может хранить.

· Набор операций, применимых к этой переменной.

Описание переменных:

· Все переменные должны быть описаны до их использования

· Описание состоит из спецификатора типа (возможно с модификатором) и следующего за ним списка переменных, которые будут иметь указанный тип.

Пример:

int i, j, k, pmax;

short int abc, pmin;

float radix, a, b, s_m;

long double k, kr;

char ch, ch1;

unsignedcharsymbol;

Инициализация переменных:

· Переменная может быть инициализирована некоторым значением уже при описании.

Пример:

unsigned char t='t’;

int i=0, j, k, s=1;

float ro, eps=1e-6;

· Глобальные и статические переменные автоматически инициализируются «0».

· Локальные переменные имеют неопределенное значение до первого присваивания.

· Некоторые компиляторы (в т.ч. MS Visual C/C++) позволяют при описании инициализировать.переменную значением другой переменной (или выражением, содержащим другие переменные), описанной ранее – «динамическая инициализация».

Константа – фиксированное значение, которое не может изменяться программой

Типы констант:

· Целочисленные константы.

o Могут быть записаны только в СС10, СС8, СС16.

o Каждой константе соответствует определенный тип. Тип выбирается компилятором – "наименьший" по размеру целый тип, подходящий для хранения константы.

Пример:

short int -> unsigned short –> int -> unsigned int -> long -> unsigned long

o Явное указание типа целочисленной константы возможно с использованием модификаторов (суффиксов).

Пример:

L,l (long), U,u (unsigned), 123, +123, -123, 123U, 1L, 0123L, 0x323UL

· Вещественные константы.

o Действительное десятичное число.

o Все константы с плавающей точкой имеют тип double. Можно явно присвоить константе тип float, добавив к ней суффикс F.

Примеры:

15.75, 1.575Е1, 1575е-2, 25., .75, .0075е2, 1.1F

· Символьные константы.

o Символьная константа — это буква, цифра, знак пунктуации или специальный символ, заключенный в апострофы.

o Значение символьной константы равно коду представляемого ею символа.

o Символьные константы имеют тип int и при преобразовании типов дополняются знаком.

Примеры:

'T', '\n', '\08', 'sdf', E

· Строковые константы.

o Строковая константа (литерал) – последовательность символов, заключенная в кавычки.

o Строковая константа может содержать печатные и управляющие символы.

o Строка хранится в памяти с добавлением символа '\0', означающего "конец строки".

o Строка имеет тип char[] (строку символов).

Примеры:

"School N 2" // 11 байтов, "XUS sjhdkasdh" // 14 байтов.

 

 

Именованные константы.

· Модификатор const:

o Переменная определенного типа, для которой запрещены изменения.

o Область видимости соответствует области памяти переменной без модификатора const (локальная).

o Значение переменной устанавливается во время исполнения программы.

o Возможные значения соответствуют значениям переменных базовых типов.

o Выполняется проверка типов.

o Стиль C++.

o Описывается как переменная с модификатором const и обязательной инициализацией.

Пример:

const int i=50.

const double pi=3.14159.

· Директива #define

o Именованная константа.

o Не требует памяти для хранения.

o Реализуется путем простой текстовой подстановки во время компиляции программы.

o Область видимости – глобальная (для C) или локальная (для С++).

o Возможные значения – любые.

o "Классический" C.

o Описывается с использованием директивы #define.

Пример:

#define SIZE 10

#define begin {

#define MAX(X,Y) (X>Y)?X:Y

Алгебраические выражения и правила их записи в языке Си. Примеры.

Ответ:           

Комбинация знаков операций и операндов, результатом которой является определенное значение, называется выражением.

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

Каждый операнд в выражении в свою очередь также может быть выражением.

Значение выражения зависит от расположения знаков операций и круглых скобок в выражении, а также от приоритета выполнения операций.

Тип значения выражения зависит типов операндов и от выполняемой операции.

· Если все операнды целочисленные, то операции сложения, вычитания, умножения, целочисленного деления дают значение выражения также целочисленного типа. Операция деления "/" дает вещественный результат! Если в выражение присутствуют целочисленные операнды, имеющие различные типы, то значение выражения будет иметь тип с наибольшим диапазоном (в данном случае Integer).

· Если среди операндов хоть один имеет вещественный тип, то значение выражения будет также вещественным.

Унарные операции:

Знак операции Описание Пример Значение
- Арифметическое отрицание (изменение знака) int A = 3; int C = -A; C = -3
+ Унарный плюс S = +2; S = +(-2); S = 2 S = -2
++ Инкремент (увеличение на 1) int S = 10; A = S++; A = ++S;   A = 10, S = 11 S = 11, A = 11
-- Декремент (уменьшение на 1) int S = 10; A = S--; A = --S;   A = 10, S =9 S = 9, A = 10

Для операций инкремента и декремента существуют 2 формы записи:

· Префиксная форма (знак операции записан перед операндом, изменение операнда происходит до его использования в выражении);

· Постфиксная форма (знак операции записан после операнда, операнд вначале используется в выражении, а затем происходит его изменение).

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

Знак операции Описание Типы операндов и результата
* Умножение

Операндами могут быть числа различных типов (выполняется неявное преобразование одного из операндов к «большему» по разрядности типу).

Типом результата является тип операндов после преобразования.

/ Деление
+ Сложение
- Вычитание
% Остаток от целочисленного деления Операндами должны быть только целые числа. Результат – целый тип.

Примеры:

int a=2; int b=3; int c; c = a*++b; // c=8, b=4 int a=2; int b=3; int d; d = a*b++; // d=6, b=4 int N = 10; int K = 29; int Sum; Sum = -29 % 10; //Sum=-9 Sum = 29 % (-10); //Sum=9 Sum = -29 % (-10); //Sum=-9

Арифметические операции = Операция присваивания.

Запись Эквивалент
A *= B A = A * B;
A /= B A = A / B;
A += B A = A + B;
A -= B A = A - B;
A %= B A = A % B;

При построении арифметических выражений можно использовать различные встроенные математические функции. Ниже в таблице приведены их имена, назначение и характеристики.

Вызов функции Тип аргумента Тип результата Назначение
Abs(x) целый вещественный целый вещественный Абсолютное значение x
Sin(x) целый вещественный вещественный Синус x радиан
Cos(x) целый вещественный вещественный Косинус x радиан
Sqrt(x) целый вещественный вещественный Квадратный корень из x>=0
Sqr(x) целый вещественный целый вещественный Ззначение квадрата x

Примеры записи арифметических выражений:

T = x+5

S = (a+b)/n

C = a+b/n

ZH = sin(x)*sqr(x)
A = 1/(1+abs(sin(x)))

D = Trunc((max-min)/dx)

MNO = 23.05*(x-0.01)-sqrt(x+1)

Приоритет:










Последнее изменение этой страницы: 2018-04-12; просмотров: 575.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...