SYSU程设c++(第一周) io流、命名空间、引用

理论题:

1.std::cout<<0+a; 的输出是97 (0转换了类型成int,‘a变成askll码)

2.std::cout<<0+"12.34";的输出是12.34 (0无用,忽略)

3.std::cout<<1+"12.34";则编译错误 (两个类型,且无法忽略一个)

4.int a; std::cin>>a; std::cout<<a; 则输出为0 (输入类型不符,输入无效)

5.#include<iostream> using namespace std; int main(){ int cout; cin>>cout; cout<<cout; }

无输出,因为命名冲突时用后来的,cout变量占掉了输出流cout

io流

endl,输出 ‘ 并冲洗输出流。例如:cout << endl;

dec, hex, oct,更改之后所有整数输入/输出的基数(进制)

setprecision(n),更改之后所有实数输出的浮点精度

fixed,scientific,更改之后所有实数用于浮点 I/O 的格式化

setw(n),更改下个输入/输出域的宽度,宽度为 n

left,right, 设置下一个填充字符的布置,即左对齐或右对齐

注意,含参数n的操纵符函数要用#include<iomanip>

声明具名命名空间:

namespace 命名空间名 { 声明序列 }

使用其他命名空间中的名字:

·以“无限定名”方式使用:作用范围从using 指令之后到指令作用域结尾为止

using namespace 命名空间名 ;

using 命名空间名 :: 成员名 ;

·以“有限定名”方式使用:作用范围仅为单次

命名空间名 :: 成员名

例如std::cout

•注意:C++比C严格,const 指针值(如“sysu”字面量)必须赋值给 const 指针变量

const char *cout1 = "hello world c++!"; 去掉const会警告

如int &x=a; 给a取了个叫x的别名

引用不是对象;它们不必占用存储。

•数组不能引用

•不存在指向引用的指针

•不存在引用的引用

从引用和别名的角度来理解这个程序:

函数返回值使用引用,则返回哪个变量,函数返回值就是谁的别名,因此那个变量要用static静态:

经验分享 程序员 微信小程序 职场和发展