前者学数据库之数据类型,学数据库之数据类型

眼下的话

  数据类型是指列、存储进程参数、表明式和局地变量的数码特征,它决定了多少的囤积格式,代表了差别的新闻项目。mysql中的数据类型首要包涵整型、浮点型、日期时间型和字符型。下边来详细介绍mysql中的数据类型

 

前面的话

  数据类型是指列、存款和储蓄进度参数、表明式和一些变量的数目特征,它决定了数码的积存格式,代表了不一样的消息种类。mysql中的数据类型重要包罗整型、浮点型、日期时间型和字符型。上面来详细介绍mysql中的数据类型

前者学数据库之数据类型,学数据库之数据类型。 

前者学数据库之数据类型,学数据库之数据类型

C程序设计

$ vim sin.c
#include <stdio.h>
#include <math.h>

int main()
{
  double x,y;
  printf("please input number:\n");
  scanf("%lf", &x);

  y = sin(x);
  printf("sine of %lf is %lf\n", x, y);

  return 0;
}
$ gcc sin.c -o sin
$ sin.exe
please input number:
1
sine of 1.000000 is 0.841471

求两数中的最大值

#include <stdio.h>
#include <math.h>

int max(int x, int y);

int main()
{
    int x,y,z;
    int max(int x, int y);

    printf("please input two numbers:\n");
    scanf("%d%d", &x, &y);
    z = max(x,y);
    printf("max = %d\n",z);

    return 0;
}

int max(int x, int y)
{
  return x>y ? x : y;
}

整型

  关键字UNSIGNED表示无符号值

  数据库并从未布尔类型BOOLEAN,若是申明类型为BOOLEAN,则会被撤换为TINYINT类型,true转换为一,false转换为0

997755.com澳门葡京 1

 

整型

  关键字UNSIGNED表示无符号值

  数据库并从未布尔类型BOOLEAN,如若评释类型为BOOLEAN,则会被更换为TINYINT类型,true转换为1,false转换为0

997755.com澳门葡京 2

 

前边的话

  数据类型是指列、存款和储蓄进度参数、表明式和1部分变量的数额特征,它控制了数量的仓储格式,代表了分化的音讯项目。mysql中的数据类型首要包罗整型、浮点型、日期时间型和字符型。上边来详细介绍mysql中的数据类型

 

数码的表现情势

总计机高级语言中,数据又三种表现情势,常量和变量。

常量:程序启动进程中,值无法被更改的量。

  • 整型常量
  • 实型常量
  • 字符常量
  • 字符串常量
  • 标记常量

标志常量用标识符代表二个常量,C语言中可用1个标识符来表示1个常量,称之为符号常量。

标记常量在应用此前务必先定义后使用,定义格局:

#define 标识符 常量

#define是一条预处理命令,预处理命令以#起来,又称为宏定义命令。功效是把该标识符定义为事后的常量值。一经定义,现在在先后中兼有出现该标识符的地点均代之以该常量值。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。

#define PI 3.14
#define PRICE 10

例如

#include <stdio.h>
#define PRICE 10 //使用标识符代表一个常量称为符号常量

int main()
{
  int number,total;

  printf("please input number:\n");
  scanf("%d", &number);

  total = number * PRICE;//符号常量与变量不同的是其值在其作用域内不能改变也不能再被赋值
  printf("total is %d\n", total);

  return 0;
}

变量代表三个有名字的、具有一定属性的一个存储单元。用来存款和储蓄数据,也正是存放变量的值。在程序运转时期,变量的值是足以转移的。

int k = 3;

997755.com澳门葡京 3

变量

变量必须先定义后使用。在概念时钦定该变量的名字和项目。多少个变量应该有3个名字,以便被引述。

变量名实际上是以3个名字代表的多个储存地方,在对先后编写翻译连接时由编写翻译系统给每种变量名分配对应的内存地址。从变量中取值,实际上是由此变量名找到呼应的内部存款和储蓄器地址,从该存款和储蓄单元中读取数据。

浮点型

997755.com澳门葡京 4

 

浮点型

997755.com澳门葡京 5

 

整型

  注意:关键字UNSIGNED表示无符号值

997755.com澳门葡京 6  

数据类型

主旨数据类型首要特征是“值不得在分解为其它系列”,相当于说它是“自作者表明”的。构造数据类型是根据已定义的一个或七个数据类型用构造的法门来定义,也正是说三个构造类型的值能够分解成若干个“成员”或“成分”。每一个成员都是二个着力数据类型或构造类型。

997755.com澳门葡京 7

C语言数据类型

所谓数据类型,是对数码分配单元的布局,包涵存款和储蓄单元的长短(占多少字节)以及数据的仓库储存格局,分裂品种分配的尺寸和仓库储存情势。

997755.com澳门葡京 8

C语言数据类型

日猪时间

997755.com澳门葡京 9

 

日未时间

997755.com澳门葡京 10

 

浮点型

997755.com澳门葡京 11  

整型

  • 中央整型(int)
    在存款和储蓄单元中储存格局是用整数的补码(complement)方式存放,三个正数的补码是此数的二进制情势。

int i = 5;

997755.com澳门葡京 12

整型正数

2个负数则应先求出负数的补码,求补码的法子是先将此数的相对化值写成2进制,然后对其背后全部二进制按位取反,再加一。

int i = -5;

997755.com澳门葡京 13

整型负数

在存放整数的存款和储蓄单元中,最左边一个人是用来代表符号的,该位为0表示数值为正,该位为壹表示数值为负。

  • 短整型(short int)
    短整型类型名字为short intshort
  • 长整型(long int)
    长整型类型名字为long intlong
  • 997755.com澳门葡京,双长整型(long long int)
    双长整型类型名称叫long long intlong long

$ vim integer.c
#include <stdio.h>

int main()
{
  int i;
  short int si;
  long int li;

  printf("int size is %d\nshort int size is %d\nlong int size is %d\n", sizeof(i), sizeof(si), sizeof(li));
  return 0;
}
$ gcc integer.c -o integer
$ integer.exe
int size is 4
short int size is 2
long int size is 4

整型变量的符号属性

变量值的存款和储蓄单元中都以以补码情势储存的,存储单元中的第五个贰进制代表符号。

  • 有号子基本整型 [signed] int
  • 无符号基本整型 unsigned int
  • 有标志短整型 [signed] short [int]
  • 无符号短整型 unsigned short [int]
  • 有记号长整型 [signed] long [int]
  • 无符号长整型 unsigned long [int]
  • 有记号双长整型 [signed] long long [int]
  • 无符号双长整型 unsigned long long [int]

有号子整型数据存款和储蓄单元中最高位代表符号(0为正一为负),即便钦赐unsigned为无符号型,存款和储蓄单元中全体贰进制位都看作存放数值自个儿,而尚未标记。无符号型变量只好存放不带符号的平头,而不可能存放负数,由于左边最高位不再用来表示符号,而用来代表数值,因而无符号整型变量中能够存放的整数的界定比一般整型变量中整数的限制扩大一倍。

short s; // a 为有符号短整型变量,数值范围为 -32768~32767。
unsigned short b;// b为无符号短整型变量,数值范围为 0~65535。

997755.com澳门葡京 14

有无符号的整型

  • 只有整型(包含字符型)数据足以加signedunsigned修饰符,实型数据不能够加。
  • 对于无符号整型数据用%u格式输出,%u意味着用无符号10进制的格式输出。

#include <stdio.h>

int main()
{
  unsigned short i = 1; //1 指定无符号十进制整数
  unsigned short j = -1;//65535 不能讲负整数存储在无符号变量中
  printf("%u\n%d\n", i, j);
  return 0;
}

系统对-1先转换到补码方式,正是总体2进制位都以一,然后将其保存如变量j中。由于j是无符号短整型变量,其左手第二个人不代表符号,按$d格式输出正是65535

997755.com澳门葡京 15

不能够将负数存款和储蓄在无符号变量中

整型数据的溢出

#include <stdio.h>

int main()
{
  // 整型数据的溢出
  int i,j;
  i = 32767;// 0111 1111 1111 1111
  j = i + 1;// 1000 0000 0000 0000
  printf("%d\n%d\n", i, j);
  return 0;
}

字符型

997755.com澳门葡京 16

字符型

997755.com澳门葡京 17

日午时间

997755.com澳门葡京 18  

字符型

出于字符是按其代码(整数)格局储存的,因而C9九把字符型作为整型的一种。字符型数据包罗字符常量和字符变量。

#include <stdio.h>

int main()
{
  int i = 97;
  char c = 'a';
  printf("%d %c\n", i, i);
  printf("%d %c\n", c, c);
  return 0;
}

字符与字符代码并不是随意写2个字符,程序都能够识其余,只可以选拔系统的字符集中的字符,如今超越四分一种类选拔ASCII字符集。各类字符集的基本集都包含1贰七个字符。

997755.com澳门葡京 19

转义字符

字符是以整型(字符的ASCII代码)存放在内部存款和储蓄器单元中的。字符的ASCII代号最多用七个贰进制位就能够象征,全数1二7个字符都得以用7个2进制位表示。所以在C中,钦命用三个字节(5位)存款和储蓄三个字符。此时,字节中的第四个人为0。

997755.com澳门葡京 20

字符型1和整型1

  • 字符常量只好用单引号
  • 字符常量只能是单个字符不能够是字符串
  • 字符可以是字符集中任意字符

997755.com澳门葡京 21

字符型数据的贮存空间和值的范围

字母大小写转换

#include <stdio.h>

int main()
{
  char c,result;
  printf("please input a char for convert format:\n");
  scanf("%c",&c);

  if(c>=97 && c<129){
    result = c - 32;
  }else if(c>=65 && c<97){
    result = c + 32;
  }

  printf("result is %c\n", result);

  return 0;
}

字符型

997755.com澳门葡京 22

后边的话
数据类型是指列、存款和储蓄进程参数、表达式和①部分变量的数量特征,它决定了数据…

浮点型

浮点型数据用来代表拥有小数点的实数。C语言中实数是以指数格局存放在存款和储蓄单元中,多少个实数表示为指数能够有随处1种方式,只要在小数点地点变动的同时改变指数的值,就足以确定保证它的值不会变动。由于小数点地点可以生成,所以实数的指数格局称为浮点数。

  • 10进制数格局:由数码0到玖和小数点组成
  • 指数格局:由10进制数加阶码标志eE以及阶码组成。

在指数情势的有余代表方式中小数部分中型小型数点前的数字为0、小数点后第2位数字不为0的象征情势称为规范化的指数格局。一个实数只有贰个规范化的指数方式,在程序以指数方式出口3个实数时,必然以规范化的指数形式出口。

实数在内部存款和储蓄器中的存放方式

997755.com澳门葡京 23

实数在内部存款和储蓄器中的存放格局

浮点数类型包罗

  • 单精度浮点型(float)
    编写翻译系统为每一个float型变量分配四个字节,数值以规范化的2进制数指数格局存放在存款和储蓄单元中。在仓库储存时,系统将实型数据分为小数部分和指数部分各自存放,小数部分的小数点前边的数为0。
    实在在处理器中用2进制数来代表小数部分以及用2的幂次来表示指数部分。终究用多少位来代表小数部分,多少位来表示指数部分,C标准并无具体规定,由各C语言编写翻译系统自定。
  • 双精度浮点型(double)
    C程序中的实型常量都以双精度浮点型常量。

float a = 3.14159;// warning: truncation from 'const double' to 'float'
  • 长双精度浮点型(long double)

997755.com澳门葡京 24

实型数据

花色自动转换

赋值运算中,赋值运算两边数据类型不相同时,赋值号右侧量的类别将更换为右边量的品类。若左边量的数据类型长度长时将遗失一部分数量,那样会骤降精度,丢失的壹些按4舍伍入向前舍入。

997755.com澳门葡京 25

花色自动转换

强制类型转换

(类型说明符) (表达式) // 将表达式的运算结果强制转换成了类型说明符所表示的类型

随便强制转换或是自动转换,都只是为着本次运算的必要而对变量的数目长度实行的暂且性转换,而不改变多少申明时对该变量定义的体系。

运算符

997755.com澳门葡京 26

算术运算符

字符型与整型数据运算

#include <stdio.h>

int main()
{
  char c1, c2;
  c1 = 'A';// 将字符的ASCII编码存入c1变量
  c2 = c1 + 32;
  printf("%c\n%d\n", c2, c2);

  return 0;
}

997755.com澳门葡京 27

字符型与整型数据运算

自增自减

#include <stdio.h>

int main()
{

  int i,j,k;
  i = 0;
  j = ++i;
  k = i++;
  printf("%d\n%d\n%d\n", i, j, k);// 2 1 1

  return 0;
}

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website