помогите пожалуйста. не могу скачать ms. visual studio |
Лекция 2: Знакомство со средой Microsoft Visual Studio 2010 и настройка компилятора языка С. Стандартный ввод-вывод
Произведем разбор первой программы. Во-первых, надо отметить, что в языке С нет стандартных инструкций (операторов) для вывода сообщений на консоль (окно пользователя). В языке С предусматриваются специальные библиотечные файлы, в которых имеются функции для этих целей. В приведенной программе используется заголовочный файл с именем stdio.h (стандартный ввод–вывод), который должен быть включен в начало программы. Для вывода сообщения на консоль используется функция printf(). Для работы с консолью включен также заголовочный файл conio.h., который поддерживает функцию _getch(), которая извлекает символ из потока ввода, т. е. она предназначена для приема сообщения о нажатии какой-либо (почти любой) клавиши на клавиатуре. С другими компиляторами, возможно, потребуется getch(), т.е. без префиксного нижнего подчеркивания. Строка программы
int main (void)
сообщает системе, что именем программы является main() – главная функция, и что она возвращает целое число, о чем указывает аббревиатура "int". Имя main() – это специальное имя, которое указывает, где программа должна начать выполнение [1.1]. Наличие круглых скобок после слова main() свидетельствует о том, что это имя функции. Если содержимое круглых скобок отсутствует или в них содержится служебное слово void, то это означает, что в функцию main() не передается никаких аргументов. Тело функции main() ограничено парой фигурных скобок. Все утверждения программы, заключенные в фигурные скобки, будут относиться к функции main().
В теле функции main() имеются еще три функции. Во-первых, функции printf() находятся в библиотеке компилятора языка С, и они печатают или отображают те аргументы, которые были подставлены вместо параметров. Символ "\n" составляет единый символ newline (новая строка), т.е. с помощью этого символа осуществляется перевод на новую строку. Символ "\t" осуществляет табуляцию, т.е. начало вывода результатов программы с отступом вправо.
Функция без параметров _getch() извлекает символ из потока ввода (т.е. ожидает нажатия почти любой клавиши). С другими компиляторами, возможно, потребуется getch(), т.е. без префиксного нижнего подчеркивания.
Последнее утверждение в первой программе
return 0;
указывает на то, что выполнение функции main() закончено и что в систему возвращается значение 0 (целое число). Нуль используется в соответствии с соглашением об индикации успешного завершения программы [1.3].
В завершение следует отметить, что все действия в программе завершаются символом точки с запятой.
Все файлы проекта сохраняются в той папке, которая сформировалась после указания в поле Location имени проекта (hello). На рис. 1.19 показаны папки и файлы проекта Visual Studio 2010..
На рис. 1.19 файлы с полученными расширениями означают:
hello.sln – файл решения для созданной программы. Он содержит информацию о том, какие проекты входят в данное решение. Обычно, эти проекты расположены в отдельных подкаталогах. Например, наш проект находится в подкаталоге hello;
hello.suo – файл настроек среды Visual Studio при работе с решением, включает информацию об открытых окнах, их расположении и прочих пользовательских параметрах.
hello.sdf – файл содержащий вспомогательную информацию о проекте, который используется инструментами анализа кода Visual Studio, такими как IntelliSense для отображения подсказок об именах и т.д.
Файлы папки Debug показаны на рис. 1.20.
Рассмотрим файлы в соответствии с рис. 1.20.
hello.exe – исполняемый файл проекта;
hello.ilk – файл "incremental linker", используемый компоновщиком для ускорения процесса компоновки;
hello.pdb – отладочная информация/информация об именах в исполняемых файлах, используемая отладчиком.
Файлы папки hello показаны на рис. 1.21.
Характеристика содержимого папки hello:
main.c – файл исходного программного кода,
hello.vcxproj.user – файл пользовательских настроек, связанных с проектом,
hello.vcxproj.filters – файл с описанием фильтров, используемых Visual Studio Solution Explorer для организации и отображения файлов с исходным кодом.
Практическая часть
В практической части выполните следующие задания на основе рассмотренной программы hello:
- Напишите программу, которая выводила бы на консоль название факультета, где учитесь, номер группы, свою фамилию, имя и отчество в разных строках дисплея (консоли) с помощью одной функции printf().
- Вывод выполните с помощью нескольких функций printf() (количество функций должно соответствовать каждой порции информации).
- Для задания пункта 2 вывод информации выполните в различных строках подряд, т.е. без межстрочного пропуска.
- Проверьте программу без ключевого слова void для функции main().
Примечание. Вывод требуемой информации осуществляется с помощью букв латинского алфавита. Комментарии в программе могут быть сделаны после символа "//" или внутри комбинации символов "/* */".
Контрольные вопросы
- Какие компиляторы языка С вам известны?
- Какое имя имеет исполняемый файл созданного проекта?
- Объясните назначение заголовочных файлов stdio.h, conio.h.
- Как будет работать программа без заголовочного файла conio.h?
- В каком месте программы находится точка ее входа?
- Как осуществляется табуляция строки на консоли и на сколько позиций выполняется отступ от левого края?
- Какое значение имеет главная функция проекта main() в программах на языке С?