Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Тема 2. Организация стандартного ввода и вывода в языке Си

Тема 1. Консольный проект и интерфейс VS

Теоретическое введение

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

«Консольным приложением (проектом) называется программа, которая не имеет графического интерфейса - окон, и которая работает в текстовом режиме в черно-белой консоли. Команды в такой программе приходиться вводить с клавиатуры, результаты работы консольные приложения также выводят на экран в текстовом режиме в кодировке ASCII (для России CP 866).» - http://www.intuit.ru/studies

Структура программы на Си и С++ включает несколько разделов, как обязательных, так и не обязательных.

Разделы кода программы Обязательность присутствия раздела в коде программы
Подключение директив препроцессора, макроопределений. Не обязательный (может быть опущен)
Определение глобальных статических переменных. Не обязательный (может быть опущен)
Определения пользовательских функций. Не обязательный (может быть опущен)
Прототипы функций при определении функций после функции main. Не обязательный,если определения пользовательских функций выполнены до функции main. Обязательный, если определения пользовательских функций размещены после функции main.
Функция main (или_tmain)– блок программы Обязательный – содержит код программы, именно с нее начинает выполняться программа
Определения пользовательских функций. Не обязательный,если определения пользовательских функций выполнены до функции main.

 

Среда VS создает структуру программы в виде

// kodProram.cpp: определяет точку входа для консольного приложения. //   #include "stdafx.h"   int _tmain(int argc, _TCHAR* argv[]) { return 0; }

 

Описание разделов включенных в созданную программу

// kodProram.cpp: определяет точку входа для консольного приложения. // Определение имени программы, комментарий строчный
  #include "stdafx.h" Директива препроцессора, которая подключила отображаемый текст. Обязательная, должна предшествовать другим директивам, макроопределениям, тексту программы
    здесь могут бытьразмещены разделы: голобальныхпеременных, определений пользовательских функцй, прототипы, другие директивы препроцессора,макроопределения
int _tmain(int argc, _TCHAR* argv[]) { return 0; }   функция main – будет содержать код программы между фигурными скобками
  Определения пользовательских функций

 

Директивы препроцессора

Подключают заголовочные файлы и макроопределения языка Си и С+.

Препроцессор С/С++ (предобработчик) — программа, подготавливающая код программы на языке C/C++ к компиляции.

Препроцессором выполняются следующие действия:

· вставка (включение) содержимого произвольного файла (#include);

· макроподстановки (#define);

· условная компиляция (#if, #ifdef, #elif, #else, #endif);

· вывод сообщений (#warning, #error).

В программировании заголовочный файл (header file) или подключаемый файл — файл, содержимое которого автоматически добавляется препроцессором в исходный текст в том месте, где располагается некоторая директива #include <file.h> в Си).

По сложившейся традиции, в заголовочных файлах объявляют функции стандартной библиотеки Си и Си++.

 

1) подключение заголовочного файла

Имя заголовочного файла имеет формат: имя.h.

Формат директивы препроцессора для подключения заголовочного файла

#include ˝имя заголовочного файла˝

 

Основные заголовочные файлы

Название заголовочного файла Назначение
stdio.h Для организации стандартного ввода и вывода языка Си
iostream.h Для организации стандартного ввода и вывода в консольных приложениях языка С++
stdlib.h Содержит функции управления и преобразования типов
math.h Библиотека математических функций
   

 

2) Макроопределения это встраиваемые в код программы элементы: константы и макросы.

Константы и макросы препроцессора используются для определения небольших фрагментов кода.

 

Формат макроопределения

#define ИМЯ макроопределения < значение, соответствующее имени>

 

Примечание. Имя макроопределения принято писать строчечными (большими) буквами.

Пример 1. Определение символической константы директивой препроцессора

#define PI 3.14

Пример 2. Определение макроса

#define LENCIRCLE 2*PI*r

 

Задание 1. Создание консольного приложения в среде VS

Создать консольное приложение в VS

  1. Создайте папку со своей фамилией на рабочем столе.
  2. Запустите VC++ с рабочего стола.
  3. Создайте консольное приложение. Для этого

· выполните команду File->New->Project->Win32Console Application.

· введите имя проекта в поле Project Name

· выберите вашу папку для сохранения проекта в окне Location (через кнопку рядом с этим полем). Выполните ОК

  1. В окне Win32Console Application выберите вариант A simpl application и щелкните по кнопке Finish, затем ОК. Создание проекта завершено.

 

Задание 2 Интерфейс VS

Познакомьтесь с интерфейсом VS.

На рисунке 1 представлено окно проекта VS.

Рис 1. Окно проекта

Найдите в окне созданного вами проекта следующие элементы интерфейса:

1. Окно Код программы. В этом окне отображается код проекта.

2. Окно Обозреватель решений. В окне отображены файлы, составляющие решение созданного вами проекта.

Решение можно интерпретировать как контейнер связанных между собой проектов.

Наиболее распространенным способом структурирования приложений в среде Visual Studio является одно отдельное решение, содержащее много проектов.

Каждый проект можно создать из набора исходных файлов и папок. Проекты внутри решения не обязательно должны быть написаны на одном и том же языке программирования или иметь одинаковый тип. Например, решение может содержать веб-приложение ASP.NET, написанное на языке Visual Basic, библиотеку на языке F# и WPF-приложение, написанное на языке C#. Решение позволяет пользователю открыть всё эти проекты в интегрированной среде разработки, а также управлять общими настройками для их создания и развертывания.

Главное окно, в котором пользователь работает с решениями и проектами, называется Solution Explorer.

3. Окно Свойства. Отображает основную информацию о проекте и файлах, входящих в проект.

Задание. Свойства элементов решения

Познакомьтесь

· со свойствами самого проекта, выбрав его в окне обозревателя решений;

· со свойствами заголовочного файла stdafx.h;

· со свойствами файла исходного кода вашего проекта (файл с расширением cpp).

4. Окно Список ошибок компиляции и компоновки.

5. Стандартный интерфейс VS (далее меню):

Задание. Запомните, какие действия предоставляет интерфейс

5.1. Команды меню Файл.

5.2. Команды меню Правка.

5.3. Команды меню Вид. Найдите команды подключения окон (1, 2, 3, 4 в списке).

5.4. Команды меню Проект. Найдите и выполните команду Добавить новый элемент. Познакомьтесь с элементами, которые могут быть добавлены в проект и закройте окно команды.

5.5. Команды меню Построение.

Найдите и выполните команду: Компилировать. В окне Список ошибок определите, были ли ошибки.

Найдите и выполните команду: Построить решение. В окне Список ошибок определите, были ли ошибки шага построения.

5.6. Команды меню Отладка.

Меню Отладка предоставляет инструмент для визуализации процесса отладки: выполнения программы в режиме трассировки (пользователь вручную выполняет команду за командой). Позволяет просматривать последовательность выполнения операторов и значений переменных в процессе работы программы.

Отладку программы можно выполнять:

· в автоматическом режиме по команде начать отладку (F5);

· в режиме пошаговой трассировки в одном из двух вариантов:

· Шаг с заходом(F11)

· Шаг с обходом(F10)

· использованием точки останова (тогда используется комбинация автоматической отладки и трассировки).

Команда Начать отладку (F5 запуск программы на выполнение). Выполнение программы в автоматическом режиме с переходом в режим трассировки в установленных точках останова.

Задание. Выполните команду Начать отладку ( проследите в окне Список ошибок какие шаги процесса подготовки программы выполняет система программирования VS.

 

Команда Запуск без отладки (ctrl F5). Выполнение программы в автоматическом режиме, без перехода в режим трассировки в установленных точках останова.

Команда Шаг с заходом(F 11) позволяет перейти в режим пошаговой трассировки с заходом в функции для выполнения их трассировки.

Команда Шаг с обходом(F 10) позволяет перейти в режим пошаговой трассировки без захода в функции.

Команда Создать точку останова. Точка останова – оператор в программе, начиная с которого будет запущен процесс пошаговой трассировки. До точки остановка программа запускается в автоматическом режиме, на точке останова она останавливается и переходит в режим трассировки.

Трассировка выполняется в двух режимах с использованием клавиш или кнопок линейки Отладка.

А) шаг с заходом в функцию (F11);

Б) шаг с обходом функции (F10).

Трассировку можно прервать и продолжить выполнение программы в автоматическом режиме, для этого выполняется команда Начать отладку (F5).

Команда Остановить отладку (shift F5). Позволит прервать процесс трассировки и завершить выполнение программы. Это команда, добавляется в меню Отладка, если выполняется трассировка программы. Исследование команды будет проведено в следующих лабораторных работах.

5.7. Команды меню Сервис.

Рассмотрите только команды Параметры и Настроить.

Настроить – определение панелей инструментов тех дополнительных систем разработки (например, MS Excel) которые будут визуализированы в среде VS.

Параметры – установка параметров функционирования VS.

 

Задание. Исследование команд Отладки.

· Создайте точку останова на операторе return 0 в коде функции main.

· Выполните команду Начать отладку меню Отладка. Выполнилась остановка? Если Да, то продолжите отладку. Программа должна завершиться.

· Выполните команду Запуск без отладки. Выполнилась остановка?

· Добавьте в функцию main перед оператором return 0; оператор printf(˝это функция вывода˝);

· Снимите с оператора return 0 точку останова.

· Создайте точку останова на операторе вывода.

· Выполните команду Шаг с заходом(F11). Что вы узнали?Завершите отладку.

· Выполните команду Шаг с обходом(F10). Что вы узнали?Завершите отладку.

 

Задание. Познакомьтесь с командами Параметры и Настроить.

5.8. Команды меню Окна.

 

Тема 2. Организация стандартного ввода и вывода в языке Си

Вызов функции может быть выполнен из тех точек текста программы, где допустимо использование выражения.

Описание параметров

template string – это строка-шаблон, описывающая представление выводимых на монитор данных с указанием формата, в котором должны быть представлены значения выражений из параметра list. Формат определяется в том месте шаблона, где должно быть выведено значение. Шаблон может содержать: поясняющий текст, esc символы (управляющие выводом), форматы.

list –определяет список выражений, значения которых должны быть представлены на мониторе в результате вывода в соответствующем формате. Форматы представлены в таблице 2. Под выражением понимается: константа, переменная, вызов функции, сложное выражение.

Таблица 1. Управляющие символы

esc символы
Перевод строки Горизонтальное табулирование v Вертикальное табулирование Возврат каретки \ Обратная косая черта ’ Апостроф ” Кавычка !!

 

  Таблица 2. Форматы ввода и вывода функций printf и scanf
вывод аргумента list в символьном формате
%d вывод аргумента list в формате целого числа
%e, %E вывод аргумента list в формате с плавающей точкой с шестью знаками после запятой [+/-]m.nnnnnn[+/-]pp
%f вывод аргумента list в формате дробного числа в форме с фиксированной точкой и шестью знаками после запятой [+/-]mmm.nnnnnn
%g, %G вывод аргумента list в формате e или f, но незначащие нули не печатаюся
%o вывод аргумента list с преобразованием в восьмеричный формат без лидирующего нуля
%p вывод указателя в шестнадцатеричном формате
%s вывод строкового значения аргумента listволы выводятся до символа (конец строки)
%u вывод аргумента list с преобразованием в беззнаковый десятичный формат
%x, %X вывод аргумента list с преобразованием в беззнаковый шестнадцатеричный формат

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...