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

 
на правах рекламы


Создание консольного приложения в среде DEV-C++. Ввод-вывод информации.


Лабораторная работа №1. Создание консольного приложения в среде DEV-C++. Ввод-вывод информации.


Цель работы: ознакомиться с интегрированной средой Dev – C++, изучить основные типы данных языка Си, функции ввода и вывода информации, создать простую программу на языке Си.

1. Интегрированная среда разработки Dev-C++
Из меню «Пуск» запустить Dev-C++.
Создание консольного приложения в среде DEV-C++. Ввод-вывод информации.


Основное окно среды:
Создание консольного приложения в среде DEV-C++. Ввод-вывод информации.


Выберите пункт меню «Создание проекта», либо используя навигацию по системе меню Файл-Создать-Проект, либо воспользовавшись иконкой панели управления.



Дайте проекту имя (желательно английскими символами), выберите параметры проекта (Си или Си++), рекомендуется Си++, определите тип проекта как консольное приложение, выберите кнопку Ok:

Создание консольного приложения в среде DEV-C++. Ввод-вывод информации.


Далее среда предлагает выбрать место для сохранения файлов проекта. Рекомендуется сохранять файлы проекта в отдельной папке.

После выбора места нажмите кнопку «Сохранить».
После выполнения всех выше описанных действий среда создаст шаблон простейшего консольного приложения:

Создание консольного приложения в среде DEV-C++. Ввод-вывод информации.



2. Структура программы на языке Си

1. #include - подключить заголовочный файл cstdlib.h.
2. #include - подключить заголовочный файл iostream.h.
3. using name space std – использовать стандартное пространство имен
4. int main(int argc, char *argv[]) – имя функции. Любая программа на языке Си состоит из одной или нескольких функций. В написанном шаблоне функция одна – main( ). Функция c именем main обязательно должна быть в любой исполняемой программе.
5. { - начало тела функции
6. system(“pause”) – вызов функции system с аргументом “pause”. Функция реализует ожидание нажатия клавиши.
7. оператор return с аргументом EXIT_SUCCESS – завершение функции main с кодом 0.
8. } – конец функции main.

3. Простые типы данных Си

Для представления целых величин в Си предусмотрены следующие типы данных:
Тип сhar. Занимает в памяти 1 байт. Используется для представления символов и целых чисел от 0 до 255.
Тип int. Занимает в памяти2 байта. Используется для представления целых чисел в диапазоне -32768 до 32767.
Тип float. Занимает в памяти 4 байта. Используется для представления чисел с плавающей точкой. от 3.4×10-38 до 3.4×1038 . Точность вычислений до 7 знаков после запятой.
Тип double. Занимает в памяти 8 байт. Используется для представления чисел с плавающей точкой. от 1.7×10-308 до 1.7×10308. Точность вычислений до 15 знаков после запятой.
Тип void – пустой тип. Используется для описания функций.

4. Основные операторы Си

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

Таблица 4.1. - Унарные операторы языка Си
Код оператораНазваниеРезультат операции
&адресный оператор выражение &x - адрес переменной х
+унарный плюс+5 – положительная константа
-унарный минус-4 – отрицательная константа, – значение переменной х с обратным знаком
! логическое отрицание!x принимает значение 0 (лжи), если x имеет ненулевое (истинное) значение и наоборот
++префиксное/ постфиксное увеличениеint x = 5; ++х; увеличит x на единицу;
int x = 5; х++; увеличит x на единицу
--префиксное/ постфиксное уменьшениеint x = 5; --х; уменьшит x на единицу; int x = 5; х--;
увеличит x на единицу


Таблица 4.2. - Бинарные операторы языка Си


Код оператораНазваниеРезультат операции
Аддитивные операторы
+бинарный плюсвычисление суммы, например:
int x = 2,y = 1,z;
z = x+y;
-бинарный минусвычисление разности, например:
int x = 2,y = 1,z;
z = x-y;
Мультипликативные операторы
* умножениевычисление произведения, например:
int x = 2,y = 1,z;
z = x*y;
/делениевычисление частного, например:
int x = 12,y = 2,z;
z = x/y;
%остатоквычисление остатка от деления, например:
int x = 12,y = 7,z;
z = x%y;
Логические операторы
&&логическое AND (И)проверка условий, связанных логическим И
|| логическое OR (ИЛИ)проверка условий, связанных логическим ИЛИ
Операторы присваивания
= присваивание присвоить переменной заданное значение или значение другой переменной
Операторы отношения
< меньше чемx<y, х меньше y
> больше чемx>y, х больше y
<=меньше чем или равноx<=y, x меньше или равно y
>=больше чем или равноx>=y, x больше или равно y
Операторы эквивалентности
= =равноx= =y, х равно y
!=не равноx!=y, x не равно y
,оператор перечислениявыполнить разделенные оператором действия слева направо, например
y+=5,x-=4,y+=x;



5. Библиотека математических функций math.h

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

abs(int x) - возвращает модуль целого числа x.
acos(double x) - возвращает арккосинус числа x в радианах.
asin(double x) - возвращает арксинус числа x в радианах.
atan(double x) - возвращает арктангенс числа x в радианах.
atof(char *s, double x) - преобразует строку s в вещественное число x.
cos(double x) - возвращает косинус числа x (x задано в радианах)
ceil(double x) - округляет число x в большую сторону
exp(double x) - возвращает экспоненту числа x.
fabs(double x) - возвращает модуль вещественного числа x.
sin(double x) - возвращает синус числа x (x задано в радианах).
sqrt(double x) - возвращает квадрат числа x.
tan(double x) - возвращает тангенс числа x (x задано в радианах).

floor(double x) - округляет число x в меньшую сторону
fmod(double x, double y) - возвращает остаток от деления числа x на число y.
hipot(double x, double y) - возвращает квадрат суммы числа x и числа y.
log(double x) - возвращает натуральный логарифм числа x.
log10(double x) - возвращает десятичный логарифм числа x.
modf(double x,double& y) - возвращает дробную часть числа x, по адресу y записывается целая часть исходного числа x.
pow(double x, double y) - возвращает x в степени y.


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

#include

6. Основные правила программирования на Си

• Исполняемая функция обязательно должна носить имя main
• Все используемые в программе переменные должны быть описаны перед использованием
• Количество открывающихся фигурных скобок должно быть равно количеству закрывающихся

7. Вывод информации в Си

Для вывода информации на экран Си предоставляет множество возможностей. Есть функции, выводящие на экран только строки, только целые или вещественные числа. Функция printf может использоваться для вывода на экран информации любого типа.
Описание функции:
printf(Управляющая строка, );
Управляющая строка записывается в двойных кавычках и содержит информацию двух типов:
 печатаемые символы (константная строка);
 идентификаторы данных (спецификаторы формата)
Функция принимает список аргументов и применяет к каждому спецификатор формата. Количество спецификаторов формата и аргументов должно быть одинаковым.

Основные спецификаторы формата –

%d – целое десятичное число;
%c – один символ;
%s – строка символов;
%e – экспоненциальная запись числа с плавающей точкой;
%f – десятичная запись числа с плавающей точкой;
%u - десятичное число без знака;
%o - целое восьмеричное число без знака;
%x - целое шестнадцатеричное число без знака.
Помимо этого в спецификаторах используются модификаторы, форматирующие выводимую информацию. Рассмотрим применение модификаторов на спецификаторе %f. Аналогично форматируется информация других типов.
Модификатор состоит из двух чисел, разделенных точкой и может иметь лидирующий знак «-». Записывается модификатор после знака «%», обозначающего начало спецификатора. В общем виде модификатор выглядит следующим образом: %m.nспецификатор. Первое число m задает ширину поля вывода для всего значения. Второе число n используется для форматируемого вывода чисел с плавающей точкой и задает количество дробной части числа, выводимых на экран. Отсутствие знака «-» говорит о том, что вывод будет отформатирован по правой границе поля вывода, присутствие – форматирование по левой границе поля вывода.
При записи спецификатора в следующем виде - %10.4f – все выводимое вещественное число запишется в поле из десяти символов. Дробная часть числа будет состоять из 4 знаков.
Например:


int old = 23;
float key = 15.164;
char String[15] = “Простая программа”;
printf(“/%10d/”,old); // выведется / 23/
printf(“/%-10d/”,old); // выведется /23 /
printf(“/%10.1f/”,key); // выведется / 15.2/
printf(“/%-10.4f/”,key); //выведется /15.1640 /
printf(“/%5.5s/”,string); // выведется /Прост/
printf(“/%-30s/”,string); // выведется / Простая программа /

Для перевода вывода на другую строку используется специальный символ ‘/n’.

#define PI 3.141
printf (“Пример использования функции printf: \n число PI = %8.2f”, PI);

На экране:
Пример использования функции printf:
число PI = 3.14

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


8. Ввод информации

Для ввода информации Си предлагает наиболее общую функцию (функцию работающую с разнотипными данными) scanf
Описание функции:
scanf(cпецификатор формата, указатель на переменную);

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

Обратите внимание. Имя массива является указателем, поэтому при вводе строк перед именем строки не пишется знак &. При вводе строки с помощью функции scanf строка вводится до первого встреченного пробела. Вся остальная часть строки обрезается.
Например:

char name[20];
scanf(“%s”,name); // ввод строкового массива.
int n;
scanf(“%d”,&n); // ввод целочисленной переменной n.
scanf(“%c”,&name[3]); //ввод четвертого символа массива name.
При одном вызове функции возможно ввести более одной переменной. В этом случае спецификаторы формата пишутся один за другим, без пробелов. Каждому спецификатору должен соответствовать свой адрес переменной. Например:

float x,y,z;
printf(“Введите значения переменных x,y и z: ”);
scanf(“%f%f%f”,&x,&y,&z);


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

1. Получить индивидуальное задание
2. Создать проект в Dev-C++
3. Описать входные и выходные данные
4. Ввести данные с клавиатуры
5. Вычислить значение функции
6. Вывести полученное значение на экран
7. Вывести личные данные
8. Выполнить компиляцию проекта
9. Защитить работу

10. Пример выполнения задания

Задание: Ввести с клавиатуры целое число x. Вывести на экран значение функции и сообщение вида: «Программу выполнил ФИО»


2. Создание проектаЗапустить Dev – C++, создать новый проект, дополним код программы вызовом функции

system ("chcp 1251"); - смена кодировки страницы
3.Описание переменныхint x;

float y;
4. Ввод данных с клавиатурыprintf(“Введите значение переменной x: ”);

scanf(“%d”,&x);
5. Вычисление значения функцииy = x*x+3.1*x + 7.5;
6. Вывод результатаprintf(“Значение функции: %7.2f\n”,y);
7. Вывод личных данныхprintf(“Программу выполнил Иванов Андрей Сергеевич\n”);


Создание консольного приложения в среде DEV-C++. Ввод-вывод информации.


Определить имя программы.

Если этап компиляции прошел успешно, программа автоматически выполнится. Для смены кодировки страницы выполните следующие действия:
Создание консольного приложения в среде DEV-C++. Ввод-вывод информации.


Создание консольного приложения в среде DEV-C++. Ввод-вывод информации.


Результат работы программы:
Создание консольного приложения в среде DEV-C++. Ввод-вывод информации.


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

1. Какое имя носит исполняемая функция Си?
2. Дайте определение понятия «переменная»
3. Дайте определение понятия «идентификатор»
4. Сколько переменных требуется описать в программе, если необходимо решить следующую задачу – «С клавиатуры вводятся три числа, необходимо вывести на экран значение минимального из этих трех чисел»?
5. Какая функция используется в Си для ввода информации?
6. Какая функция используется в Си для вывода информации?
7. Какой тип данных Си соответствует спецификатору «%d»?
8. Какой тип данных Си соответствует спецификатору «%f»?
9. Переменная j описана в программе следующим образом:
int j;
Запишите функцию scanf для считывания значения в переменную j.
10. Переменная k описана в программе следующим образом:
float k;
Запишите функцию printf для вывода значения переменной k.

Теги: Программирование, Си

Комментарии:

Оставить комментарий
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.