esential c++ 学习笔记1--c++ 编程基础.txt

1 class 的定义,一般来说分为两部分,其中一个是所谓的头文件,用来声明class 所提供的各种操作行为
  另一个是文件,程序代码文件,用来包含这些行为的实现内容。预使用class 不许在程序中含入其头文件
2 using namespace std
3 template class 机制使程序员直到使用template class 时才决定真正的数据类别。先使用一个代名,
  稍后才绑定至实际的数据类别
4 Arrays 要定义array 我们必须指定array 的元素类型,名称,并指定其尺度的大小
  array 的尺度必须是个常量表达式
  const int seq_size=18;
  int pell_seql seq_size=1;
5 vector 必须首先含如vector 的头文件。在角括号中指定其元素类型,其尺度则写作小括号内,不一定
  是常量表达式
  #include<vector>
  vector<int> pell_seq(seq_size);
6 初始化数组和vector
  1 初始化数组
   int elem_seq[seq_size]={1,2,3,4} ;
   int elem_swq[]={1,2,3,4};由编译其根据初始值自动算出array 的值
  2 初始化vector
   1) vector<int> elem_seq(seq_size);
      elem_seq[0]=1;
      elem_seq[1]=2;
      .....
      elem_seq[[17]==22;
    2) 利用一个以初始化的array
     int elem_val[seq_size]={1,2,3,4}
     vector<int>elem_seq(elem_val,elem_val+seq_size); 其中elem_val 为内存地址
7 array 和 vector 的使用
   vector 知道自己的大小,而array 不知道
   for(int i=0;i<elem_seq.size();i++){
      cout<<elem_seq[[i]<<'';

    }
8指针 指针为程序引入了一层间接性,我们可以操作指针(代表某特定内存地址),而不再直接操控对象。
 指针主要形成两件事,可以增加程序本身的弹性,但同时也增加了直接操控对象时所没有的复杂度
 1 int ival=1024
   int *p=&ival; 其中*p 指int型对象的地址
 2 指针所具有的双重性,既可以让我们操控指针内含的内存地址,也可以让我们操作指针所指定的对象值
   pi  指定pi所含有的内存地址
  *pi  核定ival的值
 3 指针的提领(dereference)
  如果pi 寻址到某个对象,则执行提领操作,如果pi 不指定任何对象,提领会导致未知的执行结果
  一个为只想任何对象的指针,其内含地址为0,我们称为null,任何指针都可以被初始话,或是令值为0
  if(pi&&...)
  只有pi含一个非0值时,其结果为true
  vector<int> *pv=0; 
  const int seq_cnt=6;
  vector<int> *seq_addres[seq_cnt]={
    &fibonacci,&lucas,&pell...
  };
  一个指针数组,容量为seq_cnt,每个指针都指向vector<int>  
  4 #include<cstdlib>
  rand(seed) 返回一个介于0和seed 之间的随机数
  5 对象指针
  if(!fibonacci.empty()&&....){
     pv.empty()..
   }
9 文件写
  对文件的读写,首先的含入fstream
  #include<fstream>
  1 ofstream outfile("seq_data.txt"); 如果文件不存在,产生一个文件,如果文件已经存在,这个文件
  被开启作为输出只用,但是源文件中的数据会输调
  2 ofstream outfile("seq_data.txt",ios_base::app) 追加模式
  3 oufile 为false 表示文件未开启成功
10 文件读
  ifstream 将文件名传人,如果文件未能开启成功,ifstream 对象被核定为false ,如果成功,为true
  ifstream infile("seq_data.txt");
  int num_tries=0;
  int num_cor=0;
  if(!infile){
    //由于某种原因,文件无法开启
  }
  else
  {
   string name;
   int nt;
   int nc;
   while(infile>>name)
   {
     // 一旦读到到文件尾,infile 尾false
     // infile>>name>>nt>>nc  ,把文件 anna 24 19 分别读到name,nt,nc 中
     infile>>nt>>nc;
     if(name==usr_name)
     {
       //find hime
       count<<"Welcome back,"<<usr_name
            <<"\nYour current score is" <<nc
            <<" out of " <<nt<<"\nGood Luck"!\n";
            num_tries=nt;
            num_cor=nc;   
     }
   }
11 同时读写同一个文件
  fstream iofile("seq_data.txt",ios_base::in|ios_base::app);
  if(!iofile)
   ...
  else
  {
   iofile.seekg(0); 将文件重新定位的文件的最末端
  }
12
  #include<iostream>
#include<string>
using namespace std;
//---------------------------------------------------------------------------

#pragma argsused
int main()
{
   string username;
   cout<<"Please enter your name:";
   cin>>username;
   switch(username.size()){
     case 0:
       cout<<"with no name";
       break;
     case 1:
       cout<<"with one character";
       break;
     default:
       cout<<"hollo ,"<<username<<endl;
       break;
   }
        return 0;
}
13
#include<iostream>
#include<vector>
#include<string>
using namespace std;
//---------------------------------------------------------------------------
int main()
{
  vector<int> ivec;
  string str;
  int val;
  while(cin>>val){
       ivec.push_back(val);
  }
  int sum=0;
  for(int i=0;i<ivec.size();i++){
      sum+=ivec[i];
  }
  int average=sum/ivec.size();
  cout<<"sum of "<<ivec.size()
      <<"elements "<<sum
      <<"average "<<average<<endl;
        return 0;
}
14
//---------------------------------------------------------------------------

#include<iostream>
#include<vector>
#include<string>
using namespace std;
//---------------------------------------------------------------------------
int main()
{
 const int array_size=120;
 int la[array_size];
 int ival,icnt=0;

 while(cin>>ival&&icnt<array_size){
   la[icnt++]=ival;
 }
 int sum=0;
 for(int i=0;i<array_size;i++){
   sum+=la[i];
 }
 int average=sum/array_size;
 cout<<array_size
     <<"\n"<<sum
     <<"\n"<<average<<endl;
}
//---------------------------------------------------------------------------


//---------------------------------------------------------------------------

#include<iostream>
#include<vector>
#include<string>
#include<fstream>
#include<algorithm>
using namespace std;
//---------------------------------------------------------------------------
int main()
{
  ifstream in_file ("D:\inputfile.txt");
  ofstream out_file("D:\outputfile.txt");
  if(!in_file){
     cerr<<"unable to open the inputfile" ;
  }
  if(! out_file){
     cerr<<"unable to open the outputfile" ;
  }
  string word;
  vector<string> text;
  while(in_file>>word)
  {
     text.push_back(word);
  }
  cout<<"unsort file";
  for(int i=0;i<text.size();++i)
  {
  cout<<text[i]<<" "<<endl;
  }
  cout<<"sort file";
  sort(text.begin(),text.end());// sort the vector
  for(int i=0;i<text.size();++i)
  {
  out_file<<text[i]<<" "<<endl;
  }
}

 

posted on 2006-08-14 09:27 康文 阅读(702) 评论(0)  编辑  收藏 所属分类: c\c++


只有注册用户登录后才能发表评论。


网站导航:
 
<2006年8月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜