C++基础

来源:互联网 发布:淘宝扣分处罚规则 编辑:程序博客网 时间:2024/06/05 21:11

1、数据类型:

       基本数据类型:

                                 整型:基本型int;短整型short int/short;长整型long int/long;无符号型unsigned/(unsigned short/unsigned short int)/(unsigned long/unsigned long int)

                                 字符型:字符型常量;字符型变量char;字符串常量;符号常量#define EOF -1;常数型变量const float PI = 3.14

                                                 常数型变量占有特定的内存空间,符号常量不只有内存空间;符号常量是在编译前的预处理阶段进行处理,而常数型变量值在编译阶段处理

                                 布尔型:bool;void型

                                 实型:单精度型常量float,占4B(32bit),1.3f;双精度型常量,占8B;长双精度型常量,占10B

      float有一部分用于存放指数部分,所以有效输入位数为7位,有效输出位为6位;同理double输入16位,输出15位。

                                 无值型

       构造类型:

                         数组

                         枚举

                         指针

                         结构体

                         联合体

                          类

自动转换:float自动转换为double,char/short自动转换为unsigned int;long转换为float丢失精度?参考本文

八进制输出:oct;十进制输出:dec;十六进制输出:hex;setw(int),设置域宽

2、标识符由字母、数字、下划线组成,但不能以数字开头,大小写有区别。

3、缺省参数函数。

 声明:

      void fo(float x, int y, char z);

      void f1(float x, int y, char z);

      void f2(float x, int y=4, char z='B');

      void f3(float x=1, int y=4, char z='B');

 调用:

      float a=2.1; int b=5; char c='C';

      f3(a,b,c);               //a,b,c

      f3(a,b);                  //a,b'B'

      f3();                        //1,4,'B'

      f1(a,b);                  //a,b,'B'

      f0(a,b,c);               //a,b,c

      f0(a,b); f1(a);f2(); //错误

4、函数名重载Overloaded Function。

 问题:

      int iAdd(int a, int b);

      float fAdd(float a, float b);

 解决:

      int add(int a,int b);

      float add(float a, float b);

      void print(int);

      void print(float);

 调用:

      int a=3, b=5;

      float c=1.5,d=2.5;

      float h=add(c,d);

      int j=add(a,b);

      print(1);

      print(1.0);

5、内联函数,相当于函数体中的实现语句直接写到函数的调用之处。指针变量储存的是地址,数组名问题参见C。

 声明:

      inline int isNumber(char);

 调用:

      isNumber(c);

  实现:

      int isNumber(char ch){}

6、内存的分配和释放,参见C的malloc(),free()

      int* pi = new int;           //sizeof(pi)  == sizeof(pic)

      int *pic = new int[10];  //数组名的含义参见C

      delete pi;

      delete pic[];

7、指针和引用,参见:http://www.cnblogs.com/dolphin0520/archive/2011/04/03/2004869.html

      指针传递参数时,指针本身是传递的副本,即变量的值,值传递。

      第一个例子,是因为传递的是副本的值,以值为地址的数值在变。

      第二个例子,是因为传递的是副本的值,副本在变,事实本体没变。

      第三个例子,引用传递,是共享本体。

0 0