🎉每一个不曾起舞的日子都是对生命的辜负🎉
目录
一、C++发展历程与背景
二、C++知识点推荐
1.在网站找视频资源
在b站我最喜欢看黑马程序员创作的C++入门视频,因为他针对初学者非常友好,讲的非常基础且全面,还有案例来巩固知识点,有时候我们受不了代码学习的枯燥,那么为何不从小做起呢,跟着他的视频,我们自己做出来不同的程序,也有成就感支持我们继续学下去。不过我在学习的同时会发散思维,如果自己开头了解了,那我会先按照自己的思路把程序完成再去和他讲的做对比,很有趣也有成就感,例如,他在讲猜数字游戏的时候,我自己弄出了一个抽自己班级同学学号的案例,随机抽取,公平公正,很舒服的,代码展示一下:
#include<iostream>
#include<ctime>
using namespace std;
int main()
{ /*注:1.本程序的学号均为整数类型。
2.学号太大的话会不适用,可以去掉高位重复的数字,用尾号代表学号*/
int n = 1, x = 0, y = 0, z = 0, t = 0;
cout << "请输入区间范围,填一个整数即可:";
cin >> x;
cout << "请输入第一个学号:";
cin >> y;
cout << "请输入一次抽取的个数:";
cin >> z;
cout << "请输入需要抽取的次数:";
cin >> t;
srand((unsigned int)time(NULL));
while (1)
{
int i = 1;
for (; i <= z; i++) {
int Num = rand() % x + y;
cout << "此次抽到的学号为:" << Num << endl;
}
cout << "一次抽奖完成" << endl;
cout << "----------------" << endl;
n++;
if (n > t)
{
cout << "抽奖结束,如果有重复请多次抽取,选择学号不重复的一组学号" << endl;
break;
}
}
system("pause");
}
有兴趣的可以拿去抽抽数字,为平凡的一天增加乐趣!!!
2.结合数据结构线性表
可以利用C++来定义结构体,分文件编写,分化大项目等等,来一个测试线性表的案例。
#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define LIST_INIT_SIZE 10
#define LISTINCREMENT 10
#define OK 1
#define ERROR 0
typedef struct SqList {
int* elem;
int len;
int size;
}SqList;
int InitList_Sq(struct SqList* L);//初始化顺序表
int ListInsert_Sq(struct SqList* L, int i, int e);// 向顺序表中插入数据
int ListDelete_Sq(struct SqList* L, int i, int* e);//删除顺序表中的数据
void ListShow_Sq(struct SqList* L, const char* s);//输出顺序表中的数据
void DestroyList(SqList* L);//销毁表
运行效果图示:
三、技术应用项目
C++可用于服务端开发,游戏,虚拟现实,数字图像处理等领域,相较于C语言语言简洁,输入输出可用IO流,使用方便、灵活;拥有丰富的运算符;支持面向对象过程和面向对象的方法。C++语言能应用于大应用的底层代码,比起Python有运行快速的特点。
项目代码
/*解析一个 JSON 字符串至一个 document (DOM),对 DOM 作出简单修改,最终把 DOM 转换(stringify)至 JSON 字符串。*/
// rapidjson/example/simpledom/simpledom.cpp`
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
#include <iostream>
using namespace rapidjson;
int main() {
// 1. 把 JSON 解析至 DOM。
const char* json = "{\"project\":\"rapidjson\",\"stars\":10}";
Document d;
d.Parse(json);
// 2. 利用 DOM 作出修改。
Value& s = d["stars"];
s.SetInt(s.GetInt() + 1);
// 3. 把 DOM 转换(stringify)成 JSON。
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
d.Accept(writer);
// Output {"project":"rapidjson","stars":11}
std::cout << buffer.GetString() << std::endl;
return 0;
}
//注意此例子并没有处理潜在错误。
四、学习总结