
- •Вопрос 1. История языков программирования от машинного кода до современных языков структурного программирования.
- •Вопрос 3. Понятие о синтаксисе языка программирования. Основные типы данных языка с.
- •Вопрос 14. Цикл с выходом из середины. Привести блок схемы и примеры реализации.
- •Вопрос 15. Итерационные алгоритмы. Привести примеры реализации итерационных алгоритмов в задачах вычисления суммы бесконечного ряда с заданной точностью (нет ничего)
- •Вопрос 21. Область видимости и "время жизни" переменных. Использование статических переменных в функции. Привести примеры.
- •Void Swap ( int &a, int &b ) // ссылки в заголовке
- •2) Массив можно заполнить, вводя элементы массива с клавиатуры:
- •Вопрос 26. Что такое вложенные циклы? Проанализировать работу программы, содержащей вложенные циклы.
- •Int MyArray1 [ 10 ]; // Одномерный массив размерности 10
- •Int MyArray2 [ 20 ][ 10 ]; // 20 одномерных массивов
- •Int MyArray3 [ 30 ][ 20 ][ 10 ]; // 30 двумерных массивов
- •Вопрос 36. Функции сравнения строк. Проиллюстрировать работу функций на примерах
- •Вопрос 37. Функции преобразования числа в цифровую строку и обратно. Проиллюстрировать работу функций на примерах.
- •Int value; //Запись &value означает «адрес объекта value».
- •1) С использованием имени переменной.
- •2) С использованием адреса переменной.
- •Int *ap [15]; // Массив из 15 указателей на int
- •Вопрос 40. Передача массивов в качестве параметров в функцию. Привести пример передачи массива вещественных чисел в функцию, вычисляющую сумму его элементов.
- •Вопрос 41. Статическое и динамическое выделение памяти. Операторы new и delete.
- •Вопрос 44. Привести пример реализации алгоритма обработки и преобразования матриц, используя динамическое выделение памяти и технику работы с указателями.
- •Вопрос 45. Понятие структуры. Описание, инициализация структур. Доступ к полям структур. Примеры использования структур.
- •Вопрос 46. Массивы структур. Привести пример обработки массива структур.
- •Вопрос 47. Передача структур в качестве параметров в функцию. Привести пример функции, обрабатывающей структуру.
- •Передача целых структур функциям
- •Вопрос 48. Указатели на структуру. Использование структур с функциями. Передача структуры в функцию по значению, по ссылке и с использованием техники работы с указателями
- •Объявление указателя на структуру
- •Использование указателей на структуры
Int value; //Запись &value означает «адрес объекта value».
Можно сохранить адрес объекта value следующим образом:
int *p_value = &value; // переменная p_value, имеющая тип
// «указатель на объект типа int» инициализируется адресом
// переменной value.
Теперь указатель p_value может быть использован для доступа к объекту, на который он указывает:
*p_value = 1;
Пример 1:
Выведем значения переменной и ее адреса в памяти
#include "stdafx.h"
#include <iostream>
using namespace std;
int main (void)
{ int *c; int d;
d = 45;
c = &d; // с присваивается адрес переменной d
cout << "\n Адрес : " << с << endl;
cout << "\n 3начение по адресу с: " << *с << endl;
cout << "\n 3начение d: " << d << endl;
return 0;
}
Пример 2:
Изменим значение переменной двумя способами:
1) С использованием имени переменной.
2) С использованием адреса переменной.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main (void)
{ int *c; int d;
c=&d; // с присваивается адрес переменной d
d=105; // первый способ
*с=105; // второй способ
cout << "\n значение переменной через ее имя “ << d << endl;
cout << "\n значение переменной через ее адрес “ << *с;
return 0;
}
Вопрос 39. Указатели и массивы. Методы ссылки на элементы массива. Привести примеры программ с использованием ссылок на языке С/C++.
Имя массива можно рассматривать как указатель на его первый элемент.
int v [ ] = { 1,2,3,4 }; int *p1 = v;
// Указатель на первый элемент
int *p2 = &v[0] // Указатель на первый элемент
int *p3 = &v[4] // Указатель на элемент,
// следующий за последним
В противоположность указателю на массив, определение массива указателей выглядит следующим образом:
Int *ap [15]; // Массив из 15 указателей на int
Пример обнуления элементов массива с использованием индексов и указателей
с использованием индексов:
int arr [ArraySize];
for (int i=0; i < ArraySize; ++i)
arr [i] = 0;
с использованием указателей: int arr [ArraySize];
int *p=arr;
for (int i=0; i < ArraySize; ++i)
*p++ = 0;
Вопрос 40. Передача массивов в качестве параметров в функцию. Привести пример передачи массива вещественных чисел в функцию, вычисляющую сумму его элементов.
Передача массива в функцию Пример 2
#include "stdafx.h"
#include <iostream>
using namespace std;
double Summa (double array[ ])
{ unsigned int n = sizeof (array) / sizeof (double) ;
double s = 0 ;
for ( int i = 0; i < n; ++i ) s += array [ i ] ;
return s;
}
int main (void)
{ double v [10] = { 1, 2, 3, 4, 5, 6 };
cout << Summa (v) << endl;
return 0;
}
Функция, вычисляющая сумму элементов массива вещественных чисел 2 вариант написания кода
#include "stdafx.h"
#include <iostream>
using namespace std;
double Summa (double array[], int n)
{ double s = 0 ;
for ( int i = 0; i < n; ++i ) s += array [ i ] ;
return s;
}
int main (void)
{ double v [10] = { 1, 2, 3, 4, 5, 6 };
cout << Summa (v, 10) << endl; // весь массив
cout << Suirima (v + 2, 8) << endl; // последние 8 эл-тов
cout << Summa (v + 5, 5) << endl; // 5 последних эл-тов return 0;
}