目录 Content
输出
一般初学编程语言,做的第一个程序就是helloworld,也就是输出一段文字。以下是C++常见的输出方式。
printf
#include<stdio.h> //printf所需要的头文件
int main(){
printf("Hello world!"); //输出“Hello world”
return 0;
}
这段代码用 printf 输出了 Hello world! 。头文件 stdio.h 包含了 printf 。除了stdio.h外,iostream也可以使用printf。
printf("\n"); //换行
printf("\b"); //光标退回一格
printf("\a"); //扬声器
printf 还可以实现换行,退回光标等操作。
当然,仅仅能输出固定的文字是远远不够的,下面是一段输出变量的代码。
#include<stdio.h>
int main(){
int var=-1;
printf("var is %d.",var);
return 0;
}
/*
%d %i int/short/long
%f float/double
%s string
%c char
*/
这个示例中,先int了一个变量var,并赋值为-1。printf 中%d是占位符,表示整形,一些常用的占位符已经在注释中给出,在第二个及以后的参数中填入变量名称即可输出变量的值。
cout
cout 的用途和 printf 一样,都是输出,比 printf 方便,但效率较慢。
#include<iostream>
int main(){
std::cout<<"Hello world!"; //输出“Hello world”
return 0;
}
头文件iostream包含了cout,这段代码也输出了Hello world。
std:: 是个名称空间标示符,标准库在名字空间中被指定为std,所以在使用标准库中的函数或者对象的时候要加上std::。
如果觉得一直加std::很烦的话,可以用两种方法。
- 把头文件iostream改成iostream.h,也就是改成非标准库,这样就不需要加std::了。
- 在主函数之前加上一句话:using namespace std;
(本人习惯用第二种bushi)
#include<iostream>
using namespace std;
int main(){
int a=1,b=-1,c=0;
cout<<"var:"<<a<<b<<c<<endl; //这里的endl是cout里的换行,也可以像printf一样在双引号里弄个\n
cout<<"GoodBye!World!\n\a"; //\n,\a,\b这种用法和printf一样
return 0;
}
cout输出变量时不用占位符,只需要用 “<<” 连接,而且自动识别变量类型,这就是我说它方便的原因。
输入
与 printf 和 cout 相对的就是 scanf 和 cin 。
scanf
scanf 与 printf 的语法结构类似,也需要占位符,以下是一段用 printf 和 scanf 做的程序。
#include<stdio.h>
int user=0;
int main(){
scanf("%d",&user);
user++;
printf("%d",user);
return 0;
}
scanf 的占位符和 printf 一样,但是在后面的参数中写变量名时需要在之前加&。例如:scanf("%f",&s); 就是输入一个浮点型并为变量 s 赋值。
这个程序中,先输入一个数,再输出这个数自增1的结果。
运行示例
114514
114515
cin
同理,cin 和 cout 语法结构相似,但 cout 后面连接的是“<<”,而 cin 是“>>”。
例如:cin>>k; 就是输入一个数或字符(串),并赋值给k。
//此程序为把上面的程序用cin,cout再重置一遍
#include<stdio.h>
int user=0;
int main(){
cin>>user;
user++;
cout<<user;
return 0;
}
注
printf,scanf,cout,cin 可以一次输出或输入多个变量,文本。
scanf("%d%d%d",&a,&b,&c);
printf("%d%d%d",a,b,c);
cin>>a>>b>>c;
cout<<"a:"<<a<<" b:"<<b<<" c:"<<c<<endl;
输入输出示例
//这里用cin,cout举例
#include<iostream>
using namespace std;
int num1=0,num2=0,result=0;
int main(){
cout<<"Input num1>>";
cin>>num1;
cout<<"Input num2>>";
cin>>num2;
result=num1*num2;
cout<<"result is"<<result;
return 0;
}
运行示例
5
6
30