博文
《函数》笔记(2006-10-10 22:04:00)
摘要:1.函数原型(即函数声明)可以不包含参数名,而只包含函数类型。即原型中的参数名无实际意义。如:
long Area(int,int);
此外,若函数未声明返回值类型,则系统默认为返回值为整型。
2.若局部变量与全局变量同名,则在局部变量作用范围内,全局变量将被屏蔽。C++中尽量不要使用全局变量,而使用静态成员变量来替代。
3.任何一个合法的C++表达式都可以作为一个函数的变元(传递给函数以作为参数),包括常量、数学和逻辑表达式以及其他可返回值的函数,即也可以使用一个函数的返回值作为另一个函数的参数。
4.函数的值传递:即传递给函数的变元只是一个局部变量,其在函数中的变动都不影响调用函数中的值。亦即函数会为传递来的变元生成一个局部拷贝。
5.从一个函数中返回值须使用关键字 return,return后的表达式的值作为返回值传递给调用函数。return主语句执行后,其后所有的语句都不再执行。一个函数中允许有多个return语句,但只能执行一个。
6.函数默认值的声明,如:
int Function(int x=50);
因为参数名无实际意义,也可用 int Function(int =50);
对默认值的声明并不改变函数定义。但此种声明有一条限制,如果某个参数没有默认值,那该参数之前的所有参数均不可有默认值。
7.函数重载,各函数的参数要有区别,可以是参数类型、个数,或二者兼有。重载函数的返回值类型既可以相同,也可以不同。
8.内嵌函数,声明如:
inline int Area(int);
每一次调用时都会将函数代码复制到调用函数中,适用于函数体较小时。可以节省内存开销,但多次调用会增加函数体。
9.函数递归分为直接递归和间接递归。直接递归是指函数直接调用其本身。间接递归是指指函数调用了另一个函数,而被调用函数则又调用了第一个函数。......
《常量》笔记(2006-10-09 21:55:00)
摘要:1.C++有两种常用常量:字面常量和符号常量。字面常量指直接写入程序语句的数值,如:
int myAge=39;
2.符号常量是指用名字表示的常量,如同一个变量一样,不同的是在初始化之后其值不可以更改。C++有两种定义符号常量的方法:
i.用 #define 来定义。该方法定义的变量无类型,在程序中只进行简单的文本替换,即把程序中的名字用相应的数字来替代。
ii.用 const 来定义常量。该方法可以定义变量的类型,这就使得编译器可以根据类型来正确的使用常量。
3.枚举型常量。可以使用它来创建一些新的类型,再定义这些新类型的变量。如:
enum COLOR{WHITE,RED,BLUE,GREEN,BLACK};
COLOR myColor=BLUE;
每个枚举型常量都有一个整数值,若不特别指定,第一个常量值为0,其余依次增加。不过如果其中任何一个常量用一个特定的数值初始化,那么未被初始化的常量将在其前面已被初始化的常量的基础上增加。
......
《变量与声明语句》笔记(2006-09-28 20:44:00)
摘要:1.变量名称遵循的原则
i.变量名称必须以字母或下划线开头,且只能含有字母、下划线和数字。不能含有任何其他空格、逗号或特殊符号。
ii.变量名称不能是关键字。
iii.变量名称不能由超过255个字符组成。
这些名称的选择同样适用于函数名称。
2.变量必须先声明后使用。具有相同类型的数据可以放在一条语句中声明。
3.声明语句说明:
int a;
int 告诉计算机要为一个整数保留足够的空间,a 则是告诉计算机要将保留的存储空间的第一个字节标记为名称“a”。
4.显示一个变量的地址,用地址运算符“&”。当该符号放在变量名前时,它代表的就是一个变量的地址。&price表示变量price的地址。
5.多数计算机中,short是2个字节,long是4个字节,而int可以是2个或4个字节(一般为4个字节),char是1个字节,float是4个字节,double是8个字节,bool是1个字节。
6.C++允许将定义与初始化混合使用。如:int a=5,b,c=6;
7.typedef(类型定义符)用来创建一个新名字,以取代冗长的类型定义符,如
typedef unsigned shor int USHORT;
8.当无符号整型变量的值达到其最大值时,该数值将回绕,如当一个int类型变量达到值65536时,其再加一后的值将变为0;有符号整型变量在达到最大值时也会回绕,但它是由最大的正值变为最小的负值(32767变为-32768)。
......
《数据与算术运算》笔记(2006-09-27 22:58:00)
摘要:1.整数值
整数前面可以带(或不带)正、负号,但不允许带小数点、逗号或其他特殊符号(如美元符号)。
不同的数据类型在不同设备的存储空间是不同的。
要存储超过设备内定存储空间的整数,必须使用整数限定符。
2.浮点数
同整数值一样,浮点数也不允许带小数点、逗号或其他特殊符号。浮点数分为“float”、“double”、“long double”。它们的区别在于存储空间的大小。
浮点数后面加上“F”或“f”表示这是一个单精度浮点数,加上“L”或“l”表示这是一个双精度长浮点数,如果不加后缀则表示是双精度浮点数。
浮点数也可以用指数表示法表示。如1625 可以表示为 1.625e3,即 1.625x103。
3.字符值
A的ASC码值为65,a的ASC码值为97。
4.算术运算
%是取模运算符,该运算结果是取余数。
向输出流中插入数据可以在多个行中完成,以分号为结束。如:
cout<<"The resoult is "
<<(22.5+5)<<endl;
但是包含在双引号里的字符串不能被分解为几行,且只有在最后一行中出现分号。
算术表达式的结果永远也不会是一个单精度浮点数,因为计算时,计算机临时将所有单精度数转换为双精度数。
5.整数的除法
两个整数相除,其结果是一个整数,小数部分被省去。
6.运算符的优越级
运算符 结合性
-------------------------------------------------
--(一元的) &nb......