《Pascal转C++学习笔记——1.基本知识》由会员分享,可在线阅读,更多相关《Pascal转C++学习笔记——1.基本知识(10页珍藏版)》请在金锄头文库上搜索。
1、Pascal 转 C+学习笔记 1.基本知识 版本: 201103202311 本文内容遵从 CC 版权协议 转载请注明出自WanderingDream(www.WanderD) 本文 总目录地址: http:/www.WanderD 本文概述(主要内容): C+的初步知识、常量、变量、 c+的运算符、算术运算符与算术表达式、赋值运算符与赋值表达式、逗号运算符与逗号表达式。 您可以运用搜索( ctrl+f)快速找到您想查到的,而不是一个一个浏览。 正文: C+的初步知识: 这里您会看到一些杂七杂八的东西 . 标准 c+规定 main 函数必须声明为 int 型。如果程序正常执行,则向系统返回数
2、值 0,否则返回 -1. C+标准库中的类和函数实在命名空间 std 中声明的,因此程序要用到 c+标准库,就需要用“ #include”和“ using namespace std” endl 是 c+输出时的控制符( end line 的缩写) 对函数的声明:“ int max(int x,int y);”这就相当于定义一个名为“ max”的变量似的。这里只介绍个大概,具体的在下一章函数部分详尽说明。 在 c 语言中头文件用 .h 作为后缀,但 ANSI C+建议头文件不带 .h 后缀。 什么是连接程序?将 一个程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,最终成为一个可
3、执行的二进制文件,它的后缀是 .exe。 数据类型与表达式: 这里您将看到:常量、变量、 c+的运算符、算术运算符与算术表达式、赋值运算符与赋值表达式、逗号运算符与逗号表达式。 C+中的数据类型: 基本类型: short int, int(相当于 pascal 的 integer), long int(个人感觉像 longint), char,float, double, long double, bool(相当于 pascal 的 boolean), void(空类型) 非基本类型: enum(枚举类型), type(数组类型), struct(结构体类型), union(共用体类型), c
4、lass(类类型), type *(我暂时也不知道它干什么,鄙视我吧 .) 指针类型 无符号的前缀“ unsigned 以上的这些数值范围和字节数因为 IDE 不同实际值不同,我就不写出来了。 0x20(数字 0+英文 x)表示这是 16 进制数的 20,十进制数的 32. 020(数字 0)表示八进制数的 20,即 10 进 制数的 16. F 或 f 表示单精度浮点数 用字母 e 表示的其后的数是以 10 为底的幂,如 e12 表示 1012 指数形式存储时按: 数符( +、 -) +数字部分( .314159) +指数部分( 3) 其中数字部分必须小于 1,同时小数点后面的第一个数字必须
5、是一个非 0 的数字。 Eg:314.159 314.159e0 31.4159e1 3.141592e2 0.314159e3 在内存中都表示为 0.314159e3 转义字符: 什么是转义字符?总的来说就是你直接打印不出来的。下面列举: 字符形式 含义 ASCII 代码 a 响铃 7 n 换行 10 t 水平制表(跳到下一个 tab 位置) 9 b 退格,将当前位置移到前一列 8 r 回车 13 f 换页,当前位置移到下页开头 12 v 竖向跳格 8 输出反斜杠字符“ ” 92 输出单引号字符 39 ” 输出双引号字符 34 0 空字符 0 ddd 13 位 8 进制所代表的字符 xhh
6、12 位 16 进制数代表的字符 注意: ddd 中 d 代表数字。 Eg: cout指向成员运算符 算术运算符与算术表达式: 这里要注意的很多 . 这里说一下除运算“ /”。这个符号很强大,把 pascal 中的整除和 /都包括了。我的理解是 /左右两边都是整形时是整除,两边只要有一个是实型就是普通的除。 不知道对不对,大家拍砖 . /号如果 进行整除且两边之中有负数,这时小数部分舍入方向是不固定的,多数编译系统会采取“向零取整”的方法。 Eg: -5/3 的值等于 -1(不是商 -1 就是 -2,这里向 0 靠拢,就是 -1,即我们大家平时的思维习惯), 大家注意。 另外,参加加减乘除运算
7、的两个数中只要有一个是实型,则运算结果也是实行( double)。 在进行运算时,不同类型的数据要先转换为同一类型,然后进行运算。转换方法: 这个是系统自动进行的。 自增自减运算: +i:在使用 i 之前先将 i 的值加 1。 Eg: i=3; j=+i; j,i 的值为 4 I+:在使用 i 之后使 i 的值加 1。 Eg: i=3; j=i+; j 的值为 3, i 的为 4 +和 的结合方向是自右向左 注意: int i=3; cout=,&=,=,|= 赋值表达式: 赋值表达式中的表达式可以又是一个赋值表达式。 Eg: a=(b=5); 相当于 b=5;a=b; 赋值运算符是自右至左的
8、。 a=(b=5)/(c=2) 其中 a 值为 5。因为赋值运算符的右结合性。 赋值运算符也可以包含复合的赋值运算符。 Eg: a+=a-=a*a 以赋值符号为划分。 先执行 a-=a*a; 再执行 a+=a 逗号运算符与逗号表达式: 赋值运算符的优先级别高于逗号运算符。 逗号运算符是所有运算符中级别最低的。 Eg: a=3*5,a*4 先求解 a=3*5, a 为 15 再求解 a*4,为 60,整个逗号表达式的值为 60. 再如: (a=3*5,a*4),a+5 这时, (a=3*5,a*4)算出为 60,但 a 值仍未 15(未赋值),所以表达式值为 15+5=20。 逗号表达式的一般形式: 表达式 1,表达式 2,表达式 3, .,表达式 n 逗号表达式的值为表达式 n 的值,即最后一个表达式的值。 我们再看一个程序: int a; (a=3*5,a*4); couta; 这是可以运行的,输出值为 15 所以有很多人就用它来当“ ”,即一个语句可以放很多语句。 比如 for (i=1;1;i+,i-,i=i+1,.表达式 n)这样 for 语句就不用循环体了 . 逗号表达式是把若干个表达式串联,在许多情况下并不是为了得到表达式的值,而只是想同时执行其中的若干个表达式(得到各个表达式的值)。 总字数: 3609