2. 1 Символы языка Си




Скачать 203.17 Kb.
Название2. 1 Символы языка Си
Дата публикации06.02.2014
Размер203.17 Kb.
ТипДокументы
uchebilka.ru > Информатика > Документы
Раздел 1

2. Символы и правила для ввода информации в ЭВМ

Ключевые термины


Будем рассматривать символы и правила для ввода информации в ЭВМ на примере языка Си, который, как и любой другой алгоритмический язык, представляет собой набор символов и правил для ввода информации в ЭВМ.

2.1 Символы языка Си


1 Буквы: заглавные и строчные буквы латинского алфавита. Следует подчеркнуть, что в Си, в отличие от некоторых других языков, заглавные и строчные буквы различаются.

Ещё используется знак подчёркивания ( _ ), имеющий статус буквы. Кириллицу можно использовать лишь в комментариях, а также в виде символьных и строковых констант.

2 Специальные символы:

+, -, *, /, \, (, ), [, ], {, }, <, >, =,(символ пробела), ? , ! , : , ; , . , , , ' , " , %, & , # , ~ , ^ , | , - всего 29 специальных символов.

3 Цифры: 0 - 9.

4 Управляющие последовательности. Это специальные символьные комбинации, используемые в функциях ввода/вывода информации. Управляющая последовательность состоит из обратной косой черты ( \ ), за которой следует комбинация латинских букв и цифр (табл. 1).

Таблица 1.

Управляющая последовательность

Наименование

Шестнадцатиричная замена



Звонок

007



Возврат на шаг

008

\t

Горизонтальная табуляция

009

\n

Переход на новую строку

00А

\v

Вертикальная табуляция

00В

\r

Возврат каретки

00С

\f

Перевод формата

00Д

\"

Кавычки

022

\'

Апостроф

027

\0

Ноль-символ

000

\\

Обратная косая черта

05С

\ddd

Символ набора кодов в "8" (восьмеричном) представлении

 

\xddd

Символ набора кодов в "16" (шестнадцатиричном) представлении

 

Последовательности вида \ddd и \xddd (здесь d обозначает цифру) позволяют представить символ из набора кодов ПЭВМ как последовательность восьмеричных или "16"-ричных цифр соответственно.

Например, символ возврата каретки может быть представлен различными способами:

  • \r - общая управляющая последовательность;

  • \015 - "8" - ричная управляющая последовательность;

  • \Х00D - "16"-ричная управляющая последовательность.

Если обратная косая черта (\) предшествует символу, не являющемуся управляющей последовательностью (т.е. не включённому в табл. 1) и не являющемуся цифрой, то эта черта игнорируется, а сам символ представляется как литеральный. Например, символ \h представляется символом h в строковой или символьной константе.
^

2.2 Основные конструкции Си


Все перечисленные выше символы используются для получения ряда конструкций языка Си.

Это переменные, константы, массивы, знаки сравнения и отношений, функции, структуры, объединения и др.

2.2.1 Переменные


При написании программы применяются переменные - условные обозначения используемых величин. Каждая переменная имеет символическое имя (идентификатор), тип и класс хранения. При описании переменной эти данные указываются так:

  • класс_хранения тип список символических имён через запятые.

  • В конце ставится точка с запятой.
^

2.2.2 Символическое имя (идентификатор)


Это последовательность букв или букв и цифр, но первой должна быть буква.

Знак подчёркивания ( _ ) имеет статус буквы. Его не рекомендуется ставить первым, т.к. обычно с этого знака начинаются системные переменные. Длина символического имени до 32 символов. Компилятор допускает любое количество символов в идентификаторе, но значимыми являются только первые 31 символ.

Следует отметить, что идентификаторы не только переменных, но также и других конструкций , таких, как массивы, функции, структуры, объединения, константы должны отвечать приведенным выше ограничениям.

Итак, никаких других символов в идентификаторах, кроме букв, цифр и знака подчёркивания! В том числе нельзя использовать и пробел ( ). Если нужно связать несколько строк символов с целью создать идентификатор, то используется знак подчёркивания.

Примеры правильно написанных идентификаторов:

x , X , a , b12 , day_of_week , coretta.

Идентификаторы с ошибками:

x*a , a b , R\2 , x+y.

Следует учесть ещё одно очень важное ограничение - идентификаторы не должны совпадать с т.н. ключевыми (зарезервированными, служебными) словами.
^

2.2.3 Ключевые слова


auto, extern, static, register, int, long, char, float, double, unsigned, if, goto, break, continue, return, switch, case, default, struct, union, while, do, for, sizeof, enum, short, volatile, typedef, signed, else, void.

Кроме того, есть реализации языка Си, в которых зарезервированными словами также являются: _asm, fortran, near, far, cdecl, huge, pascal, interrupt. Ключевые слова far, huge, near позволяют определить размеры указателей (о них будет сказано позже) на области памяти. Ключевые слова _asm, cdecl, fortran, pascal служат для организации связи с функциями, написанными на других языках, а также для использования команд языка ассемблера непосредственно в теле разрабатываемой программы на Си.
^

2.2.4 Типы переменных


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

Различают стандартный набор типов переменных и типы, определяемые программистом (о них речь пойдёт позже).
^

2.2.5 Стандартные (базовые) типы


В Си существует всего лишь несколько базовых типов:

  • char - символьный тип. Под данные символьного типа выделяется единичный байт, который может содержать один символ (литеру) из допустимого набора.

  • int - целое, обычно отображаемое на естественное представление целых в машине.

  • float - тип переменной, принимающей числовые значения с плавающей точкой одинарной точности.

  • double - тип переменной, принимающей числовые значения с плавающей точкой двойной точности.

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

Такими квалификаторами являются short (короткий), long (длинный0, unsigned (беззнаковый), signed (знаковый).

Они используются для модификации типов char и int. Значение типа int может занимать или 2 байта или 4 байта. Это определяется разработчиками компилятора и архитектурой ПЭВМ. Однако если переменную k описать как

short int k; или long int k; то под значение переменной k будет выделено именно 2 байта или именно 4 байта. Это гарантирует правильную работу программы на любом компьютере. В таких описаниях слово int можно опустить и писать просто, например,

short k;

long m;

Модификаторы signed и unsigned могут быть перед char, int, short, long. Они указывают на то, как интерпретируется бит, отведенный под запоминание знака числа. Если указано unsigned, то этот бит интерпретируется как часть числа. В противном случае этот бит интерпретируется как знаковый. Слово signed можно не писать. Если нет unsigned, то подразумевается, что переменная со знаком.

Что даёт использование модификаторов (квалификаторов)? Когда есть смысл их применять? И вообще, зачем описывать тип переменной? Чем руководствоваться при выборе типа переменной?

Если переменная в процессе работы программы будет принимать символьные значения, то она должна быть типа char. Например,

char nch, c1 ;

Следует заметить, что компилятор воспринимает char как целый тип. Переменная типа char может принимать значения от -128 до +127.

Переменная типа unsigned char может принимать значения от 0 до 255.

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

  • short - если переменная принимает значения от -32768 до +32767.

  • unsigned short - если диапазон значений от 0 до 65535.

  • long - если переменная целого типа принимает значения от -2147483648 до +2147483647.

  • unsigned long - если диапазон значений от 0 до 4294967295.

Тип int для случая, когда под целое число отводится 2 байта, эквивалентен типу short. Если же под целое число отведено 4 байта, то int эквивалентен типу long.

В дальнейшем, для определённости, в примерах программ на Си будем считать, что под int отводится 2 байта, а под long - 4 байта.

Таким образом, переменная типа int, как и short, изменяется от -32768 до +32767, а unsigned int от 0 до 65535.

Если переменная в процессе работы "имеет право" на получение дробной части, то она должна быть действительного типа, т.е. float или double в зависимости от требуемой точности представления. Так, для float выделяется 4 байта. Поэтому диапазон значений по абсолютной величине приблизительно от 3,14*10-38 до 3,14*10+38. Для double компилятор выделяет 8 байт. Интервал значений по модулю от 1,7*10-308 до 1,7*10+308.

Кроме float и double, для представления действительных переменных есть ещё тип long double. Для него выделяется 10 байт памяти. Интервал значений по модулю от 3,4*10-4932 до 3,4*10+4932. Однако следует помнить, что в некоторых реализациях языка Си тип long double отсутствует. Итак, ещё раз возвращаемся к выбору типа переменной. Если переменная ни при каких обстоятельствах не может быть с дробной частью, значит, она должна быть целого типа. Если же она может принимать как целые так и дробные значения, значит , это переменная действительного типа. А дальше всё определяется интервалом значений, которые может принимать описываемая переменная.

Итак, рассмотрено, как написать идентификатор (символическое имя) переменной и как выбрать её тип. Остаётся рассмотреть класс хранения или класс памяти переменной.
^

2.2.6 Класс хранения переменной


Спецификатор класса хранения (класса памяти) определяется одним из четырёх ключевых слов языка Си:

auto, extern, static, register.

Он указывает, каким образом будет компилятор распределять память под объявляемую переменную. Кроме того, определяется область видимости этой переменной, т.е. из каких частей программы можно к ней обратиться.

В этом месте необходимо указать, что программа состоит из функций. Их количество произвольное. Имена функций придумывает программист. Но одна функция обязательно должна иметь имя main - главная. С неё начинается выполнение программы. В остальном все функции равноправные.

Тело функции заключается в фигурные скобки. Такие пары фигурных скобок могут также встречаться внутри тела функции.

Содержимое между фигурными скобками называется блоком.

Итак, рассмотрим подробнее классы хранения.

auto - автоматический класс хранения.

Этот класс хранения (памяти) применяется для локальных переменных, т.е. переменных, определённых внутри блока { }.

Вне этого блока переменные класса auto не существуют (!). Например, в теле функции были описаны переменные. Им были присвоены какие-то значения. После выхода из этой функции значения локальных переменных теряются безвозвратно (!).

static - статистический класс хранения. Как и auto, применяется для локальных по отношению к программному блоку переменных. Но сохраняет значения этих переменных между вхождениями в этот блок. Например, в теле было переменной присвоено какое-то значение. После выхода из функции эта переменная не существует. Её значение недоступно. Но при повторном вызове функции, где описана эта переменная, она снова появляется и при этом имеет своё последнее значение, полученное перед выходом из функции (секретные переменные программного блока).

extern - внешний класс хранения. Используется для глобальных переменных. Глобальными являются переменные, описанные вне каких-либо функций. Например, в самом начале программы описаны переменные
extern float х; extern int m;


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

register - класс хранения для регистровых переменных.

Эта переменная должна быть целого типа. Для ускорения работы программы она по возможности помещается не в оперативное запоминающее устройство (ОЗУ), а в регистры центрального процессора. Имеет смысл использовать для счётчиков циклов.

Итак, рассмотрены четыре класса хранения переменных. Следует помнить, если класс хранения НЕ указан для локальной переменной, то по умолчанию он auto. А если не указан перед глобальной переменной, то это класс extern.

Рассмотрим примеры описания переменных. Вспомним, в какой последовательности приводятся класс, тип и идентификаторы переменных:

класс_хранения тип имя_1, имя_2, ...;

В соответствии с этим опишем ряд переменных.

int m, n, k;

Переменные m, n и k целого типа int. Класс хранения auto.

static float x, y;

Переменные х и у действительного типа float. Класс хранения static. Следует сделать важное замечание: в процессе описания переменных их можно также инициализировать, т.е. присваивать им некоторые начальные значения.

Например,

char ch1, ch2, nch='\n';

Здесь описаны переменные ch1, ch2, nch типа char, класса хранения auto. При этом переменная nch получила начальное значение '\n' (переход на новую строку). Это не означает, что этой переменной нельзя присвоить другие значения в процессе работы программы.

Рассмотрим ещё пример:

double x, y, xmin, dx, xmax, a=2.5;

int k=5, n, m;

static char symbol='a';

Здесь описаны переменные x, y, xmin, dx, xmax, a типа double и класса хранения auto. Причём переменная а инициализирована значением 2.5.

Также описаны k, n, m типа int класса хранения auto. Переменной k присвоено значение 5.

Переменная symbol типа char, класса static. Ей для начала присвоена символьная константа 'a'.

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

2.3 Константы


В Си имеются следующие типы констант: целые, вещественные, символьные, строковые и перечисляемые.
^

2.3.1 Константы вещественного типа


Константы с плавающей точкой называются вещественными.

Они состоят из цифр, десятичной точки, отделяющей дробную часть от целой, знака десятичного порядка е или Е и порядка (показателя степени для "10").

Правила языка Си допускают несколько способов записи констант с плавающей точкой. Наиболее общая форма - это последовательность десятичных цифр со знаком, включающая в себя десятичную точку, затем символ е или Е и показатель степени по основанию 10 со знаком. Например, -1.512Е+12, 2.3е-3. Знак + можно не писать. Разрешается также опускать либо десятичную точку , либо экспоненциальную часть, но не одновременно. Кроме того, можно не писать дробную или целую часть, но не обе сразу. Использовать пробелы при записи констант запрещается. Ниже приведено несколько примеров правильного написания констант с плавающей точкой:

3.14159   1. (можно 1.0)     .25 (можно 0.25)    4е16     .8Е-5 (можно 0.8Е-5)        125. (можно 125.0)

В процессе обработки константы с плавающей точностью рассматриваются в формате с удвоенной точностью.
^

2.3.2 Целые константы


Согласно правилам языка Си число без десятичной точки и без показателя степени рассматривается как целого типа. Например, 56 и -328 - целые константы, но 56. - константа действительного типа, т.к. в его записи имеется десятичная точка. Число 56Е3 также не является константой целого типа, поскольку в его записи используется порядок, т.е. степень вознесения основания "10".

Константы целого типа могут задаваться в "10", "8" и "16"-ричной системах счисления.

Десятичные целые константы образуются из цифр. Первой цифрой не должен быть нуль. Восьмеричные константы всегда начинаются с цифры нуль, вслед за которой либо не стоит ни одной цифры, либо стоит несколько цифр от нуля до семёрки. Например, 0125, 051.

Шестнадцатеричные константы всегда начинаются с цифры нуль и символа х или Х, вслед за которыми может стоять одна или более "16"-ричных цифр. Это десятичные цифры от 0 до 9 и латинские буквы a, b, c, d, e, f или A, B, C, D, E, F. Они соответствуют 10, 11, 12, 13, 14, 15 в десятичной системе.

Примеры "16"-ричных целых констант:

0x20, 0Xa12, oxffff.

"8"-ричные и "16"-ричные числа популярны среди программистов, поскольку 8 и 16 являются степенями числа 2, а 10 - нет. В частности, в процессе отладки программы адреса контролируемых переменных приводятся в "16"-ричной системе.

"8"-ричные и "16"-ричные константы только положительные.

К любой целой константе можно справа дописать символ L или l. Это будет означать, что константа длинная (long integer). Например, 212l. Очевидно, что число 212 не очень большое, но добавление признака l гарантирует, что в памяти для него будет отведено необходимое число байтов. Это может оказаться важным для достижения совместимости, если это число должно использоваться вместе с другими переменными и константами типа long.

Символ u или U, приписанный к константе справа, указывает на то, что константа - целая без знака (unsigned integer). Если значение константы превышает 65535, то она будет интерпретироваться как длинная целая без знака (unsigned long).
^

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


Символьная константа представляет собой любой символ, заключённый в апострофы. Например, 'A', 'a', '1'. Она имеет значение типа int (целое), совпадающее с кодом символа в кодировке ASCII. Отсюда следует, что символьные константы можно задавать также в виде самого кода ASCII (в виде целого числа ). Например, '\х41' означает то же самое, что 'А'. Это код буквы А в "16"-ричной системе счисления, о чём свидетельствует буква х после обратной косой черты. С помощью кодов можно записывать символы, которых нет на клавиатуре. Например, '\х7' - символ подачи звукового сигнала.

При использовании кода ASCII необходимо отметить различие между числами и символами, обозначающими числа. Например, символу '4' соответствует код ASCII 52 в "10"-ричной системе или 34 - в "16"-ричной. Следовательно, если написать '4', то это символ цифры 4, а не число 4.

В апострофы также заключаются специальные управляющие символы, перечисленные ранее, когда приводился перечень символов, используемых в Си.

Например,

'\n' - переход на новую строку;

'\r' - возврат каретки;

'\b' - шаг назад и т.д.

Нельзя рассчитывать на то, что все компиляторы с языка Си обязательно используют кодировку ASCII для задания соответствия между символом и целым числом. Для повышения читабельности и мобильности программы следует, где только возможно, пользоваться для задания символьных констант символьными литералами. Поэтому фрагмент программы if ( ch >= 'а' ) означает проверку условия, что значение символьной переменной ch больше или равно 'а', является более наглядным и мобильным, чем эквивалентная запись if ( ch >= 97 ). Здесь уместно напомнить, что 97 - это "10"-ный код символа 'а', взятый из таблицы ASCII.

Итак, ещё раз следует подчеркнуть: в языке Си символы заключаются в апострофы. Поэтому при описании и одновременной инициализации переменной типа char следует, например, писать так:

char x='a', nch='\n' ;

Нельзя писать так:

char x=a ;

Это ошибка. Если апострофы опущены, то компилятор "считает", что используется переменная с именем а, которую забыли описать. В стандарте языка Си принято правило, согласно которому значениями переменной или константы типа char могут быть только одиночные символы. Неправильно писать так:

char ch='Ошибка';

Для этого следует объявить массив типа char и присвоить ему строковую константу.
^

2.3.4 Строковые константы


Строковая константа представляет собой последовательность символов, заключённую в кавычки " ". Например, "Coretta", "Программа_действия". Количество символов от нуля до 65535. В эту последовательность можно также включить управляющие символы, но без апострофов. Например, "Понедельник \n Вторник \n Среда". Каждый из этих дней будет написан с новой строки.
^

2.3.5 Перечисляемые константы


Для улучшения читабельности программы в Си имеется ещё один тип константы - константа перечисления.

Перечисление - это список целых констант, как, например,

enum boolean {NO, YES};

Здесь boolean - новый тип данных, который придумал программист. Такого типа в Си нет, но программист имеет право вводить собственные типы.

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

Например,

enum boolean {NO=5, YES};

Теперь NO имеет значение 5, а YES - на единицу больше, т.е. 6.

В общем виде перечисляемые константы имеют вид:

enum тип {имя_1, имя_2, ...};

или enum тип {имя_1, имя_2=целое число, имя_3, имя_4};

Если не все значения констант в { } специфицированы, то они продолжают увеличиваться на 1, начиная с последнего специфицированного значения.

Примеры:

enum week {monday=1, thusday, wednesday, thursday, friday, saturday, sunday};

Здесь thusday имеет значение 2, wednesday - 3 и т.д.

enum girls {Kate=100, Ann, Elen};

Ann=101, Elen=102.

enum friends {Nick=100, John=150, Jimmy=160};

Фактически программист ввёл новые типы: week, girls, friends. Теперь можно описывать переменные этих типов.

Например:

enum week х;

enum girls y,z;

enum friends gamma, teta;

Переменные типа enum могут принимать только перечисленные в { } значения. Например, переменная

enum boolean bul;

может принимать только значения NO и YES.

Если поле enum перед { } тип не указан, то по умолчанию это int. Например,

enum {BEGINL=257, ENDL, READL, PRINTL};

В программе переменным типа int могут присваиваться перечисленные в { } имена констант.

Остановимся на вопросе, за счёт чего же улучшается читабельность программы, если используются перечисляемые константы. Ответ заключается в том, что благодаря enum { } целые числа получают имеющие определённый смысл символические имена. Применение этих имён при написании программы существенно уменьшает риск присвоить переменным неправильные значения. Например,

enum {FORWARD, BACK};

int command;

Переменной command нужно присвоить при определённых условиях значение FORWARD или же BACK. Гораздо легче написать соответствующее символическое имя, чем запоминать, что FORWARD это 0, а BACK - единица.

command= FORWARD; //Вместо command=0;

2.4 Массивы


Массив - это группа элементов одного типа (double, float, int, char и т.д.), доступ к которым осуществляется по индексу в массиве.

Массив можно описать следующим образом:

static int m [10], n[5] ;

Здесь описаны два массива целого типа класса хранения static. В массиве int m[10] 10 элементов : m[0], m[1], ..., m[9]. За этим массивом компилятор размещает элементы n[0], n[1], n[2], n[3], n[4] массива int n[5]. Следует обратить внимание, что все массивы индексуются, начиная с нуля., а в [ ] стоит количество элементов, включая нулевой.

При описании многомерных массивов после имени массива ставится соответствующее количество квадратных скобок, а в них приводится число элементов по данному измерению массива.

Пример:

float x[5], a[2][4], z[2][2][5];

Здесь описаны: одномерный массив из элементов x[0], ..., x[4] и двумерный массив а из двух строк и четырёх столбцов как показано на рис. 2.1.



Рисунок 2.1 - Двумерный массив а из двух строк и четырёх столбцов

Описан также трёхмерный массив z. Имя массива является адресом его самого первого (нулевого) элемента. Например, для матрицы - это адрес элемента a[0][0].

В оперативной памяти элементы многомерных массивов размещаются так, что самый правый индекс изменяется раньше других. Так, элементы матрицы а размещаются в такой последовательности: a[0][0], a[0][1], a[0][2], a[0][3], a[1][0], a[1][1], a[1][2], a[1][3]. Следует обратить внимание, что при указании конкретного элемента массива после имени массива приводится соответствующее размерности количество пар квадратных скобок, а в них - конкретные значения индексов.

При описании массивов их можно инициализировать. Например,

float x[5]={0.5, -1.2, 0, 0, -4};

float a[2][3]={1, 2, 3,

4, 5, 6};

При инициализации массива х[ ] количество элементов в[ ] можно не писать. Компилятор определит это по количеству чисел в { }. То же самое и при описании массива a[ ][ ] можно было бы не писать количество строк. То есть написать

float a[ ][3]={. . .};

Одним словом, при инициализации многомерных массивов количество элементов по самому левому индексу можно не указывать. Если при инициализации массива значение какого-либо элемента неизвестно, то вместо него обязательно должна стоять запятая. Иначе компилятору не будет известно о существовании такого элемента и о необходимости выделить под него память.

Например,

double b[2][4]={1, 2, 3, 4,

5, , 7, 8};
Здесь значение b[1][1] неизвестно (пропущено), но запятая после него перед b[1][2]=7 свидетельствует о том, что он существует и под него необходимо выделить место в ОЗУ.

Инициализацию символьного массива удобно осуществлять с помощью строковых констант. Например,

char str [ ] = " Строка_символов";

Следует учитывать, что в строке символов в " " находится на один элемент больше, т.к. последний из элементов является управляющей последовательностью '\0'. Это признак конца строки, устанавливаемый автоматически.

^ Выводы

  1. Символы языка Си: буквы, специальные символы, цифры, управляющие последовательности.

  2. Символическое имя (идентификатор) - это последовательность букв или букв и цифр, но первой должна быть буква.

  3. Основные конструкции Си - это переменные, константы, массивы, знаки сравнения и отношений, функции, структуры, объединения и др.

  4. В Си имеются следующие типы констант: целые, вещественные, символьные, строковые и перечисляемые.

  5. Массив - это группа элементов одного типа (double, float, int, char и т.д.), доступ к которым осуществляется по индексу в массиве



Вопросы для самопроверки

    1. Какие есть символы языка Си?

    2. Что такое идентификатор?

    3. Что объединяет переменные, константы, массивы, знаки сравнения и отношений, функции, структуры?

    4. Какие в Си имеются типы констант?

    5. Что такое массив?

    6. Как размещаются в оперативной памяти элементы многомерных массивов?



Список литературы

  1. Шпак З.Я. Програмування мовою С: навчальний посібник. - Львів: Оріяна-Нова, 2006. - 432 с.

  2. Язык программирования Си: научное издание / Б. Керниган, Д. Ритчи ; пер.С. Штаркман. — 2-е изд., перераб. и доп. — М. : Финансы и статистика, 1992. — 272 с.

  3. Бочков С.О., Субботин Д.М. Язык программирования СИ для персонального компьютера/ под общ. ред. П.И.Садчикова.– М.: Радио и связь, 1990. - 384 с.

  4. Проценко В.С., Чаленко П.И., Ставровський А.Б. Техніка програмування мовою Сі: навч. посібник. – К.: Либідь, 1993.– 223 с.

  5. Павловская Т.А. С /С++ Программирование на языке високого уровня.– СПб.: Питер, 2002.– 464 с.

  6. Методичні вказівки до лабораторної роботи "Програмування лінійних, розгалужених та циклічних обчислювальних процесів на мові СІ" з курсу "Обчислювальна техніка" : для студ. спец. 21.01 денної форми навчання / В. В. Авраменко. — Суми : СумДУ, 1994. — 21 с. 




Добавить документ в свой блог или на сайт

Похожие:

2. 1 Символы языка Си iconОзнакомительная работа в среде MuLisp. Базовые функции Лиспа. Символы,...

2. 1 Символы языка Си icon1. элементы языка фортран
Фортран: специальные символы, идентификаторы областей видимости и именования в языке фортран, допустимые типы данных, правила их...

2. 1 Символы языка Си iconПарадигмальные образы как символы эпох
Целью данной работы является попытка исследования парадигмального образа в контексте символических памятников мировой истории, которые...

2. 1 Символы языка Си iconЛюбой язык программирования образуют три его составляющие
Алфавит – это фиксированный для данного языка набор символов, из которых должен состоять любой текст на данном языке – никакие другие...

2. 1 Символы языка Си iconОписание символов, используемых для пояснения легенд кп, разработано...
В настоящей редакции сохранены все символы, предложенные iof, и введены национальные символы 6 и 16. В описании приведена подробная...

2. 1 Символы языка Си iconЮнг К. Г. Человек и его символы     к вопросу о подсознании   Карл Густав Юнг
Н, юнисеф, юнеско, известные торговые марки, запатентованные названия лекарств, воинские зна­ки различия. Не имея значения сами по...

2. 1 Символы языка Си iconКурс французского языка в четырех томах
Учебник французского языка Г. Може предназначен для изуче- ния французского языка как самостоятельно, так и с преподавате

2. 1 Символы языка Си iconСтандарт ieee vhdl справочное описание языка
Основные пользователи vhdl-разработчики средств поддержки языка и опытные пользователи языка

2. 1 Символы языка Си iconД. В. Табачнику о возможности реализации в городе
Статья 4 Закона «О языках в Украинской сср» гласит, что Украина обеспечивает свободное использование русского языка как языка международного...

2. 1 Символы языка Си iconКлючи-символы к богатой жизни Содержание Магия богатства

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<