C++基础知识杂记(Day1)。

1.如何解释cout.setf(ios_base::fixed, ios_base::floatfield)?

c++中cout与c语言中printf都是用来实现格式输出。
如printf("%.6lf\n",value);保留value值的6位小数。
在cout.setf(ios_based::fixed,ios_based::floatfield)中:
第一个参数ios_based::fixed用正常的记数方法显示浮点数(与科学计数法相对应),
第二个参数ios_based::floatfield表示小数点后保留6位小数。
**注意**:如果编译器不接受self()中的ios_base,请用ios。

2.涉及类型转换规则:

较小的类型将转换为较大的类型,较大类型不能转换为较小的类型。可能造成存储空间不够等错误。

3.强制转换类型的方式:

c: (typename)value;
c++: typename (value);
static_cast<typename> (value);

4.面向行的输入:getline()和get()

cin输入以空格结束,如输入以下代码:在这里插入图片描述
发现用cin输入apple banana strawberry的输出是apple,是因为cin输入是以空格结束,导致apple之后的空格符cin读取之后以为是结束符。所以最后的输出是apple。要想输入和输出相同,需使用getline()。
在这里插入图片描述
cin.getline(fruit,100); 第一个参数是存储字符串的变量,100是存储的大小。
如果使用string类:getline(cin,fruit);不需要知道存储多大容量的字符串。

猜你喜欢

转载自blog.csdn.net/guli__li/article/details/106114763