整型数据是用来表示整数的数据类型,C++提供了不同大小的整型数据类型,包括:
以下是一些整型数据的示例代码:
int a = 10;
short b = 5;
long c = 1000;
long long d = 1234567890;
实型数据是用来表示浮点数的数据类型,C++提供了不同大小的实型数据类型,包括:
以下是一些实型数据的示例代码:
float x = 3.14;
double y = 2.71828;
long double z = 1.6180339887;
字符型数据用来表示单个字符,C++使用char类型来表示字符,通常为1个字节。
以下是一个字符型数据的示例代码:
char ch = 'A';
bool型数据用来表示真或假的值,C++使用bool类型来表示布尔值,只有两个取值:true和false。
以下是一个bool型数据的示例代码:
bool flag = true;
【例1-1】检测基本数据类型所占的字节数
#include
using namespace std;
int main()
{
cout << "int: " << sizeof(int) << " bytes" << endl;
cout << "short: " << sizeof(short) << " bytes" << endl;
cout << "long: " << sizeof(long) << " bytes" << endl;
cout << "long long: " << sizeof(long long) << " bytes" << endl;
cout << "float: " << sizeof(float) << " bytes" << endl;
cout << "double: " << sizeof(double) << " bytes" << endl;
cout << "long double: " << sizeof(long double) << " bytes" << endl;
cout << "char: " << sizeof(char) << " bytes" << endl;
cout << "bool: " << sizeof(bool) << " bytes" << endl;
return 0;
}
程序运行结果如下
int:4 bytes
short:2 bytes
long:4 bytes
long long: 8 bytes
float:4 bytes
double: 8 bytes
long double: 8 bytes
char:1 bytes
bool: 1 bytes
标识符是用来命名变量、函数、类等的名称,C++的标识符由字母、数字和下划线组成,且以字母或下划线开头。
以下是一个标识符的示例代码:
int age = 18;
常量是固定不变的值,可以使用常量来存储不需要修改的数据。
【例1-2】整型常量的表示
int number = 10;
【例1-3】带后缀的整型常量
int decimal = 10;
int octal = 012; // 八进制常量,以0开头
int hex = 0x1A; // 十六进制常量,以0x开头
【例1-4】实型常量的表示
float pi = 3.14;
【例1-5】带后缀的实型常量
float radius = 2.5f; // 单精度浮点数常量,以f或F结尾
double height = 1.8; // 双精度浮点数常量,默认为双精度
【例1-6】用转义字符输出字符
char ch = '\n'; // 换行符
cout << ch << endl;
【例1-7】输出字符串
string message = "Hello, world!";
cout << message << endl;
【例1-8】输出bool型常量
bool flag = true;
cout << flag << endl;
【例1-9】使用符号常量
const int MAX_NUM = 100;
int numbers[MAX_NUM];
变量是用来存储数据的容器,可以通过给变量赋值来存储不同的数据。
【例1-10】变量的初始化与使用
int age = 18; // 初始化变量
cout << "My age is " << age << endl; // 使用变量
【例 1-11】基本算术运算符
#include
using namespace std;
int main()
{
int a = 10;
int b = 5;
int sum = a + b;
int difference = a - b;
int product = a * b;
int quotient = a / b;
int remainder = a % b;
cout << "和: " << sum << endl;
cout << "差为: " << difference << endl;
cout << "乘积为: " << product << endl;
cout << "商值为: " << quotient << endl;
cout << "余数为: " << remainder << endl;
return 0;
}
程序运行结果如下
和:15
差为:5
乘积为:50
商值为:2
余数为:0
【例 1-12】字符参与算术运算
字符类型可以参与算术运算,它们的ASCII码值在计算过程中被使用。下面是一个示例:
#include
using namespace std;
int main()
{
char a = 'A';
int b = 2;
char c = a + b;
cout << "c: " << c << endl;
return 0;
}
程序运行结果如下
c:C
【例 1-13】自增和自减运算符的使用
自增运算符(++)用于增加变量的值,自减运算符(–)用于减少变量的值。下面是一个示例:
#include
using namespace std;
int main()
{
int a = 5;
int b = ++a;
int c = --a;
cout << "b: " << b << endl;
cout << "c: " << c << endl;
return 0;
}
程序运行结果如下
b: 5
c: 6
【例 1-14】数据类型自动转换
C++中有自动类型转换的规则,当不同类型的表达式混合使用时,编译器会自动进行类型转换。下面是一个示例:
#include
using namespace std;
int main()
{
int a = 5;
double b = 2.5;
int sum = a + b;
cout << "和为: " << sum << endl;
return 0;
}
程序运行结果如下
和为: 7
【例 1-15】求三角形的面积
下面是一个求解三角形面积的示例:
#include
using namespace std;
int main()
{
double base, height; //定义三角形底和高的数据类型
cout << "输入三角形的底: ";
cin >> base;
cout << "输入三角形的高: ";
cin >> height;
double area = 0.5 * base * height; //三角形的面积计算公式
cout << "三角形的面积为: " << area << endl;
return 0;
}
程序运行结果如下
输入三角形的底:6
输入三角形的高:6
三角形的面积为:18
除了“=”之外,C++还提供了10个复合赋值运算符+=、-=、*=、/=、%=、<<=、>>=、&=、|=和^=。复合赋值运算符是由赋值运算符之前再加一个双目运算符构成的,其中前5个是算术运算
符与赋值运算符复合而成,后5个是位运算符与赋值运算符复合而成。有关位运算的内容在后面
章节介绍。下面举例说明复合赋值运算符的含义。
a+=10 //手价于a=a+10
a-=10*b+20 //手价于a=a-(10*6+20)
ag=10*b+20 //等价于a=a% (10*b+20)
其他复合赋值运算符的含义与上面的类似,不再一一赘述。
【例 1-16】复合赋值运算符
#include
using namespace std;
int main()
{
int a, b, c, d;
a = 10;
a += 20; //a=a+20;30
cout << a << endl;
a -= 5; //a=a-5;25
cout << a << endl;
a *= 5 + 5; //a=a*(5+5);250
cout << a << endl;
a /= 5 - 3; //a=a/(5-3);125
cout << a << endl;
a %= 5 + 3; //a=a%(5+3);5
cout << a << endl;
return 0;
}
程序运行结果如下
30
25
250
125
5
【例 1-17】求关系表达式的值
关系运算符用于比较两个值,并返回一个布尔值(true或false)。下面是一个示例:
#include
using namespace std;
int main()
{
int a = 5;
int b = 7;
bool result = a > b;
cout << "result: " << result << endl;
return 0;
}
程序运行结果如下
result:0
【例 1-18】逻辑运算符应用实例
逻辑运算符用于组合多个关系表达式,并返回一个布尔值。下面是一个示例:
#include
using namespace std;
int main()
{
int a = 5;
int b = 7;
bool result = (a > 3) && (b < 10);
cout << "result: " << result << endl;
return 0;
}
程序运行结果如下
result:1
【例 1-19】求两个数中较大的值和较小的值
条件运算符(? :)是一个三元运算符,可以根据条件的真假选择不同的操作。下面是一个示例:
#include
using namespace std;
int main()
{
int a = 5;
int b = 7;
int max = (a > b) ? a : b;
int min = (a < b) ? a : b;
cout << "max: " << max << endl;
cout << "min: " << min << endl;
return 0;
}
程序运行结果如下
max:7
min:5
sizeof运算符用于获取变量或数据类型的大小。下面是一个示例:
#include
using namespace std;
int main()
{
int a;
cout << "Size of int: " << sizeof(a) << " bytes" << endl;
return 0;
}
程序运行结果如下
Size of int: 4 bytes
位运算符用于对二进制数进行位操作。下面是一些常用的位运算符:
这里提供了一些位运算的实例代码:
#include
using namespace std;
int main()
{
int a = 5; // 二进制表示: 0101
int b = 3; // 二进制表示: 0011
cout << "a & b: " << (a & b) << endl; // 与运算: 0001
cout << "a | b: " << (a | b) << endl; // 或运算: 0111
cout << "a ^ b: " << (a ^ b) << endl; // 异或运算: 0110
cout << "a << 1: " << (a << 1) << endl; // 左移运算: 1010
cout << "b >> 1: " << (b >> 1) << endl; // 右移运算: 0001
return 0;
}
程序运行结果如下
a & b: 1
a | b: 7
a ^ b: 6
a << 1: 10
b >> 1: 1
【例 1-20】输出一个三位数的个位数、十位数和百位数
下面是一个输出三位数个位数、十位数和百位数的示例:
#include
using namespace std;
int main()
{
int num;
cout << "输入一个三位数: ";
cin >> num;
int ones = num % 10;
int tens = (num / 10) % 10;
int hundreds = num / 100;
cout << "个位数为: " << ones << endl;
cout << "十位数为: " << tens << endl;
cout << "百位数为: " << hundreds << endl;
return 0;
}
程序运行结果如下
输入三位数:185
个位数为:1
十位数为:8
个位数为:5