русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Элементарный ввод вывод в Си.


Дата добавления: 2015-08-14; просмотров: 4815; Нарушение авторских прав


 

 

Особенность Си – отсутствие в языке операторов ввода – вывода, вместо них используют библиотечные функции.

Устройства ввода – вывода это клавиатура и дисплей (консоль).

Бывает:

— Неформатированный

— Форматированный.

 

Функции неформатированного ввода – вывода:

1. функции ввода – вывода символов:

putchar ( ) - не переводит строку.

Getchar ( )

 

/*putgetch.cpp Иллюстрация ввода – вывода */

#include <stdio.h>



#define initial ‘H’

main ( )

{

char letter = ‘G’;

char in_letter;

putchar (initial);

putchar (letter);

putchar (‘\a’);

putchar (‘\n’);

in _letter = getchar ( );

putchar (in_letter);

putchar (‘n’);

return 0;

}

 

putgetch.exe

HG звонок

_X

_

 

2. функции ввода – вывода строки:

puts ( ) – выводит строку с переходом на новую строку.

Gets ( ) – вводит строку, символы которой набираются с клавиатуры, ввод заканчивает ENTER.

 

/* getsputs.cpp Имитация ввода – вывода */

#include <stdio.h>



main ( )

{

char name [20];

char full_name [80];

puts (‘Введите ваше имя’);

gets (name);

puts (“Ввод подтверждается”);

puts (name);

puts (“Введите ваше ФИО”);

gets (full_name);

puts (“Ввод подтверждается”);

puts (full_name);

return 0;

}

 

3. Функции форматированного ввода – вывода позволяет обрабатывать несколько переменных, выполнять преобразование данных;

Printf ( ) – выводит данные на экран.

Scanf ( ) – принимает данные с клавиатуры.

 

Функция printf ( ) выводит на экран строку символов до знака %ХХХ.

ХХХ – тип выводимых данных (спецификация)

%d – целое число.

%f – вещественное число.

%c – символ.

%s – строка.

 

Printf ( ) – не переводит строку.

 

/*print.cpp Имитация вывода*/

#include <stdio.h>



main ( )

{

int a=5, b=7, c;

c=a+b;

printf (“Сумма равна %d \n”,c);

return 0;

}

 

При выводе вещественных чисел по умолчанию выводится шесть знаков после запятой:

 

float a=1.2, b=1.44, c;

c=a+b;

printf (“Сумма равна %d \n”,c);

 

на экране будет: сумма равна 2.639999

 

Чтобы изменить:

Printf (“Сумма равна %2f \n”,c);

Тогда будет только 2 знака после запятой.

 

/*inout2.cpp Программа ввода – вывода */

#include <stdio.h>



main ( )

{

int a,b,c;

printf (“Введите два целых числа:”);

scanf (“%d %d”,&a, &b);

c=a+b;

printf (“Результат равен %d \n”, c);

return 0;

}

 

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

Fflush (stdin) – функция, очищающая буфер, ее надо ставить перед функцией scanf.

Gets ( ) – вводит данные в виде строки.

Atoi ( ) – преобразует строку в данные типа int.

Atof ( ) – преобразует строку в данные типа вещественные.

 

Они в заголовочном файле stdlib.h

 

/*inout3.cpp */

#include <stdio.h>



#include <stdlib.h>

main ( )

{

char name [80];

age_str [80];

weight_str [80];

int age;

float weight;

printf (“Введите ваше имя:”);

gets (name);

printf (“Привет %s! \n” name);

printf (“Какой ваш возраст?”);

gets (age_str);

age=atoi (age_str);

printf (“А какой у вас вес?”);

gets (weight_str);

weight = atof (weight_str);

printf (“Подтверждаю ввод, возраст - %d, вес - %2f \n”, age, weight);

return 0;

}

 

gethch ( ) – вводит символ с клавиатуры и не отображает его на экране, нажатие ENTER не надо, это функция возвращает тип char.

Часто это функция используется для ввода значений, например из какого та списка.
puts (”для продолжения нажмите ENTER”);

Getch ( ) – находится в заголовочном файле conio.h.

 

 



<== предыдущая лекция | следующая лекция ==>
Строковые переменные и константы. | Операция и выражения в языке Си.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.999 сек.