c语言学习笔记
- 格式:doc
- 大小:147.00 KB
- 文档页数:15
c++学习笔记(关系运算符)[原创2006-01-29 16:14:50 |发表者: 51f]C++提供6种关系运算符,用于数值之间的比较,表达式的值或为1(表示true),或为0(表示false)运算符名字实例= = 等于 5 = = 5 // 得出1! = 不等于 5 != 5 // 得出0< 小于 5 < 5.5 // 得出1< = 小于或等于 5 <= 5 // 得出1> 大于 5 > 5.5 // 得出0> = 大于或等于 6.3 >= 5 // 得出1应该注意:<= 和>= 运算符不能写成=< 和=>,=< 和=>是无效的运算符。
关系运算符的操作数应当是一个数值,字符是有效的操作数,因为它们是用数值来表示的。
例如(假定采用ASCII编码):'A' < 'F' // 得出 1 (它等价于65 < 70)字符串不应当用关系运算符比较,因为被比较的不是字符串的内容本身,而是字符串的地址。
例如:"HELLO" < "BYE"引起"HELLO"的地址与"BYE"的地址进行比较。
由于字符串的地址是由编译器决定的,所以,表达式的结果或为0,或为1,并不确定。
由关系运算符组成的关系表达式的值是逻辑型的,即bool 型。
在C++中常常将逻辑真用非0表示(一般为1),逻辑假用0表示。
关系运算符两边的数值结果必须是类型相同的,否则会容易出现关系判断的错误。
如:char a = '0xa2';a > '0xa1' 的结果是a 小于'0xa1'。
因为 a 是符号整数,而'0xa1'是无符号整数。
给a 赋值后其实是小于0的标签: 私房菜学习笔记c++学习笔记(自增、自减运算符)[原创2006-01-2915:30:19 | 发表者: 51f]++是自增运算符,――自减运算符,这两个运算符都是单目运算符,且功能相近,都是将数值变量的值加1或减1,用户只能将这类操作符应用于变量而不能应用于常量。
要替代下列代码valuel=valuel+1;可使用++valuel;或valuel++;这里前一种方式称为前缀方式,后一种称为后缀方式,其目的都是使valuel 加1。
二者的区别是:前缀式先将操作数增1(或减1),然后取操作数的新值参与表达式的运算。
后缀是先将操作数增1(或减1)之前的值参与表达式的运算,到表达式的值被引用之后再做加1(或减1)假定变量valuel已预定义:int valuel =5;运算符名字实例+ + 自加(前缀) ++valuel + 10 // 得出16,valuel变为6+ + 自加(后缀) valuel++ + 10 // 得出15,valuel变为6- - 自减(前缀) --valuel + 10 // 得出14,valuel变为4- - 自减(后缀) valuel-- + 10 // 得出15,valuel变为4标签: 学习笔记c++学习笔记(c++运算符2)[原创2006-01-2915:10:06 | 发表者: 51f]在进行除运算时,需要注意右操作数,即除数应为非零值,否则就会产生浮点运算错误。
编程时,我们通常用if语句判别除数是否为0,例如:if (a != 0) // 只有a 不等于0 时才执行下面的操作c = b / a;******************************************************同时需要注意的是:加法和乘法运算有可能超过计算机能表示的最大数,产生溢出。
如:1.e307 * 1.e307则会产生一个不确定数,即计算机不能表示的数。
计算机表示的常用数据类型的取值范围可以见下表。
类型最小值最大值signed char -128 +127unsigned char 0 +255signed short -32768 +32767unsigned short 0 +65535signed long -2147483648 +2147483647unsigned long 0 +4294967295Float -3.402823466e+38F+3.402823466e+38FDouble -1.7976931348623158e+308+1.7976931348623158e+308标签: 学习笔记私房菜c++学习笔记(c++运算符2)[原创2006-01-29 15:10:05 |发表者: 51f]在进行除运算时,需要注意右操作数,即除数应为非零值,否则就会产生浮点运算错误。
编程时,我们通常用if语句判别除数是否为0,例如:if (a != 0) // 只有a 不等于0 时才执行下面的操作c = b / a;标签: 学习笔记私房菜c++学习笔记(c++运算符1)[原创2006-01-2914:48:57 | 发表者: 51f]所谓运算符就是指运算的符号,例如加运算符(+)、乘运算符(*)、取地址运算符(&)等。
表达式与运算符密不可分,它由运算符与操作数组合而成,并标签: 私房菜学习笔记c++学习笔记[原创2006-01-29 02:15:48 | 发表者:51f]◇标识符是用来标识变量、函数、数据类型等的字符序列。
C++中的标符可以由大写字母、小写字母、下划线(_)和数字0~9组成,但必须是以大写字母、小写字母或下划线(_)开头。
C++语言中预定义了一些标识符,称之为关键字,它们不能被再定义。
◇布尔型、字符型、整型、浮点型和空类型是基本数据类型。
指针、数组、引用、结构和类可以通过基本数据类型进行构造,称之为复合数据类型。
◇变量就是机器一个内存位置的符号名,在该内存位置可以保存数据,并可通过符号名进行访问。
为了提高程序的可读性,给变量命名时,应该注意使用有意义的名字。
变量第一次赋值称之为初始化,变量在使用之前应当先声明。
◇常量是在程序运行过程中,其值不能改变的量。
◇ C++语言本身没有输入输出功能,而是通过输入输出库完成I/O操作。
C程序使用的stdio(标准I/O)I/O库也能够在C++中使用;另外C++语言还提供了一种称之为iostream(I/O 流库)的I/O库。
标签: 学习笔记私房菜c++学习笔记(枚举类型)[原创2006-01-28 02:39:48 |发表者: 51f]我们常常需要一些整型常量表示某一个的数据范围。
例如,假定需要表示汽车的颜色:const int cRED = 0;const int cBLUE = 1;…int auto_colour;auto_colour = cBLUE;上面的程序语句是用整型变量auto_colour表示颜色,下面的语句也是合法的:auto_colour = -1;…显然,-1并不是所需要的颜色值。
如果能够限定auto_colour在限定的整数范围(即规定的几种颜色集合)内取值就比较好,C++中的枚举类型能够让我们做到这一点。
枚举类型是一种用户定义的数据类型,其一般定义形式为:enum 枚举类型名{标识符[=整型常数],标识符[=整型常数],...标识符[=整型常数],};"枚举类型名"右边花括号中的内容称之为枚举表,枚举表中的每一项称之为枚举成员,枚举成员是常量,也就是说,枚举表是整型常量的集合。
枚举成员之间用逗号隔开,方括号中的"整型常数"是枚举成员的初值。
如果不给枚举成员赋初值,即省掉了标识符后的"=整型常数"时,则编译器为每一个枚举成员给一个不同的整型值,第一个成员为0,第二个为1,等等。
当枚举类型中的某个成员赋值后,其后的成员则按依次加1的规则确定其值。
下面是一个枚举类型定义实例:enum Colour { eRED, eBLUE, eYELLOW, eGREEN,eSILVERGREY,eBURGUNDY };这样就定义了一个称之为Colour的枚举类型,编译器给枚举成员eRED,…,eBURGUNDY的值分别为0,…,5。
定义了枚举类型,就可以定义枚举类型的变量,其值限定为某一个枚举成员。
例如:Colour auto_colour;…auto_colour = eBURGUNDY;Colour类型变量auto_colour只能取eRED,…,eBURGUNDY六个值中的一个,下面的语句将会出现编译错误:auto_colour = 4;我们也可以在定义枚举类型时,为枚举成员指定初值,例如:enum Colour { eRED=5, eBLUE, eYELLOW, Egreen=30,Esilvergrey=40,eBURGUNDY };这时,eBLUE=6、Eyellow=7、Eburgundy=41。
由上述几种基本数据类型通过各种组合可以得到复合数据类型,这些数据类型在以后章节会有详细讲解。
标签: 学习笔记c++学习笔记(变量2)[原创2006-01-27 21:49:43 | 发表者: 51f]字符型字符变量用char定义,一个字符变量仅占用一个字节,存放该字符的编码。
该编码是一个数字,并依赖于所使用的编码系统(即与机器相关)。
最普通的编码是ASCII(American Standard Code for Information Interchange),即美国信息交换标准编码。
例如:字符A的ASCII码为65,字符a的ASCII 码为97。
char ch = 'A';象整型数一样,字符变量也可被指定为signed或unsigned。
大多数机器上,char与signed char意义相同。
有些机器上,char可能与unsigned char 意义相同。
一个有符号字符变量可以保存-128 ~127之间的整数,而一个无符号字符变量可以保存0 ~255之间的整数,它们均可用于表示小整数,象整型数一样赋值:signed char offset = -88;unsigned char row = 2, column = 26;一个字符是用一对单引号包围起来,例如:'A'。
C++中还有一些不能打印的特殊字符,称之为转义字符。
例如2-1:字符也可以用它们的编码指定,转义字符通常用三位8进制数表示,例如2-2:(假定为ASCII码):C++的字符由下列字符组成。
1、大小写英文字母a~z,A~Z2、数字字符0~93、特殊符号空格!# % ^ & * _ - + = ~ < > / \ | . , ; ? ' " ( ) [ ] { }**************************************<<范例>>***************************************例2-1:'\n' // 换行'\r' // 回车'\t' // 水平tab'\v' // 垂直tab'\b' // 退格'\f' // 进纸'\'' // 单引号(')'\"' // 双引号(")'\\' // 反斜杠(\)例2-2:'\12' //换行(10进制编码= 10)'\11' // 水平tab (10进制编码= 9)'\101' // 'A' (10进制编码= 65)'\0' // null (10进制编码= 0)标签: 学习笔记c++(字符串处理函数)备忘[原创2006-02-05 03:04:15 | 发表者: 51f]strcpy(char destination[], const char source[]);strcpy:将字符串source拷贝到字符串destination中。