- •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 m[LINE] = {5.1, 1.2, 7.5, 3.4, 12.0, 9.2, 6.7, 2.3, 4.5, 10.1};
int i;
float sred=0;
for(i=0; i<LINE; i++) sred+=m[i];
sred/=LINE;
printf("Среднее арифметическое равно %3.1f",sred);
}
// Пример 5.4.
// Найти сумму диагональных элементов матрицы 3х3
#include <stdio.h>
Void main(void)
{
int m[3][3] = {{5, 1, 7}, {3, 12, 9}, {2, 4, 10}};
int i,j,sum;
sum=0;
for(i=0; i<3; i++) sum+=m[i][i];
printf("Сумма диагональных элементов матрицы равна %5d\n",sum);
}
В качестве управляющей переменной не обязательно использовать целочисленный счетчик (см. пример 5.5):
// Пример 5.5.
// Примеры работы циклов for и do...while с символьной переменной
#include <stdio.h>
Void main(void)
{
unsigned char ch;
// Вывод букв латинского алфавита
for (ch='A'; ch<= 'Z'; ch++) printf("%c\n",ch);
do
{
printf("Для выхода нажмите Y ");
scanf("%c",&ch);
} while(ch!='Y');
}
Цикл while
Цикл while используется, когда неизвестно, какое число раз должен выполняться оператор внутри цикла, например, чтение из файла до конца файла.
Основная форма оператора while:
while (условие) оператор;
Это цикл с предусловием и читается так: пока условие “истинно”, выполняй оператор (см. пример 3.7). Оператор может состоять из группы операторов, заключенных в фигурные скобки. Внутри оператора должны находиться выражения, влияющие на условия (см. примеры 5.6 и 5.7):
// Пример 5.6.
// Вычислить 2 в степени k, цикл while
#include <stdio.h>
Void main(void)
{
int i,k;
unsigned x,y;
i=10; // Другой вариант записи
k=1; y=1; x=2; // k=0; y=1; x=2;
while(k<i) // while(++k<i) y*=x;
{
y=y*x;
k++;
printf(" 2 в степени %d равно %5u \n",(k-1),y);
}
}
// Пример 5.7.
//Двоичный поиск в отсортированном массиве
#include <stdio.h>
int binary_search(int array[], int value, int size)
{
int found=0;
int high=size, low=0, mid;
mid=(high+low)/2;
printf("\n Поиск значения %d\n",value);
while((!found) && (high>=low))
{
printf("Индексы: Нижний %d Текущий %d Верхний %d\n",
low,mid,high);
if (value==array[mid]) found=1;
else if (value < array[mid]) high=mid-1;
else low=mid+1;
mid=(high+low)/2;
}
return((found)? Array[mid]: -1);
}
void main(void)
{
int array[100],i;
for(i=0; i< 100; i++) array[i]=i;
printf("Результат поиска %d\n",binary_search(array,33,100));
printf("Результат поиска %d\n",binary_search(array,75,100));
printf("Результат поиска %d\n",binary_search(array,1,100));
printf("Результат поиска %d\n",binary_search(array,1001,100));
}
Цикл do ... While
Основная форма оператора следующая:
do
{
последовательность операторов;
} while (условие);
Это цикл с постусловием, то есть вначале выполняется последовательность операторов, а затем проверяется условие (см. пример 5.5). Какое бы условие не стояло в конце цикла while, последовательность операторов в теле цикла один раз выполняется обязательно. Пример 5.8 “Угадай число” показывает работу цикла do...while:
// Пример 5.8.
// Пример цикла do...while “Угадай число”
#include <stdio.h>
#include <stdlib.h>
#include <time.h>