Категории типов данных
Алфавит языка.
Алфавит (или множество литер) языка программирования C основывается на множестве символов таблицы кодов ASCII. Алфавит C включает:
· строчные и прописные буквы латинского алфавита (мы их будем называть буквами),
· цифры от 0 до 9 (назовём их буквами-цифрами),
· символ '_' (подчерк - также считается буквой),
· набор специальных символов:
" { } , | [ ] + - % / \ ; ' : ? < > = ! & # ~ ^ . *
· прочие символы.
Алфавит C служит для построения слов, которые в C называются лексемами. Различают пять типов лексем:
· идентификаторы,
· ключевые слова,
· знаки (символы) операций,
· литералы,
· разделители.
Почти все типы лексем (кроме ключевых слов и идентификаторов) имеют собственные правила словообразования, включая собственные подмножества алфавита.
Лексемы разделяются разделителями. Этой же цели служит множество пробельных символов, к числу которых относятся пробел, символы горизонтальной и вертикальной табуляции, символ новой строки, перевода формата и комментарии.
Идентификаторы.
Идентификаторы в языке программирования используются для обозначения имен переменных, функций и меток, применяемых в программировании. Идентификатором может быть произвольная последовательность латинских букв (прописных и строчных), цифр и символа подчеркивания, которая начинается с буквы или символа подчеркивания. В языке С идентификатор может состоять из произвольного числа символов, однако два идентификатора считаются различными, если у них различаются первые 32 символа.
Идентификатором называется последовательность цифр и букв, а также специальных символов, при условии, что первой стоит буква или специальный символ. Для образования идентификаторов могут быть использованы строчные или прописные буквы латинского алфавита. В качестве специального символа может использоваться символ подчеркивание (_). Два идентификатора для образования которых используются совпадающие строчные и прописные буквы, считаются различными. Например:
int _count;
int _COUNT;
float 123count;//не допустимый идентификатор
float _123count;
float *count12;
В языке С некоторые идентификаторы употребляются как служебные слова, которые имеет специальное значение для компилятора. Их употребление строго определено, и эти слова не могут использоваться иначе. Ключевыми словами являются:
auto double int struct break else long switch
register tupedef char extern return void case float
unsigned default for signed union do if sizeof
volatile continue enum short while
Примеры объявления данных:
int а, b;
unsigned i, j;
float k;
Здесь объявлены переменные: целые а и b , беззнаковые целые i и j , вещественное число одинарной точности k.
Пример 1:
#include<stdio.h>
void main(void)
{
int year;
year=2010;
printf("Сейчас %d год\n",year);
}
Пример 2:
#include<stdio.h>
#include <math.h>
void main(void)
{//вычисление площади прямоугольника
int a;//сторона квадрата
double square;//площадь
printf("Введите значение стороны квадрата\n");
scanf("%d",&a);
square=pow((double)a,(double)2);
printf("Площадь равна %lf\n",square);
}
Типы данных: целый, вещественный, символьный; их представление в оперативной памяти.
Важное отличие языка С от других языков (PL1, FORTRAN, и др.) является отсутствие принципа умолчания, что приводит к необходимости объявления всех переменных используемых в программе явно вместе с указанием соответствующих им типов.
Объявления переменной имеет следующий формат:
[спецафикатор-класа-памяти] спецификатор-типа описатель [=инициатор] [,описатель [= инициатор] ]...
Описатель - идентификатор простой переменной либо более сложная конструкция с квадратными скобками, круглыми скобками или звездочкой (набором звездочек).
Спецификатор типа - одно или несколько ключевых слов, определяющие тип объявляемой переменной. В языке СИ имеется стандартный набор типов данных, используя который можно сконструировать новые (уникальные) типы данных.
Инициатор - задает начальное значение или список начальных значений, которые (которое) присваивается переменной при объявлении.
Спецификатор класса памяти - определяется одним из четырех ключевых слов языка С: auto, extern, register, static, и указывает,каким образом будет распределяться память под объявляемую переменную, с одной стороны, а с другой, область видимости этой переменной, т.е., из каких частей программы можно к ней обратиться.
Пример
int day;
int year=2010;
register float square;
Категории типов данных
Ключевые слова для определения основных типов данных
Целые типы : Плавающие типы:
char float
int double
short long double
long
signed
unsigned
Переменная любого типа может быть объявлена как немодифицируемая. Это достигается добавлением ключевого слова const к спецификатору-типа. Объекты с типом const представляют собой данные используемые только для чтения, т.е. этой переменной не может быть присвоено новое значение. Отметим, что если после слова const отсутствует спецификатор-типа, то подразумевается спецификатор типа int. Если ключевое слово const стоит перед объявлением составных типов (массив, структура, смесь, перечисление), то это приводит к тому, что каждый элемент также должен являться немодифицируемым, т.е. значение ему может быть присвоено только один раз.
Примеры:
const double A=2.128E-2;
const B=286; (подразумевается const int B=286)
Целый тип данных
Для определения данных целого типа используются различные ключевые слова, которые определяют диапазон значений и размер области памяти, выделяемой под переменные.
Название типа | Тип значения переменной | Диапазон значений | Необходимая память, в битах | Примечания |
int | Целый | -32768 ...32767 | Задает значения, к которым относятся все целые числа, например -6, 0, 28 и т.д. | |
short | Короткий и Целый | 0..65535 | Объекты short не могут быть больше, чем int. В Borland C int и short равной длины | |
long | Длинный и Целый | 214748364…2147483647 | Используется, когда диапазон значений выходит за пределы диапазона типа int | |
char | Символьный | Символы кодовой таблицы ASCII (0...255) | Задает значения, которые представляют различные символы, например w, у, ф, 4, !, ., * и т. д. Этот тип часто используется как наименьшее беззнаковое целое значение | |
unsigned | Беззнаковый | Модификатор типов char, short, int, long, определяющий их беззнаковыми. |
Дата добавления: 2016-04-14; просмотров: 593;