Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Циклы, ввод-вывод, операции ветвления и логические выражения.




1. Что напечатает следующий фрагмент кода, если использовать его в программе?

int i;

for (i = 0; i < 5; i + +)

cout << i;

cout << endl;

2. Что напечатает следующий фрагмент кода, если использовать его в программе?

int j;

for (j = 0; j < 11; j += 3)

cout << j;

cout << endl << j << endl;

3. Что напечатает следующий фрагмент кода, если использовать его в программе?

int j = 5;

while (++j < 9)

cout << j++ << endl;

4. Что напечатает следующий фрагмент кода, если использовать его в программе?

int k = 8;

do

cout << " k = " << k << endl;

while (k++ < 5);

5. Напишите цикл for, который печатает значения 1 2 4 8 16 32 64, увеличивая вдвое значение переменной счетчика на каждом шаге.

6. Правилен ли следующий оператор? Если нет, то почему? Если да, то что он делает?

int х = (1,024);

А правилен ли такой оператор?

int у;

у = 1,024;

7. Чем отличается cin >> ch от cin.get(ch) и ch = cin.get() с точки зрения ввода?

8. Приведены два фрагмента кода для подсчета пробелов и переводов строк:

// Версия 1

while (cin.get(ch)) // завершение по eof

{

if (ch == ' ')

spaces++;

if (ch == '\n')

newlines++;

}

// Версия 2

while (cin.get(ch)) // завершение по eof

{

if (ch == ' ')

spaces++;

else if (ch == '\n')

newlines++;

}

Какие преимущества (если они есть) у второй формы перед первой?

9. Какой эффект даст замена в листинге выражения ++ch на ch+1?

#include <iostream>

int main()

{

char ch;

std::cout << "Type, and I shall repeat.\n";

std::cin.get(ch);

while(ch!= '.')

{

if (ch = '\n')

std::cout << ch;

else

std::cout << ++ch;

std::cin.get(ch);

}

std::cout << "\nPlease excuse the slight confusion.\n";

return 0;

}

10. Изучите следующую программу:

#include <iostream>

using namespace std;

int main()

{

char ch;

int ct1, ct2;

ct1 = ct2 = 0;

while ((ch = cin.get())!= '$')

{

cout << ch;

ct1++;

if (ch = '$')

ct2++;

cout << ch;

}

cout << "ct1 = " << ct1 << ", ct2 = " << ct2 << "\n";

return 0;

}

Предположим, что вы вводите следующие две строки, нажимая клавишу <Enter> в конце каждой строки:

Hi!

Send $10 or $20 now!

Каким будет вывод?

11. Напишите программу, которая запрашивает целое число и затем отображает его в десятичной, восьмеричной и шестнадцатеричной формах. Отобразите все формы в одной и той же строке, в полях шириной по 15 символов, с применением префиксов C++ для оснований систем счисления.

12. Напишите программу, которая запрашивает следующую информацию и форматирует ее, как показано ниже:

Enter your name: Billy Gruff

Enter your hourly wages: 12

Enter number of hours worked: 7.5

First format:

Billy Gruff: $ 12.00: 7.5

Second format:

Billy Gruff: $12.00:7.5

13. Пусть имеется следующая программа:

#include <iostream>

int main()

{

using namespace std;

char ch;

int ct1 = 0;

cin >> ch;

while(ch!= 'q')

{

ct1++;

cin >> ch;

}

int ct2 = 0;

cin.get(ch);

while(ch!= 'q')

{

ct2++;

cin.get(ch);

}

cout << "ct1 = " << ct1 << "; ct2 = " << ct2 << "\n";

return 0;

}

Что она напечатает, если получит следующий ввод:

I see a q<Enter>

I see a q<Enter>

Здесь <Enter> означает нажатие одноименной клавиши.

14. Оба следующих оператора читают и отбрасывают символы, вплоть до конца строки, включая его. Чем различается их поведение?

while (cin.get()!= '\n')

continue;

cin.ignore(80, '\n');

15. Постройте логические выражения для представления перечисленных ниже условий.

а. weight больше или равно 115, но меньше 125.

б. ch равно q или Q.

в. х - четное, но не равно 26.

г. х - четное, но не кратно 26.

д. donation находится в диапазоне 1000-2000 или guest равно 1.

е. ch - буква в нижнем или верхнем регистре. (Предполагается, что буквы нижнего регистра кодируются последовательно и буквы верхнего регистра также кодируются последовательно, но между буквами нижнего и верхнего регистров имеется промежуток.)

16. Постройте условное выражение, которое эквивалентно нахождению модуля значения переменной.

17. Перепишите следующий фрагмент с применением switch:

if (ch == 'А')

a_grade++;

else if (ch == 'B')

b_grade++;

else if (ch == 'C')

c_grade++;

else if (ch == 'D')

d_grade++;

else

f_grade++;

18. Приведен следующий фрагмент кода:

int line = 0;

char ch;

while (cin.get(ch))

{

if (ch == 'Q')

break;

if (ch!= '\n')

continue;

line++;

}

Перепишите этот код так, чтобы в нем не использовались операторы break и continue.

19. Напишите программу, которая подсчитывает количество символов в строке вплоть до первого встретившегося символа $.

20. Напишите программу, которая копирует клавиатурный ввод в файл.

 




Поделиться с друзьями:


Дата добавления: 2017-02-01; Просмотров: 128; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopediasu.com - Студопедия (2013 - 2026) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.