- •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 far setviewport(int left, int top, int right, int bottom, int flag);
Параметры (left, top) и (right, bottom) задают положение и размер окна в абсолютных координатах экрана. Параметр flag устанавливает режим выхода за границу окна. Если flag = 0, то выход за границы окна разрешен, если flag 0, то происходит автоматическое прерывание выдачи информации при выходе за границу окна. Внутри окна можно работать так же как внутри экрана, то есть координаты левого верхнего угла равны (0, 0), а размеры окна определяются: x = right — left, y = bottom — top.
Функция clearviewport() очищает активное окно.
Функция circle() имеет прототип:
Void far circle(int X, int y, int radius);
она рисует окружность радиусом radius с центром в точке с координатами (x, y).
Функция restorecrtmode() осуществляет переход из графического режима в символьный.
Для вывода текстовой информации можно воспользоваться функцией outtextxy(x,y,”График функции x = f(y)”), которая выводит заданную строку символов с позиции (x, y).
7.4 Функции для работы со строками
Для работы со строками в языке С предусмотрен набор библиотечных функций. Он размещен в заголовочном файле <string.h>. Рассмотрим некоторые функции (прототипы приведены в табл. А.7):
Копирования одной строки в другую — strcpy(), пример 7.10:
// Пример 7.10.
// Копирование символьных строк, функция strcpy()
#include <stdio.h>
#include <string.h>
Void main (void)
{
char str1[ ] = "Начала программирования на языке С";
char str2[80];
strcpy(str2,str1);
printf("Название курса \"%s\" \n",str2);
}
В str2 копируется строка, адрес которой содержится в str1.
Связывания двух строк — strcat(), пример 7.11:
// Пример 7.11.
// Связывание двух строк, функция strcat()
#include <stdio.h>
#include <string.h>
Void main (void)
{
char *str1 = "Желаю Вам" ;
char *str2 = " счастья";
strcat(str1,str2);
printf("%s \n",str1);
}
Функция копирует maxlen символов строки str2 в конец строки str1 и затем добавляет нулевой байт. Максимальная длина результирующей строки равна strlen(str1) + maxlen.
Определения длины строки — strlen(), пример 7.12:
// Пример 7.12.
// Использование функции strlen()
#include <stdio.h>
#include <string.h>
Void main (void)
{
char str[ ] = "Библиотечные функции";
printf("Строка \"%s\" содержит %d символов\n",str,strlen(str));
}
strlen(str) — вычисляет длину строки str, не считая нулевой байт.
4. Сравнения двух строк — strcmp(), stricmp():
strcmp(str1, str2) — сравнивает строку str1 со строкой str2 по лексикографическому написанию и возвращает следующие значения:
< 0, если str1 < str2;
= 0, если str1 = str2;
> 0, если str1 > str2.
Функция stricmp(str1, str2) сравнивает строки, игнорируя прописные и строчные буквы. На сравнении двух строк построена программа сортировки методом выбора списка фамилий в порядке алфавита:
// Пример 7.13.
//Программа сортировки строк методом выбора
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define MAXSIZE 10
void selection_sort(char *spisok[], int size)
{
char *temp;
int i,j,flag;
for(i=0; i<size; i++)
for(j=i+1; j<size; j++)
{
flag=strcmp(spisok[i],spisok[j]);
printf(" флаг равен %d\n",flag);
if (flag>0)
{
temp=spisok[i];
spisok[i]=spisok[j];
spisok[j]=temp;
}
}
}
void main (void)
{
int i;
char *spisok[MAXSIZE]={"Сидоров","Петров","Иванов",
"Алексеев","Карпеев","Другов",
"Болдин","Володин","Матвеев",
"Зверев"};
clrscr();
selection_sort(spisok,MAXSIZE);
for (i=0; i<MAXSIZE; i++) printf("%s\n ",spisok[i]);
getch();
}
5. Замены — strset(), пример 7.14:
// Пример 7.14.
// Функция замены strset()
#include <string.h>
#include <stdio.h>
void main (void)
{
char *string ="+++++++++++++++++++++";
char ch = '-';
strset(string,ch);
printf("%s\n",string);
}
С помощью функции strset(string,ch); — произойдет замена всех символов в строке на указанный символ.
6. Поиска первого и последнего появления указанного символа в строке символов — strchr() и strrchr(), пример 7.15:
// Пример 7.15.
// Нахождение первого и последнего появления
// символа в строке, функции strchr(), strrchr()
#include <stdio.h>
#include <string.h>