除了 cout
和 cin
可以实现输出和输入,我们也可以使用 printf
和 scanf
来实现输出和输入。
printf
和 scanf
是C语言中的函数,但是他们可以按照指定的格式进行输出和输入。在时效上,他们的运行效率要更高、更快。
在C++中,主要使用cout和cin居多,printf和scanf也要会用。
一、printf 实现输出
#include <cstdio>
printf("hello world"); //输出内容,相当于 cout << "hello world"
使用 \n
来实现换行操作。
二、printf 格式化输出
借助 %
完成格式化输出。每个%
对应一个占位,按从左到右的顺序把对应位置上变量的数据输出出来。
int nianLing = 10;
printf("年龄是:%d", nianLing);
float yingYuChengJi = 95.5;
printf("年龄是:%d,英语成绩是:%f", nianLing, yingYuChengJi);
不同数据类型,对应的输出格式控制符不一样,参考下方表格。
int a = 100; printf("%d", a); //100
long long a = 20000; printf("%lld", a); //20000
float a = 3.1415926; printf("%f", a); //3.1415926
float a = 3.1415926; printf("%.3f", a); //3.142
double a = 1.0/3; printf("%lf", a); //0.33333
double a = 1.0/3; printf("%.3lf", a); //0.333
char ch = 'A'; printf("%c", ch); //A
char arr[10] = "hello"; printf("%s", arr); //hello
int a = 100; printf("%5d", a); //输出宽度为5,右对齐,不够补空格。 100
int a = 100; printf("%-5d", a); //输出宽度为5,左对齐,不够补空格。100
int a = 100; printf("%05d", a); //输出宽度为5,右对齐,不够补0。00100
int a = -100; printf("%+d", a); //无论是正数还是负数,都要把符号输出
三、scanf 实现输入
int nianLing;
float yingYuChengJi;
scanf("%d", &nianLing); //输入内容,相当于 cin >> nianLing
scanf("%d, %f", &nianLing, &yingYuChengJi); //相当于 cin >> nianLing >> yingYuChengJi;
scanf 区别于cin的是:
1、cin使用换行或空格
区分数据输入到不同的变量;
2、scanf使用英文的逗号,
区分数据输入到不同的变量,并用&
符号将数据赋值到变量中;
四、编程练习
用 scanf
输入小明同学的:
语文成绩、数学成绩、英语成绩,并计算这三门成绩的总和?
用printf
输出。
// 爱码岛编程
#include <cstdio>
using namespace std;
int main(){
int nianLing = 15;
float yingYuChengJi = 95.5;
printf("年龄是:%d,英语成绩是:%f", nianLing, yingYuChengJi);
printf("\n请输入您的年龄:");
scanf("%d", &nianLing);
printf("\n您输入的年龄是:%d", nianLing);
printf("\n请输入您的年龄和英语成绩:");
scanf("%d, %f", &nianLing, &yingYuChengJi);
printf("\n您输入的年龄是:%d,您输入的英语成绩是:%f", nianLing, yingYuChengJi);
return 0;
}