Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вопросы для самопроверки. Вопросы для самопроверки и контроля




Вопросы для самопроверки и контроля

Внутренняя передача данных (функции sscanf и sprintf)

Функции gets и puts

Функции getchar и putchar

Прототип: int getchar (void); - чтение одного символа с клавиатуры.

Файл прототипа: stdio.h.

Возвращаемое значение: символ (при успешном вводе)или EOF (ошибка ввода или конец файла). Признак конца файла при вводе: символы Ctrl + z.

Прототип: int putchar (int); - вывод одного символа на экран.

Файл прототипа: stdio.h

Возвращаемое значение: символ (успех)| EOF (ошибка).

Пример.

/* Чтение строки с терминала. */

/* Возвращает указатель на строку и ее длину */

int getline(char *s, // Введенная строка

int lim){ // Ее максимальная длина

int c, // Вводимый символ

i;

fo r(i=0; i<lim && (c= getchar ())!= EOF && c!='\n'; i++){

s[ i ]=c;

}

s[ i ]='\0';

return i;

} // End getline

Прототип: char * gets (char *); - чтение строки символов.

Файл прототипа: stdio.h.

Возвращаемое значение: указатель на введенную строку (успех) | NULL - "пустой" указатель.

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

Пример.

char string[20];

................

gets (string);

Замечание. Можно включать в строку пробелы в отличие от спецификации s функции scanf.

Прототип: int puts (char *); - вывод на экран строки символов.

Файл прототипа: stdio.h.

Возвращаемое значение: последний выведенный символ (успех) | EOF (конец файла).

Замечание. Конечный 0 не выводится. В конец строки добавляется символ перевод строки.

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

Преобразование из символьной строки во внутреннее представление.

Прототип: int sscanf (char *buf, char *control, аргумент[, аргумент]...);

Здесь buf – исходная строка, control – управляющая строка.

Возвращаемое значение – см.функцию scanf.

Преобразование из внутреннего представления в символьную строку.

Прототип: int sprintf (char *buf, char *control, аргумент[, аргумент]...);

Файл прототипов обеих функций: stdio.h.

Возвращаемое значение: длина сформированной строки - число байтов без конечного 0, который добавляется или EOF (при ошибке).


Пример.

i=4;

a[ i ] = -37.45;

sprintf (mult, "<%12.5e%3s%d>", a[ i ], "x**",i);

Результат будет иметь вид: < -3.7450e+01x**4>.

1. Какие символы являются ограничителями ввода для спецификации s функции scanf?

2. Удаляются ли символы-ограничители из входного потока функцией gets?

3. Какой символ помещается в конец выводимой строки функцией puts?

4. Можно ли ввести строку, содержащую пробелы, функцией scanf?

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

1. Какой символ ограничивает ввод функции gets?

2. Что возвращает функция getchar при ошибке ввода?

3. Для чего можно использовать функции внутренней передачи данных?

4. Какие стандартные потоки определены в языке C?

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 316; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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