Day1
#include <iostream>
int main()
{
std::cout<<"Hello,World!\n";
}
#include预处理指令在编译前先执行,将后面所跟文件的内容插入到当前位置,<>和"“的区别在于搜索文件的顺序不同.<>优先从预定义的缺省路径下寻找,一般而言,缺省路径是因系统及编译器而定.”"则优先从项目所在的当前目录寻找.
比如在项目目录下新建一个头文件"123.h:,内容为:
}
在主文件中这样使用
#include <iostream>
int main()
{
std::cout<<"Hello,World!\n";
#include "123.h"
实际效果和第一段代码相同.
通常情况下,每个C++程序中都必须带一个main()函数,程序将从这个函数开始执行.int表示main()函数返回值的类型为整数型.也有void main()的写法,为了不同系统的兼容性,通常采用int main()写法.
<<和>>运算符为重载运算符,结合指令,和移位运算符作用不同,这里表示数据流动的方向.
std::通过使用作用域运算符来指出我们想使用定义在命名空间std中的名字cout.默认情况下,送到cout的输出值都将被转换为字符的序列.例如
void f()
{
cout<<10;
}
将把字符1而后是字符0放入标准输出流里.
由反斜杠字符\后跟一个字符表示的是某个特殊字符.\n表示换行.
cout可以结合流格式控制符来实现输出格式的控制,如
#include <iostream>
#include <iomanip>
int main(){
int a = 314;
double pi = 3.14159;
cout << pi << endl;
cout << setprecision(4) << pi << endl;
cout << setw(9) << pi << endl;
cout << setfill('*') << setw(9) << pi << endl;
cout << setfill('*') << setw(2) <<a<< endl;
cout << pi << endl;
return 0;
}
输出结果为
3.14159
3.142
3.142
****3.142
314
3.142
setprecision 操作符来控制显示输出数据的有效精度,setw用于设置输出位宽,若设置位宽小于实际位宽时则按正常位宽输出,setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充.setprecision 作用域为下一次setprecision之前都有有效,setw()作用域仅为一次输出,即下一个<<后面的内容.使用这些格式控制符时需在程序中包含对应的头文件.
在C语言中输出功能printf()也有相应格式控制.
#include <stdio.h>
int main(){
int a = 314;
double pi = 3.14159;
char ch[] = "hello";
printf("%d\n", a);
printf("%9d\n", a);
printf("%-9d\n", a);
printf("%09d\n", a);
printf("%f\n", pi);
printf("%.2f\n", pi);
printf("%7.2f\n", pi);
printf("%07.2f\n", pi);
printf("%s\n", ch);
printf("%8s\n", ch);
printf("%-8s\n", ch);
printf("%12.8s\n", ch);
printf("%012.8s\n", ch);
return 0;
}
输出结果为:
314
314
314
000000314
3.141590
3.14
3.14
0003.14
hello
hello
hello
hello
0000000hello