标签:bre 方式 算术运算符 表达式2 键盘 efi string 条件判断 include
当行注释用两个斜线 (//)
多行注释用一对斜杠和星号表示(/**/)
创建变量的语法:
数据类型 变量名 = 变量初始值;
例如:
int age = 18;
用于记录程序中不能改变的数据,常量的定义方式有两种:
语法:
#define 常量名 常量值
宏常量通常定义在文件上方,表示一个常量,注意常量名和常量值之间没有赋值号
例1:
#include <iostream>
using namespace std;
#define day 7 // define定义的常量
int main() {
cout << "一周里总共有 " << day << " 天" << endl;
//day = 8; // 报错,宏常量不可以修改
system("pause");
return 0;
}
语法:
const 数据类型 常量名 = 常量值
通常在变量定义前加关键字const,修饰该变量为常量,不可修改他的值。
例1:
#include <iostream>
using namespace std;
int main() {
const int day = 7; // const修饰的常量
cout << "一周里总共有 " << day << " 天" << endl;
//day = 8; // const修饰的变量是常量不可以修改
system("pause");
return 0;
}
关键字是C++中预先保留的单词,我们在定义变量或常量的时候不能使用这些关键字,C++一共有62个关键字
C++的关键字有:
<talbel>
<tr>
<td style="150px"></td>
</tr>
</talbel>
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 <iostream>
#include <climits> // 包含最大值和最小值函数的头文件
using namespace std;
int main() {
short max = (std::numeric_limits<short>::max)(); // 获取最大值
short min = (std::numeric_limits<short>::min)(); // 获取最小值
cout << "短整型占内存字节数:" << sizeof(short) << endl; // 获取占内存字节数
cout << "短整型占最大值:" << max << endl;
cout << "短整型占最小值:" << min << endl;
system("pause");
return 0;
}
浮点型用于表示小数,浮点型变量分为两种:
1、单精度float,如果是单精度,小数后面必须跟一个f或F, 否则都是双精度
2、双精度double
数据类型 | 占用空间 | 有效数字范围 |
float | 4字节 | 7位有效数字(不包括小数点) |
double | 8字节 | 15-16位有效数字(不包括小数点) |
字符型变量用于存储、显示单个字符, 字符型占 1 个字节的内存
语法:
char 变量名=‘值‘;
注意:
例1:
#include <iostream>
using namespace std;
int main() {
char ch = ‘a‘;
cout << ch << endl;
system("pause");
return 0;
}
用于表示一串字符
两种风格的字符串表示方式:
语法:
char 变量名[] = "值"
注意
例1:
#include <iostream>
using namespace std;
int main() {
char str[] = "我是一个字符串";
cout << str << endl;
system("pause");
return 0;
}
语法:
`string 变量名 = "值"
使用c++风格的字符串时,为了兼容,建议包含头文件 #include <String>
例1:
#include <iostream>
using namespace std;
int main() {
string str = "我是一个字符串";
cout << str << endl;
system("pause");
return 0;
}
布尔数据类型代表真或假的值,占用1个字节的内存空间,布尔类型只有两个值:
例1:
#include <iostream>
using namespace std;
int main() {
bool flag = true;
cout << flag << endl; // 输出布尔值
system("pause");
return 0;
}
利用sizeof关键字可以统计数据类型所占内存大小
语法:
sizeof(数据类型 / 变量)
sizeof后面的参数,可以是数据类型关键字,也可以是变量
例1:
# include <iostream>
using namespace std;
int main() {
int a = 10;
cout << "short占内存空间为:" << sizeof(short) << endl;
cout << "int占内存空间为:" << sizeof(a) << endl;
cout << "int占内存空间为:" << sizeof(long) << endl;
cout << "int占内存空间为:" << sizeof(long long) << endl;
system("pause");
return 0;
}
数据的输入用于从键盘获取数据
语法:
cin >> 变量名
例1:
#include <iostream>
using namespace std;
int main() {
string name = "";
cout << "请输入你的姓名:" << endl;
cin >> name;
cout << "你输入的姓名是:" << name << endl;
system("pause");
return 0;
}
用于处理四则运算
运算符:
运算符 | 术语 | 示例 | 结果 |
+ | 正号 | +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:
#include <iostream>
using namespace std;
int main() {
int num1 = 10, num2 = 3;
cout << num1 / num2 << endl; // 结果是:3
system("pause");
return 0;
}
例2:
#include <iostream>
using namespace std;
int main() {
double num1 = 10, num2 = 3;
cout << num1 / num2 << endl; // 结果是:3.33333
system("pause");
return 0;
}
例3:
#include <iostream>
using namespace std;
int main() {
double num1 = 10;
int num2 = 3; // 精度低的先往精度高的转换,然后参与计算,结果为精度高的类型
cout << num1 / num2 << endl; // 结果是:3.33333
system("pause");
return 0;
}
例4:
#include <iostream>
using namespace std;
int main() {
int num1 = 10;
int num2 = 3;
cout << num2 % num1 << endl; // 结果是:3
system("pause");
return 0;
}
例5:
#include <iostream>
using namespace std;
int main() {
int num1 = 10;
int num2 = num1++ * 10; // 先参与运算,后num1自增
int num3 = ++num1 * 10; // 先num1自增,后参与运算
cout << "num1的值是:" << num1 << endl; // 结果是12, 因为num1在计算num2和num3时各自增了一次
cout << "num2的值是:" << num2 << endl;
cout << "num3的值是:" << num3 << endl;
system("pause");
return 0;
}
赋值运算符用于将表达式的值赋给变量
赋值运算符:
运算符 | 术语 | 示例 | 结果 |
= | 赋值 | 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 <iostream>
using namespace std;
int main() {
int num1 = 10;
num1 *= 3; // 相当于num1 = num1 * 30
cout << num1 << endl;
system("pause");
return 0;
}
用于表达式的比较并返回一个真值或假值
比较运算符有:
运算符 | 术语 | 示例 | 结果 |
== | 相等于 | 4 == 3 | 0 |
!= | 不等于 | 4 != 3 | 1 |
< | 小于 | 4<3 | 0 |
> | 大于 | 4>3 | 1 |
<= | 小于等于 | 4<=3 | 0 |
>= | 大于等于 | 4>=3 | 1 |
根据表达式的值返回真或假
逻辑运算符:
运算符 | 术语 | 示例 | 结果 |
! | 非 | !a | 如果a为假,则结果为真;如果a为真,则结果为假 |
&& | 与 | a && b | 如果a和b都为真,则结果为真,否则为假。(同真为真,其余为假) |
|| | 或 | a || b | 如果a和b有一个为真,则结果为真,二者都为假,则结果为假。(同假为假,其余为真) |
C++支持三种程序运行结构:
顺序结构:程序按照顺序执行,不发生跳转
选择结构:依据条件是否满足,有选择的执行相应功能
循环结构:依据条件是否满足,循环多次执行某段代码
就是按代码的先后顺序执行,前面所学习的都是顺序结构
执行满足条件的语句
if语句的三种形式
单行格式if语句
语法:
if (条件表达式)
{
? 满足条件,要执行的内容;
}
例1:
#include <iostream>
using namespace std;
int main() {
int score = 0;
cout << "请输入你的分数:";
cin >> score;
if (score >= 600)
{
cout << "恭喜,你达到了一本线!!!" << endl;
}
system("pause");
return 0;
}
多行格式if语句
语法:
if (条件表达式)
{
? 满足条件,要执行的内容;
}
else
{
? 不满足条件,要执行的内容;
}
例1:
#include <iostream>
using namespace std;
int main() {
int score = 0;
cout << "请输入你的分数:";
cin >> score;
if (score >= 600)
{
cout << "恭喜,你达到了一本线!!!" << endl;
}
else
{
cout << "抱歉,你未达到一本线!!!" << endl;
}
system("pause");
return 0;
}
多条件的if语句
if (条件表达式1)
{
? 满足条件表达式1,要执行的内容;
}
else if(条件表达式2)
{
? 满足条件表达式2,要执行的内容;
}
...
else
{
? 所有条件表达式都不满足,要执行的内容;
}
例1:
#include <iostream>
using namespace std;
int main() {
int score = 0;
cout << "请输入你的分数:";
cin >> score;
if (score >= 600)
{
cout << "恭喜,你达到了一本线!!!" << endl;
}
else if(score >= 500)
{
cout << "恭喜,你达到了二本线!!!" << endl;
}
else if (score >= 400)
{
cout << "恭喜,你达到了三本线!!!" << endl;
}
else
{
cout << "很遗憾,你没达到本科线!!!" << endl;
}
system("pause");
return 0;
}
嵌套if语句是在一个if语句里面再嵌套一个if语句,达到更精确的条件判断
语法:
if (条件表达式)
{
? 要执行的语句;
? if (条件表达式)
? {
? 要执行的语句;
? }
}
注意:
嵌套的也可以有多种形式,上面多行if和多条件if都可以嵌套,这里就不过多的描述
例1:
#include <iostream>
using namespace std;
int main() {
int pigA = 0, pigB = 0, pigC = 0;
cout << "请输入A小猪的体重:";
cin >> pigA;
cout << "请输入B小猪的体重:";
cin >> pigB;
cout << "请输入C小猪的体重:";
cin >> pigC;
if (pigA > pigB) //A小猪比B小猪重
{
if (pigA > pigC)
{
cout << "A小猪最重" << endl;
}
else
{
cout << "C小猪最重" << endl;
}
}
else //B小猪比A小猪重
{
if (pigB > pigC)
{
cout << "B小猪最重" << endl;
}
else
{
cout << "C小猪最重" << endl;
}
}
system("pause");
return 0;
}
通过三目运算符可以实现简单的运算
语法:
表达式1 ? 表达式2 : 表达式3
说明:
如果表达式1的值为真,执行表达式2,并返回表达式2的结果
如果表达式1的值为假,执行表达式3,并返回表达式3的结果
注意:
在三目运算符中返回的是变量名,我们可以继续赋值
例1:
#include <iostream>
using namespace std;
int main() {
int a = 100, b = 110;
int max = a > b ? a : b;
cout << "最大的值是:" << max << endl;
system("pause");
return 0;
}
例2:
#include <iostream>
using namespace std;
int main() {
int a = 100, b = 110;
(a < b ? a : b) = 50; // 由于 a < b,返回的是变量a,给a赋值50
cout << "a的值是:" << a << endl;
cout << "b的值是:" << b << endl;
system("pause");
return 0;
}
switch用于执行多添加分支语句
语法:
switch( 表达式 )
{
? case 结果1:
? 执行语句;
? break;
? case 结果2:
? 执行语句;
? break;
? ...
? default:
? 执行语句;
? break;
}
注意:
switch的表达式只能是整型或者字符型
例1:
#include <iostream>
using namespace std;
int main()
{
cout << "请为电影打分:" << endl;
int score = 0;
cin >> score;
switch (score)
{
case 10:
cout << "棒极了" << endl;
break;
case 9:
; // 如果两个case要执行的语句相同可以直接省略,只写一个分号表 // 示一个空语句,具体执行的是另一个语句
case 8:
cout << "非常好看" << endl;
break;
case 7:
cout << "一般般吧" << endl;
break;
case 6:
cout << "一般般吧" << endl;
break;
default:
cout << "非常差" << endl;
}
system("pause");
return 0;
}
当满足循环条件,执行循环语句,一般用于循环次数未知的循环,使用该语句的时候,程序必须提供跳出循环的出口,否者会出现死循环了。
语法:
while (循环条件)
{
? 循环语句;
}
说明:
只要循环条件为真,就执行循环语句
例1:
#include <iostream>
using namespace std;
int main()
{
int num = 0;
while(num<10)
{
cout << num << endl;
num++;
}
system("pause");
return 0;
}
例2:
#include <iostream>
using namespace std;
#include <ctime>
int main()
{
// rand 生成的是伪随机数,每次运行程序都是从同一个数字开始,
// srand用于给随机数添加种子,用来当前系统时间作为种子,确保随机数每次不一样
srand((unsigned int)time(NULL));
// 随机生成一个1~100的整数
int num = rand() % 100 + 1;
int val = 0;
while (true)
{
cout << "请输入你猜的数字:";
cin >> val;
if (val > num)
{
cout << "你猜大了。。。" << endl;
}
else if (val < num)
{
cout << "你猜小了。。。" << endl;
}
else
{
cout << "恭喜你猜对了。。。" << endl;
break;
}
}
system("pause");
return 0;
}
满足循环条件,执行循环语句,先执行一次循环语句,再判断循环条件
语法:
do
{
? 循环语句;
}while(循环条件);
例1:
#include <iostream>
using namespace std;
int main()
{
int num = 0;
do
{
cout << num << endl;
num++;
} while (num < 10);
system("pause");
return 0;
}
满足循环条件,执行循环体,一般用于有限次的循环
语法:
for(起始表达式 ; 条件表达式 ; 末尾循环体)
{
? 循环语句;
}
例1:
#include <iostream>
using namespace std;
int main()
{
for (int i = 0; i < 10; i++) {
cout << i << endl;
}
system("pause");
return 0;
}
用于跳出选择机构或者循环结构
break使用的时机:
? 出现在switch条件语句中,作用是终止case并跳出switch
? 出现在循环语句中,作用是跳出当前的循环语句
? 出现在嵌套循环中,跳出最近的内层循环语句
continue再循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环
例1:
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i < 10; i++)
{
if (i % 2 == 0)
{
continue;
}
cout << i << endl;
}
system("pause");
return 0;
}
可以无条件跳转语句,跳转到标记处执行,我们应该尽量避免使用goto语句,避免造成程序混乱
语法:
goto 标记
例1:
#include <iostream>
using namespace std;
int main()
{
cout << "1" << endl;
goto FLAGE;
cout << "2" << endl;
cout << "3" << endl;
cout << "4" << endl;
FLAGE:
cout << "5" << endl;
system("pause");
return 0;
}
标签:bre 方式 算术运算符 表达式2 键盘 efi string 条件判断 include
原文地址:https://www.cnblogs.com/zcf-blog/p/13252101.html