名字空间
#include <iostream>
using namespace std;
int main()
{
}
1.using namespace std; 意思是:使⽤名字空间std (名字空间也叫命名空间)。
2.在C++中,变量、函数和类都是⼤量存在的,这些变量、函数和类的名称如果都存在于全局作⽤域中,可能会导致很多冲突。使⽤名字空间的⽬的是对标识符的名称进⾏隔离,以避免命名冲突或名字污染。
3.std 是C++标准库的名字空间名,C++将标准库的定义实现都放到这个命名空间中,当我们需要使⽤标准库中的内容时,就需要加上:using namespace std ;当有了这句代码的时候,表⽰名字空间std中信息都是可⻅和可⽤的,⽐如:cin 、cout 、endl 等。
4.也可以像std::cout这样用,意思是使用std空间中的cout.
提示:采⽤std::cout 这种写法,如果频繁使⽤,在算法竞赛中⽐较⿇烦,耽搁时间。但是在企业中做软件开发基本上都这样写的,这样写具有针对性,可更好地避免名字冲突的问题。
注释
分为单行注释//和多行注释/* */
在VS环境中注释和取消注释的快捷键:Ctrl + K + C ,Ctrl + K + U
在DevC++中注释和取消注释的快捷键:Ctrl + /
数据类型
C++中提供了丰富的数据类型来描述⽣活中的各种数据。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。
简单数据类型:整型,字符型,浮点型,布尔类型。
整型分为四大类:short,int long,long long
浮点型分为三类:float 单精度浮点型 ;double 双精度浮点型;long double 更长的双精度浮点型
在C/C++中⼩数的书写形式:
3.14; //编译器会默认识别为double类型
3.14f; //编译器会默认识别为float类型
1e5; //这种写法是科学计数法的形式,意思是1.0*10^5
1e5+10; //1*100000+10 == 100010
1.23e5+10; //1.23*100000+10 = 123010
布尔类型
C++有⼀种类型叫:bool (布尔类型),布尔类型的变量的值可以是false ,这种类型的变量专⻔⽤来表⽰真或假的。在C和C++中,0表⽰假,⾮0表⽰真,有时候不使⽤bool类型也能表达相同的逻辑。
#include <iostream>
using namespace std;
int main()
{
bool flag=true;
if(flag)
printf("I like you\n");
return 0;}
signed和unsigned
这两个关键字是修饰字符型和整型类型的
signed关键字:表示一个类型带有正负号,包含负值。如:温度。
unsigned关键字:表示该类型不带有正负号,只表示0和正整数。如:年龄。
//
字符型
char
signed char //有符号的字符类型 **signed不能省略**
unsigned char //⽆符号的字符类型
//
short [int] //短整型
[signed] short [int] //有符号的短整型
unsigned short [int] //⽆符号的短整型
//
整型
int
[signed] int //有符号的整型
unsigned [int]
//
⻓整型
long [int]
[signed] long [int] //有符号的⻓整型
unsigned long [int] //⽆符号的⻓整型
//
更⻓的整型
long long [int]
[signed] long long [int]
unsigned long long [int]
对于int类型,默认是带正负号的,也就是说int等同于signed int.
由于这是默认情况,则关键字signed写不写都行。
int类型只表示非负整数时,必须使用unsigned声明变量。
unsigned int a;
声明unsigned变量的好处是:同样长度的内存能够表示的最大整数值增大了一倍。
⽐如,16位的signed short int 的取值范围是:-32768~32767,最⼤是32767 ;unsigned short int 的取值范围是:0~65535 ,最⼤值增⼤到了65535.
下⾯的定义是Dev-C++环境中,climits 中相关定义,其实如果仔细看signed climits 中也是包含的limits.h
#define SHRT_MIN -32768 //有符号16位整型的最⼩值(短整型)
#define SHRT_MAX 32767 //有符号16位整型的最⼤值
#define USHRT_MAX 0xffffu //无符号16位整型的最⼤值
#define INT_MIN (-2147483647 - 1) //有符号32位整型的最小值(int型)
#define INT_MAX 2147483647 //有符号32位整型的最⼤值
unsigned int 里的int可以省略,所以可写成
unsigned a;
注意,char 类型到底是signed char 还是unsigned char,由编译器决定。大部分编译器上char就是signed char.这就是说,char 不等同于signed char .这⼀点与int 不同。int 就是等同于signed int .
sizeof操作符
sizeof既是关键字,也是操作符,专门用来计算特定数据类型的长度,单位是字节。sizeof的操作数可以是数据类型,变量名,或表达式。若是表达式,则可省略掉后面的括号。
sizeof(int);
sizeof 表达式
#include <iostream>
using namespace std;
int main()
{
int a=10;
cout<<sizeof(a)<<endl;
cout<<sizeof a <<endl;
cout<<sizeof(int)<<endl;
return 0;}
以上三个运行的结果都是4.
此外float类型也是4个字节。
以下是不同数据类型的取值范围:
int大概为10^9数量级。
typedef
typedef关键字是用来给类型重命名的,当一个类型复杂时可以简化类型。可提高编程速度。
typedef 旧类型名 新类型名;
例如:
typedef unsigned int uint;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int ut;
重命名后使得用ull创建的变量和使用unsigned long long是一样的。
标签:入门,int,signed,unsigned,long,整型,类型,C++ From: https://blog.csdn.net/2401_88238436/article/details/143973234