从零开始学C++之基本知识

C++语法基础

  • 变量、输入输出、表达式与顺序语句
  • 判断语句
  • 循环语句

所有题目来自ACWing
点这注册AcWing 邀请码:SMDRN


从零开始学C++系列
从零开始学C++之基本知识
从零开始学C++之数组和字符串
从零开始学C++之函数、结构体、类、指针、引用
从零开始学C++之STL容器、位运算与常用库函数


变量、输入输出、表达式与顺序语句

  • 头文件
//常用头文件
#include 
包括 cin cout scanf printf

#include 
包括 scanf printf

#include 
例如  
double sqrt(double x);//平方根
double pow(double x, double y); //指数
long int abs(long int x);//绝对值
double fabs(double x);//浮点数绝对值

//万能头文件
#include

//加快cin和cout的速度
ios::sync_with_stdio(false);
  • 变量
类型 字节大小
char 1B
int 4B
float 4B
double 8B
long long 8B
long double 大多为16B
  • 输入输出
scanf("%c%c", &a, &b);      // 会把空格读入
cin >> a >> b;              // 会忽略中间的空格(1个或多个)
  • 基本模板
#include
using namespace std;
const int N=1e7+10;
int main()
{
	ios::sync_with_stdio(false);
	return 0;
}



656. 钞票和硬币

判断语句

printf 格式化输出

%5d:最少占用5的宽度,居右,左边加空格
%-5d:居左,右边加空格
%05d:居右,左边补0
%5.1f:宽5,保留1位小数


668. 游戏时间2


循环语句

  • while循环 先判后执行
// 连续输入n次
while(n -- ){ }

逗号运算符:C++中的,运算符对逗号前后的表达式进行运算,然后舍弃前一个表达式的返回值,仅仅返回最后一个表达式的返回值,例
if (表达式1, 表达式2, 表达式3) {...}
等价于

表达式1;
表达式2;
if (表达式3) {...}//节省代码行数
// 输入0,则结束输入不做处理
// 大多数情况下其返回值为cin本身(非0值),只有当遇到EOF输入时,返回值为0。
while(true){ }
while(cin >> x && x){ } //判断两个条件
while(cin >> x , x){ } //忽略逗号前,判断逗号后面的x值

while(scanf("%d", &x) && x > 0) { }	// 写法1
while(scanf("%d", &x), x > 0)  }	// 写法2
while(~scanf("%d", &x)) { }		    // 判断是否非法输入(EOF),用于文件读取


  • do - while 循环:先做后判 至少会执行一次


  • 欧几里得距离 / 曼哈顿距离 / 切比雪夫距离
  1. 欧几里得距离
    也就是两点之间距离
  2. 曼哈顿距离:两个点在标准坐标系上的绝对轴距总和
    dis=abs(x1-x2)+abs(y1-y2)
    用来解决 菱形问题 727 菱形
  3. 切比雪夫距离:各坐标数值差的最大值
    dis=max(abs(x1-x2), abs(y1-y2))



725. 完全数

你可能感兴趣的:(C++,c++,c语言,开发语言,算法)