网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
return 0;
}
解读:
第一行 C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。上面这段程序中,包含了头文件 。引入的头文件中包含我们需要的函数或类,本例只引入了标准输入输出流,我们可以使用iostream在终端窗口进行交互。
下一行 using namespace std; 告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念。有了这个我们使用cin、cout的时候不用在前面加std::了
下一行 // main() 是程序执行入口 是一个单行注释。单行注释以 // 开头,在行末结束。还有一个多行注释/**/可以将内容加进两星号之间。
下一行 int main() 是主函数,程序从这里开始执行。
下一行 cout << “Hello World”; 会在屏幕上显示消息 “Hello World”。
下一行 return 0; 终止 main( )函数,并向调用进程返回值 0。这里返回值可以根据自己的意向进行定制,但要与函数声明的返回值类型保持一致。
| 类型 | 整型 | 单浮点型 | 双浮点型 | 布尔型 | 字符型 | 空类型 | 字符串 |
| — | — | — | — | — | — | — | — |
| 关键字 | int | float | double | bool | char | void | string |
变量声明代码如下:
include
using namespace std;
int main(){
int a;
cin>>a;
cout<<a;
return 0;
}
变量重命名:可以使用typedef对已有的变量进行起别名
typedef type newname;
eg:
typedef int shuzi;
shuzi a;
a=10;
此时a为int型,数值为10编译语法上完全合法。
C++ 中的左值和右值
左值(lvalue):指向内存位置的表达式被称为左值表达式。
左值可以出现在赋值号的左边或右边。
右值(rvalue):术语右值指的是存储在内存中某些地址的数值。
右值是不能对其进行赋值的表达式,也就是说,
右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
在函数或一个代码块内部声明的变量,称为局部变量。
当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。
局部变量都有局限性,只能在指定的区域使用,使用完毕后声明周期随着
局部变动而变动。
在函数参数的定义中声明的变量,称为形式参数。
只针对函数内部有效。
在所有函数外部声明的变量,称为全局变量。
全局变量的值在程序的整个生命周期内都是有效的。
全局变量可以被任何函数访问。也就是说,全局变
量一旦声明,在整个程序中都是可用的。
局部变量遵循就近原则
不同区域可以定义同名局部变量,如果某区域属于共有区域并且使用了同名局部变量
那么哪个变量离其最近,就会使用哪个变量。
| 运算符 | ----------------描述---------------- |
| — | — |
| + | 把两个操作数相加 |
| - | 从第一个操作数中减去第二个操作数 |
| * | 把两个操作数相乘 |
| / | 分子除以分母 |
| % | 取模运算 |
| ++ | 自增运算 |
| – | 自减运算 |
| && | 称为逻辑与运算符。如果两个操作数都 true,则条件为 true。 |
| || | 称为逻辑或运算符。如果两个操作数中有任意一个 true,则条件为 true。 |
| ! | 称为逻辑非运算符。用来逆转操作数的逻辑状态,如果条件为 true 则逻辑非运算符将使其为 false。 |
| == | 检查两个操作数的值是否相等,如果相等则条件为真。 |
| != | 检查两个操作数的值是否相等,如果不相等则条件为真 |
| > | 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 |
| < | 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 |
| >= | 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 |
| <= | 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 |
======================================================================
type arrayName [ arraySize ];
eg:
double balance[10];
直接初始化
固定数组大小
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
随机数组大小【数组大小看值的个数】
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
固定数组赋相同初始值
balance[4] = 50.0;
将数组内的元素通过索引直接赋值给同类型的变量
double salary = balance[9];
=======================================================================
char site[7] = {‘R’, ‘U’, ‘N’, ‘O’, ‘O’, ‘B’, ‘\0’};
char site[] = “RUNOOB”;
头文件 string
string 字符串名 =“Hello World”;
可以直接使用+进行字符串拼接。有一系列成熟的字符串处理方法。
=============================================================================
| 语句 | 描述 |
| — | — |
| if | 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 |
| if…else if…else … | 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 |
| switch…case …dafault… | 一个 switch 语句允许测试一个变量等于多个值时的情况 |
| 条件? 结果1 : 结果2 | 三目运算符,前面条件满足执行结果1,否则执行结果2 |
1.循环类型
| 循环类型 | 描述 |
| — | — |
| while(){} | 当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。 |
| for(初始化;终止条件;循环变量的变动){} | 多次执行一个语句序列,简化管理循环变量的代码。 |
| do{}while() | 除了它是在循环主体结尾测试条件外,其他与 while 语句类似,只不过比while多执行一次 |
2.控制条件
| 控制语句 | 描述 |
| — | — |
| break 语句 | 终止 loop 或 switch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。 |
| continue 语句 | 引起循环跳过主体的剩余部分,立即重新开始测试条件。 |
| goto 语句 | 将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。 |
======================================================================
一个函数的轮廓
返回值类型 函数名( 参数列表 )
{
函数主体
}
解释
返回类型:一个函数可以返回一个值。有些函数执行所需的操作而不返回值,
在这种情况下,返回值类型是关键字 void。
函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。
参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值
被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,
也就是说,函数可能不包含参数。
函数主体:函数主体包含一组定义函数执行任务的语句。
函数声明
返回值类型 函数名 (参数列表或参数类型);
当只有一条语句的时候就是函数声明
函数定义
有函数主体的一个语句块就是函数定义,在使用函数前必须在前面有过定义或声明。
①函数嵌套
当一个函数调用另一个函数的时候就成称为函数的嵌套。最典型的就是主函数调用其他函数。
#include
using namespace std;
int sum(int a, int b)
{
return a+b;
}
int main ()
{
// 局部变量声明
int a = 100;
int b = 200;
result = sum(a, b);
cout << “Total value is :” << result << endl;
return 0;
}
警告:各个函数都是占用的栈资源,是相互平行的,不可以进行函数的嵌套定义,只能进行函数的嵌套使用。
②函数递归【斐波那契数列】
函数的递归是一种特殊的函数嵌套,他调用的函数是自身。
#include
using namespace std;
int Fib(int n)
{
if(n == 1 || n == 2)
return 1;
else
return Fib(n-1) + Fib(n-2);
}
int main()
{
int n; //n表示为第几个数值
while(cin >> n)
{
int res = Fib(n);
cout << res <<endl;
}
return 0;
}
③函数重载
同函数名,不同参数类型或个数,返回值类型不作为评判标准。
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!