没有合适的资源?快使用搜索试试~ 我知道了~
C++学习笔记 C++学习笔记
1 下载量 178 浏览量
2023-08-06
10:06:39
上传
评论
收藏 331KB PDF 举报
温馨提示
试读
65页
C++学习笔记
资源推荐
资源详情
资源评论
C++笔记 2007-3-22
1、 程序 —— 可执行文件,人发送给计算机的一组指令。
硬件指令是二进制,方便与数字电路和指令集转换。
2、 我们学的是符合ANSI规范的标准C++,有可移植性
3、 进制:十进制 -> 二进制:除2取余 88 -> 0101 1000
二进制 -> 十进制 : 各个位与权重的乘机,之后的总和
0101 1000 -> 8+16+64 -> 88
十进制 -> 十六进制 :除16取余 88 -> 0x58
4、 1byte =8 bit
1 kb = 1024 byte
1M = 1024 kb
5、 开发周期
源程序 --> 可执行代码 --> 可执行程序 --> 调试 --> 运
行
(1) (2)
(1)编译 :生成自己的可执行代码(缺少库函数代码)
(2)连接 : 与系统的可执行代码合到一起
源文件后缀 :”.cc”,”.cp”,”.cpp”
6、第一个C++程序
#include < iostream > ---
-“#”表示预编译选项,<>为一个头文件,其中有常用函数
using namespace std; ----命名
空间,用到的全局变量都是个空间的
int main(){ ----主
函数,每个C++程序都必须要有的函数,是程序执行的入口,main函数结
束则程序结束
cout << "Hello World" << endl; ----“cout”是
一个全局变量,代表标准输出设备;“<<”输出运算符,输出到标准输
出设备上;"endl"换行符,与”“效果相同
return 0;
}
% g++ -c hello.cc ----编译生成目标文件hello.o
% g++ hello.o ----连接生成可执行文件
% g++ -o hello hello.o ----连接生成可执行文件并指定可
执行文件名字及生成目录(可执行文件默认为a.out)
% a.out ----执行可执行文件
% g++ hello.cc ----直接生成可执行文件(目标文件hello.o在
内存中生成)
* 运行可执行文件要在.bash_profile文件中配制PATH环境变
量,加上当前路径“.”,用“:”分隔
7、注释
多行注释 /* ... */
单行注释 //
8、头文件
#include < > 系统头文件 #include " " 自定义的头文
件
9、变量
用于存储数据,每个变量都要有类型和名字
使用变量:(1)声明 :确定变量类型及名字;(2)赋值,第
一次的赋值称为初始化
用双引号保存的是字符串,用单引号保存的是字符 计算
机保存字符,是保存的字符对应的ASCII码。
对字符的声明 char c ;
c='a';
对字符数组的声明 char name[]="Mary"; ---字符数组
用“=”赋值,必须在初始化时候
C++笔记(day02) 2007-3-23
1、%ldd 可行文件的名字; ---可查看连接库
2、C++严格区分大小写,变量命名只能使用字母,数字,或下划线,
第一个字母必须使用字母或下划线
3、float单精度,double双精度
sizeof(int)---返回int在内存中占的大小
size(bool)=1
size(char)=1
size(short)=2
size(int)=4
size(long)=4
size(float)=4
size(double)=8
无符号的数据一旦溢出,将成为0。
有符号的int最大值2147483647,益处变为最小值,负数
4、不同数据间赋值:有兼容性的,占空间小的数据类型,可以给占空
间大的数据类型赋值
不兼容的,可能会造成数据丢失。int ->float可以转换;float->int 小数部
分丢失
5、 运算符
要求数据类型要相同
i++ 先用后加
++i 先加后用
布尔运算符号:结果真或假
逻辑运算符:做bool运算!(1)“与”运算&&,两条件要同时成立(2)“或”运
算||,只要有一个条件是真,就成立
6、按位与“&” 有0则与的结果为0
按位或“|” 有1则或的结果为1
按位异或“^” 两位不同则为1,相同为0
7、左移 “<<" 左移1相当于乘以2
右移 “>>" 右移1相当于除以2
8、三目运算符
条件?真:假
9、返回变量 --- 表达式可以再次赋值,赋值语句返回变量本身 eg:
(a=10)=20
返回变量的值 --- 不可再次赋值 eg:(a+5)=10
左值:变量、赋值表达式,++i的返回值是左值
右值:不能放在“=”左边的是右值,i++的返回值是右值
常量要在声明时就赋值,并且不能修改
10、流程控制
while(条件){循环体} 条件成立,则进入循环,知道条件为假时,退出循
环
(1)声明循环变量
(2)while()确定循环条件
(3)循环变量要有所变化,避免形成死循环
for(变量初始化;条件;变量的变化){循环体代码}
开始时判断循环条件是否成立,循环结束后,到第三个条件,使用变量
改变
do{循环体}while(条件);
先执行一次,再判断条件,选择是否继续执行循环
break; 跳出循环,执行循环之外的下一条语句
continue; 从次处开始,结束本次循环,进行下一次循环
11、课堂练习---求1到100之间的所有素数
C++笔记 (day03) 2007-03-26
1、cin 输入流一旦破坏,就不能恢复
2、函数:一段相关代码组成的集合,以便完成一个特定的目的。
(1)可以通过名字来使用,曾强了代码的可重用性。
(2)提高可维护性。
3、函数定义=声明+函数体:
<返回类型> 函数名(<参数表>...){
return ...
}
函数返回值:只有在调用函数的同时才能保存返回值
函数定义时,小括号里的参数称为形参,在函数被调用的时候才有意
义。
函数调用时,小括号里的被传入的参数称为实参。
4、函数在调用之前只有声明就可以,因为在编译阶段,参照声明可以
完成语法上的检测。
函数声明 <返回类型> 函数名(<参数表>...);
声明与定义的分离,实现并行开发!
5、全局变量,局部变量
局部变量:函数内部声明的变量,只能在它声明的函数内部使用。如果
没有对其初始化就使用,则其值为垃圾数字。
全局变量:能被所有的函数共同使用,要声明在所有函数(包括main函
数)之外。尽量少使用,影响太大。如果没有对其初始化就使用,系统
默认为其初始化为0。
6、数据区:只存放全局数据,数据区的数据是稳定的,程序启动时,
即创建,程序结束时,才消失
堆区
代码区
栈区:存储局部变量。插入数据从栈顶插入,先进后出结构。
如果函数不调用的话,局部变量是不存在的
在main函数与其他函数之间有个标记,一旦函数返回,栈顶下落到标记
处
栈中的数据是变化频繁的
函数调用时创建,函数返回即消失
7、 值传递
函数调用并不是传递实参本身,而是创建一个临时变量传到函数中
(1)为形参创建一个临时变量,临时变量的值是拷贝实参的值
(2)对形参的使用,实际上是对临时变量的使用,不会改变实参的大
小
8、默认参数
(1)area(float a , float b =10); 当只传递一个参数时,形参b的位置默认
为10
(2)有默认值的形参靠右摆放
9、内联函数
声明时加“inline”,运行效率高,不支持结构控制语句,必须先定义,不
支持函数原形。
10、递归函数
在函数内部自己调用自己。
必须有明确的返回条件----递归的出口
11、函数重载
(1)函数名相同。
(2)参数表不同(参数个数不同,参数类型不同,参数顺序不同)。
(3)与参数名和返回类型不关
调用时会根据参数表匹配自动调用相应的函数
编译之后,函数的名字都会发生改变,后面会加上形参缩写作为后缀,
剩余64页未读,继续阅读
资源评论
上山砍菜
- 粉丝: 0
- 资源: 225
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python的高性能爬虫程序,使用了多线程+缓存+xpath实现的,这里以彼-岸图库为例,实现,仅用于学习交流
- 中分辨率成像光谱仪(MODIS)烧毁面积产品信息MODIS-C6-BA-User-Guide-1.2.pdf
- Screenshot_20240427_172613_com.huawei.browser.jpg
- 关于学习Python的相关资源网站链接及相关介绍.docx
- (HAL库)基于STM32F103C8T6的温控PID系统[Dht11、ESP8266、无线透传、L298N……]
- VoLTE高丢包优化指导书.xlsx
- Rust资源文件.zip
- 前后端分离实践:使用 React 和 Express 搭建完整登录注册流程
- gradle-publish-to-MavenLocal.zip
- 10份网络优化创新案例.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功