C语言-数据类型

唠嗑

我们知道C语言有变量与常量之分,而数据类型就是对每一个变量或者常量赋予不同的功能,好比每个士兵也有不同的兵种。给量定义一个合适的数据类型才能在不同场景下进行合适的调用,顺利编写程序完成目标任务。

正文

一:不同数据类型介绍

基本类型**
(一)整形

  1. 基本整形
    a.大小:一般占据2或4字节,由编译系统决定。在vc中是占用4字节。
    b.数据范围:-32768~32767
    c.定义方式:int + 量的名称

  2. 短整形
    a.大小:占用2字节(vc)
    b.数据范围:-32768-32767
    c.定义方式:short int + 量的名称

  3. 长整型
    a.大小:占用4字节(vc)
    b.数据范围:-2e31~2e31-1
    c.定义方式:long int + 量的名称

  4. 双长整形
    占用8个字节,一般应用较少

(二)浮点型

  1. 单精度
    a.数据范围:-3.4e38~3.4e38
    b.格式:包括场宽,对齐方式,精度
    c.定义方式:float + 量的名称

举例
printf(“%-5.2f”,a):表示输出的a是总长度为5,小数点后保留两位有效数字,左对齐(没有“-”默认右对齐)

2.双精
a.数据范围:-1.7e308~1.7e308
b.(同上)
c.定义方式:double + 量的名称

(三)字符型
1.大小:占用一个字节
2.应用范围:任何字符
3.与数值的关系:查阅ascii码表 (‘a’代表数值97)

构造类型
(一)数组

  1. 一维
    1)数值型
    a.定义方式:int + 量的名称[数组长度]
    b.用法:理解为多个相同类型的数值型量编排了序号成了一个班级
    2)字符型
    a.定义方式:char +量的名称[数组长度]
    b.用法:可以把每个元素单独看待,也可以把元素看成整体,成为字符串

char str[6]={'H’,‘e’,‘l’,‘l’,‘o’};
char str[6]={“Hello”};

  1. 多维(以二维举例)
    1)与一维的区别:

一维:班级-个人
二维:年级-班级-个人
三维:学校-年级-班级-个人

2)字符型两种用法

char str[3][6]
a.str[0][5]表示一个元素
b.str[0]表示一个长度为6的一位数组

(二)结构体
1.解释:在一个自己定义的数据类型下,包含了多种不同的基本数据类型
2.为什么要用:比如世界杯一个球队有:名字,赢场数,输场数,平局数,进球数,丢球数。这五个信息都隶属于一直球队,如果一个一个定义则会显得混乱
3.定义方式(在main函数外定义):

struct group
{
char name[10];
int win;
int lose;
int bal;
int in;
int out;

};

4.调用方法(在main中)

struct group a;
//这里:struct group是数据类型,a是量的名称
scanf("%s",a.name);
scanf("%d",a.win);
//即可输入a队的名字,赢场数

二:常见误区与注意事项

1.每个类型有自己的数据范围,定义相应变量并赋值时不要超出这个范围(溢出)
2.不同类型运算,低位向高位转
3.整形数据结果取整

a=3/2;
a的结果为1;

4.整型数据的取余方式是“a%b”即可,而浮点型需要用到函数
5.要说明一个字母是字符,要用单引号,即‘a’(不然编译器默认a为一个量)
6.字符数组长度+1;

char str[6]={“hello”} 正确
char str[6]={“helloo”} 错误
//这里系统会在字符串末尾自动加停止符‘\0’

7.数组的首元素序号为0;

int a[5]={1,0,1};
a[1]的值是0,a[0]的值是1;

8.当给数组元素赋值个数少于定义的长度时,剩余元素系统默认值为0;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值