|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1.数组作为参数传递会退化为指针
2.类是C++一个很重要的概念。cout是常用的输出流对象之一,实际上就是一个数据结构,类似于队列。隶属于basic_ostream类,而ostream类在iostream图片中定义。
3.C++中用的是#include <iostream>而不是<iostream.h>。其实也可以用,只不过要将using namespace std取消掉。这个和c92以及c99的标准有关。.h是属于c92标准,还没有引入命名空间的概念,沿用C语言的特性。到c99的时候就是用了命名空间。但是C++天生要兼容c语言,所以在注销掉using namespace std以后可以使用.h的原因就是为了兼容C语言而已,正规C++不提倡用.h。
4.C++中的变量和函数都是在一个特定的命名空间中定义的,使用这些变量或者函数的时候需要指明命名空间。一种是公开使用,在文件开头使用using namespace std类似的语句,但这样有一种不太封闭和安全的嫌疑。另外就是在相关变量或者函数前面加上命名空间::。比如std::cout这样的格式。
5.C++还支持运算符重载,就是说一个运算符在不同的场景下有不同的使用方法。具有不同的功能。
6.cin也是一个对象,对象类型是istream类的,从终端读取数据
7.》操作符被重载,作为提取操作符,一次从输入流对象cin提取一个整数。而且他对所有的内建数据类型都进行了重载即还可以提取float以及double等数据类型以及字符串。
8.用户在键盘上输入数据以后并不是马上到程序处理的地方,而是存放在操作系统的键盘缓冲区,只有当用户输入回车的时候才会将键盘缓冲区的数据发送到cin流的内部缓冲区,然后》操作符再逐一提取数据。所以在while(cin》i)中当键盘输入回车的时候不会立即结束,而是在遇到if(ch=='\n') break;的时候才会结束循环。准确来说是跳出循环。
9.在while( cin >> i ) 中,表达式 cin >> i 返回输入流对象本身,也就是cin。但是,如果到达了文件尾或者提取操作符遇到一个非法值,这个返回值将是 false。如果我们试图把一个浮点数读取到一个 int 型变量中,当提取操作符遇到小数点时,它将使输入流对象置于一个错误的状态中,导致 cin 的值为 false。
10.C++可以再任意的地方定义一个变量,这个有别于c语言。
11.cin的一些常见方法(函数),为了增强输入控制。
例子一:cin.ignore() & cin.getline()
#include <iostream>
using namespace std;
int main(void)
{
char buf[20] = {0};
cin.ignore(7);
cin.getline(buf,10);
cout << buf << endl;
return 0;
}
cin.getline(目标缓冲区,欲复制长度)
例子二:cin.get() & cin.peek()
#include <iostream>
using namespace std;
int main(void)
{
char p;
while(cin.peek() != '\n')
{
p = cin.get() ;
cout << p;
}
cout << endl;
return 0;
}
cin.peek()只是做检测但是不会把字符取走。即不会操作到输入流缓冲区的实际数据。本质是取出来检测以后放回去。
例子三:cin.gcount() & cin.read() & cin.write()
#include <iostream>
using namespace std;
int main(void)
{
const int SIZE = 50;
char buf[SIZE];
cout << "请输入一个字符串\n";
cin.read(buf,20);
cout << "输入的字符数是:"<< cin.gcount()<<endl;
cout << "输入的文本信息是:";
cin.write(buf,20);
cout << endl;
return 0;
}
cin.gcount()是计数输入了多少个字符串,而cin.read(目标区,长度)是读取,cin.write(源区,长度)是输出。
12.cout常见的控制输出格式的方法
例子一.cout.precision()
#include <iostream>
#include <math.h>
using namespace std ;
int main ()
{
double result = sqrt (3.0 );
cout << "对 3 开方保留小数点后0 ~ 9 位,结果如下: \n" << endl ;
for ( int i= 0 ; i <= 9 ; i++ )
{
cout . precision( i );
cout << result << endl ;
}
cout << "当前的输出精度为: " << cout. precision() << endl ;
return 0 ;
}
例子二.cout.width()
#include <iostream>
using namespace std ;
int main ()
{
int width = 4;
char str[ 20 ];
cout << "请输入一段文本: \n" ;
cin . width( 5 );
while ( cin >> str )
{
cout . width( width ++);
cout << str << endl ;
cin . width( 5 );
}
return 0 ;
}
|
|