- •Предисловие
- •Алфавит языка
- •Служебные слова
- •Константы
- •Комментарии
- •Переменные
- •Int I,j,k; //переменные I, j, k – целого типа
- •Математические функции
- •Выражения
- •Выражения целого типа
- •Примеры записи выражений целого типа:
- •Примеры вычислений выражений целого типа:
- •Выражения вещественного типа
- •Примеры записи выражений вещественного типа
- •Примеры вычислений выражений вещественного типа:
- •Операторы присваивания
- •Примеры записи операторов присваивания:
- •Ввод и вывод данных
- •Стандартный ввод-вывод
- •Посимвольный ввод-вывод
- •Ввод-вывод строк
- •Форматированный вывод
- •Форматированный ввод
- •Scanf(“формат”, аргументы);
- •Int age, rost;
- •Vasja Pupkin
- •Vasja Pupkin
- •Структура программы
- •Void main()
- •Int main()
- •Int age, rost;
- •Директивы препроцессора
- •Включение файлов
- •Int main()
- •Int age, rost;
- •Int main()
- •Int age, rost;
- •Подстановка имен
- •Макросы
- •Структуры данных
- •Массивы
- •Int vect[5];
- •Int vect[count];
- •Vect[0] vect[1] vect[2] vect[3] vect[4]
- •Int main()
- •Int temp;
- •Int matr[row][col];
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Пример записи алгоритма:
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •If (условие)
- •Вариант 2 – с использованием операции конъюнкции
- •Int main()
- •Int c, y1, y2, kl, day, month, year;
- •Часто встречающиеся ошибки программирования:
- •Int main()
- •Переключатель
- •Int main()
- •Int month;
- •Часто встречающиеся ошибки программирования:
- •Бесконечные циклы
- •Циклы с предусловием
- •Int main()
- •Программа
- •Int main()
- •Программа
- •Int main()
- •Часто встречающиеся ошибки программирования:
- •Циклы с постусловием
- •Int main()
- •Int main()
- •Программа
- •Int main()
- •Int main()
- •Int main()
- •Int month;
- •Циклы с параметром
- •Действия цикла:
- •Int main()
- •Int top, bottom;
- •Int main()
- •Int num, sum, factor;
- •Int main()
- •Int main()
- •If (number % 3)
- •Int main()
- •Int main()
- •Int I, m, vector_min, vector_max, temp;
- •Int vector[n];
- •Int main()
- •Int vector_min, vector_max, temp;
- •Int vector[n];
- •Функции
- •Int summa(int a, int b)
- •Int summa(int a, int b)
- •Void swap(int a, int b)
- •Int temp;
- •Int top, bottom, temp;
- •Рекурсия
- •5 * 4 * Factorial(3)
- •5 * 4 * 3 * Factorial(2)
- •5 * 4 * 3 * 2 * Factorial(1)
- •Void quick_sort(int left, int right, int vector[])
- •Int I, last;
- •Void swap(int I, int j, int vector[])
- •Int temp;
- •Особенности рекурсии:
- •Адреса и указатели
- •Операции над указателями
- •Указатели и массивы
- •Int mass[5];
- •Int trio[5][2][3];
- •Указатели и функции
- •Int main()
- •Указатели и строки
- •Функции для работы со строками
- •Vtorokursnik
- •Vtorokursnik
- •Itoa(I, str, 16);
- •Текстовые файлы
- •Int vector[k];
- •Vector_1:
- •Vector_2:
- •Int ocenka;
- •Imja: Vasilij
- •Imja: Ivan
- •Int ocenka;
- •Бинарные файлы
Int main()
{
const floor eps_0 = 0.001;
int k = 0;
float x, y, s;
printf(“\nx =”);
scanf(“%f”, &x);
y = 1.0;
s = y;
do
{
k++;
y *= x / k;
s += y;
}
while (fabs(y)>eps_0);
printf(“\nСумма = %5.3f”, s);
return 0;
}
Циклы с постусловием обычно используются в фильтрах входных данных – исходные данные вводятся до тех пор, пока они не будут корректными, а некорректные исходные данные отвергаются.
Пример: по введенному месяцу года определить количество дней в нем.
Программа: Схема фильтра (month – номер месяца)
#include <stdio.h>
#include <conio.h>
#include <math.h>
Int main()
{
Int month;
do
{
printf(“\nВведите номер месяца: ”);
scanf(“%d”, &month);
}
while ((month < 1) || (month > 12));
switch (month)
{
case 1: case 3: case 5:
case 7: case 8: case 10:
case 12: printf(“\n31 день”);
break;
case 4: case 6: case 9:
case 11: printf(“\n30 дней”);
break;
case 2: printf(“\n28 дней”);
break;
default: printf(“\nТакого месяца нет\n”);
}
return 0;
}
Циклы с пред- и постусловиями используются тогда, когда заранее неизвестно количество их повторений (итераций). Если количество итераций известно заранее, то используются циклы с параметром.
Циклы с параметром
Управление работой циклов с параметром осуществляется не только условием, но и значением специальной переменной – параметра цикла (счетчика).
Циклы этого типа получили наиболее широкое распространение в алгоритмических языках.
Схему цикла с параметром можно представить в следующем виде:
где x – параметр цикла – любая переменная,
x_нач – его начальное значение,
x_кон – его конечное значение,
x_шаг – шаг его изменения (не только целое число).
В Си циклы с параметром реализуются оператором цикла:
for (инициализация; условие; изменение)
{
оператор;
оператор;
оператор;
. . .
оператор;
}
где инициализация – устанавливает начальное значение параметра цикла,
условие – определяет условие выполнения цикла,
изменение – задает изменение параметра цикла после каждой итерации.
Действия цикла:
параметру цикла x присваивается его начальное значение x_нач,
проверяется условие выполнения цикла; если оно истинно (не равно нулю), то выполняется тело цикла,
параметр цикла автоматически увеличивается на шаг, и цикл повторяется до тех пор, пока условие не становится ложным (равным нулю),
если условие не выполняется, то цикл заканчивает работу,
из цикла можно выйти досрочно, используя оператор break.
Внимание! Все три составляющие в круглых скобках разделяются точками с запятой. После круглых скобок точка с запятой не ставится.
Пример: определить сумму s натуральных чисел от 1 до 100.
Схема алгоритма:
Программа:
#include <stdio.h>
#include <conio.h>
#include <math.h>