首页IT科技c++零基础自学(C++入门级基础知识汇总)

c++零基础自学(C++入门级基础知识汇总)

时间2025-08-03 14:23:18分类IT科技浏览4731
导读:知识来源:https://www.imooc.com/learn/1304...

知识来源:https://www.imooc.com/learn/1304

     https://www.runoob.com/cplusplus/cpp-tutorial.html

编程第一步导入头文件:

编程第二步               ,写主函数:

int main(int argc,char **argv) { //argc表示参数个数                      ,argv表示参数组       ,一起表示该程序的启动参数 }

输入:

scanf("%d", &a); std::cin>>a>>b; //scanf函数会提前设定读取类型               ,而cin则不需要                       ,更加灵活

输出:

printf("a: %d, b: %d", a, b); std::cout<<’字符串’<<a<<std::endl; //printf中需要提前设定好“               ”中的格式化内容和后面的参数       ,而cout则不需要       ,只需要将要输出的内容使用<<连接起来即可

C++基础数据类型

char的大小==unsigned char

long long >= long >= int >= short >= char

格式转化:

显示格式转换

int a;

short b = (short)a; //以大转小时必须采用显示转化来告诉计算机我们默许数据丢失

隐式格式转化

short a = 100;

int b = a; //当以小转大时我们可以直接使用隐式转化也不会报错                       ,因为不会丢失精度

C++结构体:

类似于面向对象编程中的类

C++枚举类型

指针:

没有指向的指针称为野指针               ,对野指针进行操作是十分危险的       ,因为若野指针指向的数据正是别的程序的关键数据                      ,则会造成不可逆转的影响               ,若在操作系统中,这样操作野指针的操作则会直接导致程序被杀死                      ,故我们需要事先将野指针赋为空指针               。

指针赋空的三种操作

*p = nullptr;

*p = NULL; //NULL = 0 但nullptr是新版指针专属的null                      ,更新更有规格

*p = 0;

指针操作详解:

int a,b = 3,4;

int *i = &a; // 定义一个指针变量,让其值等于a的地址

int *j;

j = &b; //但在定义之后再对指针赋指针值则不能使用‘*j’,因为此时 *j已经代表实际指针指向的数据块               ,我们不能对实际的代码块赋值指针                      。进行输出时                      ,*j等同于b       ,j等同于&b

指针实际案例1:通过指针交换两个变量的内容

#include <stdio.h> void change(int *a, int *b) { int c = *a; *a = *b; *b = c; } int main(int argc, char** argv) { int a = 3; int b = 4; change(&a, &b); printf("a:%d,b:%d", a, b); }

C++存储变量的方式:

普通声明的变量采用栈进行存储               ,当{}作用域结束时变量将会自动释放 使用malloc()声明时                       ,将采用堆存放       ,只有当使用free()时才会手动释放

C++数组:

数组名是指向数组中第一个元素的指针

且是一个特殊的常量指针       ,不可以修改                       ,但可以使用来访问

在一个指针连续声明的空间中               ,我们也可以用数组的方式去访问指针空间中的数据       。

C++判断if和else if

#include <stdio.h> enum Week { Mon, // 星期一 Fri, // 星期五 Sat, // 星期六 Sun, // 星期日 }; int main(int argc,char **argv) { Week week = Week::Fri; if(week == Week::Mon) { printf("Mon\n"); } else if(week == Week::Fri) { printf("Fri\n"); } else if(week == Week::Sat) { printf("Sat\n"); } else{ printf("Sun\n"); } return 0; } Switch casedefault               、break #include <stdio.h> int main(int argc,char **argv) { int s = 5; switch (s) { case 1: printf("1\n"); break; case 2: printf("2\n"); break; case 3: printf("3\n"); break; case 4: printf("4\n"); break; case 5: printf("5\n"); break; case 6: printf("6\n"); break; default: printf("unknow\n"); } return 0; }

C++的for循环

While循环

For和while的区别

do while:一种对while的补充/一种用于完成和循环无关操作的循环结构               。先执行再判断

内联函数inline

函数在调用时会使用栈空间拷贝参数                      、分配内存       ,因此会造成额外的内存消耗                      ,因此在一些不必要的地方(调用次数过少)可以使用内联函数               ,将函数直接翻译进代码块中,不进行额外的函数调用                      ,内联函数以代码膨胀(代码块增大)为代价进行优化                       。

inline int add(int a, int b) { return a + b; } int main(int argc,char **argv) { int a = 5; int b = 10; int c = add(a + b); return 0; } //等价于 int main(int argc,char **argv) { int a = 5; int b = 10; int c = a + b; return 0; }
声明:本站所有文章                      ,如无特殊说明或标注,均为本站原创发布       。任何个人或组织               ,在未征得本站同意时                      ,禁止复制       、盗用               、采集                       、发布本站内容到任何网站       、书籍等各类媒体平台       。如若本站内容侵犯了原著者的合法权益       ,可联系我们进行处理                       。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
jvm调优实战pdf(深度剖析 | 【JVM深层系列】[HotSpotVM研究系列] JVM调优的"标准参数"的各种陷阱和坑点分析(攻克盲点及混淆点)「 1 」) python求成绩平均值(python输入成绩求平均分)