Язык программирования Си. Издание 3-е, исправленное - Брайан Керниган
0/0

Язык программирования Си. Издание 3-е, исправленное - Брайан Керниган

Уважаемые читатели!
Тут можно читать бесплатно Язык программирования Си. Издание 3-е, исправленное - Брайан Керниган. Жанр: Программирование. Так же Вы можете читать полную версию (весь текст) онлайн книги без регистрации и SMS на сайте Knigi-online.info (книги онлайн) или прочесть краткое содержание, описание, предисловие (аннотацию) от автора и ознакомиться с отзывами (комментариями) о произведении.
Описание онлайн-книги Язык программирования Си. Издание 3-е, исправленное - Брайан Керниган:
Книга широко известных авторов, разработчиков языка Си, переработанная и дополненная с учетом стандарта ANSI для языка Си, 2-е английское издание которой вышло в 1988 году, давно стала классикой для всех изучающих и/или использующих как Си, так и Си++. Русский перевод этой книги впервые был выпущен изд- вом "Финансы и статистика" в 1992 г. и с тех пор пользуется неизменным спросом читателей.Для настоящего третьего русского издания перевод заново сверен с оригиналом, в него внесены некоторые поправки, учитывающие устоявшиеся за прошедшие годы изменения в терминологии, а так же учтены замечания, размещенные автором на странице http://cm.bell-labs.com/cm/cs/cbook/2ediffs.html.Для программистов, преподавателей и студентов.Издание подготовлено при участии издательства "Финансы и статистика"
Читем онлайн Язык программирования Си. Издание 3-е, исправленное - Брайан Керниган

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 66 67 68 69 70 71 72 73 74 ... 81

    ИЛИ-выражение

    логическое-И-выражение && ИЛИ-выражение

ИЛИ-выражение:

    исключающее-ИЛИ-выражение

    ИЛИ-выражение | исключающее-ИЛИ-выражение

исключающее-ИЛИ-выражение:

    И-выражение

    исключающее-ИЛИ-выражение ^ И-выражение

И-выражение:

    выражение-равенства

    И-выражение & выражение-равенства

выражение-равенства:

    выражение-отношения

    выражение-равенства == выражение-отношения

    выражение-равенства != выражение-отношения

выражение-отношения:

    сдвиговое-выражение

    выражение-отношения < сдвиговое-выражение

    выражение-отношения > сдвиговое-выражение

    выражение-отношения <= сдвиговое-выражение

    выражение-отношения >= сдвиговое-выражение

сдвиговое-выражение:

    аддитивное-выражение

    сдвиговое-выражение >> аддитивное-выражение

    сдвиговое-выражение << аддитивное-выражение

аддитивное-выражение:

    мультипликативное-выражение

    аддитивное-выражение + мультипликативное-выражение

    аддитивное-выражение - мультипликативное-выражение

мультипликативное-выражение:

    выражение-приведенное-к-типу

    мультипликативное-выражение * выражение-приведенное-к-типу

    мультипликативное-выражение / выражение-приведенное-к-типу

    мультипликативное-выражение % выражение-приведенное-к-типу

выражение-приведенное-к-типу:

    унарное-выражение

    ( имя-типа ) выражение-приведенное-к-типу

унарное-выражение:

    постфиксное –выражение

    ++ унарное-выражение

    -- унарное-выражение

    унарный-оператор выражение-приведенное-к-типу

    sizeof унарное-выражение

    sizeof( имя-типа )

унарный-оператор: один из

    &   *   +   -   ~   !

постфиксное-выражение:

    первичное-выражение

    постфиксное-выражение [ выражение ]

    постфиксное-выражение ( список-аргументов-выраженийнеоб )

    постфиксное-выражение , идентификатор

    постфиксное-выражение -> идентификатор

    постфиксное-выражение ++

    постфиксное-выражение --

первичное -выражение:

    идентификатор

    константа

    строка

    ( выражение )

список-аргументов-выражений:

    выражение-присваивания

    список-аргументов-выражений , выражение-присваивания

константа:

    целая-константа

    символьная-константа

    константа-с-плавающей-точкой

    константа-перечисление

Ниже приводится грамматика языка препроцессора в виде перечня структур управляющих строк. Для механического получения программы грамматического разбора она не годится. Грамматика включает символ текст, который означает текст обычной программы, безусловные управляющие строки препроцессора и его законченные условные конструкции.

управляющая-строка:

    #define идентификатор последовательность-лексем

    #define идентификатор ( идентификатор, ..., идентификатор) последовательность-лексем

    #undef идентификатор

    #include <имя-файла>

    #include "имя-файла"

    #include последовательность-лексем

    #line константа "идентификатор"

    #line константа

    #error последовательность-лексемнеоб

    #pragma последовательность-лексемнеоб

    #

    условная-конструкция-препроцессора

условная-конструкция-препроцессора:

    if-строка текст elif-части else-частьнеоб #endif

if-строка:

    #if константное-выражение

    #ifdef идентификатор

    #ifndef идентификатор

elif-части:

    elif-строка текст

    elif-частинеоб

elif-строка:

    #elif константное-выражение

else-часть:

    else-строка текст

else-строка:

    #else

Приложение B. Стандартная библиотека

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

Функции, типы и макросы объявляются в следующих стандартных заголовочных файлах:

<assert.h>

<ctype.h>

<errno.h>

<float.h>

<limits.h>

<locale.h>

<math.h>

<setjmp.h>

<signal.h>

<stdarg.h>

<stddef.h>

<stdio.h>

<stdlib.h>

<string.h>

<time.h>

Доступ к заголовочному файлу осуществляется с помощью строки препроцессора

#include <заголовочный файл>

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

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

B1. Ввод-вывод: ‹stdio.h› 

Определенные в <stdio.h> функции ввода-вывода, а также типы и макросы составляют приблизительно одну треть библиотеки.

Поток - это источник или получатель данных; его можно связать с диском или с каким-то другим внешним устройством. Библиотека поддерживает два вида потоков: текстовый и бинарный, хотя на некоторых системах, в частности в UNIXe, они не различаются. Текстовый поток - это последовательность строк; каждая строка имеет нуль или более символов и заканчивается символом 'n'. Операционная среда может потребовать коррекции текстового потока (например, перевода 'n' в символы возврат-каретки и перевод-строки).

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

1 ... 66 67 68 69 70 71 72 73 74 ... 81
На этой странице вы можете бесплатно читать книгу Язык программирования Си. Издание 3-е, исправленное - Брайан Керниган бесплатно.
Похожие на Язык программирования Си. Издание 3-е, исправленное - Брайан Керниган книги

Оставить комментарий

Рейтинговые книги