C语言----数据类型和表达式

欢迎来到机器学习的世界 
博客主页:卿云阁

欢迎关注点赞收藏⭐️留言

本文由卿云阁原创!

本阶段属于练气阶段,希望各位仙友顺利完成突破

首发时间:2021年10月10日

✉️希望可以和大家一起完成进阶之路!

作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!


目录

数据类型

整形

字符类型

 布尔类型

 浮点类型

 运算符和表达式

C语言----数据类型和表达式_第1张图片

 

数据类型

       数据在C语言中总体可以分为三类:算数类型、void型以及派生类型,具体细分情况如图所示。

C语言----数据类型和表达式_第2张图片

 

整形

             整数类型中的整型,使用最多的是int型,以这种类型为基础,通过long、short、unsigned、signed关键字的修饰形成不同的整型。

int age=19;

C语言----数据类型和表达式_第3张图片

 

字符类型

    一个char型的数据存储在内存中并不是存字符本身,存储的是该字符的ASCII码。

  char ch='A';
  char c=65;

C语言----数据类型和表达式_第4张图片

 布尔类型

        C99标准以后增加了布尔类型,并且提供了_Bool这个关键字来声明这种类型的数据,_Bool型数据只有true和false这两个值,C语言使用数值1表示true,0表示false,所以_Bool型属于无符号整型。对于一个_Bool型的变量,不管给它赋什么标量值,如34、1、0、-2.0,它接收值的原则是非0值即认定是1,0就是0。输出_Bool型值时用格式控制符%d。

#include
int main(void)
{
_Bool x,y,z; //定义三个_Bool型变量
x=50;   //可以赋一个整数,但x的值是1。
y=0;    //赋值为0,所以y的值为0。
z=-1;   //可以赋一个负数,但z的值仍然为1。
printf("x=%d,y=%d,z=%d \n",x,y,z); //输出x,y,z。
}

C语言----数据类型和表达式_第5张图片

 浮点类型

实数浮点类型

double a=1.1;

C语言----数据类型和表达式_第6张图片

 

复数浮点类型(平时用的很少,这里不做介绍)


 运算符和表达式

C语言提供的运算符有以下13

(1) 算术运算符 (+-*/%++--)

(2) 关系运算符 (><==>=<=!=)

(3) 逻辑运算符 (!&&||)

(4) 位运算符   (<<>>~|&)

(5) 赋值运算符 (=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>= )

(6) 条件运算符 (?:)

(7) 逗号运算符 (,)

(8) 指针运算符 (*&)(9) 求字节数运算符 (sizeof)

#include
int main(void)
{
  int a=25;
  int b=8;
  printf("%d\n",a/b);
  printf("%f",a/(b*1.0));
}

(10) 强制类型转换运算符 ( (类型) )

(11) 分量运算符 (. ->)

(12) 下标运算符 ([ ])

(13) 其他 (如函数调用运算符())

   C语言中运算符参与运算也有优先级别,所标优先级数值越小的级别越高,越优先计算。

表达式是由一系列运算符(Operators)和操作数Operands)组成的式子,它计算一个值、指定对象或函数、产生副作用

算术运算符

例:计算25/8的结果,结果使用小数表示

C语言----数据类型和表达式_第7张图片

 

自增、自减运算符

C语言提供了自增(++)、自减(--)两个运算符可用于标量类型数据自身加1或减1运算,不过它们只能作用于可修改左值。

自增、自减运算符都分为两种,如果放在左值的左边,称前缀运算符,是先对左值加、减1,再利用左值,相当于先执行“操作数=操作数+1”再加1

#include
int main(void)
{
  int a=3;
  int b,c;
  b=a++;
  printf("b=%d\n",b);
  printf("a=%d\n",a);
  c=++a;
  printf("b=%d\n",c);
  printf("a=%d\n",a);
}

C语言----数据类型和表达式_第8张图片

 

 赋值运算符与赋值表达式

   复合赋值运算符C语言中的复合赋值运算符有

+=-=*= /=%=、&=、^=、|=、<<=、>>=。

它们也构成赋值表达式,例如,x*=y+8、x/=3x %= y+3、x-=y+2。

复合赋值运算符把它左边值与右边表达式,用=左边给定运算符进行运算,得到的结果赋给左边的值。面实例中的个表达式分别相当于

x=x*(y+8)、x= x /3、x=x%(y+3)、x=x-(y+2)。

#include
int main(void)
{
  int a=3;
  int b;
  b*=a+8;
  printf("b=%d\n",b);
}

逗号运算符和逗号表达式

用逗号运算符把两个及以上的子表达式连接起来的表达式,称逗号表达式。格式如下。

子表达式1, 子表达式2, ... , 子表达式n

例如,3+5,6+8和a=4+x, x+5%(4+4),i++是两个逗号表达式。逗号表达式从表达式1开始,分别计算每一个子表达式的值,一直算到子表达式n整个逗号表达式的值就是表达式n的值。

#include
int main(void)
{
  int a=3;
  int b;
  b=(a+1,a+2,a+3);
  printf("b=%d",b);
}

C语言----数据类型和表达式_第9张图片

 

关系运算符及关系表达式

C语言中提供的关系运算符有><==>=<=、!=,分别表示大于、小于、等于、大于等于、小于等于和不等于。由关系运算符和表达式构成的表达式,称为关系表达式。格式如下。

表达式1 关系运算符 表达式2

关系表达式的值由表达式1和表达式2是否满足关系运算符定义的意义来确定,如果满足,整个关系表达式的值是true,否则为false,所以关系表达式的最终结果只有两种值。前面提到C中并没有具体定义true和false这两个值,它们分别是用1和0表示,从这个意义上讲,关系表达式的最终值只有1和0两种。

例如,a的值是3,b的值是4,则关系表达式a>b的值为0;a

#include
int main(void)
{
  int a=3;
  int b=4;
  printf("%d",b>a);
}

C语言----数据类型和表达式_第10张图片

 

逻辑运算符与逻辑表达式

      逻辑运算符有三种:&&、||、!。由这三个运算符构成的表达式称为逻辑表达式,参与计算的子表达式结果是标量类型。逻辑表达式与关系表达式一样,其值也只有true和false两种,也用1和0表示,整个逻辑表达式的结果值是int型。

条件运算符和条件表达式

条件运算符为 ?:,这是一个三目运算符,它的一般格式为:

    表达式1?表达式2:表达式3

由条件运算符和操作数构成的表达式,称为条件表达式。整个表达式值的计算规则是:先计算表达式1的值,如果是非0,计算表达式2的值,并把这个值作为整个条件表达式的值,结束。如果表达式1的值为0,则计算表达式3的值,并把这个值作为整个表达式的值,结束。

你可能感兴趣的:(C语言,开发语言,c语言)