C++MOOC学习笔记(一)

C++MOOC学习笔记(一)

计算机程序设计(C++)
西安交通大学 赵英良
前两周内容笔记

  1. cout<< sizeof(int) <<endl; //整形数的字节数
  2. 字符串占的字节数等于字符串长度+1。因为末尾加了个结束符,用 ‘\0’ 表示,数值上是0。
    Hello World'\0'
  3. 空字符,’\0’,ASCII-0;空格,’ ’ ,ASCII-32。
  4. 转义字符,用一个反斜杠和一个字母(或数字)表示,它也是 1 个字符。
    cout<< '\''; // 显示单引号
    cout<< '\'''; //显示双引号
  5. 水平制表符 \t
    cout<< 1234 << "\t" << 12 << '\t' << 456 << endl;
    cout<< 12 << "\t" << 1245 << '\t' << 456 << endl;
  6. 转义字符
    \r //回车键
    \t //制表符 列出现在第0、8、16、24列
    \f //分页符
    \b //退格符
    \0 //字符结束标志,后面的都不显示
    \nnn // 八进制如: \141 是十进制的97 显示 a
  7. 符号常量
    ① const <类型说明符> <符号常量名> = <数据>;① const <类型说明符> <符号常量名> = <数据>;
    ② #define <符号名称> <数据> 程序编译时,先将<符号名称>全部替换为<数据>,然后正式编译,所以这样的说明称为编译预处理
    #define PAI 3.14 编译前把 PAI 替换成3.14,编译时 PAI 这个符号已经不存在了,不是C++语句。
  8. 变量的说明也叫变量的声明。变量意味着编译系统会给这个变量在内存中分配一个存储单元。所以变量的声明也叫变量的定义。
  9. 算术运算,使用数学函数需要在程序开头写#include <cmath>
    前置运算符的结果是加 1 或减 1 之后的结果;后置运算符的结果是加 1 或减 1 之前的结果。
    算术运算符的优先级:% 和 * 、/ 优先级相同;后置++、–的优先级>前置++、–的优先级>乘除的优先级。使用圆括号标明运算顺序。
  10. 相同类型的数据进行算术运算,结果还是这种数据类型;不同类型的数据运算,默认向级别高的类型转换,
    ①(低)short,char→unsigned→long→double(高)
    ②单目运算符>双目运算符>三目运算符
    强制类型转换 (<类型>)x 或 <类型>(x)
    (double)a/b int(3.0/2.0)
    高精度向低精度转换会损失有效数字。
  11. 逻辑运算 与或非
    与运算 &&
    或运算 ||
    非运算 !
  12. 位运算 C++中只能整数进行。
    与(and)、或(or)、取反(not)、异或(xor)、左移、右移。
    按位“异或” :相同位为0,不同为1。
    移位:将二进制的每一位向左向右移动指定的数位。移出的数舍去,不足的位补零。
    位运算符 与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)。
    例子:
    a=0110 1001B 105 69H 0X69
    b=0101 1110B 94 5EH 0X5E
    c=a&b; c=a|b; c=~a; c=a<<2; c=a>>2;
    左移一位相当于乘以2,右移一位相当于除以2。
    注意点:一个&和两个&&是不同的,| 和 || 也不同,在输出中使用移位运算的表达式时,要加括号
    cout<<(4<<2)<<endl;
  13. 特殊运算符
    字节数运算符:sizeof(<常量、变量、数组、对象>)、sizeof(<类型>)、sizeof(<表达式>)。
    条件运算符:<条件> ? <表达式1> : <表达式2> 如果条件为true,整个表达式的值为表达式1的值;如果条件为false,则整个表达式的值为表达式2的值。分段函数例子:y =( t>= ? 1:0);
    注意:<表达式1> 和 <表达式2>的值应具有相同的类型,或能转换为相同的类型。
    y = (x>1 ? 1:“error”); //错误 一个是数,一个是字符串,两个类型也不能自动转换。
    逗号运算符 y = (a=a+1, b=b+2, c=c+3); //最右边的值赋给 y 。
  14. 混合运算的类型转换 转换方式:①字节少的向字节多的转换;②精度低的向精度高的转换;③有符号向无符号转换。
    赋值:向左值类型转换。
    double a = 8.12;
    int k;
    k = a; // a 转换为 int 型,舍去小数,k 为 8。
  15. sqrt 后的结果是 double 型。
  16. 字符和整数 ①整数和字符在内存中都是整数;②整数:存放数的二进制形式,占4字节;字符:存放其 ASCII 码的值,占一个字节。③输出时,当整数看待,显示数的十进制形式;当字符看待,显示的是 ASCII 值是这个数的字符(该数小于128)。
    int a = 65; // int a='a'; 这两个是一样的
  17. \r 回车是回到本行开头;\n 换行是到下一行开头。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值