c++入门之字符相关入门

先上代码:

 1 # include "iostream"
 2 # include "string"
 3 //# define BYTE char//注意,这里没有分号,且#只能放在函数外面.
 4 int main()
 5 {  
 6     using namespace std;
 7     typedef char BYTE;//采用typedef 也可以定义别名,但是可以放在函数内部,一般情况,使用typedef是一种最佳选择.
 8     typedef double num;
 9     string word = "?ate";//直观的理解,更像是string 类型的数据,即Word  是一个string类型的数据.
10     for (char ch = 'a'; word != "mate"; ch++)
11     {
12         cout << word << endl;
13         word[0] = ch;//使用string类可以更方便使用序号来访问具体的字符.
14     }
15     cout << "After loop ends,word is" << word << endl;
16     ////////////////////////////////////
17     BYTE a{'a'};//使用define 定义别名,可以使得我们定义的变量更为有意义。
18     cout << a<<endl;
19     cout << "the int  is:" << int(a) << endl;//采用强制型转换能够将字符打印成对应的ASCII.
20     ///////////////////////////////////////
21     int*c, b=5;//注意,b并不是被定义成了int*指针型,而是被定义成了int型.
22     cout <<"b is :"<< b << endl;
23     //////////////////////////
24     num prices[5]{4.99, 10.99, 6.87, 7.09, 8.49};//c++11。新增的一种基于范围的for循环,x可以访问prices所有的元素,其实很类似于python。
25     for (num x : {2,1,2,4})    //这种循环主要用于各种模板容器
26         cout << x << endl;
27    //////////////////
28     system("pause");
29     return 0;
30 }

总结:

1 使用字符串时,使用string类比使用字符数组,或者指针的方式更优,string 类包含在头文件string中

2 使用typedef newname  alliname 的方式,可以重命名原来的类型(如char),这样方便程序的可读性.使用#define 也可以.

3 int * a,b; b不是指针类型,而是整型;

4 c++11标准中新增了一个基于范围的for 循环.

5 当看到一个字符串时,比如"name",我们应该将字符串常量当成一个指针,而不是当成字符串本身。这一点十分重要.比如如果我们将一个指针变量 int*a; a=="name"是没有问题的,他比对的不是字符串,而是字符串所在的地址.

posted @ 2018-10-09 09:27  少年π  阅读(159)  评论(0编辑  收藏  举报