【C++学习笔记】基础语法

每天学一会,防痴呆~


1. 基本概念

  • 变量

语法:数据类型 变量名 = 变量初始值
例如:int a = 1;

  • 常量

宏常量:#define Month 12
const修饰变量:const int Month=12

  • 关键字

关键字是C++中预先保留的单词

  • 标识符

2. 数据类型

数据类型存在的意义是为变量分配合适的内存空间

2.1 整型

在这里插入图片描述

2.2 sizeof关键字

作用:统计数据类型所占内存大小
语法:sizeof(数据类型 / 变量)

2.3 浮点型(实型)

在这里插入图片描述

  • 小数默认为double类型,创建float类型变量时通常在末尾添加‘f’,例如:float pi = 3.14f
  • 默认情况下,输出一个小数,会显示6位有效数字
  • 科学计数法:float f1 = 3e-2

2.4 字符型

字符型变量用于显示单个字符:char ch = 'a'

注意:

  1. 不能用双引号:char ch = "a" 错误
  2. 单引号内只能引用一个字符:char ch = 'abcd' 错误
  3. 字符型变量将对应的ASCII编码放入到内存中:
    cout << (int)ch << endl;输出为:97,小写字母a的ASCII编码是97

2.5 转义字符

在这里插入图片描述

2.6 字符串型

  1. C风格字符串:char str[] = "hello world";
  2. C++风格字符串:
    #include <string>
    string char = "hello world";

2.7 布尔类型

布尔类型只有两个值:truefalse,占用1个字节

3. 运算符

3.1 算术运算符

  1. 递增运算符:++
    前置递增:变量先+1,再执行表达式
    后置递增:先执行表达式,变量再+1
  2. 递减运算符:--
// 1. 前置递增:变量先+1,再执行表达式
int a = 10;
int b = ++a * 10; 
// a = 11, b = 110

// 2. 后置递增:先执行表达式,然后变量+1
int c = 10;
int d = c++ * 10;  
// c = 11, d = 100

3.2 逻辑运算符

在这里插入图片描述

4. 程序流程结构

4.1 选择结构

4.1.1 if语句

if (score > 600) 
{
    
    
	cout << "A" << endl;
}
else if (score > 500 & score < 600)
{
    
    
	cout << "B" << endl;
}
else 
{
    
    
	cout << "C" << endl;
}

4.1.2 三目运算符

语法:表达式1 ? 表达式2 : 表达式3
解释:如果表达式1为真,返回表达式2的执行结果;如果表达式1为假,返回表达式3的执行结果。

C++中三目运算符返回的是变量,可以继续赋值
int a = 10;
int b = 20;
(a > b ? a : b) = 30;
cout << b << endl; 输出b=30

4.1.3 switch语句

int score = 100;
switch (score)
{
    
    
	int score = 100;
	switch (score)
	{
    
    
	case 100:
		cout << "A" << endl;
		break;  // 跳出 
	case 80:
		cout << "B" << endl;
		break;
	default:   // 所有case均不成立时选择default
		cout << "C" << endl;
		break;
	}	
}

4.2 循环结构

4.2.1 while语句

// 猜数字小游戏
// 添加随机数种子,根据当前系统时间生成随机数
srand((unsigned int)time(NULL));
// 系统生成随机数
int ans = rand() % 100 + 1;
int val = 0;
int chance = 5;

while (chance)
{
    
    
	cout << "请输入您猜的数字: " << endl;
	cin >> val;
	if (val > ans)
	{
    
    
		cout << "猜测过大,您还有" << --chance << "次机会" << endl;
	}
	else if (val < ans)
	{
    
    
		cout << "猜测过小,您还有" << --chance << "次机会" << endl;
	}
	else
	{
    
    
		cout << "恭喜您猜对了" << endl;
		break;
	}
}

4.2.2 do…while语句

语法:do {循环语句} while (条件语句)
注意:与while语句的区别在于do…while语句会先执行一次循环语句,再判断循环条件

/*
题目:寻找水仙花数(水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身)
步骤:
1. 遍历所有三位数,即100~999
2. 获取每个三位数的百位、十位和个位
3. 判断是否为水仙花数
*/ 
int num = 100;
do {
    
    
	int a = 0;  //数字个位
	int b = 0;  //数字十位
	int c = 0;  //数字百位

	a = num % 10;
	b = num / 10 % 10;
	c = num / 100;

	if (a * a * a + b * b * b + c * c * c == num)
	{
    
    
		cout << num << endl;
	}

	num++;

} while (num < 1000);

猜你喜欢

转载自blog.csdn.net/zxdd2018/article/details/129939499
今日推荐