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

Заменяет все вхождения идентификатора текстом. Этот процесс называется макроподстановкой.




Например:

#define pi 3,141592

S=2*pi*r; // вместо pi подставится значение 3,141592

 

8. Данные вещественного типа (см. Типы данных)

 

Ввод-вывод данных

 

Форматированный вывод на экран. Оператор вызова функции printf () имеет следующую структуру:

printf(форматная_строка, список_аргументов);

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

Список управляющих символов:

\n — перевод строки;

\t — горизонтальная табуляция;

\r — возврат курсора к началу новой строки;

\а — сигнал-звонок;

\b — возврат на один символ (одну позицию);

\f — перевод (прогон) страницы;

\v — вертикальная табуляция.

Пример:

printf ("\nПлощадь треугольника=\n", s);

 

%с — символ;

%s — строка;

%d — целое десятичное число (тип int);

%u — целое десятичное число без знака (тип unsigned);

%f — вещественные числа в форме с фиксированной точкой;

%е — вещественные числа в форме с плавающей точкой (с мантиссой и порядком).

 

Например, после выполнения следующих операторов

float m,p;

int k;

m=84.3; k=-12; p=32.15;

printf("\nm=%f\tk=%d\tp=%e",m,k,p);

на экран выведется строка:

m=84.299999 k=-12 p=3.21500e+01

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

 

printf("\nm=%5.2f\tk=%5d\tp=%8.2e\tp=%ll.4е",m,k,p,p);

В результате на экране получим:

m=84.30 k= -12 р= 32.15 р= 3.2150е+01

 

Форматированный ввод с клавиатуры.

scanf (форматная__строка, список_аргументов);

scanf("%f",&a);

Здесь "%f" - форматная строка; &а — список аргументов, со­стоящий из одного элемента. Этот оператор производит ввод чис­лового значения в переменную а. Перед именем переменной ставится значок &. Это знак операции «взятие адреса переменной».

 

Потоковый ввод-вывод в Си++.

Средства ввода-вывода - библиотека классов, под­ключаемая к программе с помощью файла iostream.h. имена cимвольных потоков:

сin — стандартный поток ввода с клавиатуры;

cout — стандартный поток вывода на экран.

Операция извлечения из стандартного потока, знак которой >>. Например, ввод значений в переменную х реализует­ся оператором

cin>>;

Знак опе­рации помещения в поток <<. Примеры использования потоково­го вывода:

cout<<+b;

соut<<"\nРезультат="<<y;

 

 

Пример программы.

Пример 1.

/* Ваша первая программа на Си */

include <stdio.h>

void main ()

{

printf("\n Здравствуй, Мир!\n");

}

 

Пример 2.

// Ваша первая программа на Си++

#include <iostream.h>

void main()

cout<<"("\n Здравствуй, Мир!\n");

 

Этапы работы с программой на Си++ в системе программирова­ния (рис. 41 — прямоугольниками отображены системные про­граммы, а блоки с овальной формой обозначают файлы на входе и на выходе этих программ).

 
 

 


1. С помощью текстового редактора формируется текст про­граммы и сохраняется в файле с расширением срр

2. Осуществляется этап препроцессорной обработки, содержа­ние которого определяется директивами препроцессора(препроцессор подключает к тек­сту программы заголовочные файлы (*.h) стандартных библиотек).

3. Происходит компиляция текста программы на Си++. В ходе компиляции могут быть обнаружены синтаксические ошибки, которые должен исправить программист. В результате успешной
компиляции получается объектный код программы в файле с рас­ширением obj.

4. Выполняется этап компоновки с помощью системной про­граммы Компоновщик (Linker). Этот этап еще называют редак­тированием связей. На данном этапе к программе подключаются библиотечные функции. В результате компоновки создается ис­полняемая программа в файле с расширением ехе. Например,example.ехе.

 

 

Данные логического типа

 

Тип данных bool относится к семейству целых типов. Переменные этого типа могут принимать только значения true или false.

Когда к переменной типа bool применяются операции пре­фиксного и постфиксного инкремента (++), переменная принимает значение true. Операторы префиксного и постфиксного декремента (--) не разрешены с переменными типа bool. Поскольку тип данных bool от­носится к целочисленным, переменные этого типа могут быть приведены к типу int, при этом значение true пре­образуется в 1, а значение false — в 0.

Программирование ветвлений.

Инструкции if и if-else

 

Условный оператор. Формат условного оператора следующий:

if (выражение) оператор1; else оператор2;

выражение — это некоторое условие, со­держащее операции отношения и логические операции. Значение выражения приводится к целому и интерпретируется в соответ­ствии с правилом: равно нулю — ложь, не равно нулю — истина. Если выражение истинно, выполняется оператор 1, если ложно — оператор2.

if(a>b) max=a; else max=b;

Та же самая задача может быть решена с использованием не­полного ветвления следующим образом:

max=a; if(b>a) max=b;

Пример 1. Упорядочить по возрастанию значения в двух пере­менных а, b:

if(a>b)

{с=а; a=b; b=c;}

cout<<”a="<<a<<"b="<<b;

 

составной оператор — последо­вательность операторов, заключенная в фигурные скобки. В Си фигурные скобки выполняют роль операторных скобок по анало­гии с Begin, End в Паскале.

Обратите внимание на то, что перед закрывающей фигурной скобкой точку с запятой надо ставить обязательно, а после скоб­ки точка с запятой не ставится.

 

Пример2. Вычисление площади треугольника по длинам трех сторон.

// Площадь треугольника

#include <iostream.h>

#include <math.h>

void main()

{ float a,b,c,p,s;

cout<<\na="; cin>>a;

cout<<"\nb="; cin>>b;

cout<<"\nc="; cin>>c;

if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a)

{ p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

соut<<"\nПлощадь треугольника="<<s;

} else cout("\n Неверные исходные данные.");}

Данные символьного типа

 

Тип данных char является подтипом типа int. Данные символьного типа имеют 2 формы представления:

Тип Бит диапазон
unsigned char   0... 255
signed char   -128... 127

По умолчанию тип char всегда имеет знак

При использовании типа char символы русского алфавита коди­руются отрицательными числами. Чтобы коды символов одно­значно соответствовали кодировке ASCII сле­дует использовать тип unsigned char.

Поделиться:





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



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