
- •1 Порядок разработки программного продукта
- •2 Структура программы на языке с
- •Int age; // Поле age
- •Void main(void) // Основная функция
- •3 Типы данных языка с
- •Void main(void)
- •Int *iptr; // Объявление указателя
- •Void main(void)
- •Int *iptr; // Объявление указателя
- •Void main(void)
- •Void show_string(char *string)
- •Void main(void)
- •4 Операции языка с
- •Арифметические операции
- •Void main(void)
- •Void main(void)
- •Логические операции
- •Void main(void)
- •Операции отношения
- •Поразрядные операции
- •Побитовые операции
- •Void main(void)
- •Адресные операции
- •Операция “условие”
- •Void main(void)
- •Операция sizeof()
- •Void main(void)
- •Int size;
- •Void main(void)
- •Int *iptr;
- •Void main(void)
- •Int *list,I;
- •Операция вызова функции
- •5 Операторы языка с
- •Условный оператор if
- •Оператор switch
- •Void main(void)
- •Void main(void)
- •Оператор цикла for
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Цикл while
- •Void main(void)
- •Цикл do ... While
- •Void main(void)
- •Вложенные циклы
- •Void main(void)
- •Void main(void)
- •Int I,j,score;
- •Int scores[line][column];
- •Оператор безусловного перехода
- •Оператор break
- •Void main(void)
- •Оператор continue
- •Void main(void)
- •If (I % 5) continue;
- •Оператор return
- •6 Организация функций
- •Int sum_vect(int V[], int n)
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •7 Библиотечные функции
- •7.1 Функции форматного ввода-вывода
- •Int printf(char*format[, argument,...]);
- •Void main(void)
- •Void main(void)
- •Int scanf(char *format[,argument,...]);
- •Функции для работы с файлами
- •Void main(void)
- •Int vect[line];
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •7.3 Графические средства языка с
- •Void main(void)
- •Initgraph(&gdriver, &gmode, ""); // Инициализация графического режима
- •Int maxX, maxY;
- •Void far initgraph(int far *driver, int far *mode, char far *path);
- •Void main(void)
- •Int driver, mode, errorcode;
- •Void far rectangle(int left, int top, int right, int bottom);
- •Void far setviewport(int left, int top, int right, int bottom, int flag);
- •Void far circle(int X, int y, int radius);
- •7.4 Функции для работы со строками
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •7.5 Математические функции
- •Продолжение таблицы а.7
- •Продолжение таблицы а.7
4 Операции языка с
Выражение в языке С состоит из операндов и операций, например: C=A+B; A, B, C — операнды; + и = — это операции (сложения и присваивания).
Операции — это действия над данными. Знак операции — это символ или комбинация символов, которые сообщают компилятору о необходимости произвести определенные арифметические , логические или другие действия.
Операции бывают:
унарные, состоящие из одного операнда: A++; -- b;
бинарные, состоящие из двух операндов: A - B;
тернарные — три операнда: (a>b)? a:b; .
Операции можно объединить по группам.
Арифметические операции
Арифметические операции располагаются следующим образом в порядке приоритета:
++ — увеличение на единицу (increment);
-- — уменьшение на единицу (decrement );
* — умножение;
/ — деление;
% — деление по модулю (нахождение дробной части при делении двух чисел;
+ — сложение;
- — вычитание.
Операции сложения, вычитания, умножения и деления действуют так же, как и в большинстве других алгоритмических языков.
//Пример 4.1.
// Арифметические операции +, -, ++, --
#include <stdio.h>
Void main(void)
{
int z,b,sum;
char *format;
format = " z = %d b = %d sum = %d \n";
z = b = 5;
sum = z + b; printf(format,z,b,sum);
sum = z++ + b; printf(format,z,b,sum);
sum = ++z + b; printf(format,z,b,sum);
sum = --z + b; printf(format,z,b,sum);
sum = z-- + b; printf(format,z,b,sum);
sum = z + b; printf(format,z,b,sum);
}
В примере 4.1 показан порядок выполнения операций присвоения, сложения, increment и decrement. Операция присвоения z=b=5; выполняется справа налево; в операторе sum = z++ + b; вначале производится сложение, затем увеличение z на единицу (increment); в операторе sum = ++z + b; первой выполняется операция increment, а затем сложение. Наивысший приоритет имеют операции ( ) и [ ].
//Пример 4.2.
// Операции деления и нахождения остатка от деления
// Преобразование типов
#include <stdio.h>
Void main(void)
{
int x,y;
float ratio;
printf("Введите делимое и делитель x y ");
scanf("%d %d",&x,&y);
printf("Целая часть равна %d \n",x/y);
printf("Остаток от деления равен %d\n",x%y);
ratio=x/y;
printf("Результат от деления переменных типа int - целое число %3.2f\n",
ratio);
ratio=(float)x/(float)y;
printf("Результатом деления переменных типа float является вещественное число %3.2f\n",ratio);
}
Возможна более короткая запись операций:
c = c + b; a = a — d; g = g * 3; x = y / 2; z = z % v;
c + = b; a — =d; g * = 3; x / = 2; z % = v; .
Операция деления “/” имеет следующую особенность: если операнды имеют один тип, то результат имеет тот же тип (пример ).
Поскольку операнды имеют тип int, то при делении дробная часть отбрасывается. Для того, чтобы этого не происходило, необходимо либо правильно определять тип переменных, либо делать преобразование типов (варианты приведены в примере ).
Логические операции
&& — и (AND);
|| — или (OR);
! — не (NOT).
В качестве примера операции && можно рассмотреть задачу попадания точки M(x,y) в прямоугольник с координатами (a,b) и центром в начале координат:
//Пример 4.3.
//Логические операции и операции отношения
#include <stdio.h>