C/C++学习笔记(二)
学习随笔
此为基础学习的一些知识点杂记。
变量(首先定义变量 程序就是模拟现实)
float 有效数字 6到7位 c最后➕f 开发中少用float
float 位数:32位 空间:4个字节 取值-3.4E+38~+3.4E+38
float 不适合表示大型数字,会造成精度损失
c中用define定义常量 效率低下? c++用const定义常量 const float pi = 3.14定义了一个float类型的常量
const 在c与c++中有区别!
#include <math.h> #include 一样的
double 位数64位 空间 8字节 取值-1.7E308~1.7E308 15位有效数字
默认显示小数点后5位数字
//1,强制以小数的方式显示
cout << fixed;
//2,控制显示的精度
cout.setprecision(2);
前两者一起连用!
setw(宽度);只负责后面一个字符占用的宽度
输入cin.get();与 getchar();一样
利用sizeof测量类型字符的长度,长度越长精度越高
SetConsoleTitle(“TEXT”)更改控制栏窗口标题
c++注释 /** 注释内容*/ 变量描述中会存储该注释,方便编程
字符串在c中是字符数组,c++中不推荐,全部采用string
typedef 为类型名取别名
sttfill(’_’)用下划线填充setw()
endl 代表 \n + fflush(stdin)
算术运算符与表达式
/ 除法求商, %取模取余
取模的符号只跟第一个操作数相关
取模的场景
//1 取某个数字的个位 1234 % 10 取4
//2 45天是零几天 45 % 30
类型转化
自动类型转化:
short->int->long->float->double
强制类型转化
double num3 = num2 / num1; //num2 = 5, num1 = 2
cout << num3 << endl; // num3 = 2
表达式和条件结构
c++中引入了bool类型
c中 0代表假 非0代表真
cout << 3 > 12 << endl; 输出0
cout << 3 < 12 << endl; 输出1
若添加
bool flag = true;
cout << boolalpha; //强制输出true 和 false
cout << 3 > 12 << endl; 输出false
cout << 3 < 12 << endl; 输出true
与 或 非
位运算符 bit
运算符重载
<< 左移 >> 右移
sizeof 是一个运算符 测量数据类型占用内存空间的大小
sizeof(数据类型)
单位:字节
运算符优先级
单目运算符
赋空字符 如下:
char pan = ‘\0’ 或者 char pan = ‘空格’
switch结构 case 情况 break退出 default默认 必须要break
if 与 switch 不同点
switch:等值条件判断 条件是有限个
多重if:判断某个连续区间的情况
一旦条件>=20即抛弃switch
循环三要素
循环结构
循环三要素:
循环变量的初值
循环变量的判断
循环变量的更新
写程序的时候写在一起!!!!!
每个程序块可以加入exit() 用于返回错误码!!!!!
这样就可以方便判别哪块出错了
线段1维
单循环
平面2维
双循环 嵌套循环打印图案
外层循环控制行 行数 换行
内层循环控制列 列数 换列
do-while
do-while
不管如何都会执行一次
while 先判断再执行
循环结构总结
相同点
多次重复执行一个或多个任务时考虑循环来解决问题
不同点
除了语法不同,判断和执行的顺序也不同
适用情况不同
循环次数确定的情况 for循环
不确定 选while 和 do-while
指针
常量 const
define 宏定义 值可以改变
是一个值为内存地址的变量(或数据对象)
基本用法
数据类型 *指针变量名
int *ptr_num;
char *ptr_name;
float *money_ptr;
double *p_price;
int* num;这种声明好 使用则表示 *num
取地址好处:地址访问 * 直接找到对象进行修改!!!&#x