Для вывода информации на экран используется оператор printf(…), который выглядит следующим образом:
printf (“управляющая строка”,список вывода);
Управляющая строка определяет форму вывода информации и может включать в себя поясняющий текст, форматные спецификации и символ перевода строки.
Форматные спецификации содержат знак % и символ, соответствующий типу вводимой информации:
%d – целые десятичные
%u – беззнаковое десятичное
%c - символ
%s – строка
%f – вещественное с десятичными знаками.
%е – вещественное с порядком
%g – короткое вещественное
%0 – восьмиричное
%x – шестнадцатиричное
\n – переход на новую строку
Список вывода содержит имена тех переменных, значения которых будут выводиться на экран. Каждому имени переменной в списке вывода должна соответствовать форматная спецификация адекватного типа.
Пример 3.2
int n=200;
float a=17.25, b=21.47;
printf(“n=%d_ _ a=%f_ _ b = %e\n ”, n,a, b);
на экране n=200_ _ a=17.250000_ _ b=2.147000e-01
Управление в форматных спецификациях.
1. Для переменных целого типа (символьных, беззнаковых десятичных, целых, восьмеричных, шестнадцатеричных):
|
|
%[-][h]<тип>
где [-] - выравнивание записи по левому краю,
[h] - число, определяющее количество позиций под переменную:
%5d _ _ 200
%-5d 200
2. Для переменных вещественного типа:
%[-] [h][.t] <тип>
где.t – количество позиций, отводимых под дробную часть:
Пример 3.3
printf(“a=%5.2f_ _ b=%.3e”, a, b);
На экране: a = 17.25 b = 2.147e-01
Ввод данных с клавиатуры.
scanf(…) – структура оператора для ввода данных аналогична структуре оператора printf(…).
scanf(“управляющая строка”, список указателей);
Оператор ввода читает символы из входного потока информации и интерпретирует их согласно форматной спецификации управляющей строки.
Список ввода - список указателей, которые определяют, где будут располагаться введенные данные, поэтому перед именами переменных списка указателей ставится знак &.
Пример 3.4:
int k;
float y;
char t;
printf(“Введите значения k, y, t \ n “);
scanf(“%d%f%c”, &k, &y, & t);
Для осуществления ввода, вывода необходимо использовать файл стандартной библиотеки stdio.h.
#include<stdio.h>
Оператор перехода.
Оператор gotoпозволяет реализовать передачу программного управления из одной точки программы в другую.
Форма записи:
goto M;
где: М– метка оператора, обозначается обычным идентификатором, между меткой и помечаемым оператором размещается двоеточие:
lab1: y = 2*x + 1.5;
..........
goto lab1;
Пример 3.5:
#include <stdio.h>
void main()
{
int number =1;
label: printf(“Число: % 2d\n”, number);
number++;
if (number<=10) goto label;
}
Условный оператор.
Условный оператор предназначен для проверки заданного условия и выбора выполняемых действий (операторов) в зависимости от истинности (ложности) условия. Имеется 2 формы записи условного оператора:
|
|
1.Полная форма:
if(L) A1; else A2;
где:
L- некоторое логическое выражение;
A1, A2 – простые или составные операторы.
Оператор работает таким образом, что если проверяемое условие истина, то выполняется оператор А1, оператор А2 пропускается и выполняется оператор, следующий за условным.
Если проверяемое условие ложь, то пропускается оператор А1, выполняется оператор А2, а затем выполняется оператор, следующий за условным, что можно проследить на блок-схеме
2.Сокращенная форма:
if(L) A;
Оператор работает таким образом, что если проверяемое условие истина, то выполняется оператор А и далее выполняется оператор, следующий за условным.
Если проверяемое условие ложь, то пропускается оператор А, и сразу выполняется оператор, следующий за условным, что можно проследить на блок-схеме
Обычно, операторы А1, А2, А являются составными и общая структура оператора будет выглядеть следующим образом
if(выражение)
{оператор1;
…
оператор n; }
else
{оператор1;
…
оператор n;
}