数据类型与printf,scanf函数

printf与scanf函数

printf函数是一个格式化输出函数

scanf()函数则是一个输入函数,
其一般的调用格式:scanf(格式控制,&地址列表);。其中格式控制一般是双引号中间加一些字符(由%与格式符组成),用于控制输入的格式,比如:%d,%c
%是格式控制符,它指明了以何种形式输出数据
&n表明对象n在内存中的地址

格式控制数据类型
%d用于输入十进制整数型
%o用于输入八进制整数型
%x用于输入十六进制整数型
%c用于输入单个字符
%s用于输入字符串
%f用于输入实数型(包括浮点数)

有些关键字的格式控制不在表格中,在讲述数据类型时会有补充
两种函数都被声明在头文件stdio.h里,在使用时,要在程序中加入#include <stdio.h>
具体使用方法在数据类型中一并展示

基本数据类型

概念:一种在计算机语言中对内存位置的一的抽象表达方式。

以整数类型为例

int a    //定义整形变量 类型 变量名

三种赋值方式
1, 初始化:定义变量的同时赋值
2, 直接赋值:先定义一个变量,再赋值给这个变量
3,键入赋值:定义一个变量,在运行时通过键盘将获取的值存入变量

#include<iostream>      //使用cin,cout须调用iostream库
#include<stdio.h>       //调用stdio.h的库
using namespace std;
int main()
{                      //函数开始
int a=1;               //初始化 定义变量的同时给他赋值
int b;                 //定义变量
b=2;                   //直接赋值
int c;                 //定义变量
cin>>c;                //键入赋值 将键盘获取的值存入c中
cout<<a<<b<<c;         //输出变量
return 0;              //结束程序
}

分类
一, 整形类型
常用关键字:
int:4个字节,32位(整数类型默认是int类型,取值范围约21亿) 格式符 d
short:2个字节,16位,取值范围为【-32768,32767】 格式符%hd
byte:1个字节,8位,256种状态,取值范围【-128,127】 格式符
long:8个字节,64位 格式符%ld

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int a;
cin>>a;      
cout<<a<<endl;       //endl有换行作用
  int b;
  scanf("%d",&b);    //cin>>b
  printf("%d",b);     //cout<<b
return 0;
}

二,浮点数类型
关键字:
float(单精度):4的字节,32位,8位指数,23位有效尾数 格式符%f
double(双精度):8个字节,64位,11位指数,52位有效尾数 格式符%lf
注:double比float精度更高,也更为常用。
赋值方式与整形相同,两者区别在于整形只能只能用与整数,而浮点型可以应用于小数,即可以出现小数点

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
double a;
cin>>a;
cout<<a;
   double b;
   scanf("%lf",&b);      //cin>>b
   printf("%.2lf",b);    //cout<<b(%后加.再加保留的小数大小,这里保留两位小数)
return 0;
}

三,单一字符类型
关键字:char(用于存储单一字符,2个字节,16位) 格式符%c

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
char a;
cin>>a;
cout<<a<<endl;
   char b;
   scanf("%c",&b);    //cin>>b
   printf("%c",b);     //cout<<b
   return 0;
}

四,字符串类型
关键字:sting 格式符%s
注意:string并非是c的原生类型,无法像直接输入整数那样方便的使用scanf函数输入string变量,如果想直接使用,可以使用下面的方法。

#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;
int main()
{
string a;
a.resize(2);             //预先分配空间,()内位预存的字符串大小
scanf("%s",&a[0]);       
cout<<a;
return 0;
}

五,布尔类型
关键字:bool(占1位)
只有false和true两个值,一边用于表示逻辑运算说明;以“//”开头为为注释行,“//”后的内容用以对语句进行说明,输入程序时可以不输入。

#include<iostream>
using namespace std;
int main()
{
bool a=-99;
cout<<a;
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值