Читаем Язык программирования Си. Издание 3-е, исправленное полностью

• Несколько изменены именные пространства идентификаторов. Всем тегам структур, объединений и перечислений стандарт выделяет одно именное пространство; для меток инструкций вводится отдельное именное пространство (см. A11.1). Кроме того, имена элементов связаны со структурой или объединением, частью которого они являются. (С некоторых пор это общепринятая практика.)

• Допускается инициализация объединения; инициализатор относится к первому элементу объединения.

• Разрешается инициализация автоматических структур, объединений и массивов, хотя и с некоторыми ограничениями.

• Разрешается инициализация массива символов с помощью строкового литерала по точному количеству указанных символов (без '\0').

• Управляющее выражение и case-метки в switch могут иметь любой целочисленный тип.

<p>Предметный указатель </p>

0... константа восьмеричная 2.3, A2.5.1

0x... константа шестнадцатеричная 2.3, A2.5.1

... многоточие 7.3, A7.3.2

>= оператор больше или равно 2.6, A7.9

> оператор больше чем 2.6, A7.9

- оператор вычитания 2.5, A7.7

-- оператор декремента 1.5.2, 2.8, 5.5, A7.3.4, A7.4.1

/ оператор деления 1.2, 2.5, A7.6

% оператор деления по модулю 2.5, A7.6

. оператор доступа к элементу структуры 6.1, A7.3, A7.3.3

-> оператор доступа к элементу структуры через указатель 6.2, A7.3, A7.3.3

, оператор запятая 3.5, A7.18

++ оператор инкремента 1.5.2, 2.8, 5.5, A7.4, A7.4.1

* оператор косвенного доступа 5.1, A7.4.3

&& оператор логического И 1.5.4, 2.6, 2.9, A7.14

|| оператор логического ИЛИ 1.5.4, 2.6, 2.9, A7.15

! оператор логического отрицания 2.6, A7.4, A7.4.7

<= оператор меньше или равно 2.6, A7.9

< оператор меньше чем 2.6, A7.9

!= оператор неравенства 1.5.1, 2.6, A7.10

& оператор побитового И 2.9, A7.11

| оператор побитового ИЛИ 2.9, A7.13

^ оператор побитового исключающего ИЛИ 2.9, A7.12

~ оператор побитового отрицания 2.9, A7.4.6

& оператор получения адреса 5.1, A7.4.2

# оператор препроцессора 4.11.2, A12.3

## оператор препроцессора 4.11.2, A12.3

= оператор присваивания 1.5.1, 2.6, A7.17

+= оператор присваивания 2.10

== оператор равенства 1.5.3, 2.6, A7.10

<< оператор сдвига влево 2.9, A7.8

>> оператор сдвига вправо 2.9, A7.8

+ оператор сложения 2.5, A7.7

* оператор умножения 2.5, A7.6

- оператор унарный минус A7.4.5

+ оператор унарный плюс A7.4.4

" символ двойная кавычка 1.1, 1.5.3, 2.3, A2.5.2, A2.6

' символ кавычка 1.5.3, 2.3, A2.5.2

\0 символ нулевой 1.9, 2.3, A2.5.2

\\ символ обратная наклонная черта 1.1, 2.3

_ символ подчеркивания 2.1, A2.3, B

?: условное выражение 2.11, A7.16

А

аргументы командной строки 5.10

Б

бесконечный цикл for( ; ; ) 3.5, 4.11.2

библиотечная функция 1.1, 4.1, 4.3, Приложение B

 abort B5

 abs B5

 acos B4

 asctime B10

 asin B4

 atan, atan2 7.8.6, B4

 atof B5

 atoi B5

 atol B5

 bsearch B5

 calloc 7.8.5, B5

 ceil B4

 clearerr B1.7

 clock B10

 cos 7.8.6, B4

 cosh B4

 ctime B10

 difftime B10

 div B5

 exit 7.6, B5

 exp 7.8.6, B4

 fabs 7.8.6, B4

 fclose 7.5, B1.1

 feof 7.6, B1.7

 ferror B1.7

 fflush B1.1

 fgetc B1.4

 fgetpos B1.6

 fgets 7.7, B1.4

 filecopy 7.6

 floor B4

 fmod B4

 fopen 7.5, B1.1

 fprintf 7.5, B1.2

 fputc B1.4

 fputs 7.7, B1.4

 fread B1.5

 free B5

 freopen B1.1

 frexp B4

 fscanf 7.5, B1.3

 fseek B1.6

 fsetpos B1.6

 ftell B1.6

 fwrite B1.5

 getc 7.5, B1.4

 getchar 1.5, 7.1, 7.5, B1.4

 getenv B5

 gets B1.4

 gmtime B10

 isalnum 7.8.2, B2

 isalpha 7.8.2, B2

 iscntrl B2

 isdigit 7.8.2, B2

 isgraph B2

 islower 7.8.2, B2

 isprint B2

 ispunct B2

 isspace 7.8.2, B2

 isupper 7.8.2, B2

 isxdigit B2

 labs B5

 ldexp B4

 ldiv B5

 localtime B10

 log, log10 7.8.6, B4

 longjmp B8

 malloc 6.5, 7.8.5, B5

 memchr B3

 memcmp B3

 memcpy B3

 memmove B3

 memset B3

 mktime B10

 modf B4

 perror B1.7

 pow 7.8.6, B4

 printf B1.2

 putc 7.5, B1.4

 putchar 1.5, 7.1, B1.4

 puts 7.7, B1.4

 qsort B5

 raise B9

 rand B5

 realloc B5

 remove B1.1

 rename B1.1

 rewind B1.6

 scanf 7.4, B1.3

 setbuf B1.1

 setjmp B8

 setvbuf B1.1

 signal B9

 sin 7.8.6, B4

 sinh B4

 sprintf 7.2, B1.2

 sqrt 7.8.6, B4

 srand B5

 sscanf B1.3

 strcat 7.8.1, B3

 strchr 7.8.1, B3

 strcmp 7.8.1, B3

 strcpy 7.8.1, B3

 strcspn B3

 strerror B3

 strftime B10

 strlen 7.8.1, B3

 strncat 7.8.1, B3

 strncmp 7.8.1, B3

 strncpy 7.8.1, B3

 strpbrk B3

 strrchr 7.8.1, B3

 strspn B3

 strstr B3

 strtod B5

 strtok B3

 strtol B5

 strtoul B5

 system B5

 tan B4

 tanh B4

 time B10

 tmpfile B1.1

 tmpnam B1.1

 tolower 7.8.2, B2

 toupper 7.8.2, B2

 ungetc 7.8.3, B1.4

 vfprintf 8.3, B1.2

 vprintf 8.3, B1.2

 vsprintf 8.3, B1.2

бинарное дерево 6.5

бинарный поток 7.5, B1

битовое поле

 выравнивание 6.9, A8.3

 объявление 6.9, A8.3

биты, образцы манипулирования 2.9, 6.9

блок см. также составная инструкция

 структура 3.1, 4.8, A9.3

 инициализация в. 4.9, A9.3

буферизация см. setbuf, setvbuf

буферизованный getchar 8.2

быстрая сортировка 4.10, 5.6

В

ввод

 без буферизации 8.2

 возврат символа на 4.3

 с буферизацией 8.2

 с клавиатуры 1.1, 7.1, 8.1

 форматный см. scanf

ввод-вывод

 символов 1.5, 7.1

 ошибки 7.6, B1.7

 перенаправление 7.1, 7.5, 8.1

 с терминала 1.5

високосный год, вычисление 2.5, 5.7

вывод на экран 1.5, 7.1, 7.5, 8.1

 перенаправление 7.1

 форматный см. printf

вызов

 по значению 1.8, 5.2, A7.3.2

 по указателю 1.8, 5.3

выравнивание битового поля

 с помощью union 8.7

 ограничения по 6.4, 6.5, 6.8, 7.8.5, 8.7, A6.6

выражение A7

 в скобках A7.2

 константное 2.3, 3.4, 4.11.3, A7.19

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT