数据类型输入输出汇总
巩固C++知识时数据类型及输入输出形式汇总:
数据类型 | 位 | 中文名 | 输入输出形式 |
---|---|---|---|
char | 1个字节 | 字符型 | %c |
int | 4个字节 | 整型 | %d |
short(short int) | 2个字节 | 短整型 | %d |
long(long int) | 8个字节 | 长整型 | %ld |
long long(long long int) | 8个字节 | 长整型(C++标准) | %lld |
float | 4个字节 | 浮点型 | %f |
double | 8个字节 | 双精度浮点型 | % lf |
补充
另外,补充如下:
%e
表示按指数形式的浮点数的格式输出%g
表示自动选择合适的表示法输出%u
表示输出无符号的unsigned
(比如unsigned long long int
的输入输出形式就是%llu
);printf("%%");
这样才能输出符号%
数据类型简介
char
:char
为一个字节,所以char
的unsigned
的范围是0到255,signed
类型的话就是-128到127(-28->27-1);输入输出:%c
int
:在32位系统中(现在普遍是int32位),signed
的范围是(-216到215-1),即是-2147483648~+2147483647,unsigned
类型 的int
范围:0~4294967295 即( 0到232-1);输入输出:%d
short int
:short int
只有int
的一半, 也就是216, 范围为(0到65536-1);输入输出:%d
long
:long
和long int
都是4字节, 要注意:long int
的大小和系统是32位还是64位的有关系,事实上,long
整型与int
能储存的长度差不多;输入输出:%ld
long long int
:long long int
有8字节, 表示范围为-263到263-1,也就是10的18次方左右;输入输出:%lld
float
:float
占用的内存为4个字节, 和int
占用的空间是一样的, 只是保存的方式不同,float
采用的是指数的方式保存数字, 精确度会有问题,储存长度大概与int
相差无几。(稍微比int
大);输入输出:%f
double
:double
占用的8个字节的内存, 所以表示范围会比float
更大,double
保存数值的方式也是为指数保存, 所以也有精确度的问题,表示的长度大概是10的32次方。输入输出:%lf
scanf()和print()函数
scanf()
函数一般格式是:scanf(格式控制, 输出表列)
printf()
函数的一般格式是:printf(格式控制,输出表列)
用scanf和printf函数进行输入和输出
例子:
#include <iostream>
using namespace std;
int main( )
{
int a; float b; char c;
scanf("%d %c %f",&a,&c,&b); //注意在变量名前要加地址运算符&
printf("a=%d,b=%f,c=%c\n",a,b,c);
return 0;
}
输入输出如下:
patten@patten-PC:~/Desktop/cpp$ g++ test.cpp
patten@patten-PC:~/Desktop/cpp$ ./a.out
2 g 2.19
a=2,b=2.190000,c=g
patten@patten-PC:~/Desktop/cpp$