蓝桥杯从零到获奖Day3(C/C++)
·
4.变量和常量
4.1 变量的创建
语法形式 date_type name
数据类型 变量名
变量的命名遵守规则:

4.2 变量初始化
int age = 18;
char ch = 'w';
double weight = 48.0;
unsigned int height = 172;
int n;
n = 20;//不算初始化
4.3 变量的分类
| 全局变量 | 在大括号外部定义的变量 | 适用范围更广 |
| 局部变量 | 在大括号内部定义的变量 | 范围较局限 |
#include <iostream>
using namespace std;
int m = 100;//全局变量
int main()
{
int n = 0;//局部变量
{
int a = 10;//局部变量
cout << a << endl;
}
return 0;
}
在局部变量和全局变量名字相同情况下,局部变量会优先使用,若要求使用全局变量,只需在变量名前加两个冒号(两者同时存在且被使用时)。
注:在竞赛中能使用全局变量,一般直接是全局变量,好处是:
1.变量不需要进行初始化,因为默认会初始化为0;
2.避免传参,到处都可以使用。
4.4 常量
4.4.1 字面常量
整型常量:
10进制数字,如:1,6,9
8进制数字,以0开头,如:012,016
16进制数字,一般以0x开头,如:0x123
字符常量:'a'
浮点型常量:3.14,1e6(科学计数法的形式)
4.4.2 #define定义的常量
#include <iostream>
using namespace std;
#define M 22
int main()
{
cout << M << endl;
return 0;
}
#define定义的常量,无关于常量类型,编译时只做替换处理,在出现常量名字的地方,直接替换为相应内容。
4.4.3 const定义常量
#include <iostream>
using namespace std;
int main()
{
const int n = 10;
n = 20;
cout << n << endl;
return 0;
}
上述代码会报错,在对n进行const定义后,n成为常量,便不能对其进行修改。
形式如下:
const 类型 常量名字 = 常量值;
4.5 练习
4.5.1 const定义
#include <iostream>
using namespace std;
const double PI = 3.14159
int main()
{
int r = 0;
cin >> r;
cout << "周长:" << 2*PI*r << endl;
cout << "面积:" << PI*r*r << endl;
return 0;
}
5.算术操作符
5.1 算术操作符
5.1.1
介绍五种双目操作符,双目操作符意为有两个操作数,如下:+(加),-(减),*(乘),/(除),%(取余,又叫取模)
注:1./操作符的除数不能为0;
2.%的操作数只能为正数,如5%2,结果为1。
5.2 浮点数的除法
float f = 6.0/4; //f为1.5
float m = 6/4; //m为1
两数相除时,要保证至少一个数为浮点数才能得到为浮点数的结果;
当两整数相除时会舍去余数。
5.3 负数求模
关键点:得到余数的正负号由第一个操作数决定。
#include <iostream>
using namespace std;
int main()
{
int a = -11%5;
int b = 11%5;
cout << a << " " << b << endl;
return 0;
}
结果如下:
-1 1
5.4 数值溢出
简要说明,例如char类型的变量,其取值范围是-128——127;
那么以下代码便出现了数值溢出,会造成错误结果:
#include <iostream>
using namespace std;
int main()
{
char a = 'z'; //Z的ASCII码值为90
char b = a + 'Z';
cout << (int)b << endl;
return 0;
}
结果得到-76,而非180。
更多推荐
所有评论(0)