- •Введение
- •Достоинства и недостатки языка c
- •Типы данных в с
- •Модификаторы
- •Константы
- •Арифметические операции
- •Логические операции
- •Оператор присваивания
- •Организация множественных выражений
- •Комбинированные операции
- •Локальные и глобальные объекты
- •Модификатор extern
- •Статические и динамические объекты
- •Регистровые переменные
- •Описание неизменяемых объектов
- •Указатели
- •Явное преобразование типа
- •Оператор if
- •Операторы циклов Оператор while
- •Оператор do ... While
- •Оператор for
- •Оператор switch (переключатель)
- •Операторы передачи управления
- •Прототипы функций
- •Передача данных в функцию
- •Структуры и определения типов пользователя
- •Битовые поля
- •Объединения
- •Псевдофункция sizeof
- •Основные директивы препроцессора
- •Основные директивы условной компиляции
- •Дополнительные данные по Turbo-c
- •Организация памяти на машинах класса pc. Виды указателей
- •Работа с указателями на функцию
- •Основные регистры общего назначения процессора
- •Модели памяти
- •Использование стека
- •Организация прерываний в программе. Модификатор volatile
- •Порядок передачи данных в функцию. Модификатор pascal
- •Передача данных в программу. Функция main
- •Разбор типовых ошибок и недочетов при программировании
- •Некоторые функции библиотеки Turbo-c
- •Функции работы с оперативной памятью эвм
- •Функции работы с клавиатурой
- •Работа с дисплеем в символьном режиме
- •Работа с дисплеем в графическом режиме
- •Функции работы с дисками
- •Функции работы с временными интервалами и звуком
- •Функции преобразования данных
- •Функции работы со строками
- •Математические функции
- •Функции работы с файлами и каталогами
- •Функции работы со временем и датой
- •Функции процессов
- •Функции работы с портами машины
- •Интерфейс с дос
- •Задачи на практические занятия
- •Литература
- •Оглавление
Достоинства и недостатки языка c
Достоинства:
1. Гибкость языка, позволяющая запрограммировать любую задачу.
2. Возможность написания управляющих программ.
3. Простота конструкций языка.
4. Наличие стандарта на язык (в отличие от такого, например, языка, как Pascal). Это приводит к возможности переносимости программ с машин одного класса на другой.
5. Высокая скорость работы программ, написанных на C, из-за принципов реализации конструкций языка, заложенных разработчиками языка Керниганом и Ричи.
Недостатки:
1. "Вольность" языка программирования (все написанное в программе компилятор с С пытается каким-либо образом интерпретировать), что может вызвать тяжело обнаружимые ошибки начинающему программисту. Этот недостаток учтен при подготовке последней редакции стандарта по С, в результате чего количество потенциальных ошибок при программировании существенно уменьшилось.
Типы данных в с
Все величины в программе, написанной на С, называются объектами. Это могут быть переменные, массивы, структуры и т.д. Обращение к объекту программы идет по имени. Это набор символов, начинающийся с буквы ( или символа _ ) и содержащий не более 32 символов (в которые могут входить буквы, цифры и символ _). Каждой переменной, элементу массива, элементу структуры ставится в соответствие тип.
int - целый тип. Точность объекта данного типа зависит от конкретной машины, на которой вы работаете. На IBM-совместимой машине, например, и типу компилятора Turbo-C, тип int соответствует 16-битовому числу со знаком, т.е. числу, лежащему между -32768 и +32767.
float - с плавающей точкой. На IBM-совместимой машине - это 32-битовое число, имеющее около семи значащих цифр и лежащее в диапазоне примерно от 3.4е-38 до 3.4е+38.
char - символ - один байт. В переменную этого типа записывается код символа в соответствие с таблицей ASCII (American Standard Code for Information Interchange - американский стандартный код для обмена информацией). Вообще-то - это целое число в диапазоне от -128 до 127.
short - короткое целое. Для компилятора Turbo-C этот тип совпадает с типом int.
long - длинное целое (длина вдвое больше типа int).
double - с плавающей точкой с двойной точностью (длина 8 байт). Диапазон чисел примерно от 1.7e-308 до 1.7e308. Точность числа около 17-ти значащих цифр). Все вычисления с плавающей точкой в программе по умолчанию делаются с типом double, поэтому использование при вычислениях типа float не рекомендуется.
enum - тип перечисления (как правило, используется как тип целый, где задаются значения, а все последующие вычисляются с шагом 1 относительно предыдущего).
Примеры описания:
int a;
char ch1,ch2,hdr2d;
float fl4[15]; /* описание 1-мерного массива (набор данных) из15 элементов */
int i5y[4][8],y4,t2;
char t2[5]="Текст"; /*инициализировали элементы массива t2 */
char txt='R';
int i2,i4=17,i6[2]={1,2};
/* присвоение начальных значений элементов массива i6 равных 1 и 2 */
int g6[2][3]={{1,2,3},{4,5,6}};
/* то же для двумерного массива g6 размера 2x3 */
enum day {mon=1, tue, wed, thu, fri, sat, sun=0};
/* дни недели, переменные mon=1; tue=mon+1=2; wed=tue+1=3 */
/* и т.д. day задает имя перечисления, может отсутствовать */
/* если не задано начальное значение, оно считается 0 */
Примечания:
1. Фигурные скобки служат для выделения тела функции, а также для создания группы операторов или набора данных.
2. Апострофы ' используются для задания одного символа (записывается код символа ASCII), например, ‘f’ - это код символа f.
3. В символах " записывается строка символов.
4. Элементы массива располагаются в памяти ЭВМ по строкам.
5. Наименьшее значение индекса элемента массива - 0.
6. Приоритет типов при операциях в порядке возрастания: char, short, int, long, float, double. То есть, если в выражении используются данные разных типов, то данные преобразуются к типу с наивысшим приоритетом, и результат имеет этот тип. Если же в выражении используются данные одного типа, то выражение имеет этот же тип.
7. ; завершает оператор.
8. допустимым является пустой оператор ;
9. запятая , разделяет элементы списка.
10. В символах /* */ располагается комментарий. Он может занимать любое количество строк.
11. Форма записи операторов в С свободная. Количество пробелов и пустых строк между ключевыми словами и идентификаторами может быть любым. Пробелы внутри ключевых слов или идентификаторов недопустимы.
12. Описание объекта должно быть сделано до момента его использования. Обычно описания объектов делаются в начале тела функций или вне тела функций.