1.CPP基本介绍

一、程序框架

#include 
#include 

using namespace std;
int main()
{
	cout<<"Hello world!"<<endl; 
	
	return 0;
}

1.头文件

include是英文单词“包含”的意思,是一个用于输入输出流(input and output stream)的库,里面包含一系列可以用于输入、输出的方法。当我们写下这样一条语句就意味着我们可以使用iostream 中提供的 std::cinstd::coutstd::endl 等对象了。

C++ 为了和 C 保持兼容,可以直接使用部分 C 语言中的头文件,例如cstdio就是 C 语言中的stdio.h

2.命名空间

using是英文单词“使用” 的意思,namespace std表示我们要用到一个命名空间std,表示标准输入输出流。这样我们将std::cin替换为cin简化代码。

3.main()

可以理解为程序运行时就会执行 main() 中的代码,这是整个程序的入口。

最后的 return 0; 表示程序运行成功。默认情况下,程序结束时返回 0 表示一切正常,否则返回值表示错误代码如果不写 return 语句的话,程序正常结束默认返回值也是 0。在 C 或 C++ 中,程序的返回值不为 0 会导致运行时错误(RE)。

二、变量

1.概念

变量可以被看做一个盒子,每个盒子中可以存储一定的值。除了里面存储的值以外,还有三个重要的属性:

  • 一个是变量类型,它规定了每个盒子的字节数和存储什么样的内容。
  • 一个是变量名,它规定了我们可以如何称呼这个盒子,变量名必须以字母或者_开头。
  • 一个是作用域,它规定了变量发挥作用的代码块(用一对大括号包裹的若干语句称为一个代码块)。
    • 定义在花括号包裹的地方的变量是局部变量,定义时没有初始化值的全局变量会被初始化为 0 0 0。作用域自定义之处起,至文件结束为止。
    • 定义在没有花括号包裹的地方的变量是全局变量。局部变量不会自动初始化,需要手动赋初始值,否则可能引起难以发现的 bug。作用域自定义之处起,至代码块结束为止。

定义变量的规则是:

变量类型 变量名;
int a;
double b;

2.变量类型

(1)布尔类型

一个 bool 类型的变量取值只可能为两种:truefalse

一般情况下,一个 bool 类型变量占有 1 字节(一般情况下 1 字节 = 8 位)的空间。

(2)整型变量

整型变量用来存储整数,最基础最常用的数据类型是int。对于 int 关键字,可以使用如下修饰关键字进行修饰:

符号性,用来表示正负号:

  • signed:表示带符号整数(默认);
  • unsigned:表示无符号整数。

大小,用来规定字节长度:

  • short:表示至少 16 位整数;
  • long:表示至少 32 位整数;
  • long long:表示至少 64 位整数。

(3)浮点类型

用于存储实数,包括以下三种:

  • float:单精度浮点类型,最大值 3.4 × 1 0 38 3.4\times10^{38} 3.4×1038,精度 6 ∼ 9 6\sim9 69位。
  • double:双精度浮点类型,最大值 1.8 × 1 0 308 1.8\times10^{308} 1.8×10308,精度 15 ∼ 17 15\sim17 1517位。
  • long double:扩展精度浮点类型,最大值 1.2 × 1 0 4932 1.2\times10^{4932} 1.2×104932,精度 33 ∼ 36 33\sim36 3336位。

(4)字符类型

char类型一般为 8 位,底层存储的方式依然是整数,一般通过 A S C I I ASCII ASCII 码值表实现字符与数字的一一对应。

3.位宽与表示范围

下表给出在一般情况下,各个整数类型的名称、位宽和表示范围大小:

类型名 位宽 表示范围
bool 8 truefalse
short 16 − 2 15 ∼ 2 15 − 1 -2^{15}\sim2^{15}-1 2152151
unsigned short 16 0 ∼ 2 16 − 1 0\sim2^{16}-1 02161
intlong 32 − 2 31 ∼ 2 31 − 1 -2^{31}\sim2^{31}-1 2312311
unsigned intunsigned long 32 0 ∼ 2 32 − 1 0\sim2^{32}-1 02321
long long 64 − 2 63 ∼ 2 63 − 1 -2^{63}\sim2^{63}-1 2632631
unsigned long long 64 0 ∼ 2 64 − 1 0\sim2^{64}-1 02641
float 32
double 64
long double 128
char 4 0 ∼ 127 0\sim127 0127
void 0

4.赋值

=在 CPP 语言中被我们称作赋值运算符,可以用=将右侧的一个值赋值给左侧的一个变量,让变量这个盒子存储这一个值。

变量名=;
int a=1;
double b;
b=1.0;

5.常量

常量是固定值,在程序执行期间不会改变。常量的值在定义后不能被修改。定义时加一个 const 关键字即可。

const int a=3;

如果修改了常量的值,在编译环节就会报错。

三、输入输出

1.cincout

无论什么类型的变量都可以通过cincout来直接输入输出,当然输入要符合对应变量的规则。cin会自动忽略变量之间的空格和回车。

输入输出多个变量的时候,需要用>>符号来连接。endl用来表示回车。

int a,b;
double c;
cin>>a>>b>>c;
cout<<a<<" "<<b<<" "<<c<<endl;

2.scanfprintf

scanfprintf 其实是 C 语言提供的函数。大多数情况下,它们的速度比 cincout 更快,并且能够方便地控制输入输出格式。与之对应的,使用起来会更加复杂一些。

符号 类型
%s char []类型
%c char类型
%lf double类型
%d int类型
%lld long long类型

除了类型标识符以外,还有一些控制格式的方式。许多都不常用,选取几个常用的列举如下:

  1. %1d 表示长度为 1 的整型。在读入时,即使没有空格也可以逐位读入数字。在输出时,若指定的长度大于数字的位数,就会在数字前用空格填充。若指定的长度小于数字的位数,就没有效果。
  2. %.6lf,用于输出,保留六位小数。
  3. \n,用于换行一次。\t,用于打印一个制表符。

链接:https://pan.baidu.com/s/1wYHrFGXhAKctOf4EkMZ4tw?pwd=1234
提取码:1234
–来自百度网盘超级会员V4的分享

你可能感兴趣的:(算法竞赛讲义,算法,c++)