Листинг 2. Программа присваивания переменной нового значения с сохранением старого

/*storage.c*/main()          {          int number, storage;          puts("Введите значение переменной");          scanf("%d", &number);          storage = number;          puts("Введите значение переменной");          scanf("%d", &number);          printf("Исходное значение: %d\n", storage);          printf("Новое значение: %d", number);          }


Рис.12. Присваивание переменной нового значения

Ввод значения переменной number обеспечивается следующими инструкциями:

puts("Введите значение переменной");scanf("%d", &number);

Сохранение значения переменной number в переменной storage выполняет инструкция:

storage = number;

Для ввода второго значения переменной number используются точно такие же инструкции, как и в первом случае. Оба значения, старое и новое, позже могут быть отражены на экране. Прежнее содержимое переменной не было утеряно просто потому, что было сохранено в другой области памяти, как показано на рис.12.

  Вопросы
  1. В чем смысл выражения «чистый вход — чистый выход»?
  2. Почему после ввода с использованием функции getchar() нет необходимости нажимать клавишу Enter?
  3. Назовите два способа использования функции getchar().
  4. Что такое оператор получения адреса?
  5. Какие преимущества дает использование функции scanf()?
  6. Что такое преобразователи символов?
  7. Почему для ввода строки лучше использовать функцию gets(), а не scanf()?
  8. В чем преимущества и недостатки форматированного ввода при помощи scanf()?
  9. Является ли необходимым присваивание всем переменным начальных значений?
  10. Какие трудности могут возникнуть при использовании функции scanf() для ввода значения переменной типа char?

 

  Упражнения
  1. Напишите программу, в которой вводится, а затем отображается на экране монитора в одной строке ваше имя и номер телефона.
  2. Напишите программу, в которой вводится число, а затем на экран выводится адрес области памяти, куда было записано это число.
  3. Напишите программу, в которой вводятся три числа, а затем эти числа отображаются на экране в порядке, обратном тому, в котором их вводили.
  4. Напишите программу, в которой используются функции getchar(), gets() и scanf().

5. Объясните, почему следующая программа написана неправильно:

    main()    {    char initial;    initial = gets();    puts(initial); }

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: