Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ospk-2_Си_v11.doc
Скачиваний:
9
Добавлен:
08.11.2019
Размер:
593.92 Кб
Скачать

1.1.5. Стандартные функции вывода информации

Для вывода информации в консольном приложении чаще всего используются следующие функции:

- putchar(S) - вывод одиночного символа без перехода на новую строку;

- puts(S) – вывод строки символов S с переходом на начало новой строки и вывод данных с форматированием.

- рrintf (управляющая строка, список объектов вывода);

Управляющая строка – заключенная в кавычки строка, содержащая спецификации преобразования объектов вывода, управляющие символы (признак «\») и любой набор символов, использующийся в качестве поясняющего текста – указывает компилятору вид выводимой информации.

Список объектов вывода – печатаемые объекты (константы, переменные или выражения, вычисляемые перед выводом). Данные, указанные в списке выводятся в соответствии со спецификациями управляющей строки.

Спецификации преобразования имеют вид:

% <флаг> <размер поля . точность> спецификация,

где флаг может принимать следующие значения:

- (минус) выравнивание влево выводимого числа (по умолчанию выполняется выравнивание вправо);

+ выводится знак положительного числа;

Размер поля – задает минимальную ширину поля, т.е. длину числа; при недостаточной ширине поля выполняется автоматическое расширение.

Точность – задает точность числа, т. е. количество цифр в его дробной части.

Спецификация - указывает вид выводимой информации. В табл.1.2 приведены основные форматы функции печати.

Таблица 1.2 – Форматы вводимой информации

Формат

Тип выводимой информации

%d

Десятичное целое число

%c

Один символ

%s

Строка символов

%e

Число с плавающей точкой (экспоненциальная запись)

%f

Число с плавающей точкой (десятичная запись)

%u

Десятичное число без знака

%o

Восьмеричное число без знака

%x

Шестнадцатеричное число без знака

Управляющая строка может содержать управляющие символы:

\n – переход на новую строку;

\t – горизонтальная и \v – вертикальная табуляция;

\b – возврат назад на один символ;

\r – возврат в начало строки;

\f – прогон бумаги до начала новой страницы;

\a – звуковой сигнал;

\ddd – 8-ричный ASCII-код;

\xhhh – 16-ричный код;

\? – знак вопроса.

1.1.6. Стандартные функции ввода информации

Функция getch () используется для ввода одиночных символов.

Функция gets () обеспечивает ввод строки символов до нажатия клавиши ENTER.

Функция scanf предназначена для форматированного ввода информации любого вида. Общий вид функции:

scanf (управляющая строка, список адресов объектов ввода);

Для нее, как и для функции printf (), указывается управляющая строка. Однако функция scanf() в отличие от функции printf () использует в списке адресов указатели на переменные, т.е. их адреса. Для обозначения указателя перед именем переменной записывается символ &, обозначающий адрес переменной. Для ввода значений строковых переменных символ & не используется. При использовании формата %s строка вводится до первого пробела. Вводить данные можно как в одной строке через пробел, так и в разных строках.

1.1.7. Стандартные математические функции

Для использования математических функций необходимо подключить файл math.h. Параметры и возвращаемые результаты большинства математических функций имеют тип double. В табл.1.3 приведены математические функции math.h.

Аргументы тригонометрических функций задаются в радианах.

Таблица 1.3 – Математические функции файла math.h

Функция

ID функции

Функция

ID функции

sqrt(x)

arcsin(x)

asin(x)

|x|

fabs(x)

arctg(x)

atan(x)

ex

exp(x)

arctg(x/y)

atan2(x,y)

xy

pow(x, y)

sh (x)=1/2 (ex-e-x)

sinh(x)

ln(x)

log(x)

ch(x)=1/2 (ex+e-x)

cosh(x)

lg10(x)

log10(x)

tgh(x)

tanh(x)

sin(x)

sin(x)

Остаток от деления x на y

fmod(x,y)

cos(x)

cos(x)

Округление к большему

ceil(x)

tg(x)

tan(x)

Округление к меньшему

floor(x)

1.2. Основы работы с компилятором Dev-C++

1.2.1. Описание и установка компилятора

Dev-C++ - интегрированная среда для программирования на языках С и C++, работающая под управлением операционной системы Windows. Среда Dev-C++ распространяется свободно с исходными кодами (на Delphi) по лицензии GPL. Достоинствами оболочки Dev-C++ являются графический интерфейс, возможность выбора русскоязычного меню, наличие встроенного отладчика GDB, а также возможность создавать консольные и графические программы.

Скачать инсталлятор среды Dev-C++ можно с официальной страницы проекта http://www.bloodshed.net/dev/devcpp.html.

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

1) Запустить программу-инсталлятор.

2) Выбрать язык установки для программы установки и согласиться с лицензионным соглашением.

3) Выбрать полную установку (Full).

4) Чтобы избежать лишних проблем в дальнейшем, лучше установить программу в ту папку, куда предлагается (C:\Dev-Cpp).

5) После завершения установки программа автоматически запускается.

6) Далее следует Выбрать русский язык для меню.

7) В следующем окне выбрать вариант ответа Yes (при наборе программы будут выводиться всплывающие подсказки с параметрами функций; это немного замедляет работу, но полезно при написании программы).

1.2.2. Настройка компилятора

В консольных приложениях русские буквы выводятся к кодировке CP-866, а в оболочке Dev-C++ они набираются в кодировке CP-1251. Это значит, что русские буквы не отображаются на экране. Чтобы этого не случилось, кодировку нужно исправить с помощью простой дополнительной программы. Для этого необходимо сделать следующее:

1) Скачать архив, содержащий программы gccrus.exe и g++rus.exe (193 Кб) по ссылке

http://kpolyakov.narod.ru/download/devcpprus.zip.

2) Скопировать программы gccrus.exe и g++rus.exe в папку установки C:\Dev-Cpp\bin.

3) Запустить оболочку Dev-C++ и войти в меню Tools/Compiler Options. Перейти на вкладку Programms и исправить названия двух первых программ так, как показано на рис.1.1.

Рисунок 1.1 – Настройка параметров компилятора

Для того чтобы разрешить работу компилятора, необходимо выполнить следующую установку: в меню “Tools” выбрать меню “Compiler Options”, далее во вкладке «Settings» установить Yes как показано на рис.1.2.

Рисунок 1.2 – Настройка режима отладки

1.2.3. Создание проекта и отладка программы

Проект может быть рассмотрен как своеобразное хранилище всего материала, необходимого для компиляции программы. Для создания проекта необходимо выбрать File/New/Project. При написании простых программ проект можно не создавать, а сразу создать исходный файл программы. Для создания файла необходимо выполнить File/New/Source File.

Для выполнения компиляции файла необходимо выполнить команду Execute/Compile; затем для запуска программы – Execute/Run. Если на этапе компиляции появились ошибки, то они будут отображаться внизу экрана в поле Compile Log. В случае удачной компиляции – появится сообщение рис.1.3.

Рисунок 1.3 – Окно успешной компиляции

Для отладки программы предусмотрен режим отладчика (Debug). Порядок действий при отладке программы:

а) скомпилировать проект;

б) выполнить Debug/Run to Cursor, при этом стартует режим отладки и программа останавливается в месте установки курсора;

в) действием Next Step выполняется пошаговая отладка;

г) добавить слежение за переменными можно командой Debug/Add Watch, при этом в поле слева добавляется указанная переменная, если она описана в программе.

Сохранение файла необходимо выполнить командой File/Save As, а затем вписать имя файла в формате *.с.

Пример 1.1. Составить программу вычисления арифметического выражения для заданных значений x, y, z:

.

Текст программы с использованием стандартных функций ввода-вывода, может иметь следующий вид:

#include <stdio.h> // Подключение заголовочных файлов #include <conio.h>

#include <math.h>

#define PI 3.14 // Определение константы PI

int main()

{

double x = 0, y = 0, t = 0; // Определение переменных

printf ( "Enter input x и y \n" );

scanf("%lf%lf", &x, &y); // Чтение данных в адреса x и y,

t = pow(tan(x+y),2) - sqrt(cos(x*x)+sin(PI*y));

printf("%lf\n", t); // Вывод на экран значения t

puts("Press any key ... ");

getch(); // ожидаем ввода

}

Порядок выполнения лабораторной работы

1) Запустить программу Dev-C++.

2) Выполнить настройку программы: поддержку русской консоли и настройка режима отладки.

3) Создать исходный файл *.c и сохранить его на диске.

4) Подключить заголовочные файлы <stdio.h>, <windows.h>, <conio.h>, <math.h>.

5) Составить линейный алгоритм и программу определения значения функции в соответствие с индивидуальным заданием, для чего:

а) описать используемые константы;

б) в теле главной функции main описать используемые переменные;

в) выполнить чтение переменных, вводимые пользователем;

г) выполнить требуемые арифметические вычисления;

д) провести пошаговую отладку программы (Debug) с использованием слежения за переменными (Add Watch);

е) вывести результат функции на экран в требуемом виде.

6) Выполнить отчет по лабораторной работе.

Индивидуальные задания

Функция

Переменные

Константы

1.

x = 14.26, y = –1.22

z = 3.510-2

2.

x = –4.5,

y = 0.75

z = 0.845102

3.

x = 3.74,

y = –0.825

z = 0.16102

4.

x = 0.4104,

y = – 0.875

z = –0.47510-3

5.

x = –15.246,

y = 4.642

z = 20.001102

6.

x = 16.55,

y = 2.75

z = 0.15102

7.

x = 0.1722,

y = 6.33

z = 3.2510-4

8.

x = –2.235,

y = 2.23

z = 15.22102

9.

x = 1.825,

y = 18.225

z = –3.29810-2

10.

x = 3.981,

y = –1.625

z = 0.512103

11.

x = 6.251,

y = 0.827

z = 25.001

12.

x = 3.251,

y = 0.325

z = 0.46610-4

13.

x = 17.421,

y = 10.365

z = 0.828105

14.

x = 12.3,

y = 15.4

z = 0.252103

15.

x = 2.444,

y = 0.869

z = – 0.13103

16.

x = –2.235,

y = 2.23

z = 15.22110-2

Контрольные вопросы

1. Какие настройки Dev-Cpp необходимо выполнить перед началом работы?

2. Как выполнять отладку программы в Dev-Cpp?

3. Какие типы переменных применяются в языке С?

4. Перечислите основные отличия функций printf() и scanf().