导图社区 C加加大一上基础复习思维导图
这是一篇关于C加加大一上基础复习思维导图的思维导图
编辑于2021-12-23 17:31:29C++
指针
一个指针包含的是一个变量的内存地址
int *p
初始化为空指针
int *p=NULL
指针运算符
地址运算符&
p=&y
将y变量的地址赋值给指针p
间接运算符*(解引用)
cout<<*p<<endl;
cout<<y<<endl;
内置数组
声明形式
类型 数组名 [数组大小]
类型 数组名 [数组大小]={}
初始化多于大小,编译错误
初始化少于大小,剩下的元素初始化为0
使用const修饰指针
const int *p=&a
指针指向的值不可以改,指针的指向可以改(也就是p可以指向&b,但p不能赋予一个不等于a的值)
int * const p=&a
指针指向的值可以改,指针的指向不可以改
const int * const p=&a
指针指向的值和指针的指向都不可以改
sizeof(...)
占用内存的字节
指针和数组
int *p=数组名
指向第0元素的地址
指针/偏移量表示法
int *p
p=b(数组)
引用b[3]
以内置数组名作为指针的指针/偏移量表示法
*(b+3)
指针/下标表示法
p[3]
基于指针的字符串
char color[]="blue";
const char *colorPtr="blue"
char color[]={'b', 'l', 'u', 'e', '\0'};
类模板array和vector、异常捕获
array
头文件<array>
array对象的声明
array<类型,大小>array对象名
初始化array对象
array<int, 5>={}
若初始化值的个数少于array对象元素的个数,剩下的被初始化为0
用循环来初始化array对象的元素
n.size()获取数组n的大小
size_t 表示一种无符号的整型类型
头文件<cstddef>
基于范围的for语句
for(范围变量声明:表达式)
范围变量声明含有一个类型名称和一个标识符(int item)
表达式是array对象
对于每次迭代,把这个array中的下一个元素赋值给int类型的变量
vector
头文件<vector>
vector1<数据类型>对象名(大小)
函数和递归入门(缺递归和迭代)
数学库函数
头文件<cmath>
ceil(x)
x取整为不小于x的最小整数
cos(x)
x的三角余弦
exp(x)
指数函数e^x
fabs(x)
x的绝对值
floor(x)
x取整为不大于x的最大整数
fmod(x,y)
x/y的浮点数余数
fmod(2.6,1.2)为0.2
log(x)
x的自然对数
log10(x)
x底数为10的对数
pow(x,y)
x^y
sqrt(x)
x的平方根
函数的常见形式
有参有返
int test03(int a){cout<<"this is test04"<<endl; return 1000;}
有参无返
void test02(int a){cout<<"this is test02 a="<<a<<endl;}
无参有返
int test03(){cout<<"this is test03"<<endl; return 1000;}
无参无返
void test01(){ cout<<"this is test01"<<endl; }
随机数生成
头文件 #include<cstdlib>
i = rand();
rand函数生成0-RAND_MAX之间的一个无符号整数
投骰子
1+rand()%6
cin>>seed; srand(seed)
向随机数生成器提供种子,避免每次运行的结果相同
enum(枚举类型)
enum Status{ CONTINUE, WON, LOST}
默认实参
给形参一个默认值,当程序在函数调用中对于具有默认实参的形参省略了其对应的实参时,编译器会重写这个函数调用并且插入那个实参的默认值
一元的作用域分辨运算符(::)
控制语句和逻辑运算符
for
for(初始化;循环继续条件;增值)
分号是必须的,这三个表达式是可以选择有没有的
setw(n)
规定了下一个输出值应占用的域宽是n
setprecision(n)
制定了小数点右侧n位的精度
cout<<fixed<<setprecision(n)<<x<<endl;
要用头文件#include<iomanip>
do..while
在循环体执行之后再进行循环继续条件的测试
do{ }while(条件)
switch(多路选择)
switch(你输入的东西){case n1:要执行的语句 break;....default: 要执行的语句}
break 和 continue
break
跳出循环
跳出case
continue
跳出循环体剩下的部分,开始新一轮的循环
逻辑运算符
||
或
&&
与
!
非
计算机和C++简介
Introuduction
Software controls hardwars
object-oriented programming-todyt's key programming methodology
Hardware
the keyboard, screen, mouse, hard disks, memory, DVD drives and processing units
Computer Organization
Input unit
Output unit
Memory unit
Arithmetic and logic unit(ALU)
CPU
Secondary storage unit
Data Hierarchy
Bit
Character
Feild
Record
File
Database
Programming Languages
Fortran
COBOL
Pascal
Ada
Basic
C
大多数通用操作系统的代码都是用c或c++编写的
Objective-C
Java
VisualBasic
微软公司在20世纪90年代早期推出了vb程序设计语言,目的是简化微软公司的Windows应用软件的开发
C#
PHP
Perl
Python
JavaScript
Ruby on Rails
Scala
Typical C++ Development Environment
Editing a Program
Preprocessing a C++program
Compiling a C++ Program
Linking
Loading
Execution
C++编程入门、输入/输出和运算符
转义符
\n 换行符
标识符
标识符是不以数字开头的由字母、数字和下划线组成的一个字符序列
算术运算符
加法+
减法-
乘法*
除法/
求模%
得到余数
优先级
乘法除法和求模高于加减法
类、对象和字符串的介绍(未完善)
类的定义
class 类名
产生一个类的对象
类名 对象名:GradeBook myGradeBook
调用类的成员函数
myGradeBook.displayMessage()
类的定义要以分号结束
};
public:
如果成员函数出现在public:后,说明该函数可以被程序中的其他函数例如main函数调用
string
类型为string的的变量表示一串字符
头文件 #include<string>
形参和实参
parameter形参
argument实参
控制语句、赋值、自增和自减运算符
控制结构
顺序结构
按从上到下的顺序进行
选择语句
if...else
bool值等于1 true 执行if/bool值等于0 false 不执行
真就执行if 假就执行else
条件运算符
三目运算符
cout<<(grade>=60? "Passed":"Failed");
switch
循环语句
while
while(循环执行的条件)
do...while
for
伪代码
伪代码帮助程序员在试图用程序设计语言写出程序之前先设计出这个程序
浮点数的精度
float
单精度浮点数
约7位有效数字
double
双精度浮点数
约15位有效数字(存储空间是float变量的两倍)
更常用
unsigned int
计数器只应存储非负的值,声明时应当用unsigned 数据类型
unsigned int 可以表示0到int 两倍正数范围的值
赋值运算符
+=
c+=7 c=c+7
-=
*=
/=
%=
自增和自减运算符
前置自增
++i
在接下来使用i自加后的值
后置自增
i++
在接下来使用i本身的值
前置自减
同理
后置自减