Главная страница

Курс на Си. Подбельский. Курс программирования на Си. В., Фомин С. С. Курс программирования на языке Си Учебник


Скачать 1.57 Mb.
НазваниеВ., Фомин С. С. Курс программирования на языке Си Учебник
АнкорКурс на Си
Дата18.02.2023
Размер1.57 Mb.
Формат файлаdocx
Имя файлаПодбельский. Курс программирования на Си.docx
ТипУчебник
#943863
страница41 из 42
1   ...   34   35   36   37   38   39   40   41   42

void*,

см. Тип void*

функции, 157, 198

чисел с плавающей точкой, см. Тип float, Тип double

Точность простая, см. Тип

float, 65, 73, 76

двойная, см. Тип double

У

Указатель, 14, 19, 31, 37, 43, 141, 143, 145, 147, 151 значение, 144, 197,

см. Значение указателя и массив, 164, 180,

см. Массив и указатель инициализация, 94, 234, см. Инициализация массива

константа, 151, 153, 197 константный,

см. Указатель-константа на массив, 150

на объект, 43, 141, 263, 269

на поток, 287, 288, 308,

315, 323

на строку, 173, 211

на структурированный объект, 37

на структуру, 258, 278

на функцию, 197, 198, 202, 204, 207, 208

нулевой, см. Нулевой указатель

объект, 150

параметр, 181 переменная, 145 пустой,

см. Нулевой указатель родовой,

см. Тип void*

Умножение,

см. Операция умножения

Унарные операции, 66, 148

Управляющая

последовательность, 15

Условная операция, см. Операция условная трехместная, 38, 54

Условный оператор, см. Оператор if

Уточненное имя, см. Имя уточненное

Ф

Файл заголовочный, см. Заголовочный файл

Форматирование данных

при вводе-выводе, 294

Форматная строка, 61, 73, 177,

221, 294, 300, 301, 314

Флаг форматирования, 297

Функция, 176

main( ), 60, 100, 103 описание,

см. Описание функции определение,

см. Определение функции прототип,

см. Прототип

рекурсивная,

см. Рекурсивная функция с переменным количеством аргументов, 211 самовызывающая,

см. Рекурсивная функция указатель,

см. Указатель на функцию

Функция библиотечная

calloc( ), 155, 164, 219

close( ), 32, 328

creat( ), 322, 323, 327

exit( ), 104, 108, 226

fclose( ), 288

fopen( ), 287

free( ), 155, 156, 164, 230, 266

fseek( ), 316, 317, 318, 321

getchar( ), 166, 167, 288, 289

lseek( ), 323, 331, 332

malloc( ), 155, 157, 158, 164, 173, 271

open( ), 322, 323, 325, 327

perror( ), 287, 288

printf( ), 61, 62, 67, 68, 165,

  1. 288, 293, 294

putchar( ), 288, 289, 291,

292, 309

qsort( ), 207, 208, 210

read( ), 322, 328, 329

scanf( ), 73, 74, 76, 165,

  1. 183

strcmp( ), 210, 211

strcpy( ), 194

strlen( ), 195

strncat( ), 192

strstr( ), 191, 364

va_arg( ),

см. Макроопределение

va_arg( )

va_end( ),

см. Макроопределение

va_end( )

va_start( ), см. Макроопределение

va_start( )

write( ), 322, 328, 329, 330

Ц

Целая константа, см. Константа целая

Целочисленный тип,

см. Тип int (long, short, unsigned)

Цикл, 14

бесконечный, 205, 307 итерационный,

см. Оператор for с постусловием, см. Оператор do с предусловием,

см. Оператор while

Ш

Шестнадцатеричная константа, см. Константа шестнадцате­ричная

Э

Эскейп-последовательность, 119

Эффекты побочные, см. Побочные эффекты

Я

Явное преобразование типа, см. Операция явного преобразования типа

4 Лексема - единица текста программы, которая при компиляции воспри­нимается как единое целое и по смыслу не может быть разделена на более мелкие элементы.

5Приведенный пример и общие положения вычислительной ма­тематики заставляют существенно ограничить применение пере­менных типа float. Тип float можно выбирать для представления исходных данных или окончательных результатов, получаемых в программе. Однако применение данных типа float в промежуточ­ных вычислениях (особенно в итерационных алгоритмах) следует ограничить и всегда использовать double либо long double.

К сожалению, ни double, ни long double не снимают полностью проблем конечной точности представления вещественных чисел в памяти ЭВМ. Существенное различие в порядках значений опе­рандов арифметических выражений может привести к подобным не­корректным результатам и при использовании типов double и long.

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

6char *z;

/* z - указатель на объект символьного типа */ int *k,*i;

/* k, i - указатели на объекты целого типа */ float *f;

/* f - указатель на объект вещественного типа */

7#include

#include /* Для функции qsort() */

#include /* Для сравнения строк: strcmp()*/

/* Определение функции для сравнения: */ int compare(const void *a, const void *b) {

unsigned long *pa = (unsigned long *)a,

8pb = (unsigned long *)b;

return strcmp((char *)*pa, (char *)*pb);

}

void main()

{

char *pc[] = {

"One - 1",

"Two - 2",

"Three - 3",

"Four - 4",

"Five - 5",

9pinega = = dot[0]

pinega -> massэквивалентно (*pinega).mass

pinega -> coord[0] эквивалентно (*pinega).coord[0]

#include void main ( ) {

struct complex

{ /* Определение структурного типа complex*/ float x; /* Вещественная часть */ float y; /* Мнимая часть */

} array [ ] = {1.0, 2.0, 3.0, -4.0, -5.0, -6.0, -7.0, -8.0}; struct complex summa = {0.0, 0.0};

Здесь ранее определенная структура типа struct mix является эле­ментом структуры типа struct hole.

В то же время элементом структуры может быть указатель на структуру того же типа, что и определяемый структурный тип:
1   ...   34   35   36   37   38   39   40   41   42


написать администратору сайта