从银行失窃案讲述c语言的数据类型
本帖主要讲述C语言的数据类型
在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量的存储空间,以及如何解释存储的位模式。
C语言的类型可分为以下几种:
序号 | 类型与描述 |
---|---|
1 | 基本类型(它们是算数类型,包括两种类型:整数类型和浮点类型) |
2 | 枚举类型(他们也是算数类型,被用来定义在程序中只能赋予其离散整数值的变量) |
3 | void类型(类型说明符 void 表明没有可用的值) |
4 | 派生类型(包括:指针类型,数组类型,结构体类型,共用体类型和函数类型) |
数据类型和函数类型统称为聚合类型。函数类型指的是函数返回值的类型。以后都会有具体的讲解。
接下来的部分我们主要讲述整数类型和浮点类型
- 整数类型
类型 | 存储大小 | 范围值 |
---|---|---|
char | 1字节 | -128到127或者0到255 (2的8*1次方) |
unsigned char | 1字节 | 0到255 |
signed char | 1字节 | -128到127 |
int | 2或4字节 | -32768到32768或者-2,147,483,648到 2147,483,647 |
unsigned int | 2或4字节 | 0到65,535 (2的82次方)或者0到4,294,967,295 (2的84次方) |
short | 2字节 | -32,768 到 32,767 |
unsigned short | 2字节 | 0 到 65,535 |
long | 4字节 | 2,147,483,648 到 2,147,483,647 |
unsigned long | 4字节 | 0 到 4,294,967,295 |
- 注意:各种数据类型所占字节的大小,最重要的还是有硬件决定。
- 当我们不知道类型所占字节大小的时候可以使用 sizeof(); 去观察该类型所占位数。
- 从而转化成字节数(1个word占8个位)
#include <stdio.h>
int main(void)
{
printf("int 存储大小 : %d \n", sizeof(int));
return 0;
}
- 浮点类型(实数类型)
/*
*Copyright (c) 2019.池州市集成电路可靠性分析与嵌入式研究实验室
*All rights reserved.
*摘要:程序功能,实现一个3舍4入。银行偷钱事件
*文件名称:数据交换.c
*文件标识:无
*
*当前版本:v1.0
*作者:乔勇刚
*完成日期:2019/09/08
*
*/
/*VS中需要使用,vc中不需要使用该宏定义*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
double money = 0.0L;
scanf("%lf", &money);//%f是不赋值double的,类型一定要相同
printf("有%lf元\n",money);
double res = (int)(money * 10 + 0.6) / 10.0; //只有除以10.0商是double,如果除以10,商是int型
printf("\nres=%lf\n", res);
if (res<money)
{
printf("可以窃取%lf元\n", money - res);
}
else
{
printf("黄了一单\n");
}
system("pause");
}