Спецификаторы формата на разных языках программирования

Опубликовано: 16 Декабря, 2021

Форматирование в 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 ++:

  1. Стандартный поток ввода (cin): в C ++ cin является объектом istream . Он принимает ввод со стандартного устройства ввода, т. Е. С клавиатуры. cin используется вместе с оператором извлечения ( >> ) для получения или получения потока символов.
  2. Стандартный поток вывода (cout): в C ++ cout является объектом ostream. Он используется для печати вывода на стандартное устройство вывода, т. Е. На монитор. cout используется вместе с оператором вставки ( << ). Если мы используем «endl», он создаст символ новой строки, как и « n», но он также имеет дополнительное поведение, то есть вывод должен быть физически записан в устройство, если этого еще не было. он влияет на полностью буферизованные потоки, но cout не полностью буферизуется, поэтому рекомендуется использовать endl с cout.
  3. Небуферизованный стандартный поток ошибок (cerr): в C ++ cerr является объектом ostream. cerr используется вместе с оператором вставки ( << ). В отличие от буферизованного вывода, небуферизованный вывод продолжает записывать данные на диск. При критических ошибках, при которых существует вероятность сбоя системы, вывод с буферизацией не является предпочтительным. Но cerr работает медленно, поскольку продолжает записывать данные на диск.
  4. Буферизованный стандартный поток ошибок (засорение): в 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. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.