Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_na_c.pdf
Скачиваний:
125
Добавлен:
06.02.2015
Размер:
665 Кб
Скачать

Далее в рамках изучения курса «Информатика» с целью упрощения понимания программ будут приводиться примеры лишь такой директивой препроцессора, как #include.

2.1.6.Предварительные замечания о функциях ввода/вывода

Вязыке нет встроенных средств ввода/вывода. Он осуществляется

спомощью подпрограмм, типов и объектов, содержащихся в стандартных библиотеках ANSI C <stdio.h> и C++ <iostream.h>.

Основные функции ввода/вывода в стиле языка C:

int scanf (const char* format...)// ввод int printf(const char* format...)// вывод

Они выполняют форматированный ввод и вывод произвольного количества величин в соответствии со строкой формата format. Строка формата содержит символы, которые при выводе копируются в поток (на экран) или запрашиваются из потока (с клавиатуры) при вводе, и спецификации преобразования, начинающиеся со знака %, которые при вводе и выводе заменяются конкретными величинами. Типы спецификаторов представлены в табл. 3.

Таблица 3

 

Спецификаторы формата для функции printf()

 

 

символ

%d

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

%i

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

%e

десятичное число в виде x.xx e+xx

%E

десятичное число в виде x.xx E+xx

%f

десятичное число с плавающей запятой xx.xxxx

%F

десятичное число с плавающей запятой xx.xxxx

%g

%f или %e, что короче

%G

%F или %E, что короче

%o

восьмеричное число

%s

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

%u

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

%x

шестнадцатеричное число

%X

шестнадцатеричное число

%%

символ %

%p

указатель

%n

указатель

17

Кроме того, к командам формата могут быть применены модификаторы l и h (табл. 4).

Таблица 4

 

Модификаторы формата

 

 

%ld

печать long int

%hu

печать short unsigned

%Lf

печать long double

В спецификаторе формата, после символа % может быть указана точность (число цифр после запятой). Точность задаётся следующим образом: %.n<код формата>. Где n – число цифр после запятой, а <код формата> – один из кодов приведённых выше.

Например, если имеется переменная x=10.3563 типа float и необходимо вывести её значение с точностью до 3-х цифр после запятой, то

надо написать:

printf(«Переменная x = %.3f»,x);

В результате получится:

Переменная x = 10.356

Можете также указать минимальную ширину поля отводимого для печати. Если строка или число больше указанной ширины поля, то строка или число печатается полностью.

Например, если написано: printf("%5d",20);

то результат будет следующим:

20

Следует обратить внимание на то, что число 20 напечаталось не с самого начала строки. Если вы надо, чтобы неиспользованные места поля заполнялись нулями, то нужно поставить перед шириной поля

символ 0: printf("%05d",20);

Результат:

00020

Кроме спецификаторов формата данных в управляющей строке могут находиться управляющие символы (табл. 5).

Таблица 5

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

18

\f

Новая страница, перевод страницы

\n

Новая строка, перевод строки

\r

Возврат каретки

\t

Горизонтальная табуляция

\v

Вертикальная табуляция

\"

Двойная кавычка

\'

Апостроф

\\

Обратная косая черта

\0

Нулевой символ, нулевой байт

\a

Сигнал

\N

Восьмеричная константа

\xN

Шестнадцатеричная константа

\?

Знак вопроса

Чаще всего используется символ \n. С помощью этого управляющего символа можно переходить на новую строку.

Пример 2

#include <stdio.h> int main(

{

int i;

printf("Введите целое число\n"); scanf("%d", &i);

printf("Вы ввели число %d, спасибо!", i);

}

Первая строка программы, приведённой в примере 1, – директива препроцессора, по которой в текст программы вставляется заголовочный файл <stdio.h>, содержащий описание использованных в программе функций ввода/вывод. Все директивы препроцессора начинаются со знака #.

Третья строка – описание переменной целого типа с именем i. Функция printf в четвертой строке выводит приглашение «Введите

целое число» и переходит на новую строку в соответствии с управляющей последовательностью \n. Функция scanf заносит введенное с клавиатуры целое число в переменную i, а следующий оператор выводит на экран указанную в нем строку, заменив спецификацию преобразования на значение этого числа. Ввод/вывод в стиле языка C рассмотрен в разделе «Функции ввода/вывода».

19

Пример 3. Вывести на экран: a=5, b=6, c=9

Код программы:

#include <stdio.h> #include <conio.h> void main()

{

int a,b,c; // Объявление переменных a,b,c a=5; b=6; c=9;

printf("a=%d, b=%d, c=%d",a,b,c); getch();

}

Блок-схема программы:

начало

int a,b,c

a=5; b=6; c=9;

a, b,c

getch ()

конец

В примере 3 отражены основные особенности структуры программ на C++, а так же синтаксис и структура. Первые две строки отражают директивы препроцессора, в заголовочных файлах которого подключа-

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]