在C中格式化:
在C语言格式中,指定符用于输入和输出。这是一种告诉编译器在使用scanf()进行输入或使用printf()进行打印的过程中变量中包含哪种类型的数据的方法。以下是C语言中的一些格式说明符:
- %d或%i:整数格式说明符
- %c:字符格式说明符
- %f:浮点格式说明符。
- %s:字符串格式说明符。
- %lf:双格式说明符。
- %e或%E:浮点格式说明符(指数)。
在C编程中,我们将scanf()用于格式化的输入,将printf()用于格式化的输出,将gets()或getchar()用于未格式化的输入,将puts()或putchar()用于未格式化的输出。
下面是说明C语言中一些格式说明符的程序:
// C program to illustrate format
// specifiers in C
#include
// Driver Code
int main()
{
int N = 10;
double F = 42.152;
// Integer formatted output
printf("%d \n", N);
// Exponential formatted output
printf("%e \n", F);
// Unformatted String Output
puts("Welcome to GeeksforGeeks!");
}
输出:
10
4.215200e+01
Welcome to GeeksforGeeks!
在C++中格式化:
由于C++是C语言的扩展,但是我们仍然使用输入和输出流来格式化输入或输出。以下是C++中使用的一些输入/输出:
- 标准输入流(cin):在C++中, cin是istream的对象。它从标准输入设备(例如键盘)获取输入。 cin与提取运算符( >> )一起使用,以获取或接收字符流。
- 标准输出流(cout):在C++中, cout是ostream的对象。它用于将输出打印到标准输出设备,即Monitor。 cout与插入运算符( << )一起使用。如果我们用“ENDL”它会产生一个字符就像“\ n”,但它也有一个附加的行为即输出将被物理地写入设备,如果它是不是已经。它会影响完全缓冲的流,但是cout不会被完全缓冲,因此,将endl与cout一起使用是一个好习惯。
- 无缓冲标准错误流(cerr):在C++中, cerr是ostream的对象。 cerr与插入运算符( << )一起使用。与缓冲输出不同,非缓冲输出不断将数据写入磁盘。在可能导致系统崩溃的严重错误中,不建议使用缓冲输出。但是cerr速度很慢,因为它不断将数据写入磁盘。
- 缓冲标准错误流(clog):在C++中, clog用于记录目的。它是ostream的对象。 clog与插入运算符( << )一起使用。在某些情况下,缓冲输出比无缓冲输出更有效。如果是缓冲输出,则所有输出错误都存储在一个变量中,并且一次全部写入磁盘。
以下是一些输入/输出流功能:
- setw()或width():用于将宽度设置为给定值。输出将以给定的宽度显示。
- setprecision()或precision():在浮点值中,如果我们需要设置要在小数点后打印的多个值。
- setiosflags():用于设置标志以格式化输出。
- setfill()或fill():用于填充字段的空白。
- resetiosflags():用于删除已设置的标志。
下面是说明C++中一些格式流的程序:
// C++ program to illustrate format
// specifiers in C++
#include
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
2a
用Java格式化:
在Java,可以两种不同的方式格式化输出:
- System.out.printf():与print()和println()不同,它接受多个参数,因为print()和println()接受单个参数。
- System.out.format():与printf()相似。 printf()和format()都属于Java.io包的PrintStream。这个printf()和format()与C语言中的printf()函数相似,我们也可以将标志与格式说明符一起使用。
下面是说明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);
}
}
输出:
Name: GeeksforGeeks, Age: 5
Name: GeeksforGeeks
Age: 5
用Python格式化:
Python是目前使用最广泛的多功能高级编程语言。它是一种动态语言,非常易于格式化。 Python的 input()函数始终返回字符串,通过将它们转换为我们所需的数据类型,我们可以执行不同的操作。
- 未格式化的说明符: Python的print()函数用于打印在此函数传递的参数。我们可以使用sep参数来使用分隔符打印传递的参数。
- 格式化说明符:对于格式化输出,我们在print()函数中使用Python中的format()函数格式化输出。
对于字符串格式, 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))
输出:
Welcome to GfG !
Welcome to, GeeksforGeeks
Welcome to GeeksforGeeks!
GfG is 4 years old.
Hey, Welcome to GeeksforGeeks!