C++基础

  此为东南大学何洁月C++视频的听课笔记,笔记内容从第1讲到第24讲,记录内容主要是个人易忘难懂的部分,且绝大部分为C++特有的知识,但暂时并未涉及面向对象内容。


(1)区分编译与解释:解释是一条一条进行解释再执行,编译时一次性解释再执行,正确后以后运行时

不再编译

(2)编辑,编译,连接(分开的程序装配到一起),运行

(3)补码的运算,取反加1,添上符号位。

(4)c无布尔类型 c++中用了bool

(5)32位机,int占4个字节(32位), char 1个四节,long 4个字节

(6)指数形式12e2=120

 (7)逗号运算符,表达式1,表达式2,
                先做表达式1,后做表达式2,结果为表达式2.

(8*)优先级    非,算术运算符(*/%,+-),关系运算符(> < >= <= = !=),逻辑运算符(&& ||

(9)switch() 条件可以是int,char,enum型,花括号可用可不用。
(10)enum 枚举类型的元素都有一个缺省值,分别表示0,1,2,3.......
(11)#include iostream.h
    cout<<"zifu"<<i<<endl;
    #include iomaip.h    //输入格式
    cout<<setw(5)<<setprecision(3)<<3.1415<<endl;---------域宽5格,小数点后两位(3包含小数

点)
     cin>>a;    ----------------输入
(12)函数的递归调用
      要进行分析:将大问题逐级简化为小的类似于大问题的问题。
      递推   回归
   例如:用递归法计算从n个人中选择k个人组成一委员会的不同组合数
         分析:n个人选择k个人=   n个人中选择k-1个人 + n-1个人中选择k-1个人
         (先拿出一个人,有两种情况,1,这个人是要选择的。2,这个人不是要选择的)
int comm(int n,int k)
{
   if(k>n)
     return 0
   else if(n==k||k==0)
      return 1;    //  出口
   else
      return comm(n-1,k)+comm(n-1,k-1);
         

  汉诺塔问题
A,B,C三根柱子,A有n个圈,要移动到C上。
分解:A移动n-1到B(借助C)(继续递推分解)
      A移动第n个到C上
      再将B上的n-1个圈移动到C(借助B)(继续递推分解)

(13)C++中的引用,相当于c中的指针
      例如:int a;
            int& b=a;
      即a和b指向同一个整形的储存单元
      声明一个引用型变量,必须同时进行初始化。一旦初始化后,就不能改变了
例:
 c++
void swap(int& a,int& b)
void main()
{
 int x,y;
 swap(x,y);
}
 c
void swap(int *a,int *b)
void main()
{
  int x,y;
  swap(&x,&y);
}
内部结构都是进行地址的交换
另外:可以从函数体内带出值出来


(14)内联函数
关键字inline,就在一般声明前加上inline
编译时在调用处用函数体进行替换,节省开销。系统编译时就是复制粘贴代码
注意:函数内不能有循环,switch,
      声明必须在之前。
      内联函数不能进行异常接口声明

(15)带默认形参值得函数:
    调用时如给出实参,则采用实参值,否则采用预先给出的默认形参值、           注意:(1)缺

省形参值从右向左顺序声明,
         (2)调用时实参取代形参是从左向右的顺序。
         (3)调用在函数体实现之前时,缺省形参值必须在函数的原型中(声明中)

例:
int add(int x=5,int y=6);
void main()
{
  add();
}
int add(int x,int y)
{
  return x+y;
}
         (4)如果局部已经定义缺省值,则使用该缺省值
            如果没有定义,则使用局部的;
例:
int add(int x=1,int y=2)
void main(void)
{
   int add(int x=3,int y=4);  //相当于局部定义了
   add();      //使用局部缺省形参值
}
void fun(void)
{
   add();   //使用全局缺省形参值
}

(16)重载函数:
           允许功能相近(形参类型不同,形参个数不同)的函数在相同的作用域内以相同函数名声  

         明,从而形成重载
           注意:(1)个数不同或类型不同。
                   (2)系统根据调用参数的类型来选择相应的函数
例:
int add(int x,int y)
{
.....
}
double add(doube x,double y)
{
.....
}
void main()
{
   int x,y;
   double a,b;
   add(x,y);
   add(a,b);
}

(17)函数模板:
             可以创建一个通用功能的函数,以支持多种不同形参。
             声明方法:template
                        函数声明
例:
#include iostream.h
template  typename T
T abs(T x)           //函数模板。编译器根据参数将T转换为相应的类型,即函数的实例化生成相应 

                    //的函数
{
  return x<0?-x:x;
}
void main()
{
   int x=-2;
   double y=-3.4;
   cout<<abs(x)<<endl<<abs(y)<<endl;
}

(18)系统函数:系统库中自带几百个函数,需调用头文件。
              参考msdn library
(19)学会调试debug
   设置断点,跟踪变量
   debug观察递归。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值