- •Введение
- •Блок-схема алгоритма
- •Общие требования к блок-схеме алгоритма
- •Линейные и разветвляющиеся процессы
- •Циклические процессы
- •Итерационные процессы
- •Основные понятия языка С(С++)
- •Комментарии
- •Типы данных
- •Данные целого типа
- •Данные вещественного типа
- •Модификатор const
- •Переменные перечисляемого типа
- •Константы
- •Структура программы на языке С(С++)
- •Операции и выражения
- •sizeof
- •Операция присваивания
- •Арифметические операции
- •Операции поразрядной арифметики
- •Логические операции
- •Операции отношения
- •Инкрементные и декрементные операции
- •Операция sizeof
- •Порядок выполнения операций
- •Приоритет операций
- •Преобразование типов
- •Операция приведения
- •Операция запятая
- •Ввод и вывод информации
- •Директивы препроцессора
- •Директива #include
- •Директива #define
- •Операторы языка С(С++)
- •Понятие пустого и составного операторов
- •Операторы организации цикла
- •Оператор цикла for
- •Оператор цикла while
- •Оператор цикла do … while
- •Вложенные циклы
- •Примеры программ
- •Массивы
- •Одномерные массивы
- •Примеры программ
- •Многомерные массивы (матрицы)
- •Примеры программ
- •Указатели
- •Понятие указателя
- •Описание указателей
- •Операции с указателями
- •Связь между указателями и массивами
- •Массивы указателей
- •Многоуровневые указатели
- •Примеры программ
- •Символьные строки
- •Ввод/вывод строк.
- •Функции работы со строками.
- •Примеры программ
- •Функции
- •Прототип функции.
- •Определение функции.
- •Параметры функции
- •Передача массива в функцию
- •inline функции
- •Класс памяти
- •Автоматические переменные
- •Статические переменные
- •Регистровые переменные
- •Блочная структура
- •Примеры программ
- •Указатели на функции
- •Примеры программ
- •Рекурсия
- •Примеры программ
- •Аргументы в командной строке
- •Функции с переменным числом параметров
- •Вершина стека
- •Примеры программ
- •Сортировка
- •Пузырьковая сортировка.
- •Шейкер сортировка
- •Сортировка вставкой
- •Сортировка выбором
- •Метод Шелла
- •Метод Хора
- •Структуры
- •Указатели на структуры.
- •Структуры и функции
- •Примеры программ
- •Поля бит
- •Объединения
- •Переменные с изменяемой структурой
- •Организация списков и их обработка
- •Операции со списками при связном хранении
- •Стек
- •Построение обратной польской записи
- •Односвязный линейный список, очередь
- •Двусвязный линейный список
- •Циклический список, кольцо
- •Двусвязный циклический список
- •Примеры программ
- •Деревья
- •Файлы
- •Примеры программ
- •Литература
Аргументы в командной строке
В операционной среде имеется возможность передавать аргументы запускаемой программе посредством командной строки. Аргументы командной строки – это информация, следующая за именем программы в командной строке операционной системы. Borland C++ поддерживает три аргумента функции main(). Первые два из них обычно обозначаются argc и argv. В параметре argc содержится количество передаваемых в командной строке аргументов. Значение argc не может быть меньше 1, так как имя программы рассматривается как первый аргумент. Второй параметр - argv[], является указателем на массив символьных строк (указателей). Каждый элемент данного массива указывает на аргумент командной строки. Аргументы командной строки должны отделяться пробелами или табуляцией. Запятые, точки и прочие символы не рассматриваются как разделители. Например:
C:\> fun.exe 3 aaa bbbb ccc – argc=3 и argv[] – указывает на три строки; C:\> fun.exe 3 aaa,bbbb,ccc – argc=3 а argv[] – указывает на одну строку;
Если необходимо в качестве аргумента передать строку, содержащую пробелы и табуляции, то ее следует заключить в двойные кавычки. Например:
”ааа вввв ссссс”
Объявление char *argv[] указывает на то, что массив argv не имеет фиксированной длины. По соглашению argv[0] есть имя вызываемой таким образом программы. Если argc=1, то в командной строке после имени программы нет никаких аргументов. Если в командной строке не указаны аргументы, то это приводит к ошибке. Использование второго индекса в argv позволяет осуществить доступ к отдельным символам командной строки. Например:
# include<stdio.h>
void main(int argc, char *argv[])
{int i,j; for(i=0;i<argc;i++) { j=0;
while(argv[i][j]) printf(“%c”,argv[i][j++]); printf(” ”);
}
}
Эта программа выводит по одному символу все аргументы, с которыми она вызывалась.
Помимо argc и argv, в Borland C++ имеется третий аргумент – env. Этот параметр позволяет программе получить доступ к информации о среде операционной системы и следует за argc и argv. Как и argv, env является указателем на массив строк, где каждая строка – это строка среды, определенная операционной системой. Параметр env не имеет аналога параметра argc сообщающего о количестве строк среды. Для этого используется нулевая последняя строка среды. Например:
# include<stdio.h>