前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10min快速回顾C++语法(一)语法常识专题

10min快速回顾C++语法(一)语法常识专题

作者头像
timerring
发布2022-11-30 16:14:58
5430
发布2022-11-30 16:14:58
举报
文章被收录于专栏:TechBlog

C++的语法奠基(一)语法常识专题

⭐写在前面的话:本系列文章旨在短时间内回顾C/C++语法中的重点与易错点,巩固算法竞赛与写题过程中常用的语法知识,精准地解决学过但有遗忘的情况,为算法刷题打下坚实的基础。当然仅有理论知识是不够的,还需要刷题实践检验。在众多刷题平台中我比较推荐“牛客”平台,它与其他平台相比有以下优点:

  • 在线编程环境,可以省去配置环境的繁琐,直接上手刷题。
  • 众多企业面试真题,更精准地解决面试算法问题。
  • 有非常广泛的论坛与题解讨论基础,可谓是融合了力扣和脉脉的长处。
  • 题库难易划分精准,即使小白也可以快速上手学习,同时也包含非常友好的入门题目,学练一体,回顾语法同时学习算法。
image-20220817101755256
image-20220817101755256

学习网站链接:牛客刷题网

开启你的刷题成长之旅吧!

logo
logo

本文目录

一、详解一个标准的程序结构

代码语言:javascript
复制
#include <iostream>
using namespace std;
int main()
{
	cout << "Hello World"<<endl;
	
	return 0;
}
1.1 常见头文件
代码语言:javascript
复制
#include <cstdio>

C标准的IO:里面有两个函数,printf与scanf。

代码语言:javascript
复制
#include <iostream>

cin>>读入; //想象是从cin中拿到变量中去

cout<<输出; //想象是从变量中输出到cout中去

注意:cout在输出浮点数时会默认保留为科学计数法的形式,要想去处这个形式,需要进行强制类型转化。

代码语言:javascript
复制
#include <cmath>

常见的数学函:sqrt(x)等等

1.2 using namespace std;

使用常见的命名空间:常见的库函数都在std这个命名空间里

  • 只要保证在同一个命名空间里没有变量名冲突即可,不同的命名空间中出现冲突是没有关系的。
  • 如果不加这句,那么在下面使用过程中就必须加上**std:😗*cout的符号
1.3 return

作为一个程序,最后一定是要返回0,如果不返回0,则代表有问题。

二、语法常识

2.1 变量
2.1.1 变量的类型

类型

关键字

范围

布尔型

bool

0,1

字符型

char

-128~127

整形

int

− 2 31 -2^{31} −231~ 2 31 − 1 2^{31}-1 231−1

浮点型

float

6~7位有效数字

双浮点型

double

15-16位有效数字

-2^{31}

~

2^{31}-1

浮点型float6~7位有效数字双浮点型double15-16位有效数字

代码语言:javascript
复制
#include <iostream>
using namespace std;
int main()
{
	bool false/true  1Byte;
	char 'a','c','/n'  1Byte;
	//注意,在C++中char型必须用单引号'',单双引号意义不一样
	int a = 1  4Bytes;
	float b= 1.23, C = 1.23e2, d  4Bytes;
    
	//float支持科学计数法
	long long 范围为-2^63 ~2^63-1 8Bytes;
    long long l = 100000000000000LL;
    //末尾LL表示是LL类型的整数
    
    long double 18~19位有效数字
}
2.1.2 Byte与bit

1Byte = 8bits

因此通常说的十兆带宽**(10Mb)实际下载速度约为1MB/s**

2.1.3 常见变量的IO方式

浮点数的IO

代码语言:javascript
复制
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
	float a, b;
	scanf("%f %f", &a, &b);
	printf("a + b = %.1f \n a * b = %.2f", a + b, a * b);
    //可以预先确定保留几位小数
    double c, d;
	scanf("%f %f", &c, &d);
	printf("c + d = %lf \n c * d = %lf", c + d, c * d);
    //double类型的IO
    
    long long m ,n;
    scanf("%lld %lld", &m, &n);
	printf("m + n = %lld \n m * n = %lld", m + n, m * n);
    
	return 0;
 }

char的IO

代码语言:javascript
复制
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
	float a, b;
	scanf("%c %c", &a, &b);
    //注意%c会读入空格的
    //但是cin不会读入空格
	printf("%c %c\n",a ,b );
	return 0;
 }
summary

常用类型

int

%d

char

%c

float

%f

double

%lf

long long

%lld

2.2 常见运算
2.2.1 %取模

注意%的取模操作(只能是整数),即取相除之后的余数。这里余数与数学中定义不一样,余数的正负取决于被除数和除数的正负

2.2.2 整数的自增和自减

++a

先增后取值

a++

先取值后增

简写

b = b + a ---->b += a

b = b % a ---->b %= a

取模时的a不能为0

2.3 变量类型之间的转换

隐形转换:把低精度转换为高精度

强制转换:(类型)变量 就可以

2.4 ASCII常用表

字符

十进制数字

换行

10

空格

32

0

48

A

65

a

97

代码语言:javascript
复制
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
	int t = 97;
    char c = (char)t;
    cout<< c <<endl;
	return 0;
 }

下期预告:格式化输出与条件专题

专题往期合集:C/C++语法奠基

本专题练习题目、学习、面试、内推均在:牛客刷题网

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C++的语法奠基(一)语法常识专题
    • 本文目录
      • 一、详解一个标准的程序结构
        • 1.1 常见头文件
        • 1.2 using namespace std;
        • 1.3 return
      • 二、语法常识
        • 2.1 变量
        • summary
        • 2.2 常见运算
        • 2.3 变量类型之间的转换
        • 2.4 ASCII常用表
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档