C++ Primer 笔记 - 第7章 函数
第7章 函数——C++的编程模块定义函数
可以将函数分成两类:没有返回值的函数和有返回值的函数
对于有返回值的函数,必须有返回语句
C++对于返回值的类型有一定限制:不能是数组,但可以是其他任何类型——整数、浮点数、指针、结构体和对象。
函数的返回值过程:
函数通过将返回值复制到指定的CPU寄存器或内存单元中来将值返回。
调用程序将查看该内存单元。
函数在执行返回语句后结束。如果函数包含多条返回语句,则函数在执行遇到的第一条返回语句后结束
函数原型和函数调用
1234#include<iostream>void cheers(int n);double cube(double x);
原型描述了函数到编译器的接口,也就是说,它将返回值的类型以及参数的类型和数量告诉了编译器。
原型的功能:
编译器正确处理函数的返回值
编译器检查使用的参数数目是否正确
编译器检查使用的参数类型是否正确,如果不正确,则转换成正确的类型(如果可能的话)。
仅当有意义时,原型化才会导致类型转换。
在编译阶段进行的原型话被称为静态类型检查(static type checking)
...
2020,以及新年愿望
2020
活在这珍贵的人间人类像植物一样幸福爱情像雨水一样幸福 ——海子
其实说到2020年,我也没有什么想要总结的,因为实在没有什么可以总结的事。因为疫情,每一个人的生活都改变了。生活的唯一目的变成了:活下去。惟愿每一个人都能健康幸福。2020年,每一个活在世上的人都是幸运的受难者。
2020目标完成情况
搭建一个自己的博客,坚持写:基本完成了。
每周跑步10km:因为疫情,把跑步替换成了跳绳、有氧拳击,基本完成。
自学日语(2019年断断续续背了一些单词了,希望2020过完可以能到N3或者N2的水平):没有完成,搁置了。
至少读24本书,完成阅读任务:读书31本,除了希望读两本英文书的目标只读了1.5本。
至少看50部电影:完成了。
自学pr,剪出一个自己满意的vlog(我看悬):没有完成。
保证每天的8h睡眠考试周及前一周除外:基本完成。还是有熬夜的时候。
去一个想去的地方旅行(我看悬):没有完成。
有空的时候练练字(不强求):完成了。
2020 喜欢的书:
《王小波全集:第一卷、第二卷 杂文》王小波:王小波真是一个特别让我觉得相见恨晚的作家。他的杂文尤其出色,我喜欢他 ...
愿得年年,常见中秋月
阴晴圆缺都休说,且喜人间好时节。好时节,愿得年年,常见中秋月。
– 徐有贞《中秋月》
JavaScript Basic, JS入门笔记
JavaScript BasicComment Your Code注释的两种方式:
双斜线的单行注释//
1// This is an in-line comment
斜线星号的多行注释
12/* This is amulti-line comment */
Declare JavaScript Variables声明变量:JS里一共有7种变量类型:undefined, null, boolean, string, symbol, number, object在JS中使用 var 来声明变量
1var ourName
Storing Values with the Assignment Operator用等号给变量赋值, 赋值运算总是从右往左进行,等号右边的最终计算结果被赋予等号左边的变量
1myVar = 5;
Initializing Variables with the Assignment Operator在声明变量时,给变量赋值初始化
1var myVar = 0; // Creates a new variable called myVar and assi ...
Python语言程序设计笔记 - 9 Python计算生态概览
9 Python计算生态概览9.1 从数据处理到人工智能
数据表示→数据清洗→数据统计→数据可视化→数据挖掘→人工智能
数据表示:采用合适方式用程序表达数据
数据清理:数据归一化、数据转换、异常值处理
数据统计:数据的概要理解,数量、分布、中位数等
数据可视化:直观展现数据内涵的方式
数据挖掘:从数据分析获得知识,产生数据外的价值
人工智能:数据、语言、图像、视觉等方面深度分析与决策
Python库之数据分析:
Numpy:表达N维数组的最基础库
Pandas:Python数据分析高层次应用库
Series = 索引 + 一维数据
DataFrame = 行列索引 + 二维数据
SciPy:数学、科学和工程计算功能库
提供了一批数学算法及工程数据运算工能
类似Matlab,可用于如傅立叶变换、信号处理等应用
Matplotlib:高质量的二维数据可视化功能库
Seaborn:统计类数据可视化功能库
提供了一批高层次的统计类数据可视化展示效果
主要展示数据间分布、分类和线性关系等内容
Mayavi:三维科学数据可视化功能库
...
Python语言程序设计笔记 - 8 程序设计方法
8 程序设计方法8.1 实例13:体育竞技分析
输入:球员的水平,输出:可预测的比赛成绩
自顶向下和自底向上:
自顶向下(设计):
将一个总问题表达为若干个小问题组成的形式
使用同样方法进一步分解小问题
直至,小问题可以用计算机简单明了的解决
自底向上(执行):
分单元测试,逐步组装
按照自顶向下相反的路径操作
直至,系统各部分以紫装的思路都经过测试和验证
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#MatchAnalysis.pyfrom random import randomdef printIntro(): print("这个程序模拟两个选手A和B的某种竞技比赛") print("程序运行需要A和B的能力值(以0到1之间的小数表示)")def getInputs(): a = eval(input("请输入选手A的能力值(0-1): ")) b = eval(input("请输入选手B的能力值(0-1): ")) ...
Python语言程序设计笔记 - 7 文件和数据格式化
7 文件和数据格式化7.1 文件的类型
文件时存储在辅助存储器上的数据序列
文件展现形态:文本文件和二进制文件
文本形式打开文件:
123tf = open('f.txt','rt')print(tf.readline())tf.close()
二进制形式打开文件:
123bf = open('f.txt','rb')print(bf.readline())bf.close()
文件的打开和关闭:
文件打开: = open (,)
文件路径:用斜杠替代反斜杠,相对路径”./PYE/f.txt”
文件打开模式:
文件关闭:.close( )
文件内容的读取:
遍历全文本:
12345fname = input()fo = open(fname,'r')txt = fo.read()#对全文txt进行处理fo.close()
当文件较大时,读取会耗费大量资源
123456fname = input()fo = open(fname,'r')txt = fo.read()while txt!="": txt = fo.read(2)fo.close() ...
Python语言程序设计笔记 - 6 组合数据类型
6 组合数据类型6.1 集合类型及操作
集合是多个元素的无序组合:
几何元素之间无序,每个元素唯一,不存在相同元素
集合元素不可更改,不能是可变数据类型
建立集合用 { } 或 set(), 空集合必须 set()
12A = {"Python",123,("Py",123)}B = set('pypy123') #{'1','2','3','p','y'}
集合操作符:
S ≤ T 或 S < T,返回 True/False 关系操作符
集合处理方法:
集合类型应用场景:
数据去重:set( ) 和 list( )
6.2 序列类型及操作
序列类型的定义:序列是具有先后关系的一族元素
序列是一维元素向量,元素类型可以不同
元素间由序号引导
序列类型:字符串类型、元组类型、列表类型
序列类型及操作:正向递增序号、反向递减序号
序列类型通用操作符:
元组类型及操作:
元组一旦被创建,不能更改
元组用()或tuple()创建,元素间用逗号分隔
列表类型及操作:
列表是一种序列类型,创建后可以随意修改 ...
Python语言程序设计笔记 - 5 函数和代码复用
5 函数和代码复用5.1 函数的定义与使用
函数是一段代码的表示
def <函数名>(<函数参数>):
<函数代码>
函数的调用:调用时要给出实际参数
可选参数:可选参数某些参数提供默认值,可选参数必须放在必选参数后面
123456def fact(n,m=1): s = 1 for i in range(1,n+1) s*=i s = s/m return s
可变参数的传递:函数定义时可以设计可变数量参数,即不确定参数总数量
1234567def fact(n,*b) s = 1 for i in range(1,n+1) s *= i for item in b s *= b return s
位置对应,名字对应
1fact(m=5,n=10)
返回值:返回多个数据,元组类型:return s//m, n, m (元组类型)
在函数中使用全局变量:保留字global
局部变量为组合数据类型且未创建,等同于全局变量
123456ls = ['F','f']def func(a): ls.append(a) ...
Python语言程序设计笔记 - 4 程序的控制结构
4 程序的控制结构4.1 程序的分支结构
单分支结构:
123guess = eval(input())if guess == 99: print("You are right")
二分支结构
12345guess = eval(input())if guess == 99: print("You are right")else: print("You are wrong")
表达的紧凑形式:
12guess = eval(input())print("You are {}".format("right" if guess==99 else 'wrong'))
多分支结构:成绩分级
1234567score = eval(input())if score <= 60: grade = "D"elif score <= 70: grade = 'C'else: grade = 'A'
条件判断操作符:
条件组合:
异常处理:
try:
<语句块1>
except <异常类型&g ...


