目录
第二章. 开始学习C++
1. 主函数
2. 预处理器
3. endl
第三章. 处理数据
1. 简单变量
2. 整型
3. C++ 初始化:
4.字符
5. bool
6. const限定符
7. 浮点数
8. 算数运算符
9. 类型转换
第四章. 复合类型
1. 数组
2. 字符串
3. string 类
第二章. 开始学习C++ 1. 主函数
int main() 等效于 int main(void)
即空括号等效于不接受参数。main函数相当于程序与系统的接口,可以看作返回值给 *** 作系统并不给程序,区分大小写大小写。
2. 预处理器与 C 不同,C++ 风格的头文件没有拓展名,即没有 .h 后缀,如 iostream。
命名空间如:
using namespace std;
使用using编译指令,可以更明确的指示所使用的变量或函数等属于哪。也可以只是用命名空间的某些元素,如:
using std :: cin using std :: cout
来使用 cout,cin。
3. endlendl 在 在 iostream 头文件中定义,在std命名空间中,为控制符,作用与 'n' 类似,使光标换行。
第三章. 处理数据 1. 简单变量变量名第一个字符不能是数字,区分大小写,只能是数字、字符和下划线(_),不能将C++关键字作为变量名,不要创建以下划线开头的变量名,把它留给实现。
2. 整型short (int) 至少16位;int 至少与 short 一样长;long (int) 至少32位; long long (int) 至少64位,至少与 long一样长。
3. C++ 初始化:int wrens = 432; int ham = { 24 }; int emus {7};
若大括号中没用东西,置零。这种形式只能用常量,不能用变量初始化。
int rocs = {}; // rocs = 0 int psy {}; // psy = 0;
整型字面值:即显示书写的常量,如200、173。C++ 使用前1-2位标识进制,第一位1-9表示十进制,0表示八进制,0x 或 0X 表示十六进制。
使用控制符可以使输出为想要的进制方式。
cout << dec; // 输出十进制 cout << hex; // 输出十六进制 cout << oct; // 输出八进制4.字符
char 类型实际是整型,它是否有符号由 C++实现决定。字符型有扩展类型 wchar_t,具体位数由系统底层决定,用 wcin 和 wcout 处理扩展字符流。
wchar_t bob = L'p'; wcout << L"tall" << endl;
char16_t char32_t 同理,前者长16位,后者长32位,都是无符号类型。前者用前缀 u 表示,后者用 U 表示。
char16_t ch1 = u'q'; char32_t ch2 = U'U0000222B'; // U表示通用字符名,u后接8位16进制, // U后接8位16进制,表示其他的字符名,如日耳曼元 // 音等。
上述代码输出都是 int 值,不知道为啥,编译器转成无符号数了?
5. booltrue 和 false 可以转换成 int 类型,true 是 1, false 是0。
6. const限定符类似#define,创建一个字符常量。要初始化,无法声明后再赋值。
7. 浮点数float 至少32位,double 至少48位,且不少于 float,long double 不少于 double。有效位由低到高。浮点常量默认 double。
8. 算数运算符求模时一正一负, 符号满足:(a / b) * b + a % b = a。
9. 类型转换0 转换成 bool 为 false, 非0为 true。强制类型转换:
(long) thorn // 转成long long (thorn) // 转成long
计算机最自然的类型是 int 和 double,如两个 short 相加,计算机会先转成 int 结果再转成 short。
auto 关键字声明变量类型时:
auto m = 10; // m type int auto n = 1.2 // n type double auto x = 1.3e12L // x type long double第四章. 复合类型 1. 数组
数组声明时,元素数可以是常量表达式,如:8 * sizeof(int),不能是变量。sizeof(数组名)是数组所有元素的字节数。数组初始化可以省略 “=“:
int count[4] { 12, 16, 11}; // 元素分别为12, 16, 11, 02. 字符串
字符串结尾必须有 ‘’ ,‘s’ 和 “s” 不同,前者字符,后者字符串,有 ‘’。cout 允许字符串拼接:
cout << " I'd give my" " right arm.n"; // 等价于 cout << " I'd give my right arm.n";
拼接时第一个字符串的 ‘’ 被 ‘r’ 替换。
字符串输入时,cin 遇到 ‘ ’停止,遇到换行符不读取,留在输入队列。用cin.getline(数组名, 字符个数),读入一行字符,包括 ‘ ’,“字符个数“包括空字符,实际是要-1的,该函数会读取换行符并转成空字符。cin.get(数组名,字符个数)与 cin.getline()类似,也可以输入一个字符(cin,get(ch)),不过不读取换行符,即越不过换行符,需要再加 cin.get() 或 直接 cin.get(数组名,字符个数).get(),跨过换行符。
3. string 类使用string类要添加头文件string,她它在std空间中,要using或者std :: string使用。string类变量,自动处理处理字符串大小,同数组类似,可以用下标访问元素。初始化与字符串数组一样,未初始化的string类长度为0。
string str1 = "I "; //初始化 string str2 {"love "}; // 初始化 cout << str2[0] << endl; //输出'l' string str3; str3 = str1 + str2; //拼接 str1 += str2; // 拼接4. 结构
与C不同,声明结构的变量时省略关键字 struct,定义结构是,内部元素之间用 ’ ,’分隔开。结构初始化:
struct dec // 定义结构,元素间用分号 { char name[20]; float vol; double price; }; int main(void) { dec duck1 = {"Daq", 0.12, 9.98}; // 初始化结构,元素间用逗号 dec duck2 {"CDA", 0.14, .598}; // 另一种初始化方式 dec duck3 {} // duck3个元素置0 }
同类结构可以用 ”=“ 赋值。可以定义没名字的结构。
下周学习计划:复习完第四章后面的共用体(联合?)、枚举、+
指针,学习new、模板类vector、array,复习第5章循环、第六章分支,争取看完第七章函数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)