![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Упражнения. 1. Напишите один оператор if, который проверяет две целочисленные переменные и присваивает переменной с большим значением меньшее значение
1. Напишите один оператор if, который проверяет две целочисленные переменные и присваивает переменной с большим значением меньшее значение, используя только один дополнительный оператор else. if (x > у) x = у; else // у > x || у == x У = x; 2. Проанализируйте следующую программу. Представьте, что вы ввели три значения. Какой результат вы ожидаете получить? 1: #include < iostream.h> 2: int main() 3: { 4: int а, Ь, с; 5: cout < < " Please enter three numbers\n"; 6: cout < < " а: "; 7: cin > > а; 8: cout < < " \nb: "; 9: cin > > b; 10: cout < < " \nc: "; 11: cin > > с; 12: 13: if (с = (a-b)) 14: { cout < < " а: "; 15: cout < < а; 16: cout < < " minus b: "; 17: cout < < b; 18: cout < < " equals с: "; 19: cout < < с < < endl; > 20: else 21: cout < < " a-b does not equal с: " < < endl; 22: return 0; 23: } 3. Введите программу из упражнения 2; скомпилируйте, скомпонуйте и выполните ее. Введите числа 20, 10 и 50. Вы получали результат, который и ожидали? Почему нет? Введите числа 20, 10, 50. А вот результат: а: 20 minus b: 10 equals с: 10 Неожиданный результат? Дело в том, что в строке 13 выполняется присваивание, а не проверка равенства. 4. Проанализируйте эту программу и спрогнозируйте результат: 1: #include< iostream.h> 2: int main() 3: { 4: int а = 1, b = 1, с; 5: if (с = (a-b)) 6: cout < < " The value of c is: " < < c; 7: return 0; 8: } 5. Введите, скомпилируйте, скомпонуйте и выполните программу из упражнения 4. Каков был результат? Почему? 6. Поскольку в строке 5 переменной с присваивается значение а - b, то значение присваивания выражения а (1) минус b (1) равно 0. Поскольку 0 означает false (ложь), то выходит, что условие проверки не выполняется и поэтому ничего не выводится. Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
День 5
Контрольные вопросы
1. В чем разница между объявлением прототипа функции и определением функции? В прототип функции объявляются список формальных параметров и тип возврата функции, а выполнение функции задается ее определением. Символ точки с запятой завершает прототип функции, но не ее определение. Объявление может включать ключевое слово inline и установки значений параметров по умолчанию. В объявлении функции достаточно указать типы параметров, а определение должно содержать их имена. 2. Должны ли имена параметров, указанные в прототипе, определении и вызове функции соответствовать друг другу? Нет. Все параметры идентифицируются позицией, а не по имени. 3. Если функция не возвращает значение, как следует объявить такую функцию? Для возврата функции следует установить тип void. 4. Если не объявить тип возврата, то какой тип будет принят по умолчанию для возвращаемого значения? Любая функция, в которой явно не объявляется тип возвращаемого значения, возвращает значение типа int. 5. Что такое локальная переменная? Это переменная, передаваемая или объявленная внутри некоторого блока (обычно функции). Она видима только в пределах этого блока. 6. Что такое область видимости? Область видимости определяет " продолжительность жизни" локальных и глобальных переменных и обычно устанавливается набором фигурных скобок. 7. Что такое рекурсия? В общем случае это способность функции вызывать самое себя. 8. Когда следует использовать глобальные переменные? Глобальные переменные обычно используются, когда многим функциям нужен доступ к одним и тем же данным. В C++ глобальные переменные используются очень редко. Как только вы научитесь создавать статические переменные класса, вы практически не будете обращаться к глобальным переменным. 9. Что такое перегрузка функции? Это способность записать несколько функций с одним и тем же именем, но с различным числом или типом параметров. 10. Что такое полиморфизм? Это возможность вызова одноименных методов для объектов разных, но взаимосвязанных типов с учетом различий в выполнении функции для разных типов. В C++ полиморфизм реализуется путем создания производных классов и виртуальных функций.
|