001 C++基础

2021-04-26 13:29

阅读:529

标签:bre   方式   算术运算符   表达式2   键盘   efi   string   条件判断   include   

注释

单行注释

当行注释用两个斜线 (//)

多行注释

多行注释用一对斜杠和星号表示(/**/)

变量

创建变量的语法:

数据类型 变量名 = 变量初始值;

例如:

int age = 18;

常量

用于记录程序中不能改变的数据,常量的定义方式有两种:

#define宏常量

语法:

#define 常量名 常量值

宏常量通常定义在文件上方,表示一个常量,注意常量名和常量值之间没有赋值号

例1:

#include 
using namespace std;
#define day 7				// define定义的常量

int main() {
	cout 

const修饰的变量

语法:

const 数据类型 常量名 = 常量值

通常在变量定义前加关键字const,修饰该变量为常量,不可修改他的值。

例1:

#include 
using namespace std;

int main() {
	const int day = 7;			// const修饰的常量
	cout 

关键字

关键字是C++中预先保留的单词,我们在定义变量或常量的时候不能使用这些关键字,C++一共有62个关键字

C++的关键字有:



    

标识符命名规则

  1. 标识符不能是关键字
  2. 标识符只能由字母、数字、下划线组成
  3. 第一个字符必须为字母或下划线
  4. 标识符中字母区分大小写

数据类型

C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量或常量分配内存

整型

整型变量表示的是整数类型的数据

C++能够表示整型的类型有以下几种方式,区别在于所占用内存空间不同:

> > >
数据类型 占用空间 取值范围
short(短整型) 2字节 (-2^15 ~ 2^15-1)
int(整型) 4字节 (-2^31 ~ 2^31-1)
long(长整型) Windows为4字节;Linux为4字节(32位),8字节(64位) (-2^31 ~ 2^31-1)
long long (长长整型) 8字节 (-2^63 ~ 2^63-1)

例1:

#include 
#include 			// 包含最大值和最小值函数的头文件
using namespace std;


int main() {
	short max = (std::numeric_limits::max)();	// 获取最大值
	short min = (std::numeric_limits::min)();	// 获取最小值
	cout 

浮点型(实型)

浮点型用于表示小数,浮点型变量分为两种:

1、单精度float,如果是单精度,小数后面必须跟一个f或F, 否则都是双精度

2、双精度double

数据类型 占用空间 有效数字范围
float 4字节 7位有效数字(不包括小数点)
double 8字节 15-16位有效数字(不包括小数点)

技术图片

技术图片

字符型

字符型变量用于存储、显示单个字符, 字符型占 1 个字节的内存

语法:

char 变量名=‘值‘;

注意:

  1. 在显示字符型变量时,必须单引号将字符扩起来,不要用双引号
  2. 单引号内只能有一个字符,不可以是字符串

例1:

#include 
using namespace std;

int main() {
	char ch = ‘a‘;
	cout 

字符串

用于表示一串字符

两种风格的字符串表示方式:

C语言风格的字符串

语法:

char 变量名[] = "值"

注意

  1. 中括号不能少
  2. 值必须用双引号扩起来

例1:

#include 
using namespace std;

int main() {
	char str[] = "我是一个字符串";
	cout 

C++风格的字符串

语法:

`string 变量名 = "值"

使用c++风格的字符串时,为了兼容,建议包含头文件 #include

例1:

#include 
using namespace std;

int main() {
	string str = "我是一个字符串";
	cout 

布尔类型

布尔数据类型代表真或假的值,占用1个字节的内存空间,布尔类型只有两个值:

  • true 真(本质是1,可以用非 0 的数字来代替)
  • false 假(本质是0)

例1:

#include 
using namespace std;

int main() {
	bool flag = true;
	cout 

sizeof关键字

利用sizeof关键字可以统计数据类型所占内存大小

语法:

sizeof(数据类型 / 变量)

sizeof后面的参数,可以是数据类型关键字,也可以是变量

例1:

# include 
using namespace std;


int main() {
	int a = 10;
	cout 

数据的输入

数据的输入用于从键盘获取数据

语法:

cin >> 变量名

例1:

#include 
using namespace std;

int main() {
	string name = "";
	cout > name;
	cout 

算术运算符

用于处理四则运算

运算符:

运算符 术语 示例 结果
+ 正号 +3 3
- 负号 -3 -3
+ 10+5 15
- 10-5 5
* 10*5 50
/ 10/5 2
% 取模(求余) 10%3 1
++ 前置递增 a=2; b=++a; a=3; b=3;
++ 后置递增 a=2; b=a++; a=3; b=2;
-- 前置递减 a=2; b=--a; a=1; b=1;
-- 后置递减 a=2; b=a--; a=1; b=2;

注意:

  1. 只有整数才可以进行取模运算
  2. 取模运算,除数也不能为 0

例1:

#include 
using namespace std;

int main() {
	int num1 = 10, num2 = 3;
	cout 

例2:

#include 
using namespace std;

int main() {
	double num1 = 10, num2 = 3;
	cout 

例3:

#include 
using namespace std;

int main() {
	double num1 = 10;
	int num2 = 3;			// 精度低的先往精度高的转换,然后参与计算,结果为精度高的类型
	cout 

例4:

#include 
using namespace std;

int main() {
	int num1 = 10;
	int num2 = 3;
	cout 

例5:

#include 
using namespace std;

int main() {
	int num1 = 10;
	int num2 = num1++ * 10;		// 先参与运算,后num1自增
	int num3 = ++num1 * 10;		// 先num1自增,后参与运算
	cout 

赋值运算符

赋值运算符用于将表达式的值赋给变量

赋值运算符:

运算符 术语 示例 结果
= 赋值 a=2; b=3; a=2; b=3;
+= 加等于 a=0; a+=2; a=2;
-= 减等于 a=5; a-=3; a=2;
*= 乘等于 a=5; a*=3; a=15;
/= 除等于 a=4; a/=2; a=2;
%= 模等于 a=3; a%=2; a=1;

例1:

#include 
using namespace std;

int main() {
	int num1 = 10;
	num1 *= 3;		// 相当于num1 = num1 * 30
	cout 

比较运算符

用于表达式的比较并返回一个真值或假值

比较运算符有:

运算符 术语 示例 结果
== 相等于 4 == 3 0
!= 不等于 4 != 3 1
小于 4 0
> 大于 4>3 1
小于等于 4 0
>= 大于等于 4>=3 1

逻辑运算符

根据表达式的值返回真或假

逻辑运算符:

运算符 术语 示例 结果
! !a 如果a为假,则结果为真;如果a为真,则结果为假
&& a && b 如果a和b都为真,则结果为真,否则为假。(同真为真,其余为假)
|| a || b 如果a和b有一个为真,则结果为真,二者都为假,则结果为假。(同假为假,其余为真)

流程结构

C++支持三种程序运行结构:

顺序结构:程序按照顺序执行,不发生跳转

选择结构:依据条件是否满足,有选择的执行相应功能

循环结构:依据条件是否满足,循环多次执行某段代码

顺序结构

就是按代码的先后顺序执行,前面所学习的都是顺序结构

选择结构

if 语句

执行满足条件的语句

if语句的三种形式

  • 单行格式if语句

    语法:

    if (条件表达式)

    {

    ? 满足条件,要执行的内容;

    }

    例1:

    #include 
    using namespace std;
    
    int main() {
    	int score = 0;	
    	cout > score;
    	if (score >= 600)
    	{
    		cout 
  • 多行格式if语句

    语法:

    if (条件表达式)

    {

    ? 满足条件,要执行的内容;

    }

    else

    {

    ? 不满足条件,要执行的内容;

    }

    例1:

    #include 
    using namespace std;
    
    int main() {
    	int score = 0;	
    	cout > score;
    	if (score >= 600)
    	{
    		cout 
  • 多条件的if语句

    if (条件表达式1)

    {

    ? 满足条件表达式1,要执行的内容;

    }

    else if(条件表达式2)

    {

    ? 满足条件表达式2,要执行的内容;

    }

    ...

    else

    {

    ? 所有条件表达式都不满足,要执行的内容;

    }

    例1:

    #include 
    using namespace std;
    
    int main() {
    	int score = 0;	
    	cout > score;
    	if (score >= 600)
    	{
    		cout = 500)
    	{
    		cout = 400)
    	{
    		cout 

嵌套if语句

嵌套if语句是在一个if语句里面再嵌套一个if语句,达到更精确的条件判断

语法:

if (条件表达式)

{

? 要执行的语句;

? if (条件表达式)

? {

? 要执行的语句;

? }

}

注意:

嵌套的也可以有多种形式,上面多行if和多条件if都可以嵌套,这里就不过多的描述

例1:

#include 
using namespace std;

int main() {
	int pigA = 0, pigB = 0, pigC = 0;
	cout > pigA;

	cout > pigB;

	cout > pigC;

	if (pigA > pigB) //A小猪比B小猪重
	{
		if (pigA > pigC)
		{
			cout  pigC)
		{
			cout 

三目运算符

通过三目运算符可以实现简单的运算

语法:

表达式1 ? 表达式2 : 表达式3

说明:

如果表达式1的值为真,执行表达式2,并返回表达式2的结果

如果表达式1的值为假,执行表达式3,并返回表达式3的结果

注意:

在三目运算符中返回的是变量名,我们可以继续赋值

例1:

#include 
using namespace std;

int main() {
	int a = 100, b = 110;
	int max = a > b ? a : b;
	cout 

例2:

#include 
using namespace std;

int main() {
	int a = 100, b = 110;
	(a 

switch语句

switch用于执行多添加分支语句

语法:

switch( 表达式 )

{

? case 结果1:

? 执行语句;

? break;

? case 结果2:

? 执行语句;

? break;

? ...

? default:

? 执行语句;

? break;

}

注意:

switch的表达式只能是整型或者字符型

例1:

#include 
using namespace std;

int main()
{
	cout > score;
	switch (score)
	{
	case 10:
		cout 

循环结构

while语句

当满足循环条件,执行循环语句,一般用于循环次数未知的循环,使用该语句的时候,程序必须提供跳出循环的出口,否者会出现死循环了。

语法:

while (循环条件)

{

? 循环语句;

}

说明:

只要循环条件为真,就执行循环语句

例1:

#include 
using namespace std;

int main()
{
	int num = 0;
	while(num

例2:

#include 
using namespace std;
#include 

int main()
{
	// rand 生成的是伪随机数,每次运行程序都是从同一个数字开始,
	// srand用于给随机数添加种子,用来当前系统时间作为种子,确保随机数每次不一样
	srand((unsigned int)time(NULL));
	// 随机生成一个1~100的整数
	int num = rand() % 100 + 1;
	int val = 0;
	while (true)
	{
		cout > val;
		if (val > num)
		{
			cout 

do...while语句

满足循环条件,执行循环语句,先执行一次循环语句,再判断循环条件

语法:

do

{

? 循环语句;

}while(循环条件);

例1:

#include 
using namespace std;

int main()
{
	int num = 0;
	do
	{
		cout 

for语句

满足循环条件,执行循环体,一般用于有限次的循环

语法:

for(起始表达式 ; 条件表达式 ; 末尾循环体)

{

? 循环语句;

}

例1:

#include 
using namespace std;

int main()
{
	for (int i = 0; i 

跳转语句

break语句

用于跳出选择机构或者循环结构

break使用的时机:

? 出现在switch条件语句中,作用是终止case并跳出switch

? 出现在循环语句中,作用是跳出当前的循环语句

? 出现在嵌套循环中,跳出最近的内层循环语句

continue语句

continue再循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环

例1:

#include 
using namespace std;

int main()
{
	for (int i = 1; i 

goto语句

可以无条件跳转语句,跳转到标记处执行,我们应该尽量避免使用goto语句,避免造成程序混乱

语法:

goto 标记

例1:

#include 
using namespace std;

int main()
{
	cout 

001 C++基础

标签:bre   方式   算术运算符   表达式2   键盘   efi   string   条件判断   include   

原文地址:https://www.cnblogs.com/zcf-blog/p/13252101.html


评论


亲,登录后才可以留言!