Спецификаторы формата на разных языках программирования
Форматирование в C:
В языке C спецификаторы формата используются для ввода и вывода. Это способ сообщить компилятору, какой тип данных находится в переменной во время ввода с помощью scanf () или печати с помощью printf (). Ниже приведены некоторые спецификаторы формата в C:
- % d или% i: указатель целочисленного формата
- % c: Описатель формата символа
- % f: описатель формата с плавающей запятой.
- % s: указатель формата строки.
- % lf: указатель двойного формата.
- % e или% E: описатель формата с плавающей запятой (экспоненциальный).
В программировании на C мы используем scanf () для форматированного ввода и printf () для форматированного вывода, gets () или getchar () для неформатированного ввода и put () или putchar () для неформатированного вывода.
Ниже приведена программа для иллюстрации некоторых спецификаторов формата в C:
// C program to illustrate format // specifiers in C #include <stdio.h> // Driver Code int main() { int N = 10; double F = 42.152; // Integer formatted output printf ( "%d
" , N); // Exponential formatted output printf ( "%e
" , F); // Unformatted String Output puts ( "Welcome to GeeksforGeeks!" ); } |
10 4.215200e + 01 Добро пожаловать в GeeksforGeeks!
Форматирование в C ++:
Поскольку C ++ является расширением языка C, мы по-прежнему используем потоки ввода и вывода для форматирования ввода или вывода. Ниже приведены некоторые входные / выходные данные, используемые в C ++:
- Стандартный поток ввода (cin): в C ++ cin является объектом istream . Он принимает ввод со стандартного устройства ввода, т. Е. С клавиатуры. cin используется вместе с оператором извлечения ( >> ) для получения или получения потока символов.
- Стандартный поток вывода (cout): в C ++ cout является объектом ostream. Он используется для печати вывода на стандартное устройство вывода, т. Е. На монитор. cout используется вместе с оператором вставки ( << ). Если мы используем «endl», он создаст символ новой строки, как и « n», но он также имеет дополнительное поведение, то есть вывод должен быть физически записан в устройство, если этого еще не было. он влияет на полностью буферизованные потоки, но cout не полностью буферизуется, поэтому рекомендуется использовать endl с cout.
- Небуферизованный стандартный поток ошибок (cerr): в C ++ cerr является объектом ostream. cerr используется вместе с оператором вставки ( << ). В отличие от буферизованного вывода, небуферизованный вывод продолжает записывать данные на диск. При критических ошибках, при которых существует вероятность сбоя системы, вывод с буферизацией не является предпочтительным. Но cerr работает медленно, поскольку продолжает записывать данные на диск.
- Буферизованный стандартный поток ошибок (засорение): в C ++ засорение используется для ведения журнала. Это объект притока. clog используется вместе с оператором вставки ( << ). В некоторых случаях буферизованный вывод более эффективен, чем небуферизованный вывод. В случае вывода с буферизацией все ошибки вывода сохраняются в переменной и записываются на диск одновременно.
Ниже приведены некоторые функции потока ввода / вывода:
- setw () или width (): используется для установки ширины на заданное значение. Результат будет отображаться с заданной шириной.
- setprecision () или precision (): в значении с плавающей запятой, если нам нужно установить количество значений, которые будут напечатаны после десятичной точки.
- setiosflags (): используется для установки флагов форматирования вывода.
- setfill () или fill (): используется для заполнения пустого пространства поля.
- Resetiosflags (): используется для удаления установленных флагов.
Ниже приведена программа для иллюстрации некоторых потоков форматирования на C ++:
// C++ program to illustrate format // specifiers in C++ #include <bits/stdc++.h> using namespace std; // Driver Code int main() { string str = "GeeksforGeeks!" ; // Output stream to print string cout << str << endl; float f = 12.4578452f; // Print floating value upto N digits cout << setprecision(4) << f << endl; // To print the hexadecimal value of 42 cout << hex << 42 << endl; return 0; } |
GeeksforGeeks! 12,46 2а
Форматирование в Java:
В Java форматирование вывода можно выполнить двумя способами:
- System.out.printf (): он принимает несколько аргументов, в отличие от print () и println (), поскольку print () и println () принимают один аргумент.
- System.out.format (): похож на printf () . И printf (), и format () принадлежат PrintStream пакета java.io. Эти printf () и format () похожи на функцию printf () в C, мы также можем использовать флаги со спецификаторами формата.
Ниже приведена программа для иллюстрации некоторых спецификаторов формата в Python:
// Java program to illustrate // some format specifiers import java.util.Scanner; import java.io.PrintStream; // Class Main public class Main { // Driver Code public static void main(String[] args) { Scanner sc = new Scanner(System.in); // Name and Age String name = "GeeksforGeeks" ; int age = 5 ; // Formatted String using printf() System.out.printf( "Name: %s, Age: %d" , name, age); System.out.println(); // Formatted String using format() System.out.format( "%nName: %s%nAge: %d%n" , name, age); } } |
Имя: GeeksforGeeks, Возраст: 5 Имя: GeeksforGeeks Возраст: 5
Форматирование в Python:
Python в настоящее время является наиболее широко используемым многоцелевым языком программирования высокого уровня. Это динамический язык, который очень легко форматировать. <a href="https://www.geeksforgeeks.org/taking-input-in-python/"> функция input () в python всегда возвращает строку, преобразовывая их в требуемый тип данных, мы можем выполнять различные операции.
- Неформатированные спецификаторы: функция print () в Python используется для печати аргументов, переданных в этой функции. Мы можем использовать параметр sep для печати переданных аргументов с помощью разделителя.
- Форматированные спецификаторы: для форматированного вывода мы используем функцию format () в Python в функции print () для форматирования вывода.
Для форматирования строк Python использует форматирование строк в стиле C для создания новых отформатированных строк. Оператор «%» используется для форматирования набора переменных, заключенных в список, вместе со строкой формата, которая содержит обычный текст вместе с «спецификаторами аргументов», специальными символами, такими как «% s» и «% d».
Ниже приведена программа для иллюстрации некоторых спецификаторов формата в Python:
# Python program to illustrate # format specifiers in Python str = "GeeksforGeeks" str1 = "Welcome to" # Unformatted Output in Python print ( "Welcome to GfG !" ) # Unformatted Output using seperator # print("Welcome to GfG !", sep = ", ") print (str1, str , sep = ", " ); # String Formatting print ( "Welcome to % s !" % str ); # String Formatting name = "GfG" age = 4 print ( "% s is % d years old." % (name, age)) # Formatting using format() print ( "Hey, Welcome to {}!" . format ( str , age)) |
Добро пожаловать в GfG! Добро пожаловать, GeeksforGeeks Добро пожаловать в GeeksforGeeks! GfG 4 года. Привет, добро пожаловать в GeeksforGeeks!
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.