- •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
Void main(void)
{
float a,b,x,y;
printf("Задать стороны прямоугольника a b :");
scanf("%f %f", &a, &b);
printf("Задать координаты точки x y :");
scanf("%f %f", &x, &y);
if ((-a/2 <= x && x <= a/2) && (-b/2 <= y && y <= b/2))
printf("Точка попадает в прямоугольник \n");
else printf("Точка не попадает в прямоугольник \n");
}
Операции отношения
< — меньше;
<= — меньше или равно;
> — больше;
>= — больше или равно;
== — равно;
!= — не равно.
Операции отношения показаны в примере 4.3. Их используют для сравнения в условных выражениях, например: (a>0), (‘a’==’A’), (‘a’!=’A’), (!x) и т.д. Если условие выполняется, то результатом выражения является “истина”, иначе — “ложь”.
Поразрядные операции
<< — сдвиг влево;
>> — сдвиг вправо.
Побитовые операции
& — и (AND);
| — или (OR);
^ — исключающее или (XOR);
~ — отрицание (NOT);
— — изменение знака.
Для того, чтобы разобраться, как работают побитовые и поразрядные операции, надо выполнить пример 4.4 . Наибольшую сложность может вызвать побитовая операция “—“ — изменение знака. Она производится за два шага: вначале число инвертируется , а затем к нему добавляется единица.
//Пример 4.4.
// Поразрядные и побитовые операции
#include <stdio.h>
Void main(void)
{
int a,b,c;
char *format1,*format2;
format1 = " %04X %s %04X = %04X \n";
format2 = " %c%04X = %04X \n";
a = 0x0FF0; b = 0xFF00; printf(format2,'=',a,b);
c = a << 4; printf(format1,a,"<<",4,c);
c = a >> 4; printf(format1,a,">>",4,c);
c = a & b; printf(format1,a,"& ",b,c);
c = a | b; printf(format1,a,"| ",b,c);
c = a ^ b; printf(format1,a,"^ ",b,c);
c = ~a; printf(format2,'~',a,c);
c = - a; printf(format2,'-',a,c);
}
Адресные операции
Адресные операции чаще всего используются для работы с указателями (подробнее см. разделы “Указатели” и “Функции форматного ввода — вывода”).
Операция “условие”
Операция “условие” — это единственная операция языка С, имеющая три операнда. Форма ее записи следующая:
(выражение 1) ? (выражение 2) : (выражение 3); .
Порядок выполнения таков: вначале вычисляется выражение 1 (это может быть любая операция); если результатом его является число, не равное нулю, что равносильно “истине”, то вычисляется выражение 2 и результатом операции “условие” будет значение выражения 2; если значение выражения 1 равно нулю (“ложь”), то вычисляется выражение 3 и его значение будет результатом операции, то есть в любом случае вычисляется одно из двух выражений: (выражение 1) или (выражение 2). Варианты использования операции “условие” показаны в примере 4.5.
//Пример 4.5.
//Операция - условие (b1)? b2:b3;
#include <stdio.h>
Void main(void)
{
int a,b,max,min,abs;
float ratio;
printf("Введите два целых числа ");
scanf("%d %d",&a,&b);
min=(a<b)? a : b;
printf("Минимальное число равно %d\n",min);
max=(a>b)? a : b;
printf("Максимальное число равно %d\n",max);
(b)? printf("Отношение a к b равно %5.2f\n",float(a)/float(b))
:printf("Деление на нуль невозможно\n");
a=-b;
abs=(a>0)? a : -a;
printf("Абсолютное значение равно %d\n",abs);
}
В примере 4.5 можно ввести макрос
#define MIN(x,y) (((x) > (y))? (x) : (y)) или
#define MAX(x,y) (((x) < (y))? (x) : (y))