русс | укр

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

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

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

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


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

Scanf( )


Дата добавления: 2013-12-24; просмотров: 1099; Нарушение авторских прав


Выровненый вывод

Спецификатор точности

Спецификатор минимума ширины поля

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

Таблица 2

Опциональные префиксы для целых чисел

Вывод адресов

Пример

#include <stdio.h>

 

int main(void)

{

 

/* Вывод адресов */

 

int sample;

 

printf("%p ", &sample);

getchar();

return 0;

}

 

Спецификатор %n

Пример

#include <stdio.h>

 

int main(void)

{

 

int sample;

/* Спецификатор %n */

 

printf("This%n is a test\n", &sample);

printf("%d\n", sample);

getchar();

return 0;

}

 


Код Значение
h Короткое целое short
l Длинное целое long
ll Дважды длинное целое long long
I32 Тип __int32
I64 Тип __int64

 

Целое число, помещаемое между знаком % и кодом формата, рассматривается как спецификатор минимума ширины поля.

Пример

#include <stdio.h>

int main(void)

{

double item;

item = 10.12304;

printf(“%f\n”, item);

printf(“%10f\n”, item);

printf(“%012f\n”,item);

return 0;

}

Спецификатор точности состоит из точки, за которой следует целое число.

#include <stdio.h>

int main(void)

{

printf(“%.4f\n”, 123.1234567);

printf(“%3.8d\n”, 1000);

printf(“%10.15s\n”, “This is a simple test”);

return 0;

}

В результате получим

123.1235

This is a simpl

Модификаторы * и #

Помещение # перед g, G, f, e или E обеспечивает наличие десятичной точки в случае отсутствия дробной части. Если перед спецификатором o поместить #, то выведенное число будет иметь в начале 0. Если перед спецификаторами формата x или X поставить #, то шестнадцатеричное число будет печататься с префиксом 0x. Нельзя применять # к другим спецификаторам формата.



Помимо констант, спецификаторы минимальной ширины поля и точности могут предоставляться аргументами printf(). Для реализации этого следует использовать *.

printf(“%*.*f”, 10, 4, 123.4)


Стандартный ввод с консоли, как правило, осуществляется с помощью scanf(). Она читает все стандартные типы данных и автоматически преобразует числа к правильному внутреннему формату. Стандартный вид scanf() следующий:

 

int scanf(const char * форматная_строка, …);


форматная_строка определяет способ чтения значений в переменные, на которые указывает список аргументов. Форматная строка состоит из трёх типов символов:

- Спецификаторы формата

- Специальные символы

- Стандартные символы

Функция scanf( ) возвращает число введённых полей. Она возвращает EOF, если обнаруживается преждевременный конец файла.

Спецификаторы формата перечислены в следующей таблице:

Код %c %d %i %e %f %lf %g %o %s %x %p %n   %u %[] Значение Читает одиночные символы Читает десятичное число Читает десятичное число Читает число с плавающей запятой Читает число с плавающей запятой Читает число с плавающей запятой двойной точности Читает число с плавающей запятой Читает восьмеричное число Читает строку Читает шестнадцатеричное число Читает указатель Получает целочисленное значение, равное числу прочитанных символов Читает беззнаковое целое Сканирует множество символов

 

В scanf( )следует передавать адреса. Это означает, что все аргументы должны быть указателями на переменные. Например, для чтения целого в переменную count надо использовать следующий вызов scanf():

scanf(“%d”, &count);

Во избежание ошибок при вводе из-за несовпадения форматов, можно пользоваться значением возвращаемым функцией scanf().

Например:

#include <stdio.h>

#include <clocale>

 

int main()

{

setlocale(LC_CTYPE,"Russian");

 

int x, flag = 0;

printf("Введите число ");

do{

flag = scanf("%d", &x);

if(flag != 1) {

puts("Вы попытались ввести не число,");

puts("попробуйте ещё раз");

fflush(stdin);

}

}while(flag != 1);

printf("Введённое Вами число %d\n", x);

 

return 0;

}

 




<== предыдущая лекция | следующая лекция ==>
Вывод чисел | Запись символа


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


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

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

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


 


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

 
 

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

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