C/C++小知识点总结

来源:互联网 发布:qzss 知乎 编辑:程序博客网 时间:2024/05/17 01:41

1. 不可见字符与可见字符

  • 不可见字符(控制字符):ASCII有128个字符,其中ASCII值从0~31和127为不可见字符(控制字符):经常用一个转义字符后跟一个专门的字符来表示,如\n(换行),\a(响铃);
  • 可见字符:直接用”单引号对括起来的单个字符,如’a’,’x’,’$’等,有的可见字符会与语法冲突,所以也用转义字符来表示,如\”,\’,\等;

2.字符型的输出不是整数,而是该整数所代表的ASCII码字符

   int a = 65;   char b = 65;   cout<<a<<" "<<b<<endl;    //输出结果为:65  A  

举两个例子,代码如下:
(1).
这里写图片描述

(2).
这里写图片描述

分析以上两个小程序,第一个,’a’是可见字符,其ASCII码值为97,所以在计算b时,即为33+97,所以b为130,而打印a时候则会打印其数值对应的ASCII字符“!”;同理,第二题中,’\a’是不可见字符,即“响铃bell”字符,其ASCII值为7,所以相加后得b为40。
注意区别’a’和’\a’


3.string:引用一篇关于C++ string应用的总结:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html
string类型的变量相比较于char类型的变量,前者在字符串的操作上更为方便,它们有以下的区别:
(1).赋值,char类型变量有以下①、②种赋值方式,分别是用指针在声明时候赋值:

  • char* s1 = “Hello”;
  • char a[20]; strcpy(a,s1);

以下这③和④这两种赋值方式对于char类型变量来说是错误的:

  • char a[20] = “Hello”;(错)
  • char a[20]; char a1[20] = a;(错)

而string类型的变量的赋值是可以直接通过“=”,所以“+=、-+、*=、/=”都是可以用来赋值的;

(2).连接,char类型用strcat连接,而string用+=;


4.布尔型
(1).用任何非0的整数给bool变量赋值时,其值都是1,例如:

bool a = 3; bool b = 1; bool c= a+b;   //c==1,不是3+1,而是1+1等于2,为真,所以c==1bool d = a-b;  //d==0,不是3-1,而是1-1等于0,为假,所以d==0

(2).bool型默认输出形式整数1和0,如果要输出true和false则要用输出控制符boolalpha
有:

bool a = 0;  cout<<boolalpha<<a<<endl;   //输出结果为false
原创粉丝点击