C++
C++概述
基础语法
一、简单变量
C++对数据类型的大小做出了规定
利用常量查看数据类型的范围,需要使用<climits>
库
sizeof(数据类型)
sizeof(变量) 或 sizeof 变量
#include <iostream>
#include <climits>
int main(void) {
using namespace std;
int n_int = INT_MAX;
short n_short = SHRT_MAX;
cout << "int is " << sizeof(int) << " bytes." << endl;
cout << "Maximum values: " << endl;
cout << "int: " << n_int << endl;
cout << "short is " << sizeof n_short << " bytes." << endl;
return 0;
}
二、命令行进程查看与控制
用ubuntu命令行操作过程中,无意中Ctrl + Z关闭了正在书写程序的nano进程,再温习一下进程的查看和控制
传送门
三、进制转化
#include <iostream>
int main(void) {
using namespace std;
int cheat = 42;
int waist = 0x42;
int inseam = 042;
cout << "chect= " << cheat << " (int dec 十进制)" << endl;
cout << hex; // 修改cout输出为十六进制
cout << "waist" << waist << " (int hex 十六进制)" << endl;
cout << oct; // 修改cout输出为八进制
cout << "inseam" << inseam << "(int oct 八进制)" << endl;
return 0;
}
四、char
使用cout对象中的put方法打印字符
cout << "Displaying char ch using cout.put(ch): ";// 调用cout对象中的>
cout.put(ch);
cout.put('!');
转译序列
五、浮点数
浮点数精度丢失
#include <iostream>
int main(void) {
using namespace std;
float a = 2.3E+22f;
float b = a + 1.0f;
cout << "a = " << a << endl;
cout << "b = " << b - a << endl;
return 0;
}
float的有效位数至少有6位(即有6~7位的精确数字),最后 1.0f 被省略丢失了。
精度丢失与浮点数的存储方式有关
六、类型转换
初始化或者赋值有两种方式,直接赋值或者使用花括号赋值{ },花括号赋值要更加严格,一些可能越界的赋值不被允许,示例如下
char c1{31325}; // 越界,不被允许
char c4 = {x}; // x未赋值,是一个不确定的值,该赋值操作不被允许
char c5 = x; // 该赋值操作被允许,因为=的赋值要求较低