ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.06.2021

Просмотров: 1678

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

16 

18.

В каком случае отношение считается ложным, а в каком – истинным? 

19.

Какие операции называются унарными? Привести примеры. 

20.

Какие операции называются бинарными? Привести примеры. 

21.

Что такое тернарная операция? Привести пример. 

22.

Какая разница между постфиксной и префиксной операцией инкремента 
(декремента)? 

23.

Какие операции присваивания существуют в С++?  

24.

Привести примеры выражений, содержащих операции присваивания, операции 
инкремента (декремента), аддитивные и мультипликативные операции. Пояснить, 
как они будут выполняться. 

25.

Что такое леводопустимое значение? Привести пример. 

26.

Чему будет равно значение выражений: 

int z=x/y++; если int x=1, y=2; 
int w=x%++y, если int x=1, y=2; 
int a=++m+n++*sizeof(int); если int m=1, n=2; 
float a=4*m/0.3*n; если float m=1.5; int n=5; 
int ok=int(0.5*y)<short(x)++; если int x=10, y=3; 


background image

17 

3. Ввод и вывод данных 

В языке Си++ нет встроенных средств ввода и вывода – он осуществляется с 

помощью функций, типов и объектов, которые находятся в стандартных библиотеках. 
Существует два основных способа: функции унаследованные из Си и объекты Си++. 

Для ввода/вывода  данных в стиле Си используются функции, которые 

описываются в библиотечном файле stdio.h. 

1)

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

форматная  строка  -  строка  символов,  заключенных  в  кавычки,  которая 

показывает, как должны быть напечатаны аргументы. Например: 

printf ( “Значение числа Пи равно  %f\n”, pi); 
Форматная строка может содержать 

1)

символы печатаемые текстуально; 

2)

спецификации преобразования; 

3)

управляющие символы. 

Каждому аргументу соответствует своя спецификация преобразования: 
%d, %i - десятичное целое число; 
%f -  число с плавающей точкой; 
%e,%E – число с плавающей точкой в экспоненциальной форме; 
%u – десятичное число в беззнаковой форме; 
%c -  символ; 
%s -  строка. 
В форматную строку также могут входить управляющие символы: 
 \n - управляющий символ новая строка; 
\t – табуляция; 
\a – звуковой сигнал и др. 
Также  в  форматной  строке  могут  использоваться  модификаторы  формата, 

которые управляют шириной поля, отводимого для размещения выводимого значения. 
Модификаторы – это числа, которые указывают минимальное количество позиций для 
вывода значения и количество позиций ля вывода дробной части числа: 

%[-]m[.p]C, где 

1.

- задает выравнивание по левому краю, 

m – минимальная ширина поля, 
p  –  количество  цифр  после  запятой  для  чисел  с  плавающей  точкой  и 

минимальное  количество  выводимых  цифр  для  целых  чисел  (если  цифр  в 
числе меньше, чем значение р, то выводятся начальные нули), 

С- спецификация формата вывода. 

Пример 
printf("\nСпецификации  формата:\n%10.5d  -  целое,\n%10.5f  -  с  плавающей 

точкой\ 

\n%10.5e – в экспоненциальной форме\n%10s - строка",10,10.0,10.0,"10"); 
Будет выведено: 
Спецификации формата: 
     00010 – целое 
  10.00000 – с плавающей точкой 
1.00000е+001 -  в экспоненциальной форме 
        10 – строка. 
2) scanf ( форматная строка, список аргументов); 
В качестве аргументов используются адреса переменных. Например: 
scanf(“ %d%f ”, &x,&y); 


background image

18 

При использовании библиотеки классов Си++,

Используется 

библиотечный 

файл  iostream.h,  в  котором  определены  стандартные  потоки  ввода  данных  от 
клавиатуры  cin  и  вывода  данных  на  экран  дисплея  cout,  а  также  соответствующие 
операции 

1) 

<< - операция записи данных в поток; 

2) 

>> - операция чтения данных из потока. 

Например: 
#include <iostream.h>; 
. . . . . . . . . 
cout << “\nВведите количество элементов: ”; 
cin >> n; 
 

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

1.

Что такое форматная строка? Что содержит форматная строка функции printf? 
Что содержит форматная строка функции scanf?  

2.

Что такое спецификация преобразования? Привести примеры спецификаций 
преобразования для различных типов данных. 

3.

Что будет выведено функцией 
printf("\nСреднее арифметическое последовательности чисел равно: %10.5f 
\nКоличество четных элементов последовательности равно%10.5d ",S/n,k); 

4.

Как записать вывод результатов из вопроса 3 с помощью операции << ? 

5.

Как выполнить ввод переменных х и у, где x типа long int, а у типа double с 
помощью функции scanf? С помощью операции >> ? 


background image

19 

4. Основные операторы языка Си++» 

4.1. Базовые конструкции структурного программирования 

В  теории  программирования  доказано,  что  программу  для  решения  задачи 

любой  сложности  можно  составить  только  из  трех  структур:  линейной, 
разветвляющейся и циклической. Эти структуры называются базовыми конструкциями 
структурного программирования.  

Линейной  называется  конструкция,  представляющая  собой  последовательное 

соединение двух или более операторов. 

Ветвление  –  задает  выполнение  одного  из  двух  операторов,  в  зависимости  от 

выполнения какого либо условия. 

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

Ветвление 

Цикл 

 
 
 
 
 
 
 
 

Целью  использования  базовых  конструкций  является  получение  программы 

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

Операторы  управления  работой  программы  называют  управляющими 

конструкциями программы. К ним относят: 

 составные операторы; 

операторы выбора; 

операторы циклов; 

операторы перехода. 

4.2. Оператор «выражение» 

Любое  выражение,  заканчивающееся  точкой  с  запятой,  рассматривается  как 

оператор, выполнение которого заключается в вычислении этого выражения. Частным 
случаем выражения является пустой оператор ;. 

Примеры: 
i++; 
a+=2; 
x=a+b; 

4.3. Составные операторы 

К  составным  операторам  относят  собственно  составные  операторы  и 

блоки. В обоих случаях это последовательность операторов, заключенная в фигурные 
скобки. Блок отличается от составного оператора наличием определений в теле блока. 
Например: 


n++;   

это составной оператор 

summa+=n; 


background image

20 


 

int n=0; 
n++;   

это блок 

summa+=n; 

 

4.4. Операторы выбора 

Операторы выбора - это условный оператор и переключатель.  
1. Условный оператор имеет полную и сокращенную форму.  
if (выражение-условие ) оператор;  

//сокращенная форма 

В  качестве  выражения-условия  могут  использоваться  арифметическое 

выражение,  отношение  и  логическое  выражение.  Если  значение  выражения-условия 
отлично от нуля (т. е. истинно), то выполняется оператор. Например: 

if (x<y&&x<z)min=x; 
if ( выражение-условие ) оператор1; 

//полная форма 

else  оператор2; 
Если значение выражения-условия отлично от нуля, то выполняется оператор1, 

при нулевом значении выражения-условия выполняется оператор2.Например: 

if (d>=0) 

x1=(-b-sqrt(d))/(2*a); 
x2=(-b+sqrt(d))/(2*a); 
cout<< “\nx1=”<<x1<<“x2=”<<x2; 

else cout<<“\nРешения нет”; 
2.Переключатель определяет множественный выбор. 
switch (выражение) 

case константа1 : оператор1 ; 
case константа2 : оператор2 ; 
. . . . . . . . . . .  
[default: операторы;] 

При  выполнении  оператора  switch,  вычисляется  выражение,  записанное  после 

switch,  оно  должно  быть  целочисленным.  Полученное  значение  последовательно 
сравнивается  с  константами,  которые  записаны  следом  за  case.  При  первом  же 
совпадении  выполняются  операторы  помеченные  данной  меткой.  Если  выполненные 
операторы  не  содержат  оператора  перехода,  то  далее  выполняются  операторы  всех 
следующих  вариантов,  пока  не  появится  оператор  перехода  или  не  закончится 
переключатель.  Если  значение  выражения,  записанного  после  switch  не  совпало  ни  с 
одной  константой,  то  выполняются  операторы,  которые  следуют  за  меткой  default. 
Метка default может отсутствовать. 

Пример: 
#include <iostream.h> 
void main() 

 

int i; 

cout<<"\nEnter the number";