变量、常量和函数

1、使用typedef来创建别名 eg:typedef unsigned short int USI;

2、unsigned整型变量的回绕:溢出后从0开始,signed整型变量的回绕:溢出后从最小负数开始。

3、将一个字符(如字母a)赋给char变量时,该变量实际存储的是一个0~255的ASCII码数值。

4、转义字符:\a响铃  \b退格 \f换页  \n换行  \r 回车 \t 制表 \v 垂直制表 \'  单引号 \"双引号  \?问号 \\ 反斜杠 \000八进制表示 \xhhh十六进制表示

5、c++中有两种声明符号常量的方法:1)传统方法,用#define,现已摒弃 2)更合适的方法是使用关键字const

6、#define stuPerClass 15 没有指定stuPerClass的类型,预处理器进行简单地文本替换,无法进行类型安全检查;由于预处理器在编译器之前运行,因此编译器只能看到15,而看不到常量stuPerClass,不便调试。const unsigned short int stuPerClass=15;  这种声明使程序易于维护和防止错误,最大的不同在于,该常量有类型,使得编译器能根据类型确保它被正确使用。

7、创建枚举常量:enum COLOR  {RED, BLUE, GREEN, WHITE, BLACK}; 

      COLOR为枚举名,若不特别指定,第一个常量(RED)值为0,其余常量值依次加1;若将其中任一常量初始化为特定值,则其后未被初始化的默认加1。eg:enum COLOR {RED=100, BLUE, GREEN=500, WHITE, BLACK=700}; 则BLUE=101,WHITE=501

8、枚举常量的类型是unsigned int

9、一个枚举常量的例子:

    main(){  
    enum weekday  
   {
    sun,mon,tue,wed,thu,fri,sat
   } a,b,c;  
   a=sun;  
   b=mon;  
  c=tue;  
  printf("%d,%d,%d",a,b,c);
  }  
    /*说明:  只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如:  
    a=sun;  
    b=mon;  是正确的。
    而:  a=0;  b=1;  是错误的

10、关于函数的全局变量和局部变量需要注意的几点:

    1)定义在全体函数外的变量为全局变量,任何函数都可用

    2)定义在函数内的变量为局部变量,作用域为该函数。定义在函数内一个语句块(一对大括号之间)的变量作用域为该语句块。

    3)传入函数的参数为函数中的局部变量。

    4)与全局变量同名的局部变量不会修改全局变量(称为按值传递),但会隐藏它,即在该局部变量作用域内显示的是局部变量的值。注意一下一个例子:


11、函数原型可声明默认参数,eg: long func(int x=50); 或 long func(int =50); 调用函数时若没有提供参数则采用默认值50。

       注意:若某个参数没有默认值,则它前面的所有参数都不得有默认值。eg:

      函数声明: long func(int param1, int param2, int param3); 若param3没有赋默认值,则param1、2也不得有默认值。

12、函数重载也叫函数多态(polymorphism)重载函数必须有不同的参数类型、参数个数或兼而有之。重载函数的返回类型可以相同也可以不同。

       注意:如果两个函数的函数名和参数列表都相同,只有返回类型不同,不算函数重载,将导致编译错误。

13、内联函数直接将函数代码赋值到调用函数中,这样调用函数时便不需要跳转,有助于提高效率。内联函数在函数声明前加上inline。

       注意:如果内联函数调用次数多,内联代码将被复制到每一次调用处,这样,可执行程序变大了,速度可能变得更慢。因此除非函数只          有一两条语句,否则不要将函数声明为内联。如果没有把握,不要轻易使用关键字inline。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值