- •Предисловие.
- •1. Введение.
- •1.1. История создания языка си.
- •1.2. Стандарты языка си.
- •2. Основные сведения, необходимые для создания программ на языке си.
- •2.1 Процесс создания исполняемого файла.
- •2.2 Распределение памяти программы.
- •2.3 Некоторые основные понятия.
- •2.4 Данные.
- •2.5 Структура простой программы.
- •3. Определение размеров типов данных и объектов.
- •4. Строки и строковые константы.
- •5. Директива препроцессора # define.
- •6. Функции форматированного ввода – вывода.
- •6.1 Функция форматированного вывода printf().
- •6.2 Функция форматированного ввода scanf().
- •7. Операции и операторы.
- •7.1 Арифметические операции
- •7.4 Порядок выполнения операций.
- •8. Выражения и операторы
- •8.1 Выражения.
- •8.2 Операторы.
- •8.3 Составные операторы.
- •8.4 Преобразование типов.
- •8.5 Операция приведения типов.
- •9. Функции ввода и вывода символов.
- •9.1 Функции getchar() и putchar().
- •9.2 Функции getch() и getche().
- •9.3 Ввод и вывод последовательности символов.
- •9.4 Подсчет символов, вводимых с клавиатуры.
- •9.5 Вывод символов из вводимого с клавиатуры файла.
- •9.6 Переключение ввода-вывода данных.
- •10. Принятие решений.
- •10.1 Оператор если (if).
- •10.2 Оператор если - иначе (if else).
- •10.3 Множественный выбор на основе операторов if, else.
- •10.5 Приоритеты операций отношения.
- •10.6 Логические операции (and, or, not).
- •10.7 Операция условия ?:.
- •10.8 Множественный выбор на основе операторов switch, break, default.
- •11. Циклы.
- •11.1 Цикл пока (while).
- •11.2 Цикл для (for).
- •11.4 Операция запятая ,.
- •11.5 Цикл делай пока (do while).
- •11.6 Вложенные циклы.
- •11.7 Операторы выход из структуры (break), продолжение (continue), безусловный переход (to go).
- •Литература.
- •Оглавление.
5. Директива препроцессора # define.
Константу можно создать следующими способами:
-
/* подстановка производится во время выполнения программы*/ float taxrate; taxrate = 0 015;
-
/* подстановка производится во время компиляции (этот способ лучше)*/ #define TAXRATE 0.015.
При компиляции программы каждый раз, когда появится переменная TAXRATE, она будет заменяться величиной 0.015.
ПРИМЕЧАНИЕ.
В языке Си переменные пишутся строчными буквами taxrate. В языке Си константы пишутся прописными буквами TAXRATE. Это не правило, а традиция, которая улучшает читаемость программы.
/* ПРОГРАММА:
pizza.c – пицца (использование директивы # define).
*/
/*#############################################*/
/*============================= include */
#include<stdio.h>
/*============================= define */
#define PI 3,14159
/*============================= main() */
main()
{/*.---------------------------.begin main() */
float radius, circum, area; /* радиус, длина окружности, площадь круга */
printf("Чемy равен радиус вашей пиццы? \n");
scanf("%f", &radius); circum=2*PI*radius; area = PI * radius * radius;
printf(" Основные параметры вашей пиццы следующие: \n");
printf(" длина окружности = %1.2f, площадь =%1.2f \n circum, area);
return 0;
}/*.---------------------------.end main() */
/*#############################################*/
РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ.
Чему равен радиус вашей пиццы?
6.0
Основные параметры вашей пиццы следующие:
длина окружности = 37.70, площадь окружности = 113.40.
ПОЯСНЕНИЯ К ПРОГРАММЕ.
Использование спецификации %1.2f в операторе printf( ) приведет к тому, что при печати результаты будут округлены до двух десятичных цифр.
***************************************************************
Директиву #define можно также использовать для определения символьных и строковых констант. Необходимо использовать знак апостроф в первом случае и кавычки - во втором. Например:
#define ВЕЕР '\007'
#define SYMBOL 'S'
#deline NULL '\0'
#define PHRASE "Ну вот, вы и сделали это!"
Директиву #define можно также использовать при создании заголовочных файлов. Предположим, разрабатывается целый пакет программ, использующих один и тот же набор констант. Можно произвести следующие действия:
1. Соберите все ваши директивы #define в один файл и назовите его, например, const.h.
2. В начало каждого файла, содержащего программу, включите директиву #include "const.h."
При выполнении программы, препроцессор прочтет файл с именем const.h и использует все директивы #define.
Символ .h в конце имени файла означает, что этот файл является "заголовком" (header), т.е. в нем содержится информация, которая должна попасть в начало программы. Самому препроцессору безразлично, используете ли вы символ .h в имени файла или нет.
ПРИМЕЧАНИЕ.
Части программы, заключенные в кавычки, закрыты для подстановок. Операторы, приводимые ниже, служат иллюстрацией такого положения:
#define AS "астрологию"
printf(" Oн глубоко верил в AS.\n");
Распечатка будет выглядеть так:
Oн глубоко верил в AS.
Однако после выполнения оператора
printf(" Он глубоко верил в %s.\n" , AS);
мы получим следующий результат:
Он глубоко верил в астрологию.
В последнем случае константа с именем AS находилась вне кавычек и поэтому была заменена соответствующим значением.