Скачать 449.68 Kb.
|
Функции printf () и scanf ()
int printf ( char * управляющая строка , arg… ); int scanf ( char * управляющая строка , arg…) ;
Спецификаторы задаются с помощью знака % с буквами и цифрами
для printf – это значения выражений, в частности числа, переменные, константы , строки. для scanf – это список адресов переменных типы которых, указанных в строке формата для каждого аргумента последовательно ( первый формат соответствует первому аргументу, второй – второму и т. д.) printf Функция printf() возвращает общее число выводимых значений при успешном выводе Int result; Result =printf (“ … \n”, …) int %d , %i – для вывода десятеричных значений; %0 - в восьмеричном формате; % x, % X –в шестнадцатеричном; int v = 255; printf (“ значение %d в восьмеричном формате %0\n”, v, v ) printf('' значение %d в шестн. формате %x и %X\n’’, v, v,v) значение 255 в восьмеричном формате 377 значение 255 в шестн. формате ff и FF unsigned int %u unsigned int a = 42000 printf (“%u % d\n’’, a, a ) 42000 -23536 long float shot unsigned long double long int % ld % f % hu % lf символы % и 0 и x ,X %% %#0 %#x %#X char % c printf ( “ буква %c\n’’ , ‘A’); буква А printf ( “ буква %c\n’’ , 65); буква А Вывод чисел с плавающей точкой в экспоненциальном виде: %e или %E Float a=3.14159 , b= 2.0031; Printf (‘’ %e %E” , a, b ) 3.14159e +00 2.0031E+00 на усмотрение машины %g printf ( “ %g\n’’, 0.1234) ; printf (“%g\n”,0.000001234)
Строки %s char t [255]=” Pascal”; printf ( “ Название-%s\n”, t) Название – Pascal Вывод указателей %p , %n int v ; printf(“Адрес переменной=%p\n”, &v) Адрес переменной= FFF4 Вывод числа со знаком(положительным и отрицательным) %+d %+f int a=5, b=-5; float c= 1.5, d=-1.5; printf(“%+d %+d %+f %+f ” , a, b , c , d ); +5 -5 +1.5 -1.5 Количество символов- мест для вывода Int v = 5; Printf( “%1d \n”,v) 5 Printf( “%2d \n”,v) 5 Printf( “%3d \n”,v) 5 Если дано меньше, чем надо для вывода целого , символьной строки , добавляется необходимые места Вывод целых с ведущими нулями Printf( “ %01d\n”, v) 5 Printf( “ %02d\n”, v) 05 Форматирование чисел с плавающей точкой
float f =1.23456; printf( “ %8.1f\n”,f) _ _ _ _ _ 1.2 printf( “ %8.3f\n”,f) _ _ _ 1.235 форматирование экспоненциального представления аналогично: printf( “ %12.1 e\n”, f) _ _ _ _ _ 1.2e+00 printf( “ %12.5 e\n”, f) _ 1.23456e+00 Выравнивание влево и вправо: Printf ( “ %5d , 5) _ _ _ _ 5 Printf ( “ %-5d , 5) 5 _ _ _ _ Scanf() Функция производит ввод данных с клавиатуры в переменные , адреса которых задаются аргументами (arg) Возвращаемое значение функцией – количество успешно введенных и присвоенных значений Управляющая строка содержит спецификации формата, пробелы и др. символы. Спецификации: %c - чтение символа %d – чтение десятичного целого %i – чтение десятичного целого %e- чтение числа типа float %h- чтение числа типа short int %0- чтение восьмеричного числа %s- чтение строки %x- чтение шестнадцатеричного числа %p- чтение указателя -Спецификация формата не содержит пробелов. Пробельные символы - пробелы ( _ ), символы табуляции ( ‘\t’) , новой строки ('\n') перевода каретки ('\r’) - разделители между двумя вводимыми символами. Символы очередного значения выделяются до первого пробельного символа. Другие символы (ненулевые) указывают на чтение и отбрасывание этих символов, это любые символы , которые надо игнорировать. Scanf(“%dplus%d” , &i , &j) поток символов 5plus10 i=5 , j = 10 Переменные должны указываться адресом: Scanf(“%d %d “, &i , & j); Scanf(“%5s “, str) Возможно задать множество поиска - список символов в квадратных скобках Char s[10],t[10]; Scanf (“%[0123456789]%s’’,s ,t ) Поток ввода : 123прлаы456 S= “123” t= “прлаы456” Ввод – вывод записей Используется бинарный режим обмена с файлом , состоящим из записей фиксированной длины. В одном обмене может участвовать одна и более записей. Чтение записей из файла в переменные ОП: int fread ( void*ptr , unsigned size ,int k, FILE*stream) Ptr- адрес ОП переменной любого типа, в которую читается запись Size- длина записи в байтах K- количество записей Stream- имя указателя на файловый поток , связанного с файлом из которого считывают данные Вывод записей в файл: int fwrite ( const void*ptr , unsigned size ,int k, FILE*stream) Из переменной ОП , адресуемой ptr , считываются k записей и записываюся в файл, связанный с потоком stream. Возвращаемое значение всех этих функций - это количество прочитанных или записанных значений ( или записей). Дополнительные функции: int feof ( FILE*stream) - возвращает 0 , если конец файла не достигнут и не нуль – если достигнут int fseek(FILE*stream, long offset , int n) – устанавливает указатель для чтения или записи в нужное место offset -смещение от начала, которое задается параметром n SEEK_SET=0 SEEK_CUR=1 SEEK_END=2 Возвращает 0 – если указатель перемещен успешно и не ноль в обратном случае. void rewind (FILE*stream) – устанавливает указатель на начало файла. Массивы файлов Если надо одновременно работать с несколькими файлами , целесообразно использовать массивы файлов. FILE*f[k] //– объявление массива файлов //Удобно формировать имена файлов, включающие номер файла. Char* s =new char[14]; Char*s1=new char [4] ; For(int i=0; i {strcat ( strcat ( strcpy ( s , «file»), itoa( i , s1 ,10) ) , «.dat») f[i]=fopen(s, «w»);} … Аналогично можно определить и с помощью классов. Определить массив объектов класса. ofstream fout[i]; Char* s =new char[14]; Char*s1=new char [4] ; For(int i=0; i {strcat ( strcat ( strcpy(s , «file»), itoa( i , s1 ,10) ) , «.dat») fout[i].open(s, ios::out ); }… |
Федеральной налоговой службы от 27 июня 2005 г. N 7н/саэ-3-10/285 "Об обмене информацией в электронном виде между управлениями Федерального... | Ректор фгбоу впо “Саратовский государственный университет имени Н. Г. Чернышевского” | ||
Установите соответствие между высказываниями каждого говорящего a-f и утверждениями^ данными в списке 1-7, Используйте каждое утверждение,... | Установите соответствие между высказываниями каждого говорящего a f и утверждениями, данными в списке 1 Используйте каждое утверждение,... | ||
Установите соответствие между высказываниями каждого говорящего A–F и утверждениями, данными в списке 1 Используйте каждое утверждение,... | Настоящие Правила определяют порядок заполнения заявления о ввозе товаров и уплате косвенных налогов (далее Заявление) по форме Приложения... | ||
Вы услышите 6 высказываний. Установите соответствие между высказываниями каждого говорящего A–F и утверждениями, данными в списке... | |||
Установите соответствие между высказываниями каждого говорящего 1–6 и утверждениями, данными в списке A–G. Используйте каждое утверждение,... | Установите соответствие между высказываниями каждого говорящего 1–6 и утверждениями, данными в списке A–G. Используйте каждое утверждение,... |
Поиск Главная страница   Заполнение бланков   Бланки   Договоры   Документы    |