学习原则
不必非要一步一步学完语言和标准库的所有特性再使用它们
Hello World
#include <iostream>
int main()
{
std::cout << "Hello,World\n";
system("pause"); //使用system方法,填入参数“pause”,可使控制台暂停,一边观察结果
}
using namespace std;
#include <iostream>
using namespace std; //使得std中的名字无需std::就可见
double square(double x) //计算一个双精度浮点数的平方
{
return x*x;
}
void printf_square(double x) //void表示该函数不返回任何值
{
cout <<"the square of "<<x<<" is "<<square(x)<<"\n";
}
int main()
{
printf_square(1.234); //打印1.234的平方
system("pause");
}
变量初始化
#include <iostream>
#include <complex>
#include <vector>
using namespace std;
void some_function(); //不加此句,'some_function' was not declared in this scope
int main()
{
some_function();
system("pause");
}
void some_function()
{
double d = 2.2;
int i = 7; //初始化
d = d+i;
i = d*i; //赋值
double d1 = 2.3;
double d2 {2.3};
complex<double> z = 1; //数值为双精度浮点数的复数
complex<double> z1 {d1,d2};
complex<double> z2 {1,2};
cout << d <<endl;
cout << i <<endl;
cout << d1 <<endl;
cout << d2 <<endl;
cout << z << endl;
cout <<z1 <<endl;
cout << z2 <<endl;
}
知识点
声明是一条为程序引入新名字并给其定义类型的语句
类型是一组可能的值及操作
对象是某类型值的内存空间
值是一组二进制位,具体含义由类型确定
变量是命名的对象
类型大小会随系统变化,用sizeof算类型大小。用{}列表形式初始化变量。
使用初始化器列表的形式初始化可以确保不会发生某些可能导致信息缺失的类型转换
在引入一个新名字时最好已经初始化,常量在声明时必须初始化,普通变量也只能
在极少数的情况下不进行初始化,
如果变量的类型能由初始化器推断得到,可不用显式说明类型,用auto关键字做类型
使用 = 与 auto 搭配
没有以下几种原因,一般不用特别指明变量类型
1.该定义存在于较大的作用域2.明确规定变量的精度、范围
使用auto关键字的原因
auto避免冗余,适用于泛型编程,原因:有时难以知道确切类型、有时类型名过长
使用vs code 、 tdm-gcc 的使用技巧
在编译环境的安装路径中,找到编译器gcc的路径,打开cmd,跳转到gcc的路径执行gcc -v,查看版本gcc --help关键词man gcc
tasks.json中 “args”: []中加入"-std=c++17"选择支持的语言标准
launch.json中"externalConsole": true,用于跳出控制台,便于观察结果