- •Введение
- •Достоинства и недостатки языка c
- •Типы данных в с
- •Модификаторы
- •Константы
- •Арифметические операции
- •Логические операции
- •Оператор присваивания
- •Организация множественных выражений
- •Комбинированные операции
- •Локальные и глобальные объекты
- •Модификатор extern
- •Статические и динамические объекты
- •Регистровые переменные
- •Описание неизменяемых объектов
- •Указатели
- •Явное преобразование типа
- •Оператор if
- •Операторы циклов Оператор while
- •Оператор do ... While
- •Оператор for
- •Оператор switch (переключатель)
- •Операторы передачи управления
- •Прототипы функций
- •Передача данных в функцию
- •Структуры и определения типов пользователя
- •Битовые поля
- •Объединения
- •Псевдофункция sizeof
- •Основные директивы препроцессора
- •Основные директивы условной компиляции
- •Дополнительные данные по Turbo-c
- •Организация памяти на машинах класса pc. Виды указателей
- •Работа с указателями на функцию
- •Основные регистры общего назначения процессора
- •Модели памяти
- •Использование стека
- •Организация прерываний в программе. Модификатор volatile
- •Порядок передачи данных в функцию. Модификатор pascal
- •Передача данных в программу. Функция main
- •Разбор типовых ошибок и недочетов при программировании
- •Некоторые функции библиотеки Turbo-c
- •Функции работы с оперативной памятью эвм
- •Функции работы с клавиатурой
- •Работа с дисплеем в символьном режиме
- •Работа с дисплеем в графическом режиме
- •Функции работы с дисками
- •Функции работы с временными интервалами и звуком
- •Функции преобразования данных
- •Функции работы со строками
- •Математические функции
- •Функции работы с файлами и каталогами
- •Функции работы со временем и датой
- •Функции процессов
- •Функции работы с портами машины
- •Интерфейс с дос
- •Задачи на практические занятия
- •Литература
- •Оглавление
Оператор if
Общая форма записи:
if (выражение) <оператор 1 или группа операторов 1>
else <оператор 2 или группа операторов 2>
Если значение выражения истинно, то выполняется 1, в противном случае выполняется 2.
Часть else <оператор 2 или группа операторов 2> не является обязательной, то есть допустима следующая запись оператора if:
if (выражение) <оператор 1 или группа операторов 1>
Если используются вложенные операторы if, то конструкция else относится к ближайшему по тексту вверх оператору if.
Пример: ввод целого числа и определение, больше, меньше или равно нулю.
main()
{
int i;
/* ввод значения i */
printf("\nВведите целое число: ");
scanf("%d",&i);
/* печать начальной шапки сообщения */
printf("\nВведенное число %d ",i);
/* определение и вывод сообщений */
if (i<0) printf("<0");
else
if (i>0) printf(">0");
else printf("=0");
}
Операторы циклов Оператор while
Общая форма записи:
while (выражение) <оператор или группа операторов>
До тех пор, пока значение выражение истинно, выполняется оператор или группа операторов.
Пример: подсчет числа символов 't' в символьном массиве.
main()
{
char *f="апофгцtsuwnstxjska";
int i,j;
i=0; /* текущий счетчик символов */
j=0; /* счетчик числа символов t */
while (*(f+i)!=0) /* проверка на конец строки */
if (*(f+(i++))=='t') j++; /* если символ t, увеличиваем j на 1-цу */
printf("\nЧисло символов t в строке %s равно %d",f,j);
}
Примечание: если данная программа тяжела для понимания, рекомендуется написание предыдущей программы, например, в виде:
main()
{
char f[]="апофгцtsuwnstxjska";
/* количество элементов массива f можно не описывать, оно равно
числу элементов во введенной строке */
int i,j;
i=0;
j=0;
while (f[i]!=0)
{
if (f[i]=='t') j++;
i++;
}
printf("\nЧисло символов t в строке %s равно %d",f,j);
}
Оператор do ... While
Общая форма записи:
do <оператор или группа операторов> while (выражение);
Этот оператор отличается от оператора while тем, что выражение проверяется после выполнения оператора или группы операторов.
Пример: ввод и печать целых чисел с остановкой после ввода нуля
main()
{
int i;
do
{
scanf("%d",&i);
printf("Введенное число: %d\n",i);
}
while (i!=0);
}
Оператор for
Общая форма записи:
for (выражение 1; выражение 2; выражение 3)
<оператор или группа операторов>
Выражение 1 обычно задает начальное значение переменной цикла. Выражение 2 обычно задает условие продолжения цикла. Выражение 3 обычно задает некоторую модификацию переменной цикла за каждое выполнение цикла.
Пример: вычисление таблицы умножения 4 на N от 1 до 9.
main()
{
int i;
for (i=1; i<10; i++) printf("\n4 * %d = %d",i,i*4);
}
Примечание: в операторе for можно использовать более 3 выражений. Например, оператор for (i=0; j=0; j<10; i++; j+=2) ... задает два начальных значения переменных цикла, а также две модификации переменных цикла. Использовать такие конструкции начинающему программисту на С не рекомендуется. Данную конструкцию можно (и предпочтительно) написать с использованием множественных выражений в числе трех, то есть в данном случае
for (i=0, j=0; j<10; i++, j+=2) ...
Можно использовать также бесконечный цикл for (;;) ...
В качестве примера можно написать оператор, вычисляющий длину строки, находящейся в символьном массиве с именем a. Результат будет находиться в переменной i:
for (i=0; a[i]!=0; i++) ;