2016,7,20(c++编程思想)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zzzrdm/article/details/51967256

一.

1.用数值按十进制,八进制,十六进制输出

            #include<iostream>
           using namespace std;
           int main()
           {
                  cout<<"a number in decimal: "<<dec<<15<<endl;      //十
                  cout<<"in octal: "<<oct<<15<<endl;                                //八
                  cout<<"in hex: "<<hex<<15<<endl;                                 //十六
           }


2.字符数组的拼接(两个加引号的字符组邻接,且他们之间没有标点,可连接)

        #include<iostream>
        using namespace std;
        int main()
       {
                cout<<"This is for too long to put on a "
                "single line but it can be broken up with "
                "no will effects.\n";
       }


3.string的两种初始化方式:

               string s3="Hello,world.";
               string s4("I am");

(连接string对象,只需用“+”操作符或“+=”)


4.文件的读写

为了读而打开文件,要创建一个ifstream对象;

为了写而打开文件,要创建一个ofstream对象;

函数getline(),用它可以把一行读入到string对象中,getline()的第一个参数是ifstream对象,

从中读取内容,第二个是string对象,函数调用完成后,string对象就装载了一行内容

         #include<string>
         #include<fstream>
         using namespace std;
         int main()
         {
               ifstream in("scopy.cpp");
               ofstream out("scopy2.cpp");
               string s;
               while(getline(in,s))
               out<<s<<"\n";
         }


5.容器vector

vetor类是一个模板,我们可以创建Shape的vector,String的vector等等,

把类型名输入到尖括号内, 例:vector<string>

push_back()函数可以将元素放入vector末尾,push_front()函数将新元素加到vector开头;

          #include<iostream>
          #include<vector>
          using namespace std;
          int main()
         {
                  vector<int> v;
                  for(int i=0; i<10; i++)
                  v.push_back(i);
                  for(int i=0; i<v.size(); i++)
                  cout<<v[i]<<", ";
                  cout<<endl;
                  for(int i=0; i<v.size(); i++)
                  v[i]=v[i]*10;
                  for(int i=0; i<v.size(); i++)
                  cout<<v[i]<<", ";
                  cout<<endl;
}


二.

1.break和continue

break语句退出循环,不再执行循环中的剩余语句; 

continue语句停止执行当前的循环,返回到循环的起始处开始新的一轮循环。

(例:一个简单的菜单系统)

#include<iostream>
using namespace std;
int main()
{
    char c;
    while(true)
    {
        cout<<"MAIN MENU:"<<endl;
        cout<<"1: left, r: right, q: quit -> ";
        cin>>c;
        if(c=='q')
            break;
        if(c=='1')
        {
            cout<<"LEFT MENU:"<<endl;
            cout<<"select a or b: ";
            cin>>c;
            if(c=='a')
            {
                cout<<"you chose 'a'"<<endl;
                continue;
            }
            if(c=='b')
            {
                cout<<"you didn't choose a or b!"<<endl;
                continue;
            }
            else
            {
                cout<<"you didn't choose a or b!"<<endl;
                continue;
            }
        }
        if(c=='r')
        {
            cout<<"RIGHT MENU:"<<endl;
            cout<<"select c or d: ";
            cin>>c;
            if(c=='c')
            {
                cout<<"you chose 'c'"<<endl;
                continue;
            }
            if(c=='d')
            {
                cout<<"you chose 'd'"<<endl;
                continue;
            }
            else
            {
                cout<<"you didn't choose c or d!"<<endl;
                continue;
            }
        }
        cout<<"you must type 1 or r or q!"<<endl;
    }
    cout<<"quitting menu..."<<endl;
}


2.switch语句

switch语句根据一个整型表达式的值从几段代码中选择执行,形式是:

switch(selector){

         case integral-value1 : statement;break;

         case integral-value2 : statement;break;

         case integral-value3 : statement;break;

         case integral-value4 : statement;break;

         case integral-value5 : statement;break;

        (...)

        default: statement;

}

选择器(selector)是一个产生整数值的表达式,switch语句把选择器的结果和每一个整数值(intergral-value)比较。

如果匹配就执行相应语句,不匹配,就执行default语句。

 #include<iostream>
 using namespace std;
 int main()
 {
     bool quit=false;
     while(quit == false)
     {
         cout<<"Select a,b,c or q to quit; ";
         char response;
         cin>>response;
         switch(response)
         {
              case 'a' :cout<<"you chose 'a'"<<endl;break;
              case 'b' :cout<<"you chose 'b'"<<endl;break;
              case 'c' :cout<<"you chose 'c'"<<endl;break;
              case 'q' :cout<<"you chose 'q'"<<endl;break;
              default  :cout<<"please use a,b,c or q!"<<endl;
         }
     }
 }


3.程序中的每个元素都会占用内存,函数也会

‘&’运算符可以告诉我们标识符的地址

( (long)是一种类型转换,如果没有的话,地址是以十六进制的形式输出)

 #include<iostream>
 using namespace std;
 int dog,cat;
 void f(int pet)
 {
     cout<<"pet id number: "<<pet<<endl;
 }
 int main()
 {
     int i,j;
     cout<<"f(): "<<(long)&f<<endl;
     cout<<"dog: "<<(long)&dog<<endl;
     cout<<"cat: "<<(long)&cat<<endl;
     cout<<"i: "<<(long)&i<<endl;
     cout<<"j: "<<(long)&j<<endl;
 }


4.指针

 #include<iostream>
 using namespace std;
void f(int* p)
{
    cout<<"p="<<p<<endl;
    cout<<"*p="<<*p<<endl;
    *p=5;
    cout<<"p="<<p<<endl;
}
int main()
{
    int x=47;
    cout<<"x="<<x<<endl;
    cout<<"&x="<<&x<<endl;
    f(&x);
    cout<<"x="<<x<<endl;
}


阅读更多

没有更多推荐了,返回首页