- •1. Обобщенная схема компьютера.
- •2. Понятие информации и алгоритма. Формы представления алгоритма.
- •3. Блок-схемы разветвляющихся алгоритмов.
- •4. Блок-схемы циклических алгоритмов.
- •6. Операция присваивания. Особенности выполнения.
- •Int I, j; float X, y;
- •8. Потоковый ввод-вывод
- •9. Форматированный ввод-вывод.
- •10. Использование манипуляторов при вводе выводе данных.
- •11. Строковый и символьный ввод-вывод информации.
- •Int letter;
- •12. Условные операторы. Условия операции “?:”. Примеры использования. Условный оператор if
- •13. Особенности синтаксиса и выполнения операторов перехода continue, break
- •Void main()
- •14. Оператор перехода goto. Оператор return.
- •15. Переключатель switch. Примеры использования.
- •16. Организация циклов с помощью while, do while. Примеры.
- •17. Организация циклов с помощью for. Примеры.
- •Void main()
- •18. Простанство имён. Ключевое слово using как директива.
- •19. Средства отладки программ в ms vs.
- •19. Выполнение приложения с использованием средств интерактивной отладки.
- •20. Выполнение приложения с использование средств планируемой отладки
- •21. Создание исполняемого файла.
- •26. Побитовые логические операции (конъюнкция &, дизъюнкция |, сдвиги, инвертирование).
- •Void main()
- •27. Символы, строки (примеры объявления инициализация).
- •28. Алгоритмы работы со строками (подсчет длины строки, объединение строк, удаление заданного символа).
- •Void main()
- •Void main()
- •29. Стандартные функции работы со строками. Примеры использования.
- •Void main()
- •Int result;
- •Void main()
- •30. Логические переменные и примеры их использования в программах.
- •Логические операции
- •31. Понятие указателя. Операции над указателями.
- •32. Одномерные массивы и указатели. Понятие индекса. Инициализация. Доступ к компонентам.
- •33. Указатели и строки. Примеры (объединения строк, поиск заданного символа).
- •34. Матрицы. Инициализация, ввод, вывод.
- •35. Связь между указателями и элементами матриц. Поиск минимума и суммы элементов матрицы через указатели.
- •36. Указатели на указатели. Примеры использования.
- •37. Функция работы с динамическими массивами на языке с.
- •39. Объявление и определение функции пользователя.
- •Int main(void)
- •43. Указатели как формальные параметры и как результат функции.
- •Int main()
- •Void swap(int *X, int *y)
- •Void func1(int val, int& ref)
- •Void main()
- •Void main()
- •Int& preinc(int& X)
- •Void main(void)
- •Void main( )
32. Одномерные массивы и указатели. Понятие индекса. Инициализация. Доступ к компонентам.
Имя массива (напр., А) без индекса является указателем-константой (не изменяется на протяжении всей работы программы), т. е. адресом первого элемента массива (А[0]).
*(A + i), *(A + i + 1);
int a[5] = {1, 2, 3, 4, 5};
int *ptr = a;
int a2 = *(ptr+2);
Смысл следующих выражений int *p;
*p // Значение указуемой переменной
p + i // Указатель на i-ю переменную после указуемой
p i // Указатель на i-ю переменную перед указуемой
*(p+i) // Значение i-й переменной после указуемой
p[i] // Значение i-й переменной после указуемой
p++ // Установить указатель на переменную, следующую за указуемой
p-- // Установить указатель на переменную, предшествующую указуемой
p += i // Переместить указатель на i переменных вперед относительно указуемой
p -= i // Переместить указатель на i переменных назад относительно указуемой
*p++ // Получить значение указуемой переменной и установить указатель на следующую
*(--p) // Переместить указатель к переменной, предшествующей указуемой, и получить ее значение.
Устраняется необходимость в индексах массива. Индекс- число, характерезющее размерность массива
Цикл, в котором генерируется и выводится массив A (числа от 0 до 99), можно реализовать тремя способами.
-
for ( i = 0; i < sz; i++)
A[i] = rand() % 99;
for ( i = 0; i < sz; i++)
*(A + i) = rand() % 99;
int *pk;
for ( pk = A; pk < A + sz; pk++)
*pk = rand() % 99;
33. Указатели и строки. Примеры (объединения строк, поиск заданного символа).
Доступ к строке осуществляется при помощи указателя типа char*.
char M[ ] = "Текст1"; char *pm = "Текст1";
Основное отличие состоит в том, что указатель M является указателем-константой, в то время как указатель pm - переменная.
Объеденение:
char* concat(char *s1, char *s2)
{
char *result = malloc(strlen(s1)+strlen(s2)+1);//+1 нужен для нуль-терминатора строки.
strcpy(result, s1);
strcat(result, s2);
return result;
}
Поиск символа:
34. Матрицы. Инициализация, ввод, вывод.
Многомерные массивы в C++ рассматриваются как массивы, элементами которых являются массивы.
Сначала инициализируются элементы с первым индексом, затем со вторым и т.д.
int A[3][3] = { { 1, 2, 3}, { 4, 5, 6},{ 7, 8, 9 }};
1 2 3
А = 4 5 6
7 8 9
Инициализация первых элементов строк int B[4][3] = { { 1}, { 2}, { 3}, { 4} };
1 0 0
В = 2 0 0 (если В – глобальный массив)
3 0 0
4 0 0
Остальные элементы массива получают начальные значения в соответствии со статусом массива (в глобальном массиве значения остальных элементов равны 0, в локальном массиве элементам присваиваются неопределённые значения).
Инициализация нулями всех значений массива:
long С[2][3] = { 0 };
Инициализация:
Сначала инициализируются элементы с первым индексом, затем со вторым и т.д.
int A[3][3] = { { 1, 2, 3},
{ 4, 5, 6},
{ 7, 8, 9 }
};
1 2 3
А = 4 5 6
7 8 9
Ввод и вывод: